Memorie Cache. Calcolatori Elettronici a.a

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Memorie Cache. Calcolatori Elettronici a.a"

Transcript

1 Memorie Cache Cache-1

2 Richiami sulla memoria centrale Unità Funzionali Memoria Centrale Porte BUS indirizzi dati controllo MFC: Memory Function Completed BUS del Calcolatore (Indirizzi, Dati e Controllo) MFC Read/Write Collegamenti della memoria all interno del calcolatore Cache-2

3 Suddivisione in parole della memoria centrale byte parola (da 32 bit) Spazio di indirizzamento: [0, 2 k ) Memoria organizzata a parole (32 bit) A B C C D E F parola (da 16 bit) 2 k 4 2 k 4 2 k 3 2 k 2 2 k Capacità: 2 k 32 Cache-3

4 Gerarchia di memoria MEMORIA VIRTUALE ciclo del programma ciclo del programma MEMORIA CENTRALE pagina di istr. PROCESSORE carica le/i istr./dati da eseguire/ elaborare MEMORIA CACHE blocco di istr. carica i blocchi entranti in uso blocco di istr. blocco di dati carica le pagine entranti in uso pagina di dati blocco di dati registri scarica i risultati elaborati scarica i blocchi non più in uso scarica le pagine non più in uso Capacità (quantità di bit) per la discussione sulla memoria cache interessa questa parte Velocità (tempo di accesso) -1 Cache-4

5 Cache Memoria piccola e veloce Tipicamente ~256kbytes (1998) 2 cycle access time Stesso die del processore Off-chip cache possible Utilizzo di RAM veloce (SRAM) piuttosto che Ram dinamica più lenta al 2 levello della gerarchia di memoria Caches most recently used memory locations closer to th processor closer = closer in time Cache-5

6 Cache-6

7 Cache Etimologia cacher (Francese) = nascondere, celare Transparente ai programmmi Vanno semplicemente più piano se il sistema ne è privo I moderni processori contano su di lei Riduce il costo degli accessi alla memoria principale Enables instruction/cycle throughput Programmi tipici ~25% memory accesses Cache-7

8 Cache Basata sul Principio di Località I programmi usano e riusano continuamente le stesse locazioni di memoria Istruzioni loops, common subroutines Dati look-up tables working data sets Cache-8

9 Cache - Principi di località Località temporale: se un istruzione entra in esecuzione al tempo t, con probabilità 1 la stessa istruzione rientrerà in esecuzione al tempo t + dt (dove dt è piccolo rispetto a t). Motivazione: siccome le istruzioni che vengono rieseguite di frequente fanno parte, di solito, del corpo di un ciclo, e siccome la presenza di un ciclo è giustificata solo se esso viene reiterato molte volte (altrimenti lo si potrebbe eliminare), se un istruzione appartenente a un ciclo entra in esecuzione, è molto probabile che, entro il tempo di un iterazione del ciclo, essa venga rieseguita; e si noti che i cicli brevi sono molto più numerosi di quelli lunghi. Cache-9

10 Cache - Principi di località Località spaziale: se l istruzione di indirizzo i entra in esecuzione, con probabilità 1 anche l istruzione di indirizzo i + di entrerà in esecuzione (dove di è un intero di piccolo valore). Motivazione: nella maggior parte dei casi le istruzioni vengono eseguite in sequenza, pertanto l esecuzione di un istruzione è, con elevata probabilità, seguita dall esecuzione dell istruzione collocata all indirizzo successivo; i salti sono relativamente rari, e spesso sono polarizzati, cioè i due possibili esiti del salto hanno probabilità significativamente-diverse Cache-10

11 Cache - Principi di località Il principio di località spaziale è INDIPENDENTE dal principio di località temporale! Se valgono entrambi i principi, si possono riassumere nel: : Principio di località spazio-temporale: se l istruzione di indirizzo i entra in esecuzione al tempo t, con probabilità 1 l istruzione di indirizzo i + di entrerà in esecuzione al tempo t + dt, dove di e dt sono piccoli rispetto a i e t, rispettivamente. Cache-11

12 Cache - Principi di località IL PRINCIPIO DI LOCALITÀ SPAZIO- TEMPORALE È STATISTICAMENTE BEN VERIFICATO NELLA MAGGIOR PARTE DEI PROGRAMMI! Motivazione: la maggior parte delle istruzioni eseguite dal processore appartiene ai cicli più interni del programma; di norma tali cicli hanno corpo sequenziale, di solito sono brevi e vengono iterati numerose volte. Cache-12

13 unità funzionale di copiatura / ricopiatura (carico /scarico) dei blocchi di memoria IND. DI BLOCCO 0: 000 MEMORIA CENTRALE parola IND. DI PAROLA 0: : FLAG DI BLOCCO IND. DI BLOCCO MEMORIA CACHE IND. DI PAROLA 1: 001 parola blocco 0: : : 00 parola 0: : : : 01 parola blocco 0: : : : 10 4: 100 parola 43: : 11 blocco libero 5: 101 2, 43: 10, = (indirizzo di parola completo) 6: 110 parola 24: memoria ausiliaria contenente i bit di allocazione dei blocchi 6, 24: 110, = (indirizzo di parola completo) 7: 111 Cache-13

14 La memoria centrale e la memoria cache sono organizzate a blocchi di parole, di uguale dimensione. La memoria cache contiene solo copie di blocchi della memoria centrale, oppure blocchi correntemente liberi. Il sistema di cache è in grado di copiare (o caricare) blocchi dalla memoria centrale alla memoria cache, oppure di ricopiare (o scaricare) blocchi dalla memoria cache alla memoria centrale, tramite un apposita unità funzionale. Normalmente il processore accede solo alla memoria cache (tranne casi particolari). La dimensione del sistema è pari alla capacità della sola memoria centrale (perché la mem. cache contiene solo copie di blocchi). Cache-14

15 Operazioni della Cache La richiesta di lettura della memoria viene prima effettuata nella cache Se la parola cercata è nella cache, essa è letta dalla cache ( e aggiornata nella cache) Cache hit Se non c è, la richiesta è passata alla memoria principale ed il dato è letto (scritto) nella stessa. Cache miss CPU VA MMU D or I PA Cache PA D or I Main Mem Cache-15

16 Efficienza della Cache Una Frequenza dei successi (Hit Rate) del 90% è comune Esempio: Tempo d accesso alla memoria centrale 100ns Tempo d accesso alla cache 10ns Valore medio dell Hit Rate 90% quindi il tempo impiegato per 10 accessi sarà: 100+9x10=190 ns Quindi la presenza della cache ha l effetto di ridurre il tempo (medio) di accesso alla memoria dai 100 ns, in sua assenza, ai 19 ns Cache-16

17 Efficienza della Cache la frequenza dei fallimenti (miss rate), è pari a miss rate = (1.0 hit rate) è la frazione di accessi alla memoria che non hanno trovato il dato desiderato nel livello superiore. Cache-17

18 Organizzazione della Cache In assenza di memoria cache, CPU e memoria primaria sono direttamente collegate. La CPU invia alla memoria indirizzi ad n bit e la memoria contiene 2 n celle. Poiché la cache è del tutto trasparente alla CPU, quest ultima continua ad inviare indirizzi ad n bit alla memoria primaria. Avendo pero la cache una dimensione molto più piccola della memoria primaria, tale numero di bit nell indirizzo risulta eccessivo. La cache non può pertanto essere una RAM in quanto ha indirizzi di ingresso a n bit e un numero di celle molto minore di 2n mentre la RAM presenta un legame fisso tra il numero di bit dell indirizzo e quello delle celle. iversità di Trieste Cache-18

19 Organizzazione della Cache La memorizzazione di dati in cache avviene con una logica di tipo associativo, diversa da quella della memoria centrale. Precisamente, mentre in memoria centrale il riferimento ad un dato viene effettuato tramite un numero, il suo indirizzo, che identifica la sua posizione, nella cache il dato viene identificato per associazione con un'altra informazione, che chiameremo etichetta (tag). Questo meccanismo è simile a quello della memoria umana: un numero di telefono viene associato ad una persona. Cache-19

20 Organizzazione della Cache Una memoria cache ideale dovrebbe contenere una serie di etichette, a ciascuna delle quali è associata un'informazione, il controllore della memoria dovrebbe essere in grado di ricevere, mediante un opportuno registro, il valore dell'etichetta e di scorrere il contenuto della memoria alla ricerca di questa etichetta. In caso di ritrovamento dovrebbe restituire l'informazione associata a questa etichetta; in caso contrario dovrebbe restituire una segnalazione. Una memoria cache di questo genere, che viene detta di tipo completamente associativo, non è realizzabile concretamente. Cache-20

21 Organizzazione della Cache In effetti, una ricerca di tipo sequenziale sulle etichette richiederebbe tempi lunghi, in contrasto con l'esigenza di garantire un accesso veloce alle informazioni; una ricerca rapida verrebbe garantita da un meccanismo di ricerca parallela, ma questo implicherebbe una notevole complessità del controllore, e quindi un costo elevato. Cache-21

22 Completamente Associativa Cache completamente Associativa Corrispondenza di qualsiasi linea di memoria centrale a qualsiasi linea di memoria cache Cache-22

23 Completamente Associativa Tutti i tags sono confrontati allo stesso istante Le words possono usare ogni linea cache Cache-23

24 Completamente Associativa IND. DI BLOCCO etichetta MEMORIA CACHE C0 C1 C MEMORIA CENTRALE B0 B1 B2 B3 B4 IND. DI BLOCCO Schema di indirizzamento: ogni blocco della memoria centrale è copiabile (o caricabile) in ogni blocco della memoria cache. Conflitti di allocazione: (B0, B1, B2, B3, B4), 11 C3 B B B Cache-24

25 Completamente Associativa MEMORIA CENTRALE IND. DI BLOCCO IND. DI BLOCCO MEMORIA CACHE C0 = B0 C1= B3 C2= B6 C3= B5 memoria associativa contenente le etichette dei blocchi allocati B0 B1 B2 B3 B4 B5 B6 B Schema di identificazione: per identificare un dato blocco nella memoria cache occorre memorizzarne in una memoria associativa l etichetta dell indirizzo di memoria centrale. Cache-25

26 Mappaggio diretto In una cache completamente associativa (fully associative) come abbiamo visto un blocco di memoria può essere messo in una qualsiasi posizione della memoria cache; poiché il blocco può essere messo in un posto qualsiasi della cache, al momento della ricerca tutti i blocchi della cache dovranno essere esaminati!!!. Le memorie cache effettivamente disponibili utilizzano invece un metodo di ricerca detto "a mappaggio diretto", o direct mapping. Cache-26

27 Mappaggio diretto Questo meccanismo consiste nell'utilizzare una parte dell'informazione che costituisce l'etichetta al fine di selezionare la zona di memoria cache dove effettuare la ricerca, in modo da limitare la ricerca stessa. Questo meccanismo riduce la flessibilità della cache, in quanto un'informazione non può essere memorizzata in qualunque posizione (come avverrebbe per una cache completamente associativa), ma solo in punti selezionati in base al valore dell etichetta. La perdita di flessibilità rende però concretamente realizzabile una memoria di questo tipo. Cache-27

28 Mappaggio diretto Cache a mappaggio diretto Address format Ogni parola nella cache ha un tag Assumiamo che cache - 2 k words machine words - p bits byte-addressed memory m = log 2 ( p/8 ) bits not used to address words m = 2 for 32-bit machines p bits p-k-m k m tag cache address byte address Cache-28

29 Mappaggio diretto La realizzazione della memoria cache a mappaggio diretto avviene nel modo seguente. La memoria cache viene suddivisa in un certo numero di celle, normalmente una potenza di 2, diciamo 2 k Ciascuna cella contiene due informazioni: l'etichetta ed il dato corrispondente. La lunghezza del dato, contata in bytes, è a sua volta una potenza di 2, diciamo 2 p. L'etichetta utilizzata per identificare il dato è l'indirizzo di memoria privato dei k bit meno significativi (per tener conto della lunghezza del dato in cache). Cache-29

30 Mappaggio diretto La stringa di bit che costituisce l indirizzo di memoria viene spezzata in tre parti: i k bit meno significativi non vengono utilizzati per la ricerca, ma solo per l'indirizzamento di un byte entro la cella della cache; gli n bit successivi identificano una delle 2 n celle della cache, candidata a contenere il dato; i rimanenti p-m-k bit contengono la parte di etichetta da confrontare con il contenuto del campo etichetta nella cella della cache Cache-30

31 Mappaggio diretto A cache line data tag memory p p-k-m 2 k lines Hit? CPU p-k-m tag cache address byte addres k m Cache-31

32 Mappaggio diretto Cache a mappaggio diretto Corrispondenza di insiemi di linee di memoria centrale a singole linee di memoria cache. Cache-32

33 Mappaggio diretto IND. DI BLOCCO etichetta # blocco MEMORIA IND. DI CENTRALE BLOCCO MEMORIA CACHE C0 C1 C2 C B0 B1 B2 B3 B4 B Schema di indirizzamento: ogni blocco della memoria centrale è copiabile (o caricabile) in un unico blocco della memoria cache. Conflitti di allocazione: (B0, B4), B B Cache-33

34 Mappaggio diretto MEMORIA CENTRALE IND. DI BLOCCO IND. DI BLOCCO MEMORIA CACHE C0 = B0 C1 = B5 C2 = B6 C3 = B3 memoria associativa contenente le etichette dei blocchi allocati B0 B1 B2 B3 B4 B5 B6 B Schema di identificazione: per identificare un dato blocco nella memoria cache occorre memorizzarne in una memoria associativa l etichetta dell indirizzo di memoria centrale Cache-34

35 Write-through o write-back? AGGIORNAMENTO MEMORIA PRINCIPALE Quando la CPU scrive sulla memoria cache si genera una discrepanza fra il valore del dato nella memoria principale e nella cache. iversità di Trieste Write-back o Copy-back. Quando viene modificato un dato nella cache la linea corrispondente viene marcata. Quando una linea è scaricata viene ricopiata nella memoria principale solo se marcata. Write-through o Copy-through In un programma il rapporto fra le operazioni di lettura e di scrittura è dell'ordine di 10. Quando viene modificato un dato nella cache, lo stesso viene modificato anche nella memoria principale. Cache-35

36 Cache - Set Associative Set Associative Corrispondenza di insiemi di linee di memoria centrale ad insiemi di linee di memoria cache Cache-36

37 Set Associative 2-way set associative Each line - two words two comparators only Cache-37

38 Set Associative etichetta # gruppo MEMORIA IND. DI CENTRALE BLOCCO GRUPPI { { G0 G1 IND. DI BLOCCO # DI GRUPPI = 2 DIM. GRUPPO = 2 MEMORIA CACHE C0 C1 C2 C B0 B1 B2 B3 B4 B5 B6 B Schema di indirizzamento: ogni blocco della memoria centrale è copiabile (o caricabile) in un dato gruppo di blocchi della memoria cache. Conflitti di allocazione: (B0, B2, B4), Cache-38

39 Set Associative IND. DI GRUPPO { { 0 1 IND. DI BLOCCO memoria associativa contenente le etichette dei blocchi allocati MEMORIA CACHE C0 = B0 C1 = B6 C2 = B5 C3 = B3 MEMORIA CENTRALE B0 B1 B2 B3 B4 B5 B6 B7 IND. DI BLOCCO Schema di identificazione per identificar un dato blocco nella memoria cache occorre memorizzarne in una memoria associativa l etichetta dell indirizzo di memoria centrale. Cache-39

40 I limiti della memoria Cache Non è conveniente aumentare le dimensioni della memoria cache oltre una capacità limite, sopra cui le prestazioni del sistema di memoria smettono di aumentare o addirittura iniziano a diminuire. guadagno di prestazioni guadagno di prestazioni = velocità sistema con cache velocità sistema senza cache saturazione limite di guadagno zona di crescita zona di decadimento capacità limite 10K 100K 1M 10M 100M capacità cache Cache-40

41 Motivazioni: I limiti della memoria Cache Quando le dimensioni della memoria cache superano i limiti di validità dei principi di località dei programmi, nella cache, oltre ai blocchi usati in modo intenso, vengono inevitabilmente a trovarsi: blocchi spesso liberi (e dunque sprecati) blocchi invecchiati, che dopo un periodo di uso intenso hanno ora frequenza di accesso molto bassa (e che dunque si potrebbero lasciare senza danno in memoria centrale) Cache-41

42 I limiti della memoria Cache Motivazioni: Questo impedisce la crescita indefinita del guadagni di prestazioni, all aumentare della capacità della cache (fenomeno di saturazione). Inoltre, all aumentare delle dimensioni della cache il tempo di accesso alla cache aumenta (per motivi tecnologici), e dunque superando la capacità limite della cache le prestazioni del sistema di memoria dotato di cache iniziano a decadere. Cache-42

43 Algoritmi di rimpiazzamento Una volta che la cache è stata riempita di dati e viene generato un miss, è necessario rimpiazzare le linee di cache con altre linee provenienti dalla memoria. Esistono tre principali algoritmi di rimpiazzamento, dei quali sono riportate solo le definizioni, senza gli algoritmi veri e propri che esulano dal contesto del corso. Algoritmo LRU L algoritmo LRU (Least Recently Used) rimpiazza la linea di cache usata meno di recente, sono quindi necessari dei bit aggiuntivi nel TAG per indicare quale locazione è stata utilizzata meno recentemente Cache-43

44 Algoritmi di rimpiazzamento Algoritmo RAND L algoritmo RAND rimpiazza una linea in maniera casuale. Questo algoritmo ha prestazioni comparabili con il precedente, in quanto il numero di bit utilizzabile per segnalare la linea utilizzata meno recentemente è molto limitato e quindi si ottiene sempre un gruppo di celle passibili di rimpiazzamento, fra le quali la scelta viene effettuta in modo pseudo casuale- Cache-44

45 Algoritmi di rimpiazzamento Algoritmo FIFO L algoritmo FIFO (First In First Out), rimpiazza la cella inserita in cache da più tempo. Si noti che l algoritmo LRU efifo non operano in maniera analoga, in quanto LRU rimpiazza le celle utilizzate meno recentemente (indipendentemente da quando esse siano state inserite in cache), mentre il FIFO rimpiazza le celle che sono da più tempo in cache (indipendentemente da quanto esse siano state utilizzate). Cache-45

46 Esempio di cache: L possiede una cache on-chip con le seguenti caratteristiche: dimensione: 8Kbyte dimensione dei blocchi: 16 byte meccanismo di aggiornamento: write-through organizzazione set associative, con 128 classi composte da 4 insiemi ciascuna eventuale cache secondaria esterna algoritmo di rimpiazzamento: pseudo-lru i risultati sperimentali indicano una hit-ratio del 96% per la generica applicazione DOS, e del 92% per le applicazioni UNIX e OS/2. Cache-46

47 Esempio di cache: Metodo pseudo-lru Per implementare una strategia LRU con 4 blocchi per classe sarebbero richiesti 6 bit. Per risparmiare hardware, nel 486 vi sono solo 3 bit, e si implementa una strategia pseudo-lru. Ad ogni classe (composta da 4 insiemi L0, L1, L2 e L3) sono associati 3 bit B0, B1 e B2. Ogni volta che si fa accesso ad una classe, i 3 bit vengono aggiornati secondo le seguenti regole: accesso ad L0 o L1: B0 1 accesso ad L0: B1 1 accesso ad L1: B1 0 accesso ad L2 o L3: B0 0 accesso ad L2: B2 1 accesso ad L3: B2 0. Cache-47

48 Esempio di cache: All atto di caricare un blocco in memoria, la scelta su dove metterlo nella cache viene fatta in base al seguente albero di decisione: se c è un insieme nel blocco che non è valido, il nuovo blocco viene inserito al suo posto; altrimenti si testa B0: se ne deduce se l ultimo insieme utilizzato è stato L0 o L1, oppure L2 o L3 si testa B1: - se B0=0 e B1=0 si rimpiazza L0 - se B0=0 e B1=1 si rimpiazza L1 - se B0=1 e B2=0 si rimpiazza L2 - se B0=1 e B2=1 si rimpiazza L3. Cache-48

49 Esempio di cache: L'80486 prevede un supporto per la gestione delle cache da parte del programmatore: tra i bit di controllo scrivibili via software vi sono: - CD: abilita (CD=0) e disabilita (CD=1) l'uso della cache - NW: abilita (NW=0) e disabilita (NW=1) il meccanismo di write-through l'istruzione INVD causa lo scaricamento della cache sulla memoria esterna (cache flush), e segnala ad eventuali cache esterne di fare altrettanto l'istruzione WBINVD ha la stessa funzione, ma segnala anche ad un'eventuale cache esterna di tipo write-back che prima di fare il flush deve eseguire la scrittura in memoria del proprio contenuto. Cache-49

50 Cache Dati-Cache Istruzion Cache unificata Istruzioni e dati nella stessa cache Due Cache (Cache Harvard) * Istruzioni * Dati Consente al processore di prelevare contemporaneamente le istruzioni dalla cache istruzioni e i dati dalla cache dati. Increases total bandwidth Cache-50

51 Cache Dati-Cache Istruzion Un altro vantaggio di separare la cache dati dalla cache istruzioni à quello che i programmi, di solito, non modificano le loro stesse istruzioni Cache-51

52 Cache a più livel n molti sistemi la cache viene implementata con una struttura gerarchica a più livelli. In questi casi è prassi comune implementare il primo livello (L1) con due cache distinte dati e istruzioni mentre gli altri livelli (L2, L3) sono cache unificate. Cache(L1) Istruzioni Processore Cache(L1) Dati Cache di secondo livello (L2) Cache di terzo livello (L3) Memoria Centrale Stesso packag Cache-52

53 Cache a più livel Affinchè una cache a più livelli possa migliorare significatamente il tempo di accesso medio alla memoria di un sistema ogni livello deve avere una capacità notevolmente più grande del livello gerarchico precedente in quanto la località dei riferimenti vista da ogni livello diminuisce scendendo verso il basso della scala gerarchica. Le cache con capacità maggiori tendono ad essere più lente, quindi il vantaggio della velocità derivante dalla separazione dei dati dalle istruzioni non è più così significativo ed unito a quello di un costo minore giustificano le cache (L2, L3) unificate. Cache-53

54 Cache-54

55 Lettura (read) Scrittura (write) uccesso cache hit METODI DI LETTURA / SCRITTURA (funzionamento completo) nessun problema Il blocco è nella memoria cache. La parola viene letta dalla copia del blocco risiedente nella memoria cache. Il processore continua subito la propria attività. PROBLEMA DELLA COERENZA: il blocco è nella memoria cach ma se si scrive la parola solo nella memoria cache la copia d blocco in memoria centrale diventa obsoleta (cioè in definitiva no è più valida). Esistono due differenti politiche di scrittura della parola: Scrittura immediata (write through): il processore scrive parola sia nella memoria centrale sia nella cache, e continua subi l attività. Scrittura differita (write back o copy back): il processore scrive parola solo nella cache e continua subito l attività; il blocco nel cache viene marcato come modificato (tramite un apposito bit) e seguito (anche non subito) andrà ricopiato (o scaricato) ne memoria centrale, di solito quando verrà rimosso dalla cache pe liberare spazio. allimento ache miss IL BLOCCO NON È NELLA MEMORIA CACHE: il processore si sospende e il blocco va copiato (o caricato) dalla memoria centrale alla memoria cache. Esistono due differenti politiche di lettura della parola: Lettura immediata (read through o load through o early restart): il processore legge la parola non appena questa viene copiata (o caricata) nella cache, e riprende subito l attività. Lettura differita (read back): il processore attende che l intero blocco sia stato copiato (o caricato) nella memoria cache, poi legge la parola e riprende l attività. IL BLOCCO NON È NELLA MEMORIA CACHE: poiché l operazion di scrittura è molto meno frequente della lettura, in generale non obbligatorio copiare (o caricare) il blocco dalla memoria centrale al memoria cache. Esistono due differenti politiche di scrittura del parola: Scrittura immediata (write through): il processore bypassa l cache e scrive la parola solo nella memoria centrale, poi continu subito l attività. Scrittura differita (write back): il processore copia (o carica) blocco interessato nella cache; poi si procede come nel caso cach hit / write back. Cache-55

56 Bibliografia ftp://ftp.elet.polimi.it/outgoing/luca.breveglieri/diploma UWA University: prof. J. Morris, Computer Architecture Lessons, CA406 Digital Equipment: Note tecniche, Cache memory. Università di Parma: prof. G. Conte, Lezioni di Calcolatori Elettronici I Politecnico di Torino, Dip. di Automatica e Informatica: prof. M. Sonza Reorda: Lezioni di Calcolatori Elettronici Politecnico di Milano: prof. C. Brandolese, Lezioni di Calcolatori Elettronici Cache-56

Memoria Cache. Calcolatori Elettronici a.a Omero Tuzzi CACHE 1

Memoria Cache. Calcolatori Elettronici a.a Omero Tuzzi CACHE 1 Memoria Cache Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi CACHE 1 Unità Funzionali Memoria Centrale Porte BUS indirizzi dati controllo MFC: Memory Function Completed Richiami sulla memoria centrale

Dettagli

Miglioramento delle prestazioni

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

Dettagli

Gerarchie di Memoria

Gerarchie 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

Dettagli

Introduzione alle memorie cache. Sommario

Introduzione 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

Dettagli

Architettura dei sistemi di elaborazione: La memoria (parte 2)

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

Dettagli

Gerarchia di memoria Introduzione. Prof. William Fornaciari William Fornaciari

Gerarchia di memoria Introduzione. Prof. William Fornaciari William Fornaciari Politecnico di Milano Gerarchia di memoria Introduzione Prof. William Fornaciari Politecnico di Milano fornacia@elet.polimi.it www.elet.polimi.it/~fornacia Sommario Le esigenze di memoria Il principio

Dettagli

Università degli Studi di Cassino

Università 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?

Dettagli

La gerarchia di Memoria

La 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

Dettagli

Università degli Studi di Cassino e del Lazio Meridionale

Università 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

Dettagli

Introduzione alle memorie cache. Cristina Silvano, 06/01/2013 versione 2 1

Introduzione 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

Dettagli

La gerarchia di Memoria

La 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

Dettagli

8 bit per la parola nel blocco 10 bit per l insieme (gruppo) nella cache 12 bit di etichetta. Esercizio 3 Memoria Cache

8 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

Dettagli

Memorie Caratteristiche principali

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:

Dettagli

La gerarchia di Memoria

La 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

Dettagli

Esercizi sulla memoria cache - Informatica 2 - L. Breveglieri 1

Esercizi 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

Dettagli

La gerarchia di Memoria. Calcolatori Elettronici

La 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à

Dettagli

Le memorie Cache n-associative

Le 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

Dettagli

Von Neumann Bottleneck

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

Dettagli

static dynamic random access memory

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

Dettagli

Calcolatori Elettronici

Calcolatori 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)

Dettagli

Università degli Studi di Cassino

Università 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

Dettagli

Architettura degli elaboratori - 2 -

Architettura 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

Dettagli

06/05/2009. Caratteristiche desiderabili Ampia capacità Velocità Economicità

06/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

Dettagli

Introduzione alle gerarchie di memoria

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

Dettagli

La memoria cache. Lab di Calcolatori

La 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

Dettagli

Gerarchia di memoria 247

Gerarchia 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

Dettagli

Struttura delle cache a indirizzamento diretto

Struttura 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

Dettagli

memoria virtuale protezione

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.

Dettagli

Cache: 1 livello della gerarchia di memoria

Cache: 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

Dettagli

Esercizio. Si consideri una cache con 64 blocchi di 16 byte ciascuno. A quale numero di blocco corrisponde l indirizzo 1200 espresso in byte?

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

Dettagli

Architettura degli elaboratori - 2 -

Architettura 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

Dettagli

Sistema di Memoria. Caratteristiche desiderabili Ampia capacità Velocità Economicità

Sistema 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

Dettagli

Struttura delle memorie cache

Struttura 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

Dettagli

Gerarchia di memoria

Gerarchia 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.

Dettagli

Lezione 22 La Memoria Interna (1)

Lezione 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

Dettagli

Struttura delle memorie cache

Struttura 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

Dettagli

Criteri di caratterizzazione di una memoria

Criteri 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à

Dettagli

Esercitazione su Gerarchie di Memoria

Esercitazione 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,

Dettagli

Memoria Cache. G. Lettieri. 16 Marzo 2017

Memoria 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

Dettagli

Lezione n.14. La memoria cache

Lezione 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

Dettagli

Le memorie Cache n-associative

Le 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

Dettagli

Struttura delle memorie cache

Struttura 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

Dettagli

Le memorie Cache. Sommario

Le 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

Dettagli

Calcolatori Elettronici

Calcolatori 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

Dettagli

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.

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

Dettagli

REGISTRI MEMORIA CACHE MEMORIA PRINCIPALE DISCO. Figura 1 Gerarchia di memoria.

REGISTRI 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

Dettagli

Gerarchia di memoria

Gerarchia 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

Dettagli

La struttura gerarchica delle memorie

La 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

Dettagli

Gerarchia di 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

Dettagli

Struttura delle memorie cache

Struttura 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

Dettagli

Corso di Calcolatori Elettronici I. Memorie. Prof. Roberto Canonico

Corso di Calcolatori Elettronici I. Memorie. Prof. Roberto Canonico Corso di Calcolatori Elettronici I Memorie Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione Corso di Laurea

Dettagli

Esercizi sulle prestazioni delle memorie cache

Esercizi 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

Dettagli

La gerarchia di Memoria

La 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

Dettagli

Le memorie Cache. Sommario

Le 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

Dettagli

Memorie Caratteristiche principali

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:

Dettagli

Calcolatori Elettronici

Calcolatori 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

Dettagli

Gerarchie di memoria Politiche di rimpiazzo dei blocchi

Gerarchie 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

Dettagli

Memoria cache. Memoria cache. Miss e Hit. Problemi. Fondamenti di Informatica

Memoria 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

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori 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

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-La memoria 1 Prerequisiti Concetto di memoria Dati e istruzioni Bit e byte 2 1 Introduzione In questa Unità studiamo più in dettaglio la memoria del computer e le sue funzioni.

Dettagli

Memoria Cache. La memoria cache

Memoria Cache. La memoria cache Testo di rif.to: [Congiu] 6.1 (pg. 193 199) 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

Dettagli

Gerarchia di memoria

Gerarchia 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

Dettagli

Cache 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: 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ò

Dettagli

La Memoria Cache. Informatica B. Daniele Loiacono

La 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:

Dettagli

Memoria virtuale. Daniele Loiacono, Vittorio Zaccaria

Memoria virtuale. Daniele Loiacono, Vittorio Zaccaria Memoria virtuale Daniele Loiacono, Vittorio Zaccaria Informatica B - Codice Corso: 081369 - A.A. 2010/2011 INGEGNERIA MECCANICA (BV) - INGEGNERIA IV (1 liv.) - Scaglione S - Z INGEGNERIA ENERGETICA (BV)

Dettagli

Università 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 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

La gerarchia di memorie (2)

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

Dettagli

Blocchi di più parole

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:

Dettagli

Gerarchia di memoria

Gerarchia 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

Dettagli

Le memorie Cache a mappatura diretta e associative

Le 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,

Dettagli

Università degli Studi di Cassino e del Lazio Meridionale

Università degli Studi di Cassino e del Lazio Meridionale di Cassino e del Lazio Meridionale Corso di Tecnologie per le Memorie Anno Accademico Francesco Tortorella Gerarchia di memoria: vista complessiva Gerarchia di memoria: tecnologie Accesso casuale (random):

Dettagli

Esercitazione del 19/05/ Soluzioni

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

Dettagli

La Gerarchia di Memoria Barbara Masucci

La 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

Dettagli

Sistemi di Calcolo (A.A ) Corso di Laurea in Ingegneria Informatica e Automatica Sapienza Università di Roma

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

Dettagli

Lezione 1. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.

Lezione 1. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata. Lezione 1 Sistemi operativi 4 marzo 2014 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 14 1.1 Di cosa parliamo in questa lezione? È una introduzione generale ai sistemi

Dettagli

Gerarchia 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. 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

Dettagli

Esercitazione su Gerarchie di Memoria

Esercitazione 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,

Dettagli

Gerarchie di memoria Roberto Bisiani 5/22/2002 1

Gerarchie 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

Dettagli

Architettura dei sistemi di elaborazione: La memoria (parte 1)

Architettura dei sistemi di elaborazione: La memoria (parte 1) Architettura dei sistemi di elaborazione: La memoria (parte 1) CPU e Memoria La tecnologia consente di realizzare CPU sempre più veloci. A partire dal 2006 sono stati messi sul mercato processori con frequenza

Dettagli

La struttura gerarchica delle memorie

La 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

Dettagli

Gestione della memoria per sistemi multiprogrammati. Obiettivi. Partizioni fisse. Partizioni fisse. Fondamenti di Informatica

Gestione della memoria per sistemi multiprogrammati. Obiettivi. Partizioni fisse. Partizioni fisse. Fondamenti di Informatica FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Gestione della memoria centrale 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide

Dettagli

La Gerarchia delle Memorie. Calcolatori Elettronici II

La 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

Dettagli

Architettura degli Elaboratori 19 Memoria Virtuale. Prof. Andrea Sterbini

Architettura 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

Dettagli

Fallimenti nella TLB

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

Dettagli

Architettura dei computer

Architettura 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

Dettagli

Le Memorie. Classe III Telecomunicazioni Sistemi e Reti. Prof. Tullio Parcesepe

Le Memorie. Classe III Telecomunicazioni Sistemi e Reti. Prof. Tullio Parcesepe Le Memorie Classe III Telecomunicazioni Sistemi e Reti Prof. Tullio Parcesepe In questa lezione impareremo: La memorizzazione delle informazioni Tipi differenti di memorie Gli indirizzi delle celle di

Dettagli

Calcolatori Elettronici

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

Dettagli

La gerarchia di memorie (2)

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

Dettagli

Corso di laurea in Ingegneria Biomedica, Elettrica, Elettronica ed Informatica

Corso di laurea in Ingegneria Biomedica, Elettrica, Elettronica ed Informatica Tutorato di Prima Prova Scritta 23 aprile 2013 Ing. Roberto Casula Ing. Rita Delussu casula.roberto103@hotmail.it rita.delussu2016@gmail.com Corso di laurea in Ingegneria Biomedica, Elettrica, Elettronica

Dettagli

Architettura hardware

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

Dettagli

Architettura del calcolatore: gerarchia delle memorie, coprocessori, bus (cenni)

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

Dettagli

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi Corso di Calcolatori Elettronici I A.A. 2012-2013 Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale la memoria secondaria i dispositivi di input/output 1 Fornisce la capacità di

Dettagli

Esame di INFORMATICA ARCHITETTURA DI VON NEUMANN. Lezione 4 ARCHITETTURA DI VON NEUMANN

Esame di INFORMATICA ARCHITETTURA DI VON NEUMANN. Lezione 4 ARCHITETTURA DI VON NEUMANN Università degli Studi di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA A.A. 2008/09 Lezione 4 ARCHITETTURA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono

Dettagli

La gerarchia di memorie (2)

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

Dettagli