Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo 100 3. Evoluzione delle architetture indice 3Evoluzione tecnologica 3.1Pipeline.

Slides:



Advertisements
Presentazioni simili
File System Cos’è un File System File e Directory
Advertisements

Informatica Generale Marzia Buscemi
Architettura di un sistema informatico Hardware
DAL MICROPROCESSORE AI SISTEMI EMBEDDED Informatica per lAutomazione II (Informatica B o II) Anno accademico 2008/2009 Prof. Giuseppe Mastronardi Ing.
Realizzazione del file system
Esercizi sulle architetture
Memorie.
Virtual CPU - Eniac Dr.ssa Veronica Marchetti
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
Tipo Documento: unità didattica 0 Modulo 0 Compilatore: ??? Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
La memoria cache Tecniche di rimpiazzo.
Disco magnetico (2) Ciascuna traccia è divisa in settori
Evoluzione del MIPS: superpipeline e superscalari
Gerarchie di Memoria e Cache
Corso di Informatica Applicata - Lezione 3 - © 2005 Saverio De Vito Corso di Informatica Applicata Lezione 3 Università degli studi di Cassino Corso di.
Il Linguaggio Macchina
Xscale Nicola Rebagliati 2001s135. Cose Xscale Xscale è una microarchitettura per processori che fornisce ottime prestazioni con bassi consumi energetici.
Com’è fatto un elaboratore?
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Estensioni allarchitettura di Von Neumann Vito Perrone Corso di Informatica A per Gestionali.
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Le memorie del calcolatore
ARCHITETTURA DEGLI ELABORATORI
Il Calcolatore Elettronico
Appunti di Informatica
I blocchi fondamentali dell’elaborazione Componenti e funzionamento del calcolatore I blocchi fondamentali dell’elaborazione.
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14.
ELETTRONICA DIGITALE (2^ Parte) (8)
ARCHITETTURA DI UN ELABORATORE
Unità centrale di processo
Sistemi ad elevate prestazioni Lezione 1
MA COME POSSO PARLARTI, MIO DIO ? Incontri biblici sui SALMI A cura di Antonella Jori Parrocchia di s. Ugo – Roma
Realizzazione a cura di
Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale.
Hardware e software Hardware Software
Architettura di una CPU
Arch. Elab. - S. Orlando 1 Progetto del processore e supporto del processore al SO (interruzioni – eccezioni) Salvatore Orlando.
Migliorare le prestazioni delle cache
Bus Interface Unit L1 I-CacheL1 D-Cache Fetch/Decode unit Dispatch/Execute unit Retire unit Instruction Pool System Bus L2 Cache 256 KB integrata 4 cicli.
Architettura del calcolatore
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
3  Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione  elaborazione dati  memorizzazione dati 
1 Gestione della Memoria. 2 Idealmente la memoria dovrebbe essere –grande –veloce –non volatile Gerarchia di memorie –Disco: capiente, lento, non volatile.
Calcolatori Elettronici Il Processore
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà.
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà.
Luglio 2004Generalità Hardware1 Luglio Generalità Hardware2 MACCHINA DI VON NEUMAN (1947) BUS Processore Elaborazione Controllo Memoria Ingresso.
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Esigenze di memoria per un sistema di calcolo –Dati –Istruzioni Obiettivi –Raggiungere i migliori compromessi.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Calcolatori Elettronici Il Processore (2)
Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
La gerarchia di memorie (1) Calcolatori Elettronici Valeria Cardellini Rielaborate da Salvatore Tucci.
Clocking Il segnale di Clock definisce quando i segnali possono essere letti e quando possono essere scritti Fronte di discesa (negativo) Falling edge.
Sistema operativo Il Sistema Operativo gestisce le risorse hw e sw del sistema di elaborazione Facilita l'interazione tra utente e sistema Esistono diversi.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Il modello di Von Neumann
 Ogni processo che deve essere eseguito da un sistema di elaborazione, deve essere caricato e risiedere almeno parzialmente nella memoria centrale 
Tipologie di memoria: Elettroniche Magnetiche Ottiche La qualità di una memoria dipende da vari parametri: Modo di accesso: tecnica utilizzata per accedere.
HARDWARE (2). MEMORIE Due classi di memoria MEMORIA CENTRALE –media capacità - ottima velocità MEMORIA DI MASSA elevata capacità - bassa velocità.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Transcript della presentazione:

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Evoluzione delle architetture indice 3Evoluzione tecnologica 3.1Pipeline 3.2Gerarchia di memoria 3.3Memoria virtuale 3.4Architettura RISC 3.5L’architettura x86

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Evoluzione delle architetture evoluzione tecnologica l CPU- densità di transistor: +30% per anno - frequenza di clock: +20% per anno l Memoria- capacità: +60% per anno - velocità di accesso: +10% per anno - costo per bit: -25% per anno l Hard disk- capacità: +60% per anno

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Evoluzione delle architetture evoluzione strutturale l a breve gli sviluppi tecnologici si dovranno limitare, in attesa di un cambiamento totale l l’aumento di prestazioni è legato sempre più ad organizzazioni più efficienti l 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 Pipeline generalità 1 l per svolgere un lavoro si devono seguire tre fasi distinte e sequenziali L  [fase1] [fase2] [fase3] l se ogni fase richiede un tempo T, un unico esecutore svolge un lavoro ogni 3T l per ridurre i tempi di produzione si possono utilizzare più esecutori

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Pipeline generalità 2 l 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 Pipeline generalità 3 l 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 Pipeline generalità 4 l 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 Pipeline scomposizione in fasi L’esecuzione di una generica istruzione può essere ad esempio suddivisa in l fetchlettura dell’istruzione l decodedecodifica dell’istruzione l read datalettura degli operandi l executeesecuzione dell’istruzione l write datascrittura del risultato

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo 108 clock ciclo1 ciclo2 ciclo3 ciclo4 ciclo5 ciclo6 Fetch  Decode  Read M  Execute  Write M  Pipeline evoluzione teorica istr 1 istr 2 istr 3 istr 4 istr 5 istr 2 istr 3 istr 4 istr 5 istr 6

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Pipeline i problemi In pratica il pipeline non permette di rag- giungere il parallelismo teorico per l sbilanciamento delle fasi l problemi strutturali l dipendenza dei dati l dipendenza dai controlli

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Pipeline sbilanciamento delle fasi 1 l la suddivisione in fasi va fatta in base all’istruzione più onerosa l non tutte le istruzioni richiedono le stesse fasi l 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 Pipeline sbilanciamento delle fasi 2 Fetch  Decode  Read M  Execute  Write M  X : tempi di attesa dovuti allo sbilanciamento delle fasi X XX

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Pipeline sbilanciamento delle fasi 3 Possibili soluzioni allo sbilanciamento: l scomposizione in più sottofasi –i tempi di overhead diventano consistenti l 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 Pipeline problemi 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 Pipeline dipendenza dei dati 1 l 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 Pipeline dipendenza dei dati 2 Soluzioni: l introduzione di fasi non operative l individuazione del richio di dipendenza dei dati e prelievo del dato direttamente all’uscita dell’ALU (data forwarding) l risoluzione a livello di compilatore l riordino delle istruzioni (pipeline scheduling)

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Pipeline dipendenza 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 Pipeline dipendenza dai controlli 2 Soluzioni: l mettere in stallo il pipeline fino a quando non si è calcolato l’indirizzo della prossima istru- zione (pessima efficienza, massima semplicità) l 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 Pipeline dipendenza dai controlli 3 Soluzioni per salti condizionati: l 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) l usare due pipeline, e proseguire parallela- mente nelle due possibilità

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Pipeline dipendenza dai controlli 4 Prevedere l’esito del salto: l staticamente –il compilatore aggiusta i controlli, e li organizza in modo che i salti siano meno probabili l 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 Pipeline superpipeline l 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 l prevedere n pipeline che possano operare in parallelo

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Pipeline pipeline superscalare l riuscire ad eseguire più di un’istruzione per ciclo macchina duplicando gli esecutori più onerosi e facendoli operare in parallelo l tipicamente più ALU intere ed una Floating Point l richiede un control path notevole per sfruttare al meglio queste risorse

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Pipeline dynamic scheduling l In run-time la CPU riordina le istruzioni al fine di ottimizzare l’utilizzo del pipeline, e poi riaggiusta l’ordine corretto dei risultati l maggiore è il blocco di istruzioni riordinate, migliore è l’efficienza e aumenta la com- plessità del control path e del datapath l viene detta anche out-of-order execution

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Pipeline scoreboard L’esecuzione simultanea di più istruzioni su più unità esecutive si implementa con: l scoreboard –tabella centralizzata che tiene conto delle istru- zioni da eseguire e delle risorse a disposizione l reservation station –tecnica distribuita di inoltro delle singole istruzio- ni alle varie unità bufferizzate

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Gerarchia di memoria tecnologie di memorizzazione L’ideale sarebbe avere una memoria molto grande, molto veloce e molto economica. tecnologiavelocitàdimensioni registro1 - 2 nS B cache on-chip nS KB SRAM nS KB DRAM nS MB disk mS GB CD-ROM mS MB tape1 - molti Ssuperiori

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Gerarchia di memoria prestazioni CPU/memoria l le CPU hanno avuto un notevole aumento di prestazioni dovuto a innovazioni tecnologi- che e architetturali (..., pipeline, cache,...) l le memorie sono migliorate solo grazie alla tecnologia

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Gerarchia di memoria proprietà dei programmi l proprietà statiche (dal file sorgente) l proprietà dinamiche (in esecuzione) –linearità dei riferimenti gli indirizzi sono molto spesso consecutivi –località dei riferimenti l località spaziale gli indirizzi vicini sono molto probabili l località temporale gli indirizzi più recenti hanno mggiore probabilità

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Gerarchia di memoria legge 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 Gerarchia di memoria dividi et impera Conviene suddividere la memoria in due parti: l livello 1: molto veloce e di dimensioni contenute (per il costo), in cui mettere le informazioni più probabili (cache) l 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 Gerarchia di memoria organizzazione gerarchica l suddivisione della memoria in livelli l il livello superiore (il primo) è utilizzato direttamente dalla CPU l ogni livello è più veloce, di dimensioni minori e di costo per byte superiore del livello sottostante l ogni livello contiene anche tutte le informazioni del livello sottostante

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Gerarchia di memoria schema concettuale CPU cache memoria centrale livello superiore livello inferiore

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Gerarchia di memoria suddivisione in blocchi l per implementare l’organizzazione gerarchica è necessario suddividere la memoria in blocchi l la dimensione di un blocco è la minima quantità indivisibile di informazioni che vengono ricopiate nel livello sovrastante l 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 Gerarchia di memoria hit e miss Quando la CPU richiede un’informazione, questa può essere presente o meno in cache: l hit, o successo, deve avere una probabilità molto elevata ( %) l 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 Gerarchia di memoria tempo medio di accesso Il tempo medio di accesso ad un dato in memoria vale: T a = T h + T m (1-P h ) T a = tempo medio di accesso (average memory-access time) T h = tempo di accesso ad un dato presente in cache T m = tempo medio di accesso ad un dato non in cache P h = probabilità di hit N.B.= T m e P h dipendono dalla dimensione del blocco

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Gerarchia di memoria tecnica 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 Gerarchia di memoria problematiche l organizzazione della cache e tecniche di allocazione l individuazione di hit o miss l rimpiazzo dei blocchi l congruenza dei blocchi

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Gerarchia di memoria direct mapping 1 Associazione diretta (direct mapping) l 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 0gruppo 1gruppo 2gruppo 3gruppo N-1 livello inferiore livello superiore N gruppi da M line ciascuno N line ILI = Indirizzo Livello inferiore ILS = Indirizzo Livello Superiore ILS = ILI mod N }

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Gerarchia di memoria direct mapping 2 Vantaggi l semplicità di traduzione da indirizzo ILI (memoria) a indirizzo ILS (cache) l determinazione veloce di hit o miss Svantaggi l necessità di contraddistinguere il blocco presente nella line (introduzione del Tag) l swap continui per dati di blocchi adiacenti

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Gerarchia di memoria fully associative 1 Associazione completa (fully associative) l ogni blocco del livello inferiore può essere allo- cato in un qualsiasi blocco (line o slot) del livello superiore livello inferiore livello superiore M line N blocchi blocco 0blocco 1blocco 2blocco 3 blocco N-1

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Gerarchia di memoria fully 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 l massima efficienza di allocazione Svantaggi l calcolo dell’indirizzo ILS e verifica hit/miss molto onerosi

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Gerarchia di memoria n-way set associative 1 Associazione a gruppi (n-way set associative) l 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 0inisieme 1insieme 2insieme 3insieme N-1 livello inferiore livello superiore M insiemi da K line ciascuno M gruppi da N line ciascuno nell’esempio N=2 2-way set associative

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Gerarchia di memoria n-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 Gerarchia di memoria rimpiazzo dei blocchi Quando la cache è piena, quale blocco mi conviene sostituire ? l Random, occupazione omogenea dello spazio l Last recently Used, coerente con la località temporale rimpiazzo casuale rimpiazzo LRU N-way KB5,695,294,965,184,674,39 64 KB2,011,661,531,881,541, KB1,171,131,121,151,131,12 % P miss

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Gerarchia di memoria il problema della scrittura 1 La scrittura dei dati determina incoerenza tra il blocco in cache e quello nei livelli inferiori. l 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 Gerarchia di memoria il problema della scrittura 2 l 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 Gerarchia di memoria ridurre la probabilità di miss 1 l miss di primo accesso, non riducibile l miss di capacità insufficiente, quando in cache non trovano posto tutti i blocchi del programma –cache più ampie e blocchi più estesi (*) l 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 Gerarchia di memoria ridurre la probabilità di miss 2 l realizzare le tabelle con memorie associative, per ridurre i tempi di ricerca l distinguere tra cache dati e cache istruzioni l ottimizzare tramite compilatori –posizionamento accurato delle procedure ripetitive –fusione di vettori in strutture –loop interchange

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Gerarchia di memoria quantificazione dimensione del blocco Byte durata hit cicli machina durata miss cicli (ed anche di più) (tempo di accesso)(6-10 cicli) (tempo di trasferimento)( cicli) percentuale miss1% - 20% dimensione cache KByte

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Gerarchia di memoria memoria DRAM 1 Dynamic Random Access Memory l memorizzazione assegnata a componenti capacitivi l richiedono un ciclo di refresh ogni 8-10 mS l organizzazione interna 2D e indirizzo diviso –Raw Access Strobe –Column Access Strobe

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Gerarchia di memoria memoria DRAM 2 anno capacità ciclo di lettura Kb250 ns Kb220 ns Mb190 ns Mb165 ns Mb145 ns Mb120 ns

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Gerarchia di memoria memoria principale 1 CPU cache memoria Organizzazione diretta Il Bus tra CPU e cache ha la stessa dimensione di quello tra cache e memoria principale

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Gerarchia di memoria memoria principale 2 Organizzazione estesa Multiplexer tra CPU ed N cache e bus ampio tra le N cache e la memoria principale memoria multiplexer CPU cache 128 bit 32 bit

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Gerarchia di memoria memoria principale 3 Organizzazione interleaving Bus normale tra CPU e cache e collegamento a memoria interlacciata tra cache e moduli di memoria DRAM modulo 0 CPU cache modulo 1 modulo 2

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Gerarchia di memoria evoluzione delle DRAM 1 l tempo di accesso: tempo necessario alla memoria per accedere alla cella indirizzata l 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 Gerarchia di memoria evoluzione delle DRAM 2 l memorie interleaving: accesso continuato alla memoria senza aspettare la conclusione della lettura

Evoluzione delle architetture Architettura degli elaboratori 1 - A. Memo Gerarchia di memoria evoluzione delle DRAM 3 l memorie page mode: accesso continuato alla stessa colonna di memoria (multiple RAW access) (ciclo di lettura=100ns, column select=20ns)