Memoria Cache. La memoria cache
|
|
- Gianmarco Gianni
- 8 anni fa
- Visualizzazioni
Transcript
1 Testo di rif.to: [Congiu] 6.1 (pg ) Memoria Cache 06.a Memoria associativa Cache completamente associativa Cache a mappatura diretta Cache set-associativa a n-vien Cache nell Xscale PXA-255 La memoria cache Per rendere più efficienti (più rapidi) gli accessi alla RAM: si interpone nel bus di memoria una memoria cache, ossia un modulo costituito da memoria: più veloce della RAM (ad es. 7 ns, invece di 70 ns), più costosa della RAM, di estensione ridotta (ad es. 512 Kbyte). si copiano nella cache alcune porzioni della RAM e si spera che il processore acceda proprio a quelle porzioni della RAM: se va bene, l accesso è 10 volte più veloce (ad es. 7ns anziché 70ns!) 1 Memoria centrale con memoria cache
2 Principio di località Località temporale: se il processore accede a un elemento in memoria, probabilmente vi accederà di nuovo presto. Località spaziale: se il processore accede a un elemento in memoria, probabilmente in futuro accederà ad elementi ad esso vicini. Il principio di località degli accessi alla memoria: vale certamente per il fetch delle istruzioni (eccetto che per le istruzioni di salto; ma se i salti sono all indietro, per cicli iterativi di lunghezza non eccessiva, si è fortunati!); vale spesso anche nell accesso ai dati (es. array, stack, buffer circolari, ); poiché le istruzioni e i dati si trovano in aree di memoria diverse, spesso esistono due cache distinte: instruction cache, data cache. 2 Cache unica per istruzioni e dati 3
3 Cache separate per istruzioni e dati 4 Organizzazioni della memoria cache Sono possibili diverse organizzazioni della memoria cache : cache completamente associative, cache a mappatura diretta, cache set-associative a n vie. 5
4 Cache completamente associativa La memoria cache è composta da un insieme di m blocchi o linee (cache line), ciascuno comprendente l byte, che contengono una copia del contenuto di altrettanti blocchi situati in RAM: 6 L estensione della cache è m l byte (m ed l sono sempre potenze intere di 2: m = 2 p e l = 2 q, con p e q interi positivi). La cache comprende inoltre alcuni bit di controllo e una CAM. La memoria associativa o CAM (1 di 2) Con il termine memoria associativa, chiamata anche CAM (Content Addressable Memory), si intende una memoria in grado di effettuare, in parallelo, il confronto tra un dato cercato e tutti i dati in essa contenuti. La memoria restituisce gli indirizzi dei dati in essa contenuti che siano uguali al dato cercato. 7 xyz Dato cercato abc xyz bcd xyz Ad es. può restituire una stringa di bit: gli 1 indicano le posizioni in cui il dato è stato trovato.
5 La memoria associativa o CAM (2 di 2) Nelle operazioni di lettura una memoria associativa ha un comportamento simmetrico rispetto alla RAM: la RAM riceve un indirizzo e restituisce il dato contenuto a quell indirizzo; la CAM riceve un dato e restituisce l indirizzo (o gli indirizzi) delle celle che contengono quel dato. La ricerca del dato viene operata in parallelo su tutti i registri della CAM: per gli scopi per cui sono usate, le CAM devono essere molto veloci e sarebbe inaccettabilmente lungo il tempo necessario per una ricerca sequenziale. Di conseguenza l hardware che realizza una CAM è molto complesso e molto costoso. 8 Blocchi della cache e indirizzi di RAM Ciascuna delle m linee della cache è destinata a contenere copia del contenuto di un blocco di l byte situato in RAM a partire da un indirizzo multiplo di l: in questo modo, se N è il numero di bit di un indirizzo di memoria, gli indirizzi degli l byte di ciascun blocco (l=2 q ) hanno gli N-q bit più significativi uguali (TAG), mentre i q bit meno significativi forniscono l indice di byte all interno del blocco 9 parte di indirizzo comune a tutti i byte di un blocco TAG N-q bit N bit indice di byte q bit INDIRIZZO DI MEMORIA
6 Esempio 10 0 RAM 0 Blocco di l=2 6 byte CACHE (m=2 9 blocchi di l byte) l = 64 (16 long-word), q = 6 (l = 2 q ) m = 512, p = 9 (m = 2 p ) cache = 32 Kbyte indirizzo di RAM da 32 bit: 26 bit: TAG, 6 bit: indice di byte (0 63) Gestione dei TAG: HIT/MISS Quando un blocco di l byte viene copiato dalla RAM alla linea k della cache, il TAG del blocco viene scritto nell elemento della CAM associato alla linea k; quando il processore genera un indirizzo di memoria, il campo TAG viene ricercato nella CAM della cache: se trovato (HIT ), l accesso si risolve (rapido) nella cache, altrimenti (MISS ): viene fatto l accesso alla RAM e, nello stesso tempo, il blocco di RAM comprendente l indirizzo cercato viene trasferito in una linea della cache (e il suo TAG inserito nel corrispondente elemento della CAM); 11 Si sfrutta quindi il principio (empirico) di località degli accessi alla memoria: se il principio è vero, gli accessi successivi al primo si risolvono (rapidamente) nella cache.
7 Vantaggi delle cache Esempio: lo hit rate (% di hit su tutti gli accessi) sia 90%, il tempo di accesso alla cache sia 7 ns, il tempo di accesso alla RAM sia 70 ns, 12 su 10 accessi, 9 durano 7 ns, uno 70 ns; il tempo di accesso medio risulta essere: (9 7ns + 70ns)/10 = 13.3 ns Con un costo aggiuntivo modesto, gli accessi alla memoria sono stati sveltiti di un fattore maggiore di 5! Una cache con un buon hit rate evita che il processore debba rallentare quando accede alla memoria. HIT rate Lo HIT RATE è quindi un indice della efficienza della cache : lo hit rate aumenta se aumenta la dimensione della cache (il numero N B per la dimensione L B dei blocchi): a parità di area di silicio occupata, se cresce N B diminuisce L B ; il progettista deve trovare un compromesso tra i due); costo_cam = f CAM (N B ); costo_cache = f cache (N B,L B )+f CAM (N B ). A parità di N B e L B, lo hit rate dipende da come si comporta il programma: se fa tanti salti e se i dati cui accede non sono raggruppati in memoria, lo hit rate diminuisce; se fa tanti cicli iterativi e se accede a dati contigui, lo hit rate aumenta; un compilatore potrebbe far sì che il codice dei cicli iterativi abbia indirizzo iniziale e lunghezza tali da poter stare in un unico blocco della cache. 13
8 MISS: scelta del blocco da rimpiazzare Quando, in seguito a un miss, è necessario ricopiare nella cache un nuovo blocco, normalmente (esaurito un transitorio iniziale) è necessario sovrascriverne uno già presente. La politica con cui si sceglie il blocco da sovrascrivere è molto importante per l efficienza della cache. Due criteri comunemente usati sono: FIFO: si sovrascrive la linea contenente il blocco che sta nella cache da più tempo, LRU (Least Recently Used): si sovrascrive la linea che da più tempo non subisce accessi (si possono usare uno o più dei bit di controllo associati alla linea, per tener traccia del tempo trascorso dall ultimo accesso). 14 MISS: aggiornamento del blocco in RAM Se il blocco selezionato per essere sovrascritto ha subito accessi per scrittura mentre si trovava nella cache (un bit di controllo, dirty bit, lo segnala), allora la sua copia in RAM è obsoleta: prima di sovrascriverlo, il contenuto del blocco va ricopiato in RAM (copy-back). Un tecnica alternativa, usata per tenere aggiornate le copie in RAM dei blocchi, consiste nell effettuare tutte le operazioni di scrittura sia nella cache sia anche in RAM (write-through). Con entrambe le tecniche, la scrittura in RAM può avvenire tramite un write buffer, ad accesso veloce, in modo che il processore non debba attendere che il trasferimento in RAM sia completato. 15
9 I bit di controllo della cache Già visti: dirty bit (copy-back), bit indicanti il tempo trascorso dall ultimo accesso (LRU). Un altro bit di controllo utile: bit di validità: indica se il blocco è una copia valida del corrispondente blocco in RAM (può essere invalidato in seguito a modifiche subite da quest ultimo per trasferimenti DMA o in sistemi multiprocessore). 16 Organizzazioni meno costose costo_cam = f CAM (N B ), costo_cache = f cache (N B,L B )+f CAM (N B ), f cache e f CAM sono ovviamente funzioni crescenti; il costo_cam incide molto sul costo complessivo della cache; riducendo la CAM si possono ottenere soluzioni meno costose (e, ovviamente, meno efficienti): cache a mappatura diretta, cache set-associative a n vie. 17
10 Cache a mappatura diretta Quando un blocco dalla RAM viene copiato nella cache, la posizione in cui viene collocato, anziché essere scelta con tecniche più o meno intelligenti (FIFO o LRU) è predeterminata: la collocazione di un blocco nella cache è data da: - il suo indirizzo in RAM, modulo l estensione della cache. 18 In sostanza è come se la RAM fosse divisa in pagine e ciascuna pagina in blocchi: le pagine di dimensione uguale a quella della cache, i blocchi di dimensione uguale a quelli della cache, l indice di un blocco all interno della propria pagina è l indice della linea in cui sarà caricato nella cache. Schema di cache a mappatura diretta 19
11 Blocchi di cache e indirizzi di RAM 20 Gli indirizzi di memoria hanno ancora il seguente significato: i q bit meno significativi: indice del byte nel blocco; i rimanenti N-q bit : comuni a tutti i byte del blocco. Questi ultimi sono ora così ripartiti: r bit meno significativi: indice k del blocco nella pagina, N-q-r bit: TAG = indice della pagina nella RAM. parte di indirizzo comune a tutti i byte del blocco k indice di pagina indice di blocco indice di byte TAG k N-q-r bit r bit N bit INDIRIZZO DI MEMORIA q bit Gestione dei TAG: HIT/MISS Quando il blocco di indice k viene copiato dalla RAM nella k-esima linea della cache, l indice della pagina di RAM cui il blocco appartiene (il TAG) viene scritto in un registro della cache associato al blocco k. Quando il processore genera un indirizzo di memoria: gli r bit che forniscono l indice k del blocco, individuano la posizione nella cache in cui si trova il blocco, se è presente; gli N-q-r bit più significativi dell indirizzo (TAG) vengono confrontati con il contenuto del registro della cache associato alla linea k (1 solo confronto: niente CAM!) se uguale (HIT), l accesso si risolve nella cache, altrimenti (MISS), il blocco k-esimo nella cache appartiene ad un altra pagina, e allora: viene effettuato l accesso alla RAM e, contemporaneamente, il blocco di RAM cercato viene trasferito nella linea k della cache (e il suo TAG nel corrispondente registro) 21
12 Mappatura diretta: pro e contro Pro: non richiede una CAM: organizzazione certamente meno costosa di quella completamente associativa. Contro: il blocco da sovrascrivere è predeterminato (non può essere scelto tra quelli che presumibilmente non servono più): hit rate decisamente più basso (minore efficienza). 22 È possibile un compromesso tra costo ed efficienza. Cache set-associativa a n vie Un buon compromesso tra l efficienza della organizzazione completamente associativa e il basso costo di quella a mappatura diretta, si può ottenere replicando n volte quest ultima: per ogni indice di blocco k, anziché esserci una sola linea nella cache, ve ne sono n; a ciascun set di n linee è associata una CAM (di n elementi) che contiene i TAG dei blocchi presenti nel set. Come nell organizzazione a mappatura diretta, la RAM è ancora divisa in pagine e ciascuna pagina in blocchi: l indice di blocco individua il set in cui sarà caricato un blocco, di indice k, può essere caricato in una qualsiasi delle n linee nel k-esimo set. 23
13 Schema di cache set-associativa a n vie 24 Set-associativa a 2 vie Gestione dei TAG: HIT/MISS Quando il blocco di indice k viene copiato dalla RAM nel k-esimo set della cache, il blocco da sovrascrivere, tra gli n del set, può essere scelto con politica FIFO o LRU; l indice della pagina di RAM cui il nuovo blocco appartiene (TAG) viene scritto nel corrispondente elemento della CAM. Quando il processore genera un indirizzo di memoria: gli r bit che forniscono l indice k del blocco, individuano il set nella cache in cui si trova il blocco, se è presente; gli N-q-r bit più significativi dell indirizzo (TAG) vengono confrontati (in parallelo) con il contenuto della CAM: se trovato (HIT), l accesso si risolve nella cache, altrimenti (MISS): viene effettuato l accesso alla RAM e, nello stesso tempo, il blocco di RAM caricato viene trasferito in una delle n linee del set (scelta con modalità FIFO o LRU) e il suo TAG nel corrispondente elemento della CAM. 25
14 Confronti con le altre organizzazioni La soluzione set-associativa, rispetto alla organizzazione a mappatura diretta: è più efficiente (hit rate maggiore): il blocco da rimpiazzare non è predeterminato, ma può essere scelto, tra quelli del set, con un criterio che renda meno probabili i miss; è più costosa: richiede una CAM per ciascun set; rispetto alla organizzazione completamente associativa: è meno efficiente (hit rate inferiore): la scelta del blocco da rimpiazzare non è fatta tra tutti i blocchi della cache, ma è limitata a quelli di un set; è meno costosa: tante (piccole) CAM per ciascun set costano meno di una CAM unica (grande). È un buon compromesso: è la soluzione più diffusa. 26 Livelli di cache Spesso sono presenti più livelli di cache: una cache di 1 livello, ormai sempre integrata nello stesso chip del processore, ad accesso rapidissimo; una cache di 2 livello, talvolta esterna al chip del processore, ad accesso rapido; a volte anche una cache di 3 livello. Lo scopo è di portare nella cache di 1 livello (più vicina al processore) ciò cui il processore accederà nell immediato futuro, spostando in una cache meno veloce (e meno costosa), ma più veloce della RAM, ciò che forse servirà più avanti (in modo da limitare le conseguenze negative dei miss ). 27
15 Gerarchia di memoria Sfruttando il principio di località: si consente l accesso alla velocità della tecnologia più cara, si rende disponibile una grande memoria con tecnologia poco cara. 28 Processor Datapath Control Registers On-Chip Cache Second Level Cache (SRAM) Main Memory (DRAM) Secondary Storage (Disk) Tertiary Storage (Disk) Speed (ns): ,000,000 10,000,000,000 (10 ms) (10 sec) Size (bytes): 100 K M G T Cost: Cache nel chip Intel Xscale PXA il chip contiene: una instruction cache da 32-Kbyte, una data cache da 32-Kbyte, una mini-data cache da 2-Kbyte,
16 PXA 255: instruction cache la instruction cache èda 32-Kbyte, set associativa a 32-vie (32-way set associative cache); ci sono 32 set, ciascuno contenente 32 blocchi (vie) ciascun blocco (line) contiene 8 word da 32-bit (32 byte) più un bit di validità. la politica di rimpiazzo è di tipo FIFO (round-robin algorithm). PXA 255: instruction cache
17 PXA 255: data cache ci sono 2 data cache: una data cache da 32 Kbyte una mini-data cache da 2 Kbyte associato alle 2 cache dati c è inoltre: un write buffer da 8 elementi, ciascuno di 16 byte; che serve a disaccoppiare la velocità di esecuzione delle istruzioni dalla lentezza degli accessi alla memoria esterna. PXA 255: data cache - 2 la data cache èda 32-Kbyte, set associativa a 32-vie (32-way set associative cache); 32 set, ciascuno contenente 32 blocchi (vie) ciascun blocco (line) contiene 8 word da 32-bit (32 byte) più un bit di validità, ci sono 2 dirty bit per ciascun blocco, uno associato ai primi 16 byte, l altro agli altri 16 la politica di rimpiazzo è di tipo FIFO (round-robin algorithm). per l aggiornamento dei blocchi in memoria, può essere impostata la politica copy-back oppure quella write-through. 33
18 PXA 255: data cache PXA 255: mini-data cache - 1 la mini-data cache èda 2-Kbyte, set associativa a 2-vie (2-way set associative cache); ci sono 32 set, ciascuno contenente 2 blocchi (vie), ciascun blocco (line) contiene 8 word da 32-bit (32 byte) più un bit di validità, ci sono 2 dirty bit per ciascun blocco, uno associato ai primi 16 byte, l altro agli altri 16 la politica di rimpiazzo è di tipo FIFO (round-robin algorithm). per l aggiornamento dei blocchi in memoria, può essere impostata la politica copy-back oppure quella writethrough. 35
19 PXA 255: mini-data cache Cache nel chip Samsung S3C2440A Il chip contiene: una instruction cache da 16 Kbyte, una data cache da 16 Kbyte. Entrambe sono set-associative a n=64 vie. Politica di rimpiazzo: round robin (cioè FIFO). Lunghezza di linea: 8 word (l=32 byte). 8 set da 64 x 32 = 2 Kbyte ciascuno La D-cache supporta sia copy-back che write-through. Il write buffer può contenere fino a 16 word di dati e 4 distinti indirizzi. INDIRIZZO DI MEMORIA: indice di pagina TAG 24 bit 32 bit indice di set indice di byte k 3 bit 5 bit
20 Ls sigla è PD32: 32 bit, 8 registri e 1 mouse Sire, tra 6 mesi costerà la metà e sarà veloce il doppio Fine 06.a Memoria Cache
Miglioramento delle prestazioni
Miglioramento delle prestazioni Migliorare sia larghezza di banda sia latenza: uso di cache multiple Introdurre una cache separata per istruzioni e dati (split cache) Beneficio: Le operazioni di lettura/scrittura
DettagliLa gerarchia di Memoria
La gerarchia di Memoria Gap delle prestazioni DRAM - CPU 1000 CPU 100 10 DRAM 1 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 Località ed Organizzazione
DettagliLa gerarchia di Memoria
La gerarchia di Memoria Gap delle prestazioni DRAM - CPU 1000 CPU 100 10 DRAM 1 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 1 Località ed Organizzazione
DettagliIntroduzione alle memorie cache. Sommario
Introduzione alle memorie cache Corso ACSO prof. Cristina SILVANO Politecnico di Milano Cristina Silvano, 0/0/200 Sommario Obiettivo Livelli della gerarchia di memoria Memoria cache: concetti base Architettura
DettagliLa gerarchia di Memoria
La gerarchia di Memoria Calcolatori Elettronici 1 Gap delle prestazioni DRAM - CPU 1000 CPU 100 10 DRAM 1 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998
DettagliArchitettura 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
DettagliLa gerarchia di Memoria. Calcolatori Elettronici
La gerarchia di Memoria 1 Gap delle prestazioni DRAM - CPU 1000 CPU 100 10 D R A M 1 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2 Località
DettagliCalcolatori Elettronici
Calcolatori Elettronici Gerarchia di memorie: memorie cache Massimiliano Giacomin 1 Semplice classificazione delle memorie Memorie a sola lettura (ROM, PROM, EPROM, EEPROM-Flash) Memorie volatili (RAM)
DettagliCalcolatori Elettronici
Calcolatori Elettronici Cenni sulle memorie Francesco Lo Presti Rielaborate da Salvatore Tucci Clocking q Il segnale di Clock definisce quando i segnali possono essere letti e quando possono essere scritti
DettagliUniversità degli Studi di Cassino
Corso di Cache Anno Accademico Francesco Tortorella La cache nella gerarchia di memoria D. Patterson, 2011 4 decisioni da prendere CPU CACHE MEM 1. Dove posizionare un blocco? 2. Come reperire un blocco?
DettagliEsercizio. 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
DettagliLa memoria cache. Lab di Calcolatori
La memoria cache 1 Gap delle prestazioni DRAM - CPU 1000 CPU- DRAM Gap CPU Proc 60%/yr. (2X/1.5yr) 100 10 ProcessorMemory Performance Gap: (grows 50% / year) D R A M DRAM9%/yr.(2X/10 yrs) 1 1980 1981 1982
DettagliUniversità degli Studi di Cassino e del Lazio Meridionale
di Cassino e del Lazio Meridionale Corso di Cache Anno Accademico Francesco Tortorella La cache nella gerarchia di memoria D. Patterson, 2011 Funzionamento della cache 4 decisioni da prendere CPU CACHE
DettagliLa gerarchia di Memoria
La gerarchia di Memoria Metodologie di progettazione Hw-Sw- LS. Ing. Informatica Gap delle prestazioni DRAM - CPU 000 CPU 00 0 DRAM 980 98 982 983 984 985 986 987 988 989 990 99 992 993 994 995 996 997
DettagliIntroduzione alle memorie cache. Cristina Silvano, 06/01/2013 versione 2 1
Introduzione alle memorie cache Corso ACSO prof. Cristina SILVANO Politecnico di Milano Cristina Silvano, 06/01/2013 versione 2 1 Obiettivo Sommario Livelli della gerarchia di memoria Memoria cache: concetti
DettagliArchitettura degli elaboratori - 2 -
Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Architettura degli elaboratori e gerarchie di memoria Marco Tarini Dipartimento di Scienze Teoriche e Applicate marco.tarini@uninsubria.it
DettagliMemoria cache, interrupt e DMA
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Memoria cache, interrupt e DMA 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide
DettagliCache: 1 livello della gerarchia di memoria
Cache: 1 livello della gerarchia di memoria Processore Controllo Datapath Registri On chip cache Cache di secondo livello (SRAM) Memoria principale (DRAM) Memoria secondaria (Disco) 4 decisioni da prendere
DettagliMemoria cache. Memoria cache. Miss e Hit. Problemi. Fondamenti di Informatica
FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Memoria cache, interrupt e DMA 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide
DettagliUniversità degli Studi di Cassino
Corso di Cache Anno Accademico 24/25 Francesco Tortorella Cache livello della gerarchia di memoria Processore Controllo Datapath Registri On chip cache Cache di secondo livello (SRAM) Memoria principale
DettagliCriteri di caratterizzazione di una memoria
La memoria Supporto alla CPU: deve fornire alla CPU dati e istruzioni il più rapidamente possibile; Archivio: deve consentire di archiviare dati e programmi garantendone la conservazione e la reperibilità
DettagliCache associativa. Possibili alternative per il trasferimento di un blocco dalla memoria inferiore alla memoria superiore:
Cache associativa Possibili alternative per il trasferimento di un blocco dalla memoria inferiore alla memoria superiore: 1. Indirizzamento diretto (già visto). Ogni blocco della memoria inferiore può
DettagliIntroduzione 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
DettagliStruttura delle cache a indirizzamento diretto
Struttura delle cache a indirizzamento diretto Ogni posizione della cache include: Valid bit che indica se questa posizione contiene o meno dati validi. 0: posizione di cache non ancora utilizzata 1: posizione
DettagliArchitettura degli elaboratori - 2 -
Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Architettura degli elaboratori e gerarchie di memoria Marco Tarini Dipartimento di Scienze Teoriche e Applicate marco.tarini@uninsubria.it
DettagliLe memorie Cache n-associative
Le memorie Cache n-associative Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento Patterson: 5.2, 5.3 1/30 Sommario
Dettagli8 bit per la parola nel blocco 10 bit per l insieme (gruppo) nella cache 12 bit di etichetta. Esercizio 3 Memoria Cache
Esercizio 3 Memoria Cache Prima parte - memoria di 1 Giga parole da 16 bit (indirizzata a livello di parola) - cache di 1 Mega parole da 16 bit (indirizzata a livello di parola) - ogni della cache contiene
DettagliCapitolo 11 La memoria cache
Capitolo 11 La memoria cache Gerarchie di Memoria Dati sperimentali mostrano che i riferimenti alla memoria godono della proprietà di località spaziale e temporale. Località spaziale: tendenza a generare
DettagliLe memorie Cache. Sommario
Le memorie Cache Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento Patterson: 5.2, 5.3 1/36 Sommario Circuito di lettura
DettagliLa gerarchia di memorie (1)
La gerarchia di memorie (1) Calcolatori Elettronici Valeria Cardellini Rielaborate da Salvatore Tucci Obiettivo Illusione di avere a disposizione una memoria che sia: grande veloce (ritardo della memoria
DettagliVon 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
DettagliLa gerarchig. erarchia di memorie e (1) Divario delle prestazioni processore- memoria. La soluzione: gerarchia di memorie.
La gerarchig erarchia di memorie e () Architetture Avanzate dei Calcolatori Valeria Cardellini Prestazioni Divario delle prestazioni processore- memoria 00.000 0.000 Soluzione: memorie cache più piccole
DettagliStruttura delle memorie cache
Architettura degli Elaboratori e delle Reti Lezione 28 Struttura delle memorie cache Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 28 1/24
DettagliCalcolatori Elettronici
Calcolatori Elettronici La memoria gerarchica La cache: come migliorare le prestazioni Ricapitolando (1) La memoria principale e la cache sono scomposte in blocchi di uguale dimensione L indirizzo del
DettagliREGISTRI MEMORIA CACHE MEMORIA PRINCIPALE DISCO. Figura 1 Gerarchia di memoria.
Memoria Cache 1 Introduzione La velocità di un microprocessore è molto più alta di un qualsiasi sistema di memoria disponibile a costi ragionevoli. Ogni singolo accesso alla memoria principale di un microprocessore
DettagliInformatica 10. appunti dalla lezione del 16/11/2010
Informatica 10 appunti dalla lezione del 16/11/2010 Memorie Dispositivi in grado di conservare al loro interno informazione per un intervallo di tempo significativo RAM chiavetta USB Hard disk CD/DVD SD
DettagliMemorie 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:
DettagliUniversità degli Studi di Cassino e del Lazio Meridionale
di Cassino e del Lazio Meridionale Corso di Gerarchia di Anno Accademico Francesco Tortorella 1977: DRAM più veloce del processore ( prof. Patterson) Il Performance Gap processore/memoria Performance 1000
Dettaglimemoria 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.
DettagliGerarchie di memoria Politiche di rimpiazzo dei blocchi
Politiche di rimpiazzo dei blocchi Quale blocco conviene sostituire in cache per effettuare uno swap? (Penalità di miss) Casuale, per occupazione omogenea dello spazio First-In-First-Out (FIFO), per sostituire
DettagliIncremento prestazioni
Architettura degli elaboratori Incremento prestazioni ARGOMENTI DELLA LEZIONE Interruzioni Canalizzazione (pipeline) Cache Multi core(cenni) Memoria cache Generalità Le prestazioni all interno di un calcolatore
DettagliStruttura delle memorie cache
Architettura degli Elaboratori e delle Reti Lezione 28 Struttura delle memorie cache Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 28 1/24
DettagliMemorie cache. Gerarchia di memoria Principi Mapping Politiche
Memorie cache Gerarchia di memoria Principi Mapping Politiche Gerarchia di memoria Fino a questo punto abbiamo considerato sistemi così strutturati CPU Registes Prefetch buffer Main Memory dimensione velocità
DettagliGerarchia di memoria
Gerarchia di memoria Prof. Cristina Silvano Politecnico di Milano Dipartimento di Elettronica e Informazione Nota: Alcune figure incluse in queste lezioni sono tratte dai testi: D.A. Patterson and J.L.
Dettaglistatic 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
DettagliLe memorie Cache n-associative
Le memorie Cache n-associative Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento Patterson: 5.2, 5.3 1/30 Sommario
DettagliStruttura delle memorie cache
Architettura degli Elaboratori e delle Reti Lezione 28 Struttura delle memorie cache Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 28 1/24
DettagliStruttura delle memorie cache
Architettura degli Elaboratori e delle Reti Lezione 28 Struttura delle memorie cache Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 28 1/30
DettagliGerarchie di Memoria
Gerarchie di Memoria Sistemi Operativi AA. 2008-09 09 Prof. O Mejri Sommario Le esigenze di memoria Il principio di località dei programmi La gerarchia di memoria Principio di funzionamento della memoria
DettagliGerarchia di memoria
Gerarchia di memoria Politecnico di Milano - Facoltà di Ingegneria Corso di CALCOLATORI ELETTRONICI Prof. M. Sami Ing. C. Silvano Dipartimento di Elettronica e Informazione A. A. 1999/2000 Nota: Alcune
DettagliEsercitazione 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
DettagliGerarchia di memoria 247
Gerarchia di memoria 247 Qual è la memoria ideale? La memoria ideale dovrebbe avere le prestazioni della SRAM e la capacità e il costo del disco Possiamo approssimare la situazione ideale usando una gerarchia
DettagliStrutture di Memoria 1
Architettura degli Elaboratori e Laboratorio 17 Maggio 2013 Classificazione delle memorie Funzionalitá: Sola lettura ROM, Read Only Memory, generalmente usata per contenere le routine di configurazione
DettagliMemoria Cache. G. Lettieri. 16 Marzo 2017
Memoria Cache G. Lettieri 16 Marzo 2017 1 Introduzione La memoria centrale è molto più lenta del processore. Possiamo rendercene conto scrivendo un programma che accede ripetutamente agli elementi di un
DettagliLa Gerarchia di Memorie Valeria Cardellini
La Gerarchia di Memorie Valeria Cardellini Corso di Calcolatori Elettronici A.A. 2018/19 Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica Divario delle
DettagliLe memorie Cache. Sommario
Le memorie Cache Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento Patterson: 5.2, 5.3 1/30 Sommario Circuito di lettura
DettagliMemorie 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:
DettagliLe memorie Cache a mappatura diretta e associative
Le memorie Cache a mappatura diretta e associative Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento Patterson: 5.2,
DettagliEsercizi sulla memoria cache - Informatica 2 - L. Breveglieri 1
Esercizio 1 Sia data una memoria cache di tipo a indirizzamento diretto (direct-mapped), con blocchi di dimensioni pari a una sola parola per blocco, e contenente. La parola è lunga 16 bit, e la memoria
DettagliLa Memoria Cache. Informatica B. Daniele Loiacono
La Memoria Cache Informatica B Il problema della memoria q Obiettivo: fornire agli utenti una memoria grande e veloce fornire al processore i dati alla velocità con cui è in grado di elaborarli q Problema:
DettagliLa struttura gerarchica delle memorie
Architettura degli Elaboratori e delle Reti Lezione 27 La struttura gerarchica delle memorie Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliLa struttura gerarchica delle memorie
Architettura degli Elaboratori e delle Reti Lezione 27 La struttura gerarchica delle memorie Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliArchitettura degli Elaboratori 19 Memoria Virtuale. Prof. Andrea Sterbini
Architettura degli Elaboratori 19 Memoria Virtuale Prof. Andrea Sterbini sterbini@di.uniroma1.it Argomenti Argomenti della lezione - Memoria Virtuale - Esercizi Problema: - In un sistema multiprocesso
DettagliLezione 22 La Memoria Interna (1)
Lezione 22 La Memoria Interna (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Organizzazione della lezione Dove siamo e dove stiamo andando La gerarchia
DettagliEsercitazione 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
DettagliGerarchia 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
DettagliArchitettura dei computer
Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale (memoria centrale, RAM) la memoria secondaria i dispositivi di input/output La
DettagliGerarchie di memoria Roberto Bisiani 5/22/2002 1
Gerarchie di memoria 2002 Roberto Bisiani 5/22/2002 Dove studiare Trasparenze delle lezioni Patterson & Hennessy Cap. 7 5/22/2002 2 Tendenze tecnologiche Capacita' Velocita (latenza) Logica: 2x in 3 anni
DettagliStrutture dei sistemi di calcolo
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di protezione Architettura di un sistema di calcolo
DettagliLa Gerarchia di Memoria Barbara Masucci
Architettura degli Elaboratori La Gerarchia di Memoria Barbara Masucci Punto della situazione Ø Abbiamo studiato Ø Il processore MIPS e due diverse implementazioni per un sottoinsieme del suo IS Ø Obiettivo
DettagliEsercitazione su Gerarchie di Memoria
Esercitazione su Gerarchie di Memoria Introduzione Memoria o gerarchie di memoria: cache, memoria principale, memoria di massa etc. (con possibilità di fallimenti nell accesso) o organizzazione, dimensionamento,
DettagliLa 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
DettagliEsercizi sulle prestazioni delle memorie cache
Esercizi sulle prestazioni delle memorie cache Prof. Alberto Borghese Dott. Massimo Marchi Dipartimento discienzedell Informazione dell alberto.borghese@unimi.it Università degli Studi di Milano A.A. 2012
DettagliElementi di informatica
Elementi di informatica Architetture degli elaboratori Il calcolatore Un calcolatore è sistema composto da un elevato numero di componenti Il suo funzionamento può essere descritto se lo si considera come
DettagliLa Gerarchia delle Memorie. Calcolatori Elettronici II
La Gerarchia delle Memorie Calcolatori Elettronici II 1 Connessione memoria processore: schema tipo Processor MAR MDR k-bit address bus n-bit data bus Memory Up to 2 k addressable locations Dimensione
DettagliAlgoritmi di rimpiazzamento. Algoritmo con rimpiazzamento casuale
Algoritmi di rimpiazzamento Algoritmo con rimpiazzamento casuale In caso di miss con associativita superiore ad 1 il controllore deve determinare quale gruppo deve essere rimpiazzato con il nuovo gruppo
Dettagli06/05/2009. Caratteristiche desiderabili Ampia capacità Velocità Economicità
Sistema di Memoria Caratteristiche desiderabili Ampia capacità Velocità Economicità 1 Memoria Cache L'idea alla base della memoria cache nasce dalla semplice osservazione che la memoria centrale (dove
DettagliCorso 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
DettagliGerarchia di memoria
Gerarchia di memoria I programmatori hanno l esigenza di avere memorie sempre più veloci e capienti, per poter memorizzare programmi e dati Purtroppo la tecnologia permette solo di costruire memorie grandi
DettagliCapitolo 5 Le infrastrutture HardWare. La memoria centrale
Capitolo 5 Le infrastrutture HardWare La memoria centrale La memoria La memoria Supporto alla CPU: : deve fornire alla CPU dati e istruzioni il più rapidamente possibile Archivio: : deve consentire di
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 Memoria cache: Esercizi Massimiliano Giacomin 1 Esercizio: miss della cache e collocazione dei blocchi nella cache Sia data la seguente sequenza di indirizzi a
DettagliArchitettura del calcolatore: gerarchia delle memorie, coprocessori, bus (cenni)
Architettura del calcolatore: gerarchia delle memorie, coprocessori, bus (cenni) Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Migliorare le prestazioni
DettagliDesiderata: memoria capiente e veloce. Connessioni tra livelli di memoria. Tecniche impiegate. Memoria cache, struttura. Metodo:
Connessioni tra livelli di memoria Tape Registers Cache Main memory Magnetic disk Optical disk (Architettura degli Elaboratori) Gerarchie di memorie 1 / 58 Metodo: Desiderata: memoria capiente e veloce
DettagliClocking. Architetture dei Calcolatori (Lettere. di Memoria. Elemento. scritti. Tecnologie per la Memoria e Gerarchie di Memoria
Clocking Architetture dei Calcolatori (Lettere A-I) Tecnologie per la Memoria e Gerarchie di Memoria Ing.. Francesco Lo Presti Il segnale di Clock definisce quando i segnali possono essere letti e quando
DettagliGli 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
DettagliLezione n.14. La memoria cache
Lezione n. La memoria cache Sommario: Politiche di sostituzione Memoria cache Mapping degli indirizzi (modo in cui i dati sono memorizzati nella cache) Capacità e prestazioni Questa lezione conclude la
DettagliGerarchie di memoria. Gerarchie di memoria. Costi e capacità delle memorie. Gerarchie di memoria
Gerarchie di memoria Gerarchie di memoria Salvatore Orlando I programmatori, per memorizzare i loro programmi e dati, necessiterebbero di memorie molto veloci e capienti La tecnologia permette solo di
DettagliMOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI
SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI NUOVO E VECCHIO ORDINAMENTO DIDATTICO 12 Luglio 2002 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO 1 (NO: 10 punti
DettagliGerarchia di memorie
Gerarchia di memorie Regole base dell'efficienza: - Rendere di massima velocità il caso comune - Piccolo significa (in generale) veloce Nei programmi vi è una significativa presenza di località spaziale
DettagliGerarchia di Memoria e Memorie Cache. ma rallenta R / nw. Qui : modi di aumentare velocità di R / nw. dati e codice non tutti uguali
Gerarchia di Memoria e Memorie Cache Memoria virtuale: comodità + sicurezza ma rallenta R / nw Qui : modi di aumentare velocità di R / nw Osservazione: dati e codice non tutti uguali alcuni si usano poco
DettagliSistema di Memoria. Caratteristiche desiderabili Ampia capacità Velocità Economicità
Sistema di Memoria Caratteristiche desiderabili Ampia capacità Velocità Economicità Memoria Cache L'idea alla base della memoria cache nasce dalla semplice osservazione che la memoria centrale (dove risiede
DettagliEsercitazione su Gerarchie di Memoria
Esercitazione su Gerarchie di Memoria Introduzione Memoria o gerarchie di memoria: cache, memoria principale, memoria di massa etc. (con possibilità di fallimenti nell accesso) o organizzazione, dimensionamento,
DettagliGerarchia di memoria
Gerarchia di memoria I programmatori hanno l esigenza di avere memorie sempre più veloci e capienti, per poter memorizzare programmi e dati Purtroppo la tecnologia permette solo di costruire memorie grandi
DettagliLe memorie Cache a mappatura diretta
Le memorie Cache a mappatura diretta Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento Patterson: 5.2, 5.3 1/18 Sommario
DettagliCalcolatori 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
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 205-6 Pietro Frasca Lezione 3 Martedì 7--205 Paginazione su richiesta Con la tecnica della paginazione
Dettagli