Date post: | 02-May-2015 |
Category: |
Documents |
Upload: | alba-garofalo |
View: | 218 times |
Download: | 0 times |
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
1
3. Evoluzione delle architetture3. Evoluzione delle architettureindiceindice
3 Evoluzione tecnologica
3.1 Pipeline
3.2 Gerarchia di memoria
3.3 Memoria virtuale
3.4 Architettura RISC
3.5 L’architettura x86
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
2
3. Evoluzione delle architetture3. Evoluzione delle architettureevoluzione tecnologicaevoluzione tecnologica
CPU - densità di transistor: +30% per anno
- frequenza di clock: +20% per anno
Memoria - capacità: +60% per anno
- velocità di accesso: +10% per anno
- costo per bit: -25% per anno
Hard disk - capacità: +60% per anno
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
3
3. Evoluzione delle architetture3. Evoluzione delle architettureevoluzione strutturaleevoluzione strutturale
a breve gli sviluppi tecnologici si dovranno limitare, in attesa di un cambiamento totale
l’aumento di prestazioni è legato sempre più ad organizzazioni più efficienti
parallelismo: se un lavoro non può essere fatto più velocemente da una sola persona, allora bisogna farlo fare da più persone contemporaneamente
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
4
3.1 Pipeline3.1 Pipelinegeneralità 1generalità 1
per svolgere un lavoro si devono seguire tre fasi distinte e sequenziali
L [fase1] [fase2] [fase3] se ogni fase richiede un tempo T, un unico
esecutore svolge un lavoro ogni 3T per ridurre i tempi di produzione si possono
utilizzare più esecutori
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
5
3.1 Pipeline3.1 Pipelinegeneralità 2generalità 2
soluzione totalmente parallela
Esec 1 [fase1] [fase2] [fase3] [fase1] [fase2] [fase3]
Esec 2 [fase1] [fase2] [fase3] [fase1] [fase2] [fase3]
Esec 3 [fase1] [fase2] [fase3] [fase1] [fase2] [fase3]
- N esecutori svolgono un lavoro ogni 3T/N
- purtroppo non va bene in informatica perché
i lavori (istruzioni) sono (spesso) sequenziali
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
6
3.1 Pipeline3.1 Pipelinegeneralità 3generalità 3
soluzione pipeline ad esecutori generici
Esec 1
Esec 2 ............
Esec 3 .........................
- N esecutori svolgono a regime un lavoro ogni 3T/N e la sequenza dei lavori viene rispettata
[fase1]
[fase2] [fase3]
[fase1] [fase2] [fase3]
[fase1] [fase2] [fase3]
[fase1] [fase2][fase1]
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
7
3.1 Pipeline3.1 Pipelinegeneralità 4generalità 4
soluzione pipeline ad esecutori specifici
Esec 1
Esec 2 ............
Esec 3 .........................
- ogni esecutore svolge sempre e solo la stessa fase di tutti i lavori
- soluzione più efficiente in termini di risorse
[fase1]
[fase2]
[fase3]
[fase1]
[fase2]
[fase3]
[fase1]
[fase2]
[fase3]
[fase1]
[fase2]
[fase1]
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
8
3.1 Pipeline3.1 Pipelinescomposizione in fasiscomposizione in fasi
L’esecuzione di una generica istruzione può essere ad esempio suddivisa in fetch lettura dell’istruzione decode decodifica dell’istruzione read data lettura degli operandi execute esecuzione dell’istruzione write data scrittura del risultato
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
9
clock ciclo1 ciclo2 ciclo3 ciclo4 ciclo5 ciclo6
Fetch
Decode ............
Read M .........................
Execute ........................................
Write M .......................................................
3.1 Pipeline3.1 Pipelineevoluzione teoricaevoluzione teorica
istr 1
istr 1
istr 1
istr 1
istr 1 istr 2
istr 2
istr 2
istr 2
istr 3
istr 3
istr 3
istr 4
istr 4
istr 5
istr 2
istr 3
istr 4
istr 5
istr 6
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
10
3.1 Pipeline3.1 Pipelinei problemii problemi
In pratica il pipeline non permette di rag-giungere il parallelismo teorico per
sbilanciamento delle fasi problemi strutturali dipendenza dei dati dipendenza dai controlli
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
11
3.1 Pipeline3.1 Pipelinesbilanciamento delle fasi 1sbilanciamento delle fasi 1
la suddivisione in fasi va fatta in base all’istruzione più onerosa
non tutte le istruzioni richiedono le stesse fasi
non tutte le fasi richiedono lo stesso tempo di esecuzione (si pensi alla lettura di un operando tramite registro o mediante indirizzamento indiretto)
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
12
3.1 Pipeline3.1 Pipelinesbilanciamento delle fasi 2sbilanciamento delle fasi 2
Fetch
Decode ............
Read M ....................
Execute .......................
Write M .................................
X : tempi di attesa dovuti allo sbilanciamento delle fasi
1
1
1 2
2
3
3
4 5
4
6
1 2 3 4 5 6
1
2
2
3
3
4
4
X
X X
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
13
3.1 Pipeline3.1 Pipelinesbilanciamento delle fasi 3sbilanciamento delle fasi 3
Possibili soluzioni allo sbilanciamento: scomposizione in più sottofasi
– i tempi di overhead diventano consistenti duplicare gli esecutori delle fasi più lunghe
e farli operare in parallelo– le CPU più recenti hanno più ALU intere e
un’ALU Floating Point
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
14
3.1 Pipeline3.1 Pipelineproblemi strutturaliproblemi strutturali
Problemi:– Se servono più risorse interne, prima o poi la
tecnologia ci permetterà di duplicarle– il vero collo di bottiglia è l’accesso alle risorse
esterne (memoria): anche 3 accessi per ciclo
Possibili soluzioni:– suddividere le memorie– introdurre fasi non operative
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
15
3.1 Pipeline3.1 Pipelinedipendenza dei dati 1dipendenza dei dati 1
può succedere che un dato modificato nella fase di execute venga utilizzato dalla fase di lettura dell’istruzione successiva
INC [0123]
CMP [0123],AL
F1
F2
D1
D2
RM1
RM2
E1
E2
WM1
WM2
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
16
3.1 Pipeline3.1 Pipelinedipendenza dei dati 2dipendenza dei dati 2
Soluzioni: introduzione di fasi non operative individuazione del richio di dipendenza dei
dati e prelievo del dato direttamente all’uscita dell’ALU (data forwarding)
risoluzione a livello di compilatore riordino delle istruzioni (pipeline scheduling)
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
17
3.1 Pipeline3.1 Pipelinedipendenza dai controlli 1dipendenza dai controlli 1
Tutte le istruzioni che modificano l’Instruc-tion Pointer (salti condizionati e non, chiamate a e ritorni da procedure, interrupt) mettono in crisi il pipeline.
La fase di fetch successiva carica l’istruzione seguente, che non è detto sia quella giusta.
Queste istruzioni purtroppo sono circa il 30%.
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
18
3.1 Pipeline3.1 Pipelinedipendenza dai controlli 2dipendenza dai controlli 2
Soluzioni: mettere in stallo il pipeline fino a quando non
si è calcolato l’indirizzo della prossima istru-zione (pessima efficienza, massima semplicità)
individuare prima possibile le istruzioni dannose e anticiparne l’esecuzione, eventual-mente con apposita logica di controllo
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
19
3.1 Pipeline3.1 Pipelinedipendenza dai controlli 3dipendenza dai controlli 3
Soluzioni per salti condizionati: ipotizzare che non ci sia il salto: se va bene
siamo andati avanti, altrimenti facciamo ripartire il pipeline con il nuovo indirizzo– alcune istruzioni modificano lo stato della CPU
fin dalle prime fasi: in tal caso bisogna ripristi-nare tutto come era prima (squashing)
usare due pipeline, e proseguire parallela-mente nelle due possibilità
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
20
3.1 Pipeline3.1 Pipelinedipendenza dai controlli 4dipendenza dai controlli 4
Prevedere l’esito del salto: staticamente
– il compilatore aggiusta i controlli, e li organizza in modo che i salti siano meno probabili
dinamicamente– costruire una tabella storica dei salti effettuati
(Branch Target Buffer) e utilizzarla statisticamente, campi BranchAddress, TargetAddress ed History
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
21
3.1 Pipeline3.1 Pipelinesuperpipelinesuperpipeline
Suddivisione delle singole fasi lunghe T in n sottofasi distinte, e far partire fino ad n istruzioni nella medesima fase, ad intervalli regolari T/n
prevedere n pipeline che possano operare in parallelo
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
22
3.1 Pipeline3.1 Pipelinepipeline superscalarepipeline superscalare
riuscire ad eseguire più di un’istruzione per ciclo macchina duplicando gli esecutori più onerosi e facendoli operare in parallelo
tipicamente più ALU intere ed una Floating Point
richiede un control path notevole per sfruttare al meglio queste risorse
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
23
3.1 Pipeline3.1 Pipelinedynamic schedulingdynamic scheduling
In run-time la CPU riordina le istruzioni al fine di ottimizzare l’utilizzo del pipeline, e poi riaggiusta l’ordine corretto dei risultati
maggiore è il blocco di istruzioni riordinate, migliore è l’efficienza e aumenta la com-plessità del control path e del datapath
viene detta anche out-of-order execution
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
24
3.1 Pipeline3.1 Pipelinescoreboardscoreboard
L’esecuzione simultanea di più istruzioni su più unità esecutive si implementa con: scoreboard
– tabella centralizzata che tiene conto delle istru-zioni da eseguire e delle risorse a disposizione
reservation station– tecnica distribuita di inoltro delle singole istruzio-
ni alle varie unità bufferizzate
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
25
3.2 Gerarchia di memoria3.2 Gerarchia di memoriatecnologie di memorizzazionetecnologie di memorizzazione
L’ideale sarebbe avere una memoria molto grande, molto veloce e molto economica.tecnologia velocità dimensioniregistro 1 - 2 nS 16 - 256 Bcache on-chip 3 - 10 nS 1 - 32 KBSRAM 20 - 50 nS 32 - 512 KBDRAM 60 - 250 nS 1 - 1024 MBdisk 5 - 20 mS 1 - 512 GBCD-ROM 100 - 500 mS 600 - 1200 MBtape 1 - molti S superiori
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
26
3.2 Gerarchia di memoria3.2 Gerarchia di memoriaprestazioni CPU/memoriaprestazioni CPU/memoria
le CPU hanno avuto un notevole aumento di prestazioni dovuto a innovazioni tecnologi-che e architetturali
(..., pipeline, cache, ...) le memorie sono
migliorate solo grazie alla tecnologia
1
10
100
1000
1980 1990 2000
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
27
3.2 Gerarchia di memoria3.2 Gerarchia di memoriaproprietà dei programmiproprietà dei programmi
proprietà statiche (dal file sorgente) proprietà dinamiche (in esecuzione)
– linearità dei riferimentigli indirizzi sono molto spesso consecutivi
– località dei riferimenti località spaziale
gli indirizzi vicini sono molto probabili località temporale
gli indirizzi più recenti hanno mggiore probabilità
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
28
3.2 Gerarchia di memoria3.2 Gerarchia di memorialegge del 90/10legge del 90/10
Un programma utilizza mediamente il
90 % del suo tempo di esecuzione per
effettuare un numero limitato di
istruzioni, pari a circa il 10 % di tutte
quelle che lo compongono.
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
29
3.2 Gerarchia di memoria3.2 Gerarchia di memoriadividi et imperadividi et impera
Conviene suddividere la memoria in due parti: livello 1: molto veloce e di dimensioni
contenute (per il costo), in cui mettere le informazioni più probabili (cache)
livello 2: molto grande e più lenta (per il costo), in cui mettere tutte le informazioni
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
30
3.2 Gerarchia di memoria3.2 Gerarchia di memoriaorganizzazione gerarchicaorganizzazione gerarchica
suddivisione della memoria in livelli il livello superiore (il primo) è utilizzato
direttamente dalla CPU ogni livello è più veloce, di dimensioni
minori e di costo per byte superiore del livello sottostante
ogni livello contiene anche tutte le informazioni del livello sottostante
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
31
3.2 Gerarchia di memoria3.2 Gerarchia di memoriaschema concettualeschema concettuale
CPU cachememoria
centralelivello
superiore
livello inferiore
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
32
3.2 Gerarchia di memoria3.2 Gerarchia di memoriasuddivisione in blocchisuddivisione in blocchi
per implementare l’organizzazione gerarchica è necessario suddividere la memoria in blocchi
la dimensione di un blocco è la minima quantità indivisibile di informazioni che vengono ricopiate nel livello sovrastante
l’indirizzo di un’informazione sarà composto dall’indirizzo del blocco e da quello del dato all’interno del blocco
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
33
3.2 Gerarchia di memoria3.2 Gerarchia di memoriahit e misshit e miss
Quando la CPU richiede un’informazione, questa può essere presente o meno in cache: hit, o successo, deve avere una probabilità
molto elevata (90 - 95 %) miss, o fallimento
In caso di miss si deve avviare una procedura di scambio (swap) dati con il livello sottostante.
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
34
3.2 Gerarchia di memoria3.2 Gerarchia di memoriatempo medio di accessotempo medio di accesso
Il tempo medio di accesso ad un dato in memoria vale:
Ta = Th + Tm (1-Ph)
Ta = tempo medio di accesso (average memory-access time)
Th = tempo di accesso ad un dato presente in cache
Tm = tempo medio di accesso ad un dato non in cache
Ph = probabilità di hit
N.B.= Tm e Ph dipendono dalla dimensione del blocco
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
35
3.2 Gerarchia di memoria3.2 Gerarchia di memoriatecnica generaletecnica generale
- suddivisione della memoria centrale in blocchi
- dimensionamento della cache in multiplo di blocchi
- la CPU emette un indirizzo:
hit - il dato viene fornito immediatamente alla CPU
miss - la cache richiede al dato al suo livello inferiore
- in cache viene memorizzato un intero blocco
- viene fornito il dato alla CPU
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
36
3.2 Gerarchia di memoria3.2 Gerarchia di memoriaproblematicheproblematiche
organizzazione della cache e tecniche di
allocazione
individuazione di hit o miss
rimpiazzo dei blocchi
congruenza dei blocchi
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
37
3.2 Gerarchia di memoria3.2 Gerarchia di memoriadirect mapping 1direct mapping 1
Associazione diretta (direct mapping) ogni blocco di un certo gruppo di blocchi del livello
inferiore può essere allocato solo in un ben preciso blocco (line o slot) del livello superiore
gruppo 0 gruppo 1 gruppo 2 gruppo 3 gruppo N-1
livelloinferiore
livellosuperiore
N gruppida M lineciascuno
N line ILI = Indirizzo Livello inferioreILS = Indirizzo Livello Superiore ILS = ILI mod N}
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
38
3.2 Gerarchia di memoria3.2 Gerarchia di memoriadirect mapping 2direct mapping 2
Vantaggi semplicità di traduzione da indirizzo ILI
(memoria) a indirizzo ILS (cache) determinazione veloce di hit o missSvantaggi necessità di contraddistinguere il blocco
presente nella line (introduzione del Tag) swap continui per dati di blocchi adiacenti
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
39
3.2 Gerarchia di memoria3.2 Gerarchia di memoriafully associative 1fully associative 1
Associazione completa (fully associative) ogni blocco del livello inferiore può essere allo-
cato in un qualsiasi blocco (line o slot) del livello superiore
livelloinferiore
livellosuperiore M line
N blocchi
bloc
co 0
bloc
co 1
bloc
co 2
bloc
co 3
bloc
co N
-1
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
40
3.2 Gerarchia di memoria3.2 Gerarchia di memoriafully associative 2fully associative 2
Alla cache composta da M blocchi viene affiancata una tabella di M elementi, contenenti il numero di blocco (tag) posto nella line corrispondente.Vantaggi massima efficienza di allocazione
Svantaggi calcolo dell’indirizzo ILS e verifica hit/miss molto onerosi
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
41
3.2 Gerarchia di memoria3.2 Gerarchia di memorian-way set associative 1n-way set associative 1
Associazione a gruppi (n-way set associative) ogni blocco di un certo insieme di blocchi del livello
inferiore può essere allocato liberamente in un ben preciso gruppo di blocchi del livello superiore
insieme 0 inisieme 1 insieme 2 insieme 3 insieme N-1
livelloinferiore
livellosuperiore
M insiemida K lineciascuno
M gruppida N lineciascuno
nell’esempio N=22-way set associative
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
42
3.2 Gerarchia di memoria3.2 Gerarchia di memorian-way set associative 2n-way set associative 2
Alla cache composta da M gruppi di N line ciascuno vengono affiancate M tabelle di N elementi ciascuna, contenenti i tag che contraddistinguono i blocchi posti nelle line corrispondenti (tecnica più diffusa).
Si ottiene una adeguata efficienza di allocazione a fronte di una sopportabile complessità di ricerca
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
43
3.2 Gerarchia di memoria3.2 Gerarchia di memoriarimpiazzo dei blocchirimpiazzo dei blocchi
Quando la cache è piena, quale blocco mi conviene sostituire ? Random, occupazione omogenea dello spazio Last recently Used, coerente con la località temporale
rimpiazzo casuale rimpiazzo LRU
N-way 2 4 8 2 4 8
16 KB 5,69 5,29 4,96 5,18 4,67 4,39
64 KB 2,01 1,66 1,53 1,88 1,54 1,39
256 KB 1,17 1,13 1,12 1,15 1,13 1,12
% Pmiss
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
44
3.2 Gerarchia di memoria3.2 Gerarchia di memoriail problema della scrittura 1il problema della scrittura 1
La scrittura dei dati determina incoerenza tra il blocco in cache e quello nei livelli inferiori. write through
– scrittura contemporanea in cache e nel livello di memoria inferiore: aumento di traffico per frequenti scritture nel medesimo blocco, ma in entrambi i livelli i dati sono sempre coerenti. Si utilizzano buffer di scrittura asincroni verso la memoria.
N.B.= in memoria ci sono istruzioni e dati, e solo il 50% delle operazioni sui dati sono scritture (circa 12 %)
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
45
3.2 Gerarchia di memoria3.2 Gerarchia di memoriail problema della scrittura 2il problema della scrittura 2
write back– scrittura differenziata in memoria inferiore solo
quando il blocco di cache viene rimpiazzato: necessità di riconoscere se ci sono state operazioni di scrittura nel nlocco, ottimizzazione del traffico ma periodi di non coerenza
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
46
3.2 Gerarchia di memoria3.2 Gerarchia di memoriaridurre la probabilità di miss 1ridurre la probabilità di miss 1
miss di primo accesso, non riducibile miss di capacità insufficiente, quando in cache
non trovano posto tutti i blocchi del programma– cache più ampie e blocchi più estesi (*)
miss di interferenza, quando nell’n-associative dobbiamo rimpiazzare un blocco e ci sono ancora blocchi non occupati– aumentare la dimensione di N
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
47
3.2 Gerarchia di memoria3.2 Gerarchia di memoriaridurre la probabilità di miss 2ridurre la probabilità di miss 2
realizzare le tabelle con memorie associative, per ridurre i tempi di ricerca
distinguere tra cache dati e cache istruzioni ottimizzare tramite compilatori
– posizionamento accurato delle procedure ripetitive– fusione di vettori in strutture– loop interchange
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
48
3.2 Gerarchia di memoria3.2 Gerarchia di memoriaquantificazionequantificazione
dimensione del blocco 4 - 128 Byte
durata hit 1 - 4 cicli machina
durata miss 8 - 32 cicli (ed anche di più)
(tempo di accesso) (6-10 cicli)
(tempo di trasferimento) (2 - 22 cicli)
percentuale miss 1% - 20%
dimensione cache 1 - 256 KByte
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
49
3.2 Gerarchia di memoria3.2 Gerarchia di memoriamemoria DRAM 1memoria DRAM 1
Dynamic Random Access Memory memorizzazione assegnata a componenti
capacitivi richiedono un ciclo di refresh ogni 8-10 mS organizzazione interna 2D e indirizzo diviso
– Raw Access Strobe– Column Access Strobe
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
50
3.2 Gerarchia di memoria3.2 Gerarchia di memoriamemoria DRAM 2memoria DRAM 2
anno capacità ciclo di lettura
1980 64 Kb 250 ns
1983 256 Kb 220 ns
1986 1 Mb 190 ns
1989 4 Mb 165 ns
1992 16 Mb 145 ns
1995 64 Mb 120 ns
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
51
3.2 Gerarchia di memoria3.2 Gerarchia di memoriamemoria principale 1memoria principale 1
CPU
cache
memoria
Organizzazione diretta
Il Bus tra CPU e cache hala stessa dimensione di
quello tra cache e memoriaprincipale
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
52
3.2 Gerarchia di memoria3.2 Gerarchia di memoriamemoria principale 2memoria principale 2
Organizzazione estesa
Multiplexer tra CPUed N cache e bus ampio
tra le N cache ela memoria principale
memoria
multiplexer
CPU
cache cache cache
128 bit
32 bit
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
53
3.2 Gerarchia di memoria3.2 Gerarchia di memoriamemoria principale 3memoria principale 3
Organizzazioneinterleaving
Bus normale tra CPUe cache e collegamento a memoria interlacciata
tra cache e modulidi memoria DRAM
modulo0
CPU
cache
modulo1
modulo2
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
54
3.2 Gerarchia di memoria3.2 Gerarchia di memoriaevoluzione delle DRAM 1evoluzione delle DRAM 1
tempo di accesso: tempo necessario alla memoria per accedere alla cella indirizzata
tempo di lettura: tempo necessario alla CPU per acquisire un dato dal DB, dal momento in cui emette l’indirizzo in AB
tempo di accesso
tempo di lettura
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
55
3.2 Gerarchia di memoria3.2 Gerarchia di memoriaevoluzione delle DRAM 2evoluzione delle DRAM 2
memorie interleaving: accesso continuato alla memoria senza aspettare la conclusione della lettura
Evoluzione delle architetture
Architettura degli elaboratori 1 - A. Memo
56
3.2 Gerarchia di memoria3.2 Gerarchia di memoriaevoluzione delle DRAM 3evoluzione delle DRAM 3
memorie page mode: accesso continuato alla stessa colonna di memoria (multiple RAW access) (ciclo di lettura=100ns, column select=20ns)