Integrazioni sull architettura con cache
|
|
- Raffaele Carbone
- 5 anni fa
- Visualizzazioni
Transcript
1 Architettura degli Elaboratori Integrazioni sull architettura con cache Queste note integrano la trattazione delle architetture con cache, rispetto al Cap. VIII sez. 3 e al Cap. X sez. 8, studiando più a fondo la cache secondaria e valutato il suo impatto sulle prestazioni dei programmi. Sommario 1 Caratteristiche della cache a due livelli Blocchi-C1 e blocchi-c Cache a due livelli inclusive vs victim Architettura firmware Sottosistema di memoria interallacciata Parallelismo tra la gerarchia M-C2 e la gerarchia C2-C Latenza di strutture pipeline Cache secondaria su domanda Esempio 1: fault consecutivi appartenenti allo stesso blocco-c Esempio 2: fault consecutivi appartenenti a blocchi-c2 distinti Cache secondaria con prefetching Caratteristiche della cache a due livelli La gerarchia cache secondaria cache primaria sarà anche detta cache a due livelli C2-C1. Come studiato nel Cap. VIII sez. 3.4, assumeremo la presenza di cache secondaria C2 all interno del chip CPU. Ricordiamo come la sua utilità (rispetto a un unico livello di cache) sia legata alla possibilità di operare in parallelo con la cache primaria C1 e con l esecuzione delle istruzioni, con l obiettivo di procurare informazioni in anticipo rispetto a quando siano richieste da C Blocchi-C1 e blocchi-c2 Indicheremo con 1 e 2 le ampiezze dei blocchi di cache primaria (cache dati) e di cache secondaria rispettivamente, con 2 multiplo intero di 1 : Ad esempio, 1 = 8 16 e 2 = Indicheremo con 1 e 2 le capacità dei due livelli di cache, ad esempio 1 = 32K 64K e 2 = 512K 1M.
2 2 Per brevità chiameremo blocco-c1 un blocco di ampiezza 1 e blocco-c2 un blocco di ampiezza 2. Ovviamente C1 contiene solo blocchi-c1, mentre C2 contiene 2 / 2 blocchi-c2 e 2 / 1 blocchi-c1. La traduzione da indirizzi di memoria principale a indirizzi di cache secondaria nell unità C2 riguarda blocchi-c2. I blocchi trasferiti da memoria principale (o cache terziaria) a C2 sono sempre blocchi-c2, ognuno dei quali contiene q blocchi-c1. Quando avviene una richiesta da C1 a C2, in seguito a fault di C1, il blocco-c1 può già essere presente in C2, e in tal caso ha luogo direttamente il trasferimento da C2 a C1 con latenza, oppure viene generato anche un fault di C2, che provoca il trasferimento in C2 del blocco- C2 contenente il blocco-c1 richiesto da C1. Come sfruttare il trasferimento del blocco-c2 per servire la richiesta corrente di C1 e quelle successive sarà esaminato nelle prossime sezioni. Rispetto a quanto contenuto nel Cap. VIII sez. 3.4 è importante precisare che, poiché un blocco-c2 contiene q blocchi-c1, viene sempre implicitamente attuata una forma di prefetching nei confronti dei blocchi-c1, anche se C2 opera su domanda. Ad esempio, se i blocchi-c1 sono riferiti sequenzialmente dal programma, la lettura di un blocco-c2, il cui primo blocco-c1 è quello richiesto da C1, fa sì che i successivi (fino a q 1) blocchi-c1 che C1 richiederà in seguito siano già presenti in C2. Se diciamo che C2 opera con prefetching, intendiamo che il prefetching è applicato esplicitamente ai blocchi-c2. È come se venisse attuato, nei confronti dei blocchi-c1, un doppio prefetching che, nei casi più favorevoli, può rendere trascurabile l impatto dei livelli di memoria superiori a C Cache a due livelli inclusive vs victim Una cache a due livelli C2-C1 si dice inclusive se vale la proprietà che, se un blocco-c1 è presente in C1 allora è presente anche in C2; in altri termini, i blocchi presenti in C1 sono un sottoinsieme dei blocchi-c1 presenti in C2. Una cache a due livelli non inclusive è chiamata victim: con questa modalità è possibile che un blocco-c1 sia presente in C1 ma non in C2. Le due modalità, inclusive e victim, danno luogo a modi diversi di gestire i blocchi nei due livelli di cache. Sostanzialmente, la modalità victim tende a rendere maggiormente indipendenti la gestione dei blocchi di C2 da quella di C1. Nella modalità inclusive, un blocco-c1 può essere deallocato da C1 senza che questo evento abbia ripercussioni sulla gestione di C2. Invece, la deallocazione di un blocco-c2 in C2 deve provocare la deallocazione in C1 di tutti i blocchi-c1 appartenenti a quel blocco-c2: ciò richiede una certa cooperazione tra le due unità cache in termini di informazioni scambiate e di informazioni di stato associate ai blocchi. Il controllo non deallocare, usato per sfruttare riuso, viene effettuato sia in C1 che in C2 con modalità inclusive, ma è preferibile che venga effettuato (best-effort) anche con modalità victim. Se le scritture sono gestite con il metodo Write-Through, sappiamo che ogni singola scrittura in C1 viene propagata anche a C2 e a tutti i livelli superiori: ciò è sempre vero se C2 è inclusive, mentre con modalità victim ovviamente ciò avviene solo se il blocco-c1 è presente anche in C2 (il controllo viene effettuato dall unità C2). Per architetture uniprocessor, la distinzione tra le due modalità non è particolarmente rilevante, ed è stata citata soprattutto a scopo di conoscenza tecnologica. La distinzione è invece rilevante nei
3 3 multiprocessor in relazione al problema della cache coherence di blocchi condivisi. Senza perdere in generalità, ai nostri scopi possiamo assumere una qualunque delle due modalità, ponendo il vincolo che un blocco-c2 non venga deallocato in C2 se esiste almeno un suo blocco-c1 attualmente presente in C1 (in C2 viene mantenuto anche lo stato di allocazione dei blocchi-c1). La seguente tabella riporta le caratteristiche di alcuni processori commerciali, tutti disponibili in versione multicore: C1 C2 Inclusive vs Victim C3 AMD Opteron 64K 512K V 6M Intel Sandy Bridge 32K 256K I 20M Intel Itanium 16K 256K I 6M IBM Power 7 32K 256K V 4M ARM Cortex A9 32K 2M I 1.3 Architettura firmware Una possibile struttura complessiva di un sistema con cache a due livelli è mostrata nella figura seguente: M I M M 0 M 1 M 2 M 3 M 4 M 5 M 6 M 7 sw sw sw sw sw sw sw C2 C C1-I C1-D CPU La comunicazione tra C1 e C2, all interno del chip, avviene con semplici collegamenti dedicati e modalità domanda-risposta: C1 richiede a C2 (usando l indirizzo fisico di M) un blocco-c1 e, se il blocco-c1 è presente in un blocco-c2 già allocato, C2 risponde inviando a C1 uno stream di 1
4 4 parole con tempo di interpartenza (nelle ipotesi del Cap. VIII sez. 3.4). La latenza del trasferimento vale quindi, essendo ogni parola scritta nella memoria di C1 in un singolo ciclo di clock in parallelo alla successiva lettura in C2. La comunicazione tra M, interallacciata con m moduli, e C2 avviene attraverso una struttura di interconnessione di grado limitato, allo scopo di minimizzare il numero di bit (pin-count) dell interfaccia di memoria esterna della CPU. Come visto nel Cap. X sez. 8.3, una struttura ad albero permette di ottenere, per la lettura di blocchi, la stessa banda di una struttura con m collegamenti dedicati con un aumento di latenza di ordine soltanto logaritmico rispetto alla soluzione teorica con m collegamenti dedicati. Questa soluzione rende il modello dei costi compatibile con quello delle architetture multiprocessor facenti uso di reti di interconnessione di grado limitato (come butterfly, mesh, fat tree) e con i moderni/previsti sottosistemi di I/O (Infiniband) Sottosistema di memoria interallacciata I moduli di memoria sono interfacciati alla CPU dall unità indicata con I M, la quale ha il compito di interpretare le richieste dalla CPU per ottimizzare l uso della struttura interallacciata. In particolare, ricevendo un indirizzo fisico base con richiesta di lettura blocco-c2, I M provvede a comandare la lettura di parole: per ogni blocco di m indirizzi consecutivi, richiede in parallelo ad ognuno degli m moduli la lettura di una parola allo stesso indirizzo. Per semplicità, e senza perdere in generalità, nel seguito assumeremo che In tale ipotesi, per la lettura di un blocco-c2, I M provoca la generazione di uno stream di q blocchi- C1, ognuno dei quali è ricevuto da C2 come uno stream di parole, senza soluzione di continuità rispetto al successivo stream di parole. Inoltre, la richiesta dalla CPU a I M può essere di scrittura singola: la richiesta contiene anche indirizzo fisico e parola di dato, che vengono instradati da I M al modulo il cui identificatore è contenuto nell indirizzo; scrittura di blocco-c1 o di blocco-c2: il primo messaggio contiene indirizzo fisico base del blocco e prima parola di dato, ed è seguito da uno stream di 1 o 1 parole di dato che completano il blocco-c1 o il blocco-c2 rispettivamente. Le parole sono inviate da I M ai moduli in round-robin con tempo di interpartenza uguale al tempo di interarrivo T A a I M stesso (essendo certamente il tempo di servizio ideale di I M minore di T A ), quindi il tempo di interarrivo a ogni modulo è uguale a m T A Parallelismo tra la gerarchia M-C2 e la gerarchia C2-C1 Torniamo alla lettura di un blocco-c1 in seguito a fault di C1. Studiamo il comportamento dell unità C2 nel caso in cui C1 richieda un blocco-c1 e questo non sia allocato in C2 (fault anche di C2). L unità C2 determina facilmente la posizione (diciamo i, con 0 i q 1) del blocco-c1 all interno del blocco-c2 che C2 richiede a M. Quando le parole del blocco-c1 i-esimo sono
5 5 ricevute dall unità C2, questa le scrive nella propria memoria e, in parallelo, ognuna di esse è inviata immediatamente all unità C1 senza attendere la conclusione del trasferimento dell intero blocco-c2. È frequente (anche se non l unico) il caso in cui i = 0, che corrisponde all utilizzo di una struttura dati a partire da un indirizzo base che sia uguale alla base di un blocco-c2. In molti casi il compilatore può forzare tale allineamento ( padding di strutture dati). Ancora più importante, successive richieste (fino a q 1 richieste) di blocchi-c1 appartenenti al blocco-c2 e, nel frattempo, già copiate in C2 sono servite semplicemente con un trasferimento da C2 a C1 (di latenza 2 ) Si ha quindi un certo (in molti casi un sostanziale) parallelismo tra C2 e le altre unità della CPU (in particolare C1), che rappresenta una delle principali motivazioni dell esistenza della cache secondaria separata dalla primaria. La conseguenza favorevole sulle prestazioni è la possibilità di minimizzare/ridurre la penalità dovuta ai fault di C2. Nel seguito assumeremo sempre che C1 operi su domanda. Distingueremo invece il caso di C2 operante su domanda da quello di C2 con prefetching, con la precisazione alla fine della sez Nel valutare il modello dei costi, ci concentreremo sulle penalità dovute alle latenze di trasferimento blocchi. Per questa ragione i dati degli esempi di programmi saranno caratterizzati solo da località Latenza di strutture pipeline Invece di usare le formule della latenza di trasferimento blocco del Cap. X sez. 8.3, in presenza di cache a due livelli è più comodo utilizzare l espressione generale che esprime la latenza di una struttura di unità di elaborazione operanti in pipeline. La formula si ricava come segue. Consideriamo un pipeline costituito da d unità comunicanti mediante collegamenti dedicati aventi latenza di trasmissione T tr. Supponiamo che tutte le unità abbiano tempo di servizio interno uguale a. Come nel Cap. X sez. 8.3, indichiamo con la latenza di un passo di hop attraverso la struttura (dall interfaccia di uscita di uno stadio all interfaccia d ingresso dello stadio successivo). Sia s la lunghezza dello stream.supponiamo che lo stream sia generato dal primo stadio. Il funzionamento temporale della struttura pipeline, con comunicazioni a singola bufferizzazione, è mostrato nella figura seguente (per d = 4, s = 5) che mette in evidenza le singole comunicazioni RDY-ACK: (d 1) ( + T tr ) (s 1) 2 ( + T tr )
6 6 Come si vede la latenza è data da: ( ) ( ) Se le comunicazioni sono a doppia bufferizzazione (o se possono essere realizzate elettronicamente in maniera dipendente dal tempo senza ACK), con un ragionamento analogo si ricava: ( ) ( ) ottenendo un sensibile miglioramento in quando la lunghezza dello stream viene pagata una sola volta. Se lo stream è generato da un sottosistema a monte con tempo di interarrivo T A, allora le formule si generalizzano in: ( ) ( ) ( ) ( ) ( ) ( ) in quanto se gli stadi non sono collo di bottiglia il tempo di servizio vale T A. Come primo esempio, applichiamo la formula con doppia bufferizzazione al trasferimento di un blocco-c1 in un sistema con sola cache primaria, cioè nelle stesse condizioni del Cap. X sez. 8.3 e inserendo anche l unità I M come nella figura precedente. La richiesta dalla CPU a I M ha latenza T hop, così come la latenza della richiesta da I M a M. La lettura in parallelo di un blocco di m = 1 parole dalla memoria interallacciata ha latenza. A questo punto viene innescato un pipeline dall interfaccia di uscita dei moduli di memoria fino a C1. La lunghezza dello stream è Gli stadi del pipeline sono: 1) l insieme delle interfacce di uscita dei moduli di memoria, 2) i livelli della struttura ad albero, 3) l unità C1 (eventualmente potremmo considerare ulteriori unità, come l interfaccia di memoria esterna se costituita da un unità distinta dalla cache), quindi la distanza (lunghezza del pipeline) in questo caso vale: da cui la latenza del trasferimento da M a CPU: ( ) ( ) ( ) Ad esempio, con T hop =, = e = 8, T hop prevale sul tempo di servizio / della memoria interallacciata. Complessivamente, tenendo conto anche della comunicazione da CPU a I M e dell accesso ai moduli di memoria: Per T hop / : ( ) ( ) ( ) ( ) che fornisce valori del tutto confrontabili con la formula del Cap. X sez. 8.3 (che non considerava la presenza di I M e le comunicazioni CPU-I M ), ma risulta di uso più generale nei casi di interesse per le architetture con cache a più livelli.
7 7 2 Cache secondaria su domanda In presenza di cache a due livelli C2-C1 la penalità dovuta ai fault di cache primaria si può valutare come: Grazie al fatto che un blocco-c2 contiene q blocchi-c1, una certa percentuale di (al limite tutti i) successivi fault di C1 potranno essere serviti da C2 senza ulteriori trasferimenti da M oppure senza pagare l intera latenza di un trasferimento da M: questo finché non si verifichi un nuovo fault di C2, in corrispondenza del quale occorre trasferire da M in C2 un blocco-c1 senza parallelismo con la CPU. A partire dalla richiesta successiva di blocco-c1 verrà di nuovo esplicitato, in tutto o in parte, parallelismo, e così via. La caratterizzazione del parallelismo tra M, C2 e C1, e quindi la valutazione di varia da programma a programma. In questa sede non tenteremo di ricavare delle formule generali, ma mostreremo come utilizzare i concetti e le tecniche della sezione precedente per ricavare il modello dei costi programma per programma. Vediamo alcune classi di esempi con caratteristiche diverse. 2.1 Esempio 1: fault consecutivi appartenenti allo stesso blocco-c2 Consideriamo il seguente semplice programma: int A[M], B[M]; i = 0.. M 1 : B[i] = F(A[i]) In questo caso: I fault su A danno luogo al funzionamento temporale schematizzato nella figura seguente: M I M parole C2 C1 prima richiesta di blocco-c1... (1)... (2) (1) o (2): successiva richiesta di blocco-c1 appartenente allo stesso blocco-c2 In base a quanto spiegato nella sez , la copia del primo blocco-c1 in C2 e in C1 richiede: ( )
8 8 grazie al parallelismo delle scritture, parola per parola, in C2 e in C1. Nell esempio specifico, questa è tutta la penalità pagata per ogni fault di C2. Consideriamo l intervallo di tempo tra la fine della memorizzazione del blocco-c1 in C1 e la successiva richiesta da C1 a C2. Nell esempio si tratta del tempo di servizio per iterazione del loop in assenza di fault di cache. Come si vede dalla figura, se: (caso 2) allora il nuovo blocco-c1 richiesto è già presente in C2, per cui viene pagata solo la latenza del trasferimento da C2 a C1: Se invece (caso 1 calcolo F di grana relativamente fine): il blocco-c1 richiesto non è ancora presente in C2: esso deve essere atteso e le sue parole saranno copiate in parallelo in C2 e in C1 (come è accaduto con il primo blocco-c1). In questo caso la latenza vale: (A rigore N fault-c1 andrebbe decrementato di N fault-c2 ). In conclusione, abbiamo visto come, anche per una cache secondaria su domanda, una opportuna progettazione dell unità C2 (invio a C1 delle parole del blocco-c1 richiesto in parallelo alle loro scritture nella memoria di C2) permetta di anticipare il trasferimento da M di blocchi-c1 rispetto alle richieste di C1, pagando in più solo una singola latenza ( ) per ogni fault di C Esempio 2: fault consecutivi appartenenti a blocchi-c2 distinti Consideriamo la seguente variante dell esempio 1: int A[M], B[M], C[M]; i = 0.. M 1 : C[i] = G(A[i], B[i]) In questo caso: Supponiamo che il riferimento ad A[i] sia seguito dal riferimento a B[i], quindi ogni fault su A è immediatamente seguito da un fault su B. L unità C2, dopo aver trasferito da M il primo blocco-c1 di A (in parallelo viene trasferito anche in C1), non riceve richieste per A, bensì riceve la prima richiesta di blocco-c1 di B. Questa rimarrà in attesa che venga completato il trasferimento di tutti i blocchi-c1 del blocco-c2 di A. Quindi avrà luogo il trasferimento di tutti i blocchi-c1 di B in C2 (il primo anche in C1). Solo da questo punto in poi C2 potrà prendere in considerazione le richieste dei successivi blocchi-c1 di A e di B, che saranno tutti già presenti in C2, finché non si verificherà un nuovo fault di C2; dopo di che il funzionamento descritto si ripeterà. Si ha quindi (modificando opportunamente il diagramma temporale precedente): in quanto L( ) < (le scritture nella memoria di C2 sono sovrapposte ai trasferimenti) e la latenza da CPU a M per la richiesta di B è mascherata, e
9 9 in quanto tutti i blocchi-c1 richiesti da C1 sono già presenti in C2, eccetto i primi due la cui valutazione rientra in (a rigore N fault-c1 andrebbe decrementato di 2 N fault-c2 ). Gli esempi 1 e 2 mostrano il modo di ragionare su casi più articolati: in casi come quello dell esempio 1, per ogni fault di C2 più blocchi-c1 del blocco-c2 trasferito sono richiesti da C1 senza essere inframmezzati da richieste per altri blocchi-c2; in casi come quello dell esempio 2, si ha un burst di richieste di blocchi-c1 che appartengono a blocchi-c2 distinti, ciò che obbliga l unità C2 a leggere tutti questi blocchi-c2 prima di esaudire le successive richieste di blocchi-c1 (a meno di non applicare politiche sofisticate, e generalmente poco efficienti, per mischiare i trasferimenti di blocchi-c2 distinti). 3 Cache secondaria con prefetching Come sappiamo dal Cap. VIII, la tecnica del prefetching, che a prima vista appare come la panacea per la località, in realtà è di delicata applicazione. In generale, occorre che il programma indichi esplicitamente la relazione tra il blocco corrente e il blocco successivo. Di regola, quando sia implementato, il prefetching viene applicato nel caso più semplice in cui i due blocchi sono consecutivi. Proprio per distinguere chiaramente questo caso da altre situazioni, in cui l applicazione del prefetching al blocco successivo risulterebbe solo dannosa, il set di istruzioni dovrebbe includere istruzioni speciali o, come in D-RISC, annotazioni opportune. Nel nostro caso supporremo che la cache primaria operi solo su domanda e che la tecnica del prefetching sia applicata alla cache secondaria, quindi le annotazioni riguardano C2. È anche importante notare come tutte le valutazioni di prestazioni, in presenza di prefetching, considerino solo le strutture dati visibili al programma e non quelle del supporto a tempo di esecuzione del processo, a diverse delle quali può essere utile applicare prefetching. Queste ultime comportano, rispetto alla valutazione ottimistica, un certo overhead di tempo e di spazio, che trascureremo per semplicità. Consideriamo l esempio 1 della sez Una volta richiesto il primo blocco-c1, C2 legge uno stream di M/ blocchi-c2, cioè uno stream di M/ blocchi-c1 senza soluzione di continuità, nel contempo servendo in parallelo le richieste di C1. Quindi, trascurando il trasferimento del primo blocco-c1 da M a C2, nel modello dei costi possiamo porre: e valutare la sola penalità dei trasferimenti da C2 a C1, ognuno dei quali ha latenza Consideriamo ora l esempio 2 della sez L unità C2 legge, senza soluzione di continuità, blocchi-c2 di A alternati a blocchi-c2 di B. La penalità è ancora prevalentemente quella dei soli trasferimenti da C2 a C1, ognuno dei quali ha latenza: eventualmente aggiungendo, una volte per tutte, la latenza del trasferimento in C2 del primo blocco-c2 di A e del primo blocco-c2 di B:
Esercitazione 5 di verifica
Architettura degli Elaboratori, 2007-08 Esercitazione 5 di verifica Soluzione: entro mercoledì 5 dicembre Si considerino i seguenti due programmi: Domanda 1 P1: opera su tre array A[N], B[N], C[N] di interi,
Architettura degli Elaboratori Seconda prova di verifica intermedia
Architettura degli Elaboratori Seconda prova di verifica intermedia a.a. 2012-13, 28 maggio 2013 Riportare nome, cognome, numero di matricola e corso A/B Domanda 1 a) Dato un sistema di elaborazione a
Architettura degli Elaboratori
Architettura degli Elaboratori a.a. 2013/14 - terzo appello, 10 settembre 2014 Riportare nome, cognome, numero di matricola e corso A/B Domanda 1 Sia U un unità di I/O operante in Memory Mapped I/O e in
Architettura degli Elaboratori
Architettura degli Elaboratori a.a. 2012/13 - secondo appello, 1 luglio 2013 Riportare nome, cognome, numero di matricola e corso A/B Domanda 1 Dato il seguente microprogramma (l unità ha registri d ingresso
Note sull utilizzazione di componenti logici di tipo memoria
Architettura degli Elaboratori, a.a. 2005-06 Note sull utilizzazione di componenti logici di tipo memoria Queste note precisano e completano il contenuto nel Cap. III, sez. 7 delle Dispense, in particolare
Architettura degli Elaboratori
Architettura degli Elaboratori a.a. 2012/13 - primo appello, 3 giugno 2013 Riportare nome, cognome, numero di matricola e corso A/B Domanda 1 In una semplice architettura di CPU pipeline scalare, i registri
Architettura degli Elaboratori
Architettura degli Elaboratori a.a. 2013/14 appello straordinario, 13 aprile 2015 Riportare nome, cognome, numero di matricola e corso A/B Domanda 1 Si consideri la seguente gerarchia di memoria memoria
Architettura degli Elaboratori
Architettura degli Elaboratori a.a. 2013/14 - secondo appello, 1 luglio 2014 Riportare nome, cognome, numero di matricola e corso A/B Domanda 1 Un unità di elaborazione U, operante su stream, ha il compito
Esercitazione 4 di verifica
Architettura degli Elaboratori, 2007-08 Esercitazione 4 di verifica Soluzione: entro venerdì 23 novembre Domanda 1 Si consideri il programma D-RISC risultante dalla soluzione della Domanda 1 dell Esercitazione
Architettura degli Elaboratori,
Architettura degli Elaboratori, 2013-14 Prima prova di verifica intermedia 20 dicembre 2013 Riportare nome, cognome e numero di matricola Un unità di elaborazione U interagisce a domanda-risposta con U1:
Architettura degli elaboratori
Architettura degli elaboratori Quinto appello A.A. 2011-2012 Scrivere Nome, Cognome, Matricola, Corso e Programma presentato su ognuno dei fogli consegnati. La bozza di soluzione, i risultati e il calendario
Note su elaborazione in parallelo a livello firmware
Architettura degli Elaboratori Note su elaborazione in parallelo a livello firmware con applicazioni al sottosistema di memoria Queste note contengono integrazioni, precisazioni ed esempi riguardanti il
Architettura degli Elaboratori - Correzione Appello del 18 luglio 2006, A.A. 2005/06
Architettura degli Elaboratori - Correzione Appello del 18 luglio 2006, A.A. 2005/06 Domanda 1 Una unità di elaborazione U, avente ciclo di clock τ, è collegata ad una memoria interallacciata con 8 moduli,
Architettura degli Elaboratori Appello del 21 febbraio Domanda 1 (tutti)
Architettura degli Elaboratori Appello del 21 febbraio 2011 Riportare su tutti i fogli consegnati nome, cognome, numero di matricola, corso di appartenenza, e la sigla NEW (per nuovo ordinamento), oppure
Architettura degli Elaboratori, Domanda 1
Architettura degli Elaboratori, 2007-08 Appello del 16 gennaio 2008 Domanda 1 Un processo Q opera su due array di interi, A[][] e B [][], con = 1K. Il valore di A è ottenuto da un unità di I/O; il valore
Architettura degli Elaboratori
Architettura degli Elaboratori Appello del 8 giugno 2011 e seconda prova di verifica intermedia Domanda 1 (tutti) Una unità di elaborazione U, comunicante con una unità di ingresso e una di uscita, è descritta
Architettura degli Elaboratori. Domanda 1 (per tutti)
Una unità di elaborazione U Architettura degli Elaboratori appello del 3 giugno 2010 informazioni e indicazioni sul retro Domanda 1 (per tutti) contiene 256 registri di una parola, considerati appartenere
CALCOLATORI ELETTRONICI 15 luglio 2014
CALCOLATORI ELETTRONICI 15 luglio 2014 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si disegni lo schema di un flip-flop master-slave sensibile ai fronti di salita e se
Note sulle forme di parallelismo a livello di processi
Architetture Parallele e Distribuite, 2006-07 Note sulle forme di parallelismo a livello di processi Queste note integrano il contenuto del cap. VIII riguardo alla risoluzione e valutazione di programmi
Sistemi di Calcolo (A.A ) Corso di Laurea in Ingegneria Informatica e Automatica Sapienza Università di Roma
Sistemi di Calcolo (.. 2014-2015) Corso di Laurea in Ingegneria Informatica e utomatica Sapienza Università di Roma Soluzioni esercizi riepilogativi sulla seconda parte del Modulo I Sistemi di memoria
static dynamic random access memory
LA MEMORIA SRAM e D R A M static dynamic random access memory SRAM: unità che memorizza un gran numero di parole in un insieme di flip-flop, opportunamente connessi, mediante un sistema di indirizzamento
La gerarchia di memorie (2)
La gerarchia di memorie (2) Calcolatori Elettronici Valeria Cardellini Rielaborate da Salvatore Tucci Migliorare le prestazioni delle cache Consideriamo la formula del tempo medio di accesso in memoria
La gerarchia di memorie (2)
Migliorare le prestazioni delle cache La gerarchia di memorie () Architetture Avanzate dei Calcolatori Valeria Cardellini Consideriamo la formula del tempo medio di accesso in memoria (AMAT) AMAT = hit
Lezione di Tutorato Di Architettura degli Elaboratori B 29/04/2005. SOLUZIONI: Cache
SOLUZIONI: Cache INTRODUZIONE Gerarchie di memoria: CPU Gli elaboratori con architettura alla Von Neumann soffrono del problema del Von Neumann Bottleneck nell accesso alla memoria. Per ovviare a questo
Architettura dei sistemi di elaborazione: La memoria (parte 2)
Architettura dei sistemi di elaborazione: La memoria (parte 2) La cache è una memoria veloce e di piccole dimensioni posta fra la CPU e la memoria principale. Memoria Cache La cache e la memoria principale
Architettura degli Elaboratori
Architettura degli Elaboratori Anno Accademico 2014-2015- Seconda prova di verifica intermedia (Risultati e calendario degli orali saranno pubblicati sulla pagina web del corso appena disponibili) Si consideri
Architettura degli Elaboratori A.A Seconda Verifica Intermedia
Architettura degli Elaboratori A.A. 2016-2017 Seconda Verifica Intermedia Scrivere Nome, Cognome, Matricola e Corso (A/B) su tutti i fogli consegnati. Risultati e calendario degli orali saranno comunicati
Architettura degli elaboratori A. A o Appello 7 febbraio 2017
Architettura degli elaboratori A. A. 2016-2017 2 o Appello 7 febbraio 2017 Domanda 1 Riportare nome, cognome, numero di matricola e corso (A/B) in alto a destra su tutti i fogli consegnati. I risultati
Esercizi vari. CPI e influenza cache
Esercizi vari Salvatore Orlando Arch. Elab. - S. Orlando 1 CPI e influenza cache Siano dati un processore, una cache e un mix di programmi le istruzioni di lw/sw eseguite sono il 20% di IC il CPI delle
Schema base di CPU. Interfacce esterne: Memoria I/O ... Architetture Parallele e Distribuite, Bus I/O MINF MMU I MMU D.
Massimiliano Meneghin Marco Vanneschi MMU I IC1 Schema base di CPU M MINF MMU D Bus I/O Interfacce esterne: Memoria I/O TAB-CI TAB-CD IM DM CI CD IC IU RG1 RG EU UNINT CPU chip... Architetture Parallele
Porte logiche di base. Cenni circuiti, reti combinatorie, reti sequenziali
Porte logiche di base Cenni circuiti, reti combinatorie, reti sequenziali NOT AND A R A B R OR A R B Quindi NAND o NOR sono complete circuiti con solo porte NAND o solo porte NOR. Reti combinatorie Rete
CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)
CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) - Dedicati Quelli dei primi sistemi operativi. La macchina viene utilizzata da un utente per volta che può eseguire un solo programma per volta.
Architettura degli Elaboratori. Domanda 1 (tutti)
Architettura degli Elaboratori Appello del 6 luglio 2012 Riportare su tutti i fogli consegnati nome, cognome, numero di matricola, corso A/B, e la sigla NEW (per nuovo ordinamento), oppure OLD-0 (per vecchio
Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 18 Febbraio Attenzione:
Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 18 Febbraio 2015 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina.
Un quadro della situazione. Lezione 14 Il Set di Istruzioni (2) Dove siamo nel corso. I principi di progetto visti finora. Cosa abbiamo fatto
Un quadro della situazione Lezione 14 Il Set di Istruzioni (2) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output Sistema di Interconnessione Registri
Fallimenti nella TLB
Fallimenti nella TLB Un fallimento nella TLB può essere dovuto a due motivi: 1. la pagina fisica non è presente in memoria (page fault); 2. la traduzione non è nella TLB, anche se la pagina fisica è presente
CALCOLATORI ELETTRONICI 25 giugno 2018
CALCOLATORI ELETTRONICI 25 giugno 2018 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche OR, AND, NOT la funzione combinatoria (a 3 ingressi
La gerarchia di memorie (2)
La gerarchia di memorie (2) Architetture Avanzate dei Calcolatori Valeria Cardellini Migliorare le prestazioni delle cache Consideriamo la formula del tempo medio di accesso in memoria (AMAT) AMAT = hit
Architetture degli elaboratori A.A
Domanda 1 Architetture degli elaboratori A.A. 2006-2007 Appello del 5 giugno 2007 Si progetti un unità cache ad indirizzamento diretto. La capacità della cache è di 16K blocchi (linee). Ogni blocco ha
Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi
Codice BCD Prima di passare alla rappresentazione dei numeri relativi in binario vediamo un tipo di codifica che ha una certa rilevanza in alcune applicazioni: il codice BCD (Binary Coded Decimal). È un
Corso di Informatica
Corso di Informatica Modulo T5 B1-Programmazione multithreading 1 Prerequisiti Schedulazione Attesa indefinita Lo stallo Tecnica round-robin 2 1 Introduzione La programmazione concorrente consente di chiedere
Modello di von Neumann
Modello di von Neumann Bus di sistema CPU Memoria Centrale Memoria di Massa Interfaccia Periferica 1 Interfaccia Periferica 2 Codifica dei dati e delle istruzioni La più piccola unità di informazione memorizzabile
CALCOLATORI ELETTRONICI 27 giugno 2017
CALCOLATORI ELETTRONICI 27 giugno 2017 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1 Di seguito è riportato lo schema di una ALU a 32 bit in grado
Blocchi di più parole
Blocchi di più parole Per trarre vantaggio dalla località spaziale non conviene avere blocchi di una sola parola ma blocchi di più parole che occupano nella memoria principale posizioni vicine. Esempio:
Esercitazione del 28/05/ Soluzioni
. Introduzione Esercitazione del 28/05/2009 - Soluzioni Una CPU moderna ha generalmente una velocità di esecuzione delle istruzioni molto più alta della capacità delle memorie DRAM di fornire dati. In
Introduzione ai thread
Introduzione ai thread Processi leggeri. Immagine di un processo (codice, variabili locali e globali, stack, descrittore). Risorse possedute: : (file aperti, processi figli, dispositivi di I/O..),. L immagine
Architetture data-flow
Architetture data-flow Le architetture che abbiamo visto finora sono dette architetture control flow. Ciò sta ad indicare che il flusso dell elaborazione è dettato dall ordine con cui le varie istruzioni
Esercizio. Si consideri una cache con 64 blocchi di 16 byte ciascuno. A quale numero di blocco corrisponde l indirizzo 1200 espresso in byte?
Esempio MIPS 32 bit Indirizzo su 32 byte Cache ad accessi diretto Dimensioni della cache 2 n blocchi, di cui n bit usati per l indice dimensione del blocco di cache 2 m parole ossia 2 m+2 byte In questo
PRESTAZIONI. senza e con memoria cache
PRESTAZIONI del processore MIPS pipeline senza e con memoria cache Prestazioni del processore GENERICO (P&H pp 29 31) Definizioni dei parametri di prestazione fondamentali del processore: sia P una prova,
ELETTRONICA II. Prof. Dante Del Corso - Politecnico di Torino
ELETTRONICA II Prof. Dante Del Corso - Politecnico di Torino Gruppo G: Interfacciamento e interconnessioni Lezione n. 34 - G - 5: Protocollo a livello transazione Esempi di bus reali Interconnessioni 3
Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel
SISTEMI DI INPUT/OUTPUT 10.1 Sistemi I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Stream Prestazioni 10.2 I/O Hardware
memoria virtuale protezione
Memoria Virtuale Le memorie cache forniscono un accesso veloce ai blocchi di memoria usati più di recente La memoria virtuale fornisce un accesso veloce ai dati sulle memorie di massa usati più di recente.
Dispensa su. Funzioni Booleane. Jianyi Lin Università degli Studi di Milano
Dispensa su Funzioni Booleane Jianyi Lin Università degli Studi di Milano jianyi.lin@unimi.it 18 novembre 2011 1 Operazioni booleane In questa sezione introduciamo il concetto di funzione booleana e accenniamo
Instruction Level Parallelism Andrea Gasparetto
Tutorato di architettura degli elaboratori Instruction Level Parallelism Andrea Gasparetto andrea.gasparetto@unive.it IF: Instruction Fetch (memoria istruzioni) ID: Instruction decode e lettura registri
Esercitazione su Instruction Level Parallelism
Esercitazione su Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Pipeline con e senza forwarding Si considerino due processori MIPS (processore A e B) entrambi con pipeline a
Architettura degli Elaboratori A.A Quarto Appello 14 gennaio 2015
Architettura degli Elaboratori A.A. 2013 2014 Quarto Appello 14 gennaio 2015 Riportare su tutti i fogli consegnati Nome, Cognome, Numero di matricola e Corso di appartenenza. Risultati e il calendario
Architettura degli Elaboratori, a.a Correzione
Architettura degli Elaboratori, a.a. 25-6 Appello del 2 febbario 26 Correzione Premessa La domanda D.a è trattata nelle Dispense, Cap. VII, sez. 2.2.3. Le domande D.b e D.c sono argomenti classici della
Un quadro della situazione. Lezione 15 Il Set di Istruzioni (2) Le operazioni e gli operandi. Dove siamo nel corso. Cosa abbiamo fatto
Un quadro della situazione Lezione 15 Il Set di Istruzioni (2) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output Sistema di Interconnessione Registri
Prima prova di verifica intermedia
Architettura degli Elaboratori, 2010-2011 Prima prova di verifica intermedia 2 febbraio 2011 Domanda 1 Si consideri il seguente sistema a livello firmware: M MEM[2G] U 1 U 2 X (24) Y (8) U A[32K] Z (16)
Valutazione delle Prestazioni Barbara Masucci
Architettura degli Elaboratori Valutazione delle Prestazioni Barbara Masucci Punto della situazione Ø Abbiamo studiato Ø Una prima implementazione hardware (a ciclo singolo) di un sottoinsieme dell IS
Architettura hardware
Architettura hardware la parte che si può prendere a calci Architettura dell elaboratore Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
Sistemi Operativi SISTEMI DI INPUT/OUTPUT. D. Talia - UNICAL. Sistemi Operativi 10.1
SISTEMI DI INPUT/OUTPUT 10.1 Sistemi I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Stream Prestazioni 10.2 I/O Hardware
Architettura del calcolatore: gerarchia delle memorie, coprocessori, bus (cenni)
Architettura del calcolatore: gerarchia delle memorie, coprocessori, bus (cenni) Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Migliorare
Memorie Caratteristiche principali
Memorie Caratteristiche principali Locazione: processore, interna (principale), esterna (secondaria) Capacità: dimensione parola, numero di parole Unità di trasferimento: parola, blocco Metodo di accesso:
Influenza dell' I/O sulle prestazioni (globali) di un sistema
Influenza dell' I/O sulle prestazioni (globali) di un sistema Tempo totale per l'esecuzione di un programma = tempo di CPU + tempo di I/O Supponiamo di avere un programma che viene eseguito in 100 secondi
Architettura degli Elaboratori, Esercitazione 4. Domanda 1
Architettura degli Elaboratori, 2008-09 Esercitazione 4 Domanda 1 Un processo Q opera su due array di interi, A[N][N] e B [N][N], con N = 1K. Il valore di A è ottenuto da un unità di I/O; il valore di
I formati delle istruzioni
Appunti di Calcolatori Elettronici Le istruzioni I formati delle istruzioni... 1 Criteri generali di progettazione dei formati delle istruzioni... 2 Cenni all indirizzamento... 4 Indirizzamento immediato...
Esercitazione del 19/05/ Soluzioni
Esercitazione del 9/5/5 - Soluzioni Una CPU moderna ha una velocità di esecuzione delle istruzioni generalmente molto più alta della capacità di fornire dati delle memorie DRAM. In generale possiamo dire
Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 12 Gennaio Attenzione:
Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 12 Gennaio 2017 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina. Preparare
SECONDA PROVA INTERMEDIA DEL MODULO DI. 5 Giugno 2014
SECONDA PROVA INTERMEDIA DEL MODULO DI 5 Giugno 204 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO (2 punti) () (9 punti) Si scriva un frammento di programma
Calcolatori Elettronici
Calcolatori Elettronici Memoria cache: Esercizi individuali proposti Massimiliano Giacomin Esercizio 1: collocazione dei blocchi nella cache Sia data la seguente sequenza di indirizzi di byte a cui si
CALCOLATORI ELETTRONICI 14 giugno 2010
CALCOLATORI ELETTRONICI 14 giugno 2010 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche di AND, OR e NOT la funzione combinatoria (a
Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni
Componenti principali Componenti e connessioni Capitolo 3 CPU (Unita Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro 1 2 Architettura di Von Neumann Dati e instruzioni in memoria
Gerarchia di memoria
Gerarchia di memoria 1 Gerarchia di memoria: Terminologia Hit: il dato appare in qualche blocco al livello superiore (Es.: Blocco X) Hit Rate: la frazione degli accessi di memoria trovati nel livello superiore
Corso di Fondamenti di Informatica Elementi di Architettura
di Cassino e del Lazio Meridionale Corso di Informatica Elementi di Architettura Anno Accademico 2016/2017 Francesco Tortorella Modello di von Neumann Bus di sistema CPU Memoria Centrale Interfaccia Periferica
Architettura degli Elaboratori - A.A Primo Appello - 5 giugno 2015 Risultati e calendario degli orali su web appena disponibili
Architettura degli Elaboratori - A.A. 2014-2015 - Primo Appello - 5 giugno 2015 Risultati e calendario degli orali su web appena disponibili Esercizio 1 Una unità U implementa una mappa da N=16 posizioni.
Alcune nozioni preliminari di teoria elementare di insiemi e funzioni
Alcune nozioni preliminari di teoria elementare di insiemi e funzioni Alberto Pinto Corso Propedeutico - METS A.A. 2013/2014 1 Insiemi 1.1 Generalità Diamo la definizione di insieme secondo Georg Cantor,
Gli attori principali di un architettura
Memoria Architettura degli Elaboratori e delle Reti, Turno I Alberto Borghese Università degli Studi di Milano Dipartimento di Scienze dell Informazione email: borghese@dsi.unimi.it Gli attori principali
Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.
Corso integrato di Sistemi di Elaborazione Modulo I Prof. Crescenzio Gallo crescenzio.gallo@unifg.it La memoria principale 2 Organizzazione della memoria La memoria principale è organizzata come un insieme
Architettura degli elaboratori A.A
Architettura degli elaboratori A.A. 2018-2019 Prima prova di verifica intermedia 2 nov 2018 Compito Tipo A Indicare in alto a destra su tutti i fogli ricevuti il proprio nome, cognome, numero di matricola
La memoria - tecnologie
Architettura degli Elaboratori e delle Reti Lezione 26 La memoria - tecnologie Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 26 1/24 Indirizzi
La gestione dell I/O (Cap. 5, Tanenbaum)
La gestione dell I/O (Cap. 5, Tanenbaum) Prestazioni e generalità Gestione software Supporti su disco Orologi Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 1 Prestazioni e generalità
Giugno 2003, 1 appello Esercizio 1
Giugno 2003, 1 appello Esercizio 1 Data la rete riportata con i costi indicati in figura, si usi l algoritmo di Dijkstra per calcolare il percorso più breve da F a tutti i nodi della rete. Si disegni l
Dischi: Esercizio 1. Ora t.elab = n.cicli impiegati / Frequenza = / ( ) = 20ms
Esercitazioni I/O Dischi: Esercizio 1 Si consideri un programma che legge blocchi di 2 KB da disco, esegue un elaborazione su questi, e quindi li riscrive su disco. Le tre fasi non hanno sovrapposizioni.
Componenti principali
Componenti e connessioni Capitolo 3 Componenti principali n CPU (Unità Centrale di Elaborazione) n Memoria n Sistemi di I/O n Connessioni tra loro Architettura di Von Neumann n Dati e instruzioni in memoria
Elettronica per l informatica. Cosa c è nell unità A. Unità A: Bus di comunicazione. A.1 Architetture di interconnessione A.2 Esempi commerciali
Elettronica per l informatica 1 Cosa c è nell unità A Unità A: Bus di comunicazione A.1 Architetture di interconnessione A.2 Esempi commerciali 2 Contenuto dell unità A Architetture di interconnessione
La memoria - tecnologie
Architettura degli Elaboratori e delle Reti Lezione 26 La memoria - tecnologie Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 25 1/21 Sommario!
Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica
Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione
Reti di Calcolatori e Laboratorio - Compito del 12 Gennaio 2012
Nome: Matricola: e-mail: Esercizio 1 (6 punti) Si consideri una rete che utilizza una variante del protocollo ALOHA per comunicare a livello di collegamento. In particolare, quando il livello di collegamento
Architettura dei sistemi di elaborazione (Input/Output parte 1)
Architettura dei sistemi di elaborazione (Input/Output parte 1) Sottosistema di I/O Il sottosistema di I/O è la parte attraverso la quale si esplica la comunicazione tra il calcolatore e il mondo esterno.
Calcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 Instruction Set Architecture: nozioni generali Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello del linguaggio specializzato Traduzione (compilatore) o interpretazione
Reti di Telecomunicazioni 1
Reti di Telecomunicazioni 1 AA2011/12 Sistemi a coda Blocco E2 Ing. Francesco Zampognaro e-mail: zampognaro@ing.uniroma2.it Lucidi Prof. Stefano Salsano 1 Definizione di traffico e utilizzazione di un
Von Neumann Bottleneck
Von Neumann Bottleneck Gerarchia di memoria Struttura della Gerarchia Al livello 1 poniamo la memoria più veloce (piccola e costosa) Al livello n poniamo la memoria più lenta (grande ed economica) Scopo
Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Pre-appello del 14 Gennaio Attenzione:
Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Pre-appello del 14 Gennaio 2015 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina.
IL SISTEMA DELLE INTERRUZIONI
IL SISTEMA DELLE INTERRUZIONI CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Elettronica (A-I) ICAR Consiglio Nazionale delle Ricerche DIS - Università degli Studi di Napoli Federico II Supporti didattici
Introduzione alle gerarchie di memoria
Introduzione alle gerarchie di memoria 1 Un ripasso Circuito sequenziale Segnale di clock Circuito sincrono Temporizzazione sensibile ai fronti Latch tipo S-R Latch tipo D Flip-flop tipo D Register file
Capitolo 4 Parte 1 Le infrastrutture hardware. Il processore La memoria centrale La memoria di massa Le periferiche di I/O
Capitolo 4 Parte 1 Le infrastrutture hardware Il processore La memoria centrale La memoria di massa Le periferiche di I/O Funzionalità di un calcolatore Trasferimento Elaborazione Controllo Memorizzazione
Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.
Corso integrato di Sistemi di Elaborazione Modulo I Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Architettura dei calcolatori 2 Architettura di un calcolatore Che cos è un calcolatore? Come funziona