La Gerarchia delle Memorie

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "La Gerarchia delle Memorie"

Transcript

1 La Gerarchia delle Memorie Calcolatori Elettronici II Prof. Antonino Mazzeo Valentina Casola 1

2 Connessione memoria processore: schema tipo Processor MAR MDR k-bit address bus n-bit data bus Memory Up to 2 k addressable locations Dimensione massima determinata dai registri di indirizzamento Word length = n bits Control lines ( R / W, MFC, etc.) Linee del bus Prelevo un blocco lungo quanto una word 2

3 Parametri Caratteristici delle memorie (1) tempo di accesso ta il tempo impiegato per eseguire un ciclo completo di lettura/scrittura di un dato di assegnata granularità (da quando richiedo l operazione a quando viene completata); tempo di ciclo tc Tempo minimo che deve intercorrere tra due operazioni consecutive in memoria capacità di memoria s la dimensione in byte (o parole di assegnato parallelismo) della memoria 3

4 Parametri Caratteristici delle memorie (2) costo per byte c serve a definire il costo completo C=c*s della memoria banda di trasferimento b l'ampiezza di banda b caratterizza il volume di dati che una memoria è in grado di trasferire verso il generico processore che la utilizza quanto di trasferimento in multipli di byte (o parole macchina di assegnata lunghezza) p esprime la grana (parallelismo) impiegato nel trasferimento dei dati da e per il processore connesso alla memoria. 4

5 Le Gerarchie di memorie Un sistema di calcolo ideale dovrebbe essere dotato di una memoria caratterizzata da uno spazio di indirizzi grande a piacere tempi di accesso piccoli a piacere costo basso e indipendente dalla tecnologia impiegata. I dispositivi di memoria reali utilizzati nei sistemi di calcolo non godendo di tali proprietà sono caratterizzati da soluzioni legati a specifiche tecnologie ed associati costi classi di memorie caratterizzate principalmente dalla velocità di accesso e dalla capacità. 5

6 Memoria: Aumento di Prestazioni A causa del ruolo critico che la memoria assume quando si cerca un incremento nel throughput del sistema, essa viene detta: The Von Neumann Bottleneck Un modo per incrementare le prestazioni del sistema è quello di aumentare opportunamente la banda della memoria (bps accessibili). Tale incremento di banda è ottenibile in tre modi : 1. Aumentando la frequenza del clock di memoria; 2. Aumentando la larghezza della word e quindi accedendo a più bit per ciclo; 3. Replicando i moduli di memoria in accesso concorrente (simile alla precedente); Soluzione : Aumentare la frequenza => Memorie più costose e di dimensioni ridotte 6

7 Gerarchia di Memorie La memoria Cache rappresenta il livello della gerarchia tra la CPU e la Memoria principale Capacità CPU Cache Primaria Cache Secondaria Velocità Costo per bit Memoria Principale Memoria di massa 7

8 Principio di Località Una delle principali proprietà dei programmi è quella della : Locality of references (90/10 rule) I Programmi tendono a riusare i dati e le istruzioni che hanno usato di recente Una regola empirica largamente verificata asserisce che un programma in media trascorre il 90% del suo tempo di esecuzione in una porzione di codice che rappresenta circa il 10% dell'intero programma (la stessa regola vare per i riferimenti sui dati) Molte istruzioni, quindi, in aree ben localizzate di un programma vengono eseguite ripetutamente in un determinato periodo, e si accede al resto del programma relativamente di rado Basandosi sulle ultime istruzioni eseguite da un programma è possibile predire con ragionevole accuratezza quali istruzioni e quali dati del programma verranno utilizzati nel prossimo futuro 8

9 Principio di Località Località Temporale: Rappresenta la probabilità (alta) che un'istruzione eseguita di recente venga eseguita di nuovo entro breve tempo. Località Spaziale: Rappresenta la probabilità (alta) che istruzioni vicine ad un'istruzione eseguita di recente siano anch'esse eseguite nel prossimo futuro. La vicinanza è espressa in termini di indirizzi delle istruzioni 9

10 Principio di Località Località Temporale Località Spaziale Portare un elemento (istruzioni o dati) nella cache quando viene richiesto per la prima volta, in modo che rimanga a disposizione nel caso di una nuova richiesta. Invece di portare dalla memoria principale alla cache un elemento alla volta, è conveniente portare un insieme (block) di elementi che risiedono in indirizzi adiacenti 10

11 Struttura di una Cache Parametri Caratteristici Funzione di mapping Algoritmo di Sostituzione Gestione della Coerenza 11

12 Parametri Caratteristici Block Size Un Blocco è un insieme di indirizzi contigui di una qualche dimensione. Per la proprietà di località spaziale conviene portare in cache un insieme di elementi facenti riferimento ad indirizzi contigui Hit Time La memoria cache può memorizzare solo un piccolo sottoinsieme di blocchi presenti in memoria principale L HIT time rappresenta il numero di cicli di clock necessari per caricare un elemento che si trova in cache (in genere coincidente con 1 ciclo di clock) 12

13 Miss Penalty Parametri Caratteristici Quando un elemento non viene trovato in cache si ha un miss La Miss Penalty rappresenta il numero di cicli di clock necessari per caricare l'elemento dalla memoria principale nella cache (o eventualmente direttamente nel processore) Access Time Tempo di accesso alla memoria principale ( o a una cache di livello superiore) Transfer Time Tempo di trasferimento del blocco in cui è presente l'elemento referenziato dalla memoria principale alla memoria cache. 13

14 Parametri Caratteristici Miss Rate Percentuale di miss (relativo all'architettura del sistema, alla funzione di mapping, agli algoritmi di gestione della coerenza, all'applicazione in esecuzione... ) Cache size Qualche Mbyte Average Access Time = thit(hit_rate) + (1-hit_rate) tmiss t(miss) in genere è circa 10 volte t(hit) 14

15 Funzione di Mapping Rappresenta un altro parametro identificativo della cache; Specifica la corrispondenza tra i blocchi della memoria principale e quelli della cache. Vengono distinte in questo modo tre categorie di cache: Direct Mapped Fully Associative Set Associative 15

16 Per gli esempi successivi Per gli esempi si farà riferimento ad una memoria principale di 64K word, organizzata in 4k blocchi di 16 word, ognuna (16 bit ) ed una cache di 128 blocchi di 16 word ciascuno (2Kword = 11 bit) 16

17 Direct Mapped Cache Ogni blocco può essere inserito in un solo posto nella cache. La funzione di mapping è di solito una funzione modulo; Funzione di Mapping: Blocco J j 128 Address in memoria principale Label Block Word 5 bit 7 bit Il campo Block identifica il blocco all'interno della cache Il campo word indirizza la word nel blocco La presenza o meno del blocco in cache viene verificata comparando il campo Label nell'address con il campo Label nella cache 4 bit 17

18 memory Block 0 Block 1 tag tag Cache Block 0 Block 1 Block 127 Block 128 Block 129 tag Block 127 Block 255 Block 256 Block 257 Tag Block Word Main memory address Block

19 Fully Associative Cache Ogni blocco può essere inserito ovunque nella cache Address in memoria principale Label Word 12 bit 4 bit La presenza o meno del blocco in cache viene verificata comparando il campo Label nell'address con il campo Label nella cache Il campo word indirizza la word nel blocco (Block Offset) 19

20 Main memory Block 0 Block 1 tag tag Cache Block 0 Block 1 Block i tag Block 127 Block 4095 Tag Word 12 4 Main memory address 20

21 Fully Associative Cache (2) Un blocco nuovo può essere messo ovunque; Devo togliere un blocco dalla cache solo se è piena; inoltre devo prevedere un algoritmo di sostituzione per decidere quale blocco eliminare; La ricerca di un blocco in cache è molto più costosa e lenta (ricerca associativa in parallelo); 21

22 Set Associative Cache Un blocco può essere posizionato in un ristretto insieme (set) di blocchi nella cache. Address in memoria principale Label Block Word 6 bit 6 bit 4 bit Un blocco viene prima mappato in un set e può essere inserito ovunque nel set La funzione di mapping del set in genere è una funzione in modulo Se ci sono n blocchi in ogni set la cache viene detta : n-way set associative 22

23 Main memory Block 0 Block 1 Cache Set 0 Set 1 tag tag tag tag Block 0 Block 1 Block 2 Block 3 Block 63 Block 64 Block 65 Set 63 tag tag Block 126 Block 127 Block 127 Block 128 Block 129 Block 4095 Tag Set Word Main memory address 23

24 Ricerca di un Blocco in una Cache La cache include un campo Label (Tag) per ogni blocco per ricavare l'indirizzo del blockframe Ai fini della ricerca di un blocco in una cache tutte le label che possono contenere informazioni su di esso vengono confrontate (comparate) in parallelo. (Anche il dato viene letto parallelamente al confronto in modo da averlo immediatamente pronto se si ha un hit) Fully associative Direct Mapped Set Associative Data Tag Ricerca 24

25 Considerazioni Bisogna tenere in conto lo spazio (<=> costo) occupato dalle Label (una per ogni blocco) (direct mapped -> set associative -> full associative) Spesso c'è bisogno di etichettare i blocchi in cache che sono stati modificati Viene utilizzato in genere anche un bit per la modifica (dirty bit) per indicare se il blocco in cache è stato modificato in un ciclo di scrittura; Serve solo nei sistemi che non fanno uso del metodo write throught 25

26 Considerazioni (2) Una cache potrebbe contenere informazioni non piu' valide C'è bisogno di un meccanismo per invalidare i blocchi nella cache: il modo più comune per farlo è quello di aggiungere un bit alla label (valid bit) Il bit viene posto a 0 all'accensione e ogni volta che nella memoria principale vengono caricati programmi e dati nuovi da disco (DMA). I dati non passano per la cache per motivi sia di costo che di prestazioni Viene posto a 1 la prima volta che il blocco viene caricato dalla memoria principale Ogni volta che un blocco in memoria principale viene aggiornato con codice e dati che non sono passati per la cache, viene effettuato un controllo per determinare se l'elemento è presente nella cache. Se lo è il suo bit di validità viene azzerato garantendo che non ci siano dati obsoleti in cache 26

27 Considerazioni (3) Quando deve essere inserito un blocco in un set già pieno : Una cache direct mapped possiede un solo blocco disponibile per ogni blocco in memoria principale: Un nuovo blocco che deve essere copiato nella cache in blocco già pieno provoca sempre una copia del vecchio blocco in memoria principale Una cache fully associative ha a disposizione tutta la cache per il caching dei blocchi: Un nuovo blocco che deve essere copiato nella cache fa uscire un altro già residente solo se l'intera cache è già piena Una cache set-associativa ha per ogni blocco in memoria principale uno spazio pari al suo grado di associatività: Un nuovo blocco che deve essere copiato nella cache fa uscire un altro già residente solo se il set ad esso associato è già pieno. 27

28 Algoritmi di Sostituzione Quando si ha un cache miss su un blocco: Se la cache ha blocchi disponibili per inserire un nuovo blocco, si procede al caricamento dalla memoria nel set relativo al blocco In una Direct Mapped Cache se il blocco è occupato, si procede alla sostituzione del blocco (se il dirty bit == 0, non si effettua la copia in memoria principale) Per le cache Set e Fully associative, si cerca nel set un blocco col dirty bit ancora a 0 (non modificato) e se viene trovato si procede alla sostituzione. Nel caso tutti i blocchi nel set siano stati modificati, si deve procedere alla ricerca del migliore blocco da sostituire. Gli approcci piu' utilizzati sono 2 : Random e Least recently Used (LRU) replacement 28

29 Algoritmi di Sostituzione Random LRU Viene usato per distribuire uniformemente l'allocazione dei blocchi. Il blocco candidato viene scelto in modo pseudocasuale. Utilizzare un algoritmo pseudocausale e quindi riproducibile risulta particolarmente indicato per facilitare le operazioni di debugging Riduce la probabilità di sostituire blocchi che verranno acceduti nel prossimo futuro. Il blocco sostituito è quello che non si usa da piu' tempo 29

30 LRU Il controllore ha bisogno di mantenere traccia degli accessi ai blocchi mentre l'elaborazione prosegue; Viene utilizzato un contatore a 2 bit per ogni blocco: CASO A - Quando c'e' un hit : Il contatore del blocco dell'hit viene azzerato, I contatori con valori inferiori a quello dell'hit vengono incrementati, Gli altri rimangono invariati, CASO B - Se c è un miss e c'è un blocco libero: Viene inserito il nuovo blocco con contatore=0 Tutti gli altri contatori vengono incrementati di 1 30

31 LRU CASO C - Se c è un miss e tutti i blocchi nel set sono occupati: Si sposta un blocco con il valore più alto di conteggio, Si inserisce il nuovo blocco con il contatore a 0, Tutti gli altri contatori vengono incrementati di 1, 31

32 LRU - CASO A Libero Occupato HIT HIT

33 LRU - CASO B Libero Occupato MISS HIT MISS

34 LRU - CASO C Libero Occupato HIT MISS MISS 34

35 Considerazioni Risultati sperimentali mostrano che l'algoritmo Random ha prestazioni pressocchè identiche all' LRU quando la cache supera i 64 Kbyte; L'Hardware per implementare l'algoritmo Random è molto più semplice di quello per LRU; Esistono altri algoritmi di sostituzione (come il FIFO) ma in genere hanno performance peggiori dell'algoritmo Random e sono più difficili da implementare... 35

36 Gestione della Coerenza Le operazioni di lettura sono predominanti sulle operazioni di scrittura (tutte le operazioni su istruzioni sono solo operazioni di lettura) Nel caso di una operazione di lettura, la lettura del dato puo' essere fatta parallelamente al confronto delle label. Se c'e' un Miss non ci sono problemi perchè la cache non è stata comunque sporcata Nel caso di una operazione di scrittura, non è possibile cominciare l'operazione finchè non si ha un'hit. Visto che l'operazione di accesso all'area dati della cache, non puo' avvenire in parallelo con il confronto delle label, in genere, un'operazione di scrittura impiega più tempo di una di lettura. 36

37 Operazioni di Write Ci sono due politiche di base per le operazioni di write : Write Through (o store through) L'informazione viene scritta in intrambi i blocchi (cache e memoria principale) Write Back (o copy back) L'informazione viene scritta solo nel blocco della cache. Questi viene scritto nella memoria principale solo quando il blocco deve essere scambiato. Fa uso del dirty bit. 37

38 Vantaggi e Svantaggi Sia Write back che write through hanno i loro pro e contro Write Through PRO: La memoria principale è sempre allineata con la cache (importante per sistemi multiprocessore); PRO: più facilmente implementabile; CONTRO: scritture alla velocità della memoria più lenta; CONTRO: 1 scrittura per ogni modifica del blocco=> occupa più banda (e quindi viene utilizzata per lo piu' tra cache L1 e cache L2); Write Back PRO: scritture alla velocità della memoria cache; PRO: scritture multiple sullo stesso blocco richiedono 1 sola scrittura nella memoria piu' lenta (meno occupazione di banda); CONTRO: memorie non allineate; 38

39 Vantaggi e Svantaggi (2) Write Through Quando una CPU attende il completamento di una scrittura si dice in write stall. Un'ottimizzazione comune per ridurre lo stallo è quello di utilizzare dei write buffers che permettono al processore di continuare l'esecuzione del programma mentre la memoria viene aggiornata 39

40 Write Miss Nel caso in cui si abbia un write miss si hanno due opzioni: Write Allocate : Il blocco viene caricato in memoria cache e si effettua l'operazione di write (che genererà un hit) sulla cache; In genere utilizzata assieme a Write-Back (le future modifiche si faranno sul blocco nella cache); No Write Allocate : Il blocco viene modificato direttamente nella memoria principale e non viene inserito nella cache; In genere utilizzata assieme a Write-Through (le scritture avvengono comunque anche nella memoria principale ed è inutile inserire il blocco nella cache); 40

41 Miglioramento delle Prestazioni Interleaving (indirizzi successivi sono memorizzati in moduli diversi; quando devo caricare un blocco posso caricarlo in un colpo solo da tutti i moduli) Riduzione Hit-Time Rendere le scritture più veloci Riduzione Miss-Penalty Rendere i write miss più veloci Rendere i read miss più veloci (Early restart Out of order fetch) 2 livelli di cache t_ave=h1*t_c1+(1-h1)*h2*t_c2+(1-h1)*(1-h2)m t_ci : tempo accesso cache Li ; M : tempo di accesso Memoria hi : hit rate cache i 41

42 Miglioramento delle Prestazioni Aumento velocità delle hits; Buffer di scrittura (in un operazione di write trough la CPU non ha la necessità di ASPETTARE che la scrittura sia completata si prevede un buffer di scrittura in cui la CPU ripone il blocco che deve essere scritto in memoria e poi prosegue la sua esecuzione senza attendere il completamento della operazione). Prefetch con istruzioni macchina specifiche (evita lo stallo della CPU dovuto ad un miss in lettura nell attesa di caricare un nuovo blocco in cache); Cache senza blocco (gestiscono 2 o più miss in contemporanea, da una parte si caricano i nuovi blocchi dall altro si serve la CPU per altre istruzioni senza bloccarla); 42

43 La Memoria Virtuale 43

44 Data Data Processor Cache Main memory Disk storage MMU DMA transf er Virtual address Phy sical address Phy sical address Figure Virtual memory organization. Organizzazione delle Memoria Virtuale Nei moderni sistemi di elaborazione, il Sistema Operativo sposta i programmi ed i dati dalla memoria secondaria alla memoria principale; le tecniche di spostamento prendono il nome di MEMORIA VIRTUALE. Di conseguenza, il Processore genera degli indirizzi virtuali che verranno poi tradotti negli indirizzi fisici mediante opportuni strumenti hw e sw 44

45 Traduzione dell indirizzo Tutti i programmi ed i dati sono organizzati in unità di lunghezza predefinita: le pagine. Le pagine rappresentano l unità minima di informazioni che viene spostata dalla memoria secondaria alla memoria principale. Le pagine devono essere opportunamente dimensionate. 45

46 Virtual-memory address translation Virtual address from processor Page table base register Page table address Virtual page number Offset + PAGE TABLE Di grandi dimensioni; Risiede in memoria principale; I control bit servono per vailidare La pagina e verificare che non ci Siano state modifiche; Il base register è definito dal S.O Control bits Page frame in memory Page frame Offset Physical address in main memory 46

47 Use of an associative-mapped TLB Virtual address from processor Virtual page number Offset Virtual page number TLB Control bits Page frame in memory Table Lookaside buffer; Memoria associativa Allocata nel MMU Memory Management Unit No Miss Yes =? Hit Page frame Offset 47

48 Organizzazione della virtual memory Processore genera indirizzi virtuali L MMU traduce gli indirizzi virtuali in indirizzi fisici L indirizzo fisico viene usato per accedere alla cache In caso di page miss si accede alla memoria principale In caso di page fault si accede al disco 48

49 Algoritmi di sostituzione I problemi di sostituzione sono analoghi a quelli visti per le memorie Cache; Da notare che le pagine hanno dimensioni di Kb; E assolutamente da evitare la tecnica del Write through!! Il DMA si occupa del trasferimento di blocchi di dati dalla memoria al Disco senza l intervento del processore 49

50 Considerazioni Tecnologiche 50

51 Organizzazione di una RAM statica (16parole x 8bit) b 7 b 7 b 1 b 1 b 0 b 0 W 0 FF FF A 0 W 1 A 1 A 2 A 3 Address decoder W 15 Memory cells Sense / Write circuit Sense / Write circuit Sense / Write circuit R / W CS Data input/output lines: b 7 b 1 b 0 51

52 Organizzazione di una memoria di 1K 1 5-bit row address W 0 5-bit decoder W 1 W memory cell array Sense/ Write circuitry 10-bit address 32-to-1 output multiplexer and input demultiplexer R/ W CS 5-bit column address Data input/output 52

53 Bit cell per memorie statiche e dinamiche (memorie volatili) b b T 1 X Y T 2 Bit line Word line T C Word line Bit lines Cella di RAM statica (SRAM) Cella di ram dinamica 53

54 Utilizzo del memory controller Address Row/Column address Processor R/ W Request Clock Memory controller RA S CA S R/ W CS Clock Memory Data 54

55 Classical DRAM Organization r o w d e c o d e r RAM Cell Array bit (data) lines Each intersection represent a 1-T DRAM Cell Square keeps the wires short: Power and speed advantages Less RC, faster precharge and discharge is faster access time! word (row) select row address Column Selector & I/O Circuits Column Address data Row and Column Address together select 1 bit a time 55

56 DRAM Logical Organization (4 Mbit) 4 Mbit = 22 address bits 11 row address bits 11 col address bits A0 A10 11 R O W D E C O D E R Square root of bits per RAS/CAS 11 Row selects 1 row of 2048 bits from 2048 rows Col selects 1 bit out of 2048 bits in such a row Column Decoder Sense Amps & I/O Memory Array (2,048 x 2,048) Word Line Storage Cell 56 D Q

57 Raw Address Strobe Asynchronous DRAM: Organizzazione di una memoria dinamica da 2M 8 RA S Seleziono una riga e faccio il refresh Row address latch Row decoder 4096 ( 512 8) cell array A 20-9 A 8-0 Sense / Write circuits CS R/ W Coloumn Address Strobe CA S Column address latch Column decoder D 7 D 0 57

58 Utilizzo del memory controller Address Row/Column address Processor R/ W Request Clock Memory controller RA S CA S R/ W CS Clock Memory Data 58

59 Logic Diagram of a Typical DRAM RAS_L CAS_L WE_L OE_L A 256K x 8 9 DRAM 8 D Control Signals (RAS_L, CAS_L, WE_L, OE_L) are all active low Din and Dout are combined (D): WE_L is asserted (Low), OE_L is disasserted (High) D serves as the data input pin WE_L is disasserted (High), OE_L is asserted (Low) D is the data output pin Row and column addresses share the same pins (A) RAS_L goes low: Pins A are latched in as row address CAS_L goes low: Pins A are latched in as column address RAS/CAS edge-sensitive 59

60 Basic DRAM read & write Strobe address in two steps 60

61 DRAM READ Timing Every DRAM access begins at: Assertion of the RAS_L 2 ways to read: early or late v. CAS DRAM Read Cycle Time RAS_L A RAS_L CAS_L WE_L OE_L 256K x 8 9 DRAM 8 D CAS_L A Row Address Col Address Junk Row Address Col Address Junk WE_L OE_L D High Z Junk Data Out High Z Data Out Read Access Time Early Read Cycle: OE_L asserted before CAS_L Output Enable Delay Late Read Cycle: OE_L asserted after CAS_L 61

62 DRAM with Column buffer A0 A10 R O W D E C O D E R 11 Memory Array (2,048 x 2,048) Word Line Sense Amps Storage Cell Column Latches Pull column into fast buffer storage Access sequence of bits from there MUX 62

63 Optimized Access to Cols in Row Often want to access a sequence of bits Page mode After RAS / CAS, can access additional bits in the row by changing column address and strobing CAS Static Column mode Change column address (without repeated CAS) to get different bit Nibble mode Pulsing CAS gives next bit mod 4 Video ram Serial access 63

64 More recent DRAM enhancements EDO - extended data out (similar to fast-page mode) RAS cycle fetched rows of data from cell array blocks (long access time, around 100ns) Subsequent CAS cycles quickly access data from row buffers if within an address page (page is around 256 Bytes) SDRAM - synchronous DRAM clocked interface uses dual banks internally. Start access in one bank then next, then receive data from first then second. DDR - Double data rate SDRAM Uses both rising (positive edge) and falling (negative) edge of clock for data transfer. (typical 100MHz clock with 200 MHz transfer). RDRAM - Rambus DRAM Entire data blocks are access and transferred out on a high-speed bus-like interface (500 MB/s, 1.6 GB/s) Tricky system level design. More expensive memory chips. 64

65 Functional Block Diagram 8 Meg x 16 SDRAM 10/11/2007 EECS150 Fa07 - DRAM 65

66 Multiple banks of cell arrays are used to reduce access time: Each bank is 4K rows by 512 columns by 16 bits (for our part) Read and Write operations as split into RAS (row access) followed by CAS (column access) These operations are controlled by sending commands Commands are sent using the RAS, CAS, CS, & WE pins. Address pins are time multiplexed During RAS operation, address lines select the bank and row During CAS operation, address lines select the column. SDRAM Details ACTIVE command opens a row for operation transfers the contents of the entire to a row buffer Subsequent READ or WRITE commands modify the contents of the row buffer. For burst reads and writes during READ or WRITE the starting address of the block is supplied. Burst length is programmable as 1, 2, 4, 8 or a full page (entire row) with a burst terminate option. Special commands are used for initialization (burst options etc.) A burst operation takes 4 + n cycles (for n words) 66

67 READ burst (with auto precharge) 67

68 WRITE burst (with auto precharge) 68

69 Considerazioni sulla organizzazione ad array Locazioni di memoria consecutive si trovano sulla stessa linea; Se devo prelevare 2 o più byte consecutivi basta decodificare una sola volta l indirizzo di riga e poi caricare gli indirizzi di colonna nei cicli successivi; Conclusione: il trasferimento di byte consecutivi avviene a frequenza doppia rispetto al trasferimento di 2 byte ad indirizzi casuali (aspetto importante nella progettazione delle cache) 69

70 Burst read of length 4 R/ W RA S CA S Address Row Col Data D0 D1 D2 D3 70

71 RAM statiche Vs. RAM dinamiche Le RAM statiche sono molto veloci ma hanno costo e dimensioni elevate > vengono usate per la memoria cache (piccole e veloci) Le RAM dinamiche non sono molto veloci ed hanno bisogno di un circuito di refresh però occupano uno spazio molto limitato, sono adatte per memorie più grandi vengono usate per la memoria principale del calcolatore (più lenta ma molto grande). 71

72 Progetto di sottosistemi di memoria: Organization of a 2M 32 memory module using 16 modules 512K 8 static memory chips A 0 A 1 21-bit addresses 19-bit internal chip address A 19 A 20 2-bit decoder 512 K 8 memory chip D D D 15-8 D K 8 memory chip 19-bit address 8-bit data input/output Chip select 72

73 Riferimenti K. Hamacher, Computer Organization Cap 5: The memory system Hennessy & Patterson: Computer Architecture, a quantitative approach (3 rd Edition) Cap 5 73

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

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

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

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

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

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

Il Sottosistema di Memoria

Il Sottosistema di Memoria Il Sottosistema di Memoria Calcolatori Elettronici 1 Memoria RAM RAM: Random Access Memory Tempi di accesso indipendenti dalla posizione Statica o Dinamica Valutata in termini di Dimensione (di solito

Dettagli

Il Sottosistema di Memoria

Il Sottosistema di Memoria Il Sottosistema di Memoria Classificazione delle memorie Funzionalità Memoria di sola lettura (ROM) Memoria di lettura/scrittura Tecnologia Memoria a semiconduttori Memoria magnetica Memoria ottica Modalità

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

Il quadro di insieme. Tecnologie per la memoria e gerarchie di memoria. Un ripasso: latch D e flip-flop D. Un ripasso: clock

Il quadro di insieme. Tecnologie per la memoria e gerarchie di memoria. Un ripasso: latch D e flip-flop D. Un ripasso: clock Il quadro di insieme I cinque componenti di un calcolatore Tecnologie per la memoria e gerarchie di memoria Processore Unità di controllo Memoria Dispositivi di input Architetture dei Calcolatori (lettere

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

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

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

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

La memoria - tecnologie

La memoria - tecnologie Architettura degli Elaboratori e delle Reti Lezione 26 La memoria - tecnologie Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 26 1/25 Struttura

Dettagli

Memorie Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella

Memorie Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella Memorie Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Tipi di memorie Possono essere classificate in base a varie caratteristiche:

Dettagli

La memoria - tecnologie

La memoria - tecnologie Architettura degli Elaboratori e delle Reti Lezione 26 La memoria - tecnologie Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 26 1/24 Indirizzi

Dettagli

DIAGRAMMI TEMPORALI relativi all'esecuzione di una istruzione e agli accessi alla memoria:

DIAGRAMMI TEMPORALI relativi all'esecuzione di una istruzione e agli accessi alla memoria: DIAGRAMMI TEMPORALI relativi all'esecuzione di una istruzione e agli accessi alla memoria: 1 Memoria centrale: è costituita da una sequenza ordinata di registri; ciascun registro è individuato da un indirizzo;

Dettagli

La memoria - tecnologie

La memoria - tecnologie Architettura degli Elaboratori e delle Reti Lezione 26 La memoria - tecnologie Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 26 1/24 Indirizzi

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

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

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

Il Sottosistema di Memoria

Il Sottosistema di Memoria Il Sottosistema di Memoria Maurizio Palesi Maurizio Palesi 1 Memoria RAM RAM: Random Access Memory Tempi di accesso indipendenti dalla posizione Statica o Dinamica Valutata in termini di Dimensione (di

Dettagli

Circuiti di Indirizzamento della Memoria

Circuiti di Indirizzamento della Memoria Circuiti di Indirizzamento della Memoria Maurizio Palesi Maurizio Palesi 1 Memoria RAM RAM: Random Access Memory Tempi di accesso indipendenti dalla posizione Statica o Dinamica Valutata in termini di

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

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

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

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

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

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

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

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

La memoria - tecnologie

La memoria - tecnologie Architettura degli Elaboratori e delle Reti Lezione 26 La memoria - tecnologie Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 25 1/21 Sommario!

Dettagli

Capitolo 5 Le infrastrutture HardWare. La memoria centrale

Capitolo 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

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

Clocking. Architetture dei Calcolatori (Lettere. di Memoria. Elemento. scritti. Tecnologie per la Memoria e Gerarchie di Memoria

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

Dettagli

Gli attori principali di un architettura

Gli attori principali di un architettura Memoria Architettura degli Elaboratori e delle Reti, Turno I Alberto Borghese Università degli Studi di Milano Dipartimento di Scienze dell Informazione email: borghese@dsi.unimi.it Gli attori principali

Dettagli

Memorie a semiconduttore

Memorie a semiconduttore Memoria centrale a semiconduttore (Cap. 5 Stallings) Architettura degli elaboratori -1 Pagina 209 Memorie a semiconduttore RAM Accesso casuale Read/Write Volatile Memorizzazione temporanea Statica o dinamica

Dettagli

DIAGRAMMI TEMPORALI relativi all'esecuzione di una istruzione e agli accessi alla memoria:

DIAGRAMMI TEMPORALI relativi all'esecuzione di una istruzione e agli accessi alla memoria: DIAGRAMMI TEMPORALI relativi all'esecuzione di una istruzione e agli accessi alla memoria: Calcolatori Elettronici 2002/2003 - Diagr. temp. e Mem. dinamiche 1 Memoria centrale: è costituita da una sequenza

Dettagli

SOLUZIONI: Memoria virtuale

SOLUZIONI: Memoria virtuale SOLUZIONI: Memoria virtuale INTRODUZIONE Memoria Virtuale: Si parla di memoria virtuale quando la memoria principale viene utilizzata come cache per la memoria di massa (dischi, nastri): - I programmi

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

La memoria: tecnologie di memorizzazione

La memoria: tecnologie di memorizzazione Architettura degli Elaboratori e delle Reti La memoria: tecnologie di memorizzazione Proff. A. Borghese, F. Pedersini Dipartimento di Informatica Università degli Studi di Milano 1 Organizzazione della

Dettagli

Lezione 16 Introduzione al sottosistema di memoria

Lezione 16 Introduzione al sottosistema di memoria Lezione 16 Introduzione al sottosistema di memoria http://www.dii.unisi.it/~giorgi/didattica/arcal1 All figures from Computer Organization and Design: The Hardware/Software Approach, Second Edition, by

Dettagli

Tecnologie per la memoria e gerarchie di memoria

Tecnologie per la memoria e gerarchie di memoria Tecnologie per la memoria e gerarchie di memoria Architetture dei alcolatori (lettere A-I) Il quadro di insieme I cinque componenti di un calcolatore Processore Unità di controllo Memoria ispositivi di

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

Architettura dei Calcolatori Elettronici

Architettura dei Calcolatori Elettronici Architettura dei Calcolatori Elettronici Prof. Orazio Mirabella L architettura del Calcolatore: esame delle sue caratteristiche Fondamentali Capacità di eseguire sequenze di istruzioni memorizzate Calcolatore

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

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 memoria: tecnologie di memorizzazione

La memoria: tecnologie di memorizzazione Architettura degli Elaboratori e delle Reti La memoria: tecnologie di memorizzazione Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano 1 Organizzazione

Dettagli

Gerarchia di Memorie

Gerarchia di Memorie Gerarchia di Memorie Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Gerarchia di Memorie Obiettivo: creare l illusione di

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

MEMORIE AD ACCESSO CASUALE

MEMORIE AD ACCESSO CASUALE MEMORIE Le memorie sono circuiti in grado di contenere un elevato numero di informazioni binarie in maniera organizzata e fornirle in uscita mediante una operazione detta LETTURA della memoria. A seconda

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

Livello logico digitale bus e memorie

Livello logico digitale bus e memorie Livello logico digitale bus e memorie Principali tipi di memoria Memoria RAM Memorie ROM RAM (Random Access Memory) SRAM (Static RAM) Basata su FF (4 o 6 transistor MOS) Veloce, costosa, bassa densità

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

Gerachie di Memorie. Matteo Dominoni a.a. 2002/2003. Gerarchie di Memoria A.A. 2002/2003 1

Gerachie di Memorie. Matteo Dominoni a.a. 2002/2003. Gerarchie di Memoria A.A. 2002/2003 1 Gerachie di Memorie Matteo Dominoni a.a. 2002/2003 Gerarchie di Memoria A.A. 2002/2003 1 Dove Studiare? Capitolo 7 Patterson-Hennessy Gerarchie di Memoria A.A. 2002/2003 2 Obbiettivo Creare l illusione

Dettagli

Memoria Virtuale e I/O

Memoria Virtuale e I/O Memoria Virtuale e I/O Paolo Baldan Baldan@dsi.unive.it Introduzione CPU - progettazione - prestazioni ideali Le prestazioni reali sono influenzate (pesantemente) da memoria e I/O. Memoria - gerarchie

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

La tecnologia delle memorie

La tecnologia delle memorie La tecnologia delle memorie Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano 1/37 Sommario Gestione delle memorie cache. SRAM. DRAM.

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

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

Università degli Studi di Cassino e del Lazio Meridionale

Università degli Studi di Cassino e del Lazio Meridionale Università degli Studi di Cassino e del Lazio Meridionale di Calcolatori Elettronici Gerarchia di Anno Accademico 2012/2013 Alessandra Scotto di Freca Si ringrazia il prof.francesco Tortorella per il materiale

Dettagli

Clocking. Architetture dei Calcolatori (Lettere. Elementi di Memoria. Periodo del Ciclo di Clock. scritti

Clocking. Architetture dei Calcolatori (Lettere. Elementi di Memoria. Periodo del Ciclo di Clock. scritti Clocking Architetture dei Calcolatori (Lettere A-I) Tecnologie per la Memoria e Gerarchie di Memoria Prof. Francesco Lo Presti Il segnale di Clock definisce quando i segnali possono essere letti e quando

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 Gerarchia di memorie: memorie cache Massimiliano Giacomin 1 Tipologie e caratteristiche delle memorie (soprattutto dal punto di vista circuitale e fisico) Altezza:

Dettagli

ISA Input / Output (I/O) Data register Controller

ISA Input / Output (I/O) Data register Controller ISA Input / Output (I/O) Numerose Periferiche di tanti tipi diversi, collegati alla CPU mediante BUS diversi. Solo Input (tastiera, mouse), producono dati che la CPU deve leggere. Solo Output (Schermo),

Dettagli

1.4b: Hardware. (Memoria Centrale)

1.4b: Hardware. (Memoria Centrale) 1.4b: Hardware (Memoria Centrale) Bibliografia Curtin, Foley, Sen, Morin, Informatica di base, Mc Graw Hill Sciuto, Buonanno, Mari, Introduzione ai sistemi informatici, Mc Graw Hill Memoria Centrale Un

Dettagli

Lezione 16 Introduzione al sottosistema di memoria

Lezione 16 Introduzione al sottosistema di memoria Lezione 16 Introduzione al sottosistema di memoria http://www.dii.unisi.it/~giorgi/didattica/arcal1 All figures from Computer Organization and Design: The Hardware/Software Approach, Second Edition, by

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

Mari, Buonanno, Sciuto Informatica e cultura dell informazione McGraw-Hill

Mari, Buonanno, Sciuto Informatica e cultura dell informazione McGraw-Hill Mari, Buonanno, Sciuto Informatica e cultura dell informazione McGraw-Hill // Copyright 7 The McGraw-Hill Companies srl Copyright 7 The McGraw-Hill Companies srl Supporto alla CPU: deve fornire alla CPU

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

La memoria-gerarchia. Laboratorio di Informatica - Lezione 3 - parte I La memoria - La rappresentazione delle informazioni

La memoria-gerarchia. Laboratorio di Informatica - Lezione 3 - parte I La memoria - La rappresentazione delle informazioni La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso, misurata in base al tempo impiegato dal processore per accedere ad uno specificato indirizzo

Dettagli

GESTIONE DELLA MEMORIA CENTRALE

GESTIONE DELLA MEMORIA CENTRALE GESTIONE DELLA MEMORIA CENTRALE E MEMORIA VIRTUALE 7.1 Gestione della memoria Segmentazione Segmentazione con paginazione Memoria Virtuale Paginazione su richiesta Sostituzione delle pagine Trashing Esempi:

Dettagli

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 13 Luglio 2004

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 13 Luglio 2004 SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI NUOVO E VECCHIO ORDINAMENTO DIDATTICO 13 Luglio 2004 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO 1 (9 punti) Si

Dettagli

Gerarchie di memoria. Gerarchie di memoria

Gerarchie di memoria. Gerarchie di memoria Gerarchie di memoria Salvatore Orlando Arch. Elab. - S. Orlando 1 Gerarchie di memoria I programmatori, per memorizzare i loro programmi e dati, necessiterebbero di memorie molto veloci e capienti La tecnologia

Dettagli

Gerarchie di memoria. Gerarchie di memoria

Gerarchie di memoria. Gerarchie di memoria Gerarchie di memoria Salvatore Orlando Arch. Elab. - S. Orlando 1 Gerarchie di memoria I programmatori hanno l esigenza di avere memorie sempre più veloci e capienti, per poter memorizzare programmi e

Dettagli

Il modello di Von Neumann

Il modello di Von Neumann Il modello di Von Neumann Appunti di STA per le classi seconde ind. informatiche Page 1 Il modello architetturale Per modello architetturale, si intende la descrizione delle parti del sistema e la loro

Dettagli

Corso di Fondamenti di Informatica Elementi di Architettura

Corso di Fondamenti di Informatica Elementi di Architettura di Cassino e del Lazio Meridionale Corso di Informatica Elementi di Architettura Anno Accademico 2016/2017 Francesco Tortorella Modello di von Neumann Bus di sistema CPU Memoria Centrale Interfaccia Periferica

Dettagli

Gerarchia di memorie

Gerarchia 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

Dettagli

Struttura gerarchica delle memorie

Struttura gerarchica delle memorie Architettura degli Elaboratori e delle Reti Struttura gerarchica delle memorie A. Borghese, F. Pedersini Dipartimento di Informatica Università degli studi di Milano 1 Considerazioni introduttive Tipologie

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

Input/Output (Cap. 7, Stallings)

Input/Output (Cap. 7, Stallings) Input/Output (Cap. 7, Stallings) Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi Tutti più lenti della CPU e della RAM Necessità di avere moduli

Dettagli

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa) Processore Memoria Control (Parte di controllo) Datapath (Parte operativa) I/O Memoria La dimensione del Register File è piccola registri usati per memorizzare singole variabili di tipo semplice purtroppo

Dettagli

Com è fatto un computer (seconda puntata) Appunti per le classi 1 A cura del prof. Ing. Mario Catalano

Com è fatto un computer (seconda puntata) Appunti per le classi 1 A cura del prof. Ing. Mario Catalano Com è fatto un computer (seconda puntata) Appunti per le classi 1 A cura del prof. Ing. Mario Catalano A che serve una memoria? Ovviamente, nel computer, come nel cervello umano, serve a conservare le

Dettagli

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2 La CPU e la Memoria Sistemi e Tecnologie Informatiche 1 Struttura del computer Sistemi e Tecnologie Informatiche 2 1 I registri La memoria contiene sia i dati che le istruzioni Il contenuto dei registri

Dettagli

La memoria virtuale. La gerarchia di memorie. Indirizzo fisico. Memoria virtuale. Architetture Avanzate dei Calcolatori. Valeria Cardellini

La memoria virtuale. La gerarchia di memorie. Indirizzo fisico. Memoria virtuale. Architetture Avanzate dei Calcolatori. Valeria Cardellini La memoria Architetture Avanzate dei Calcolatori Valeria Cardellini Nelle lezioni precedenti { Memoria La gerarchia di memorie Registri Istruzioni, operandi L Cache Blocchi L2 Cache Blocchi Memoria Pagine

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Cos'è un calcolatore? Architettura dei calcolatori Esecutore automatico di algoritmi Macchina universale Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura

Dettagli

Calcolatori Elettronici B a.a. 2007/2008

Calcolatori Elettronici B a.a. 2007/2008 Calcolatori Elettronici B a.a. 27/28 MEMORIA VIRTUALE Massimiliano Giacomin Gerarchia di memorie CPU Cache Memoria CI OCCUPIAMO DI QUESTO 2 Richiami sulla gestione dell I/O Modalità di gestione e sincronizzazione

Dettagli

Architettura Single Channel

Architettura Single Channel LA RAM 1 Architettura Single Channel CPU ChipSet NothBridge RAM FSB 64 Bits Memory Bus 64 Bits Il Memory Bus ed il Front Side Bus possono (ma non necessariamente devono) avere la stessa velocità. 2 Architettura

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

MEMORIA GERARCHIE DI MEMORIA

MEMORIA GERARCHIE DI MEMORIA MEMORIA GERARCHIE DI MEMORIA La memoria è divisa in più livelli che sono dal più vicino al più distante al CPU, per tempi di accesso: memoria cache, SRAM, capienza (MB), più veloce (decimi di ns), costosa

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

Calcolatori Elettronici B a.a. 2004/2005

Calcolatori Elettronici B a.a. 2004/2005 Calcolatori Elettronici B a.a. 2004/2005 GERARCHIA DI MEMORIE MEMORIA VIRTUALE Massimiliano Giacomin 1 Accedere alla memoria CPU MAR MDR Bus di indirizzo k Bus di dati n Linee di controllo m Memoria Principale

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

Architettura di un calcolatore: Introduzione parte 2

Architettura di un calcolatore: Introduzione parte 2 Corso di Calcolatori Elettronici I Architettura di un calcolatore: Introduzione parte 2 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle

Dettagli

Il processore Pentium

Il processore Pentium Caratteristiche principali (I) Architettura interna a 32 bit Address bus a 32 bit: si possono indirizzare fino a 4 GB di memoria fisica Data bus a 64 bit (si tratta in pratica di 2 data bus a 32 bit in

Dettagli

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno

Dettagli