Sistemi a Microprocessore

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Sistemi a Microprocessore"

Transcript

1 Corso di Laurea Ingegneria dell Informazione Sistemi a Microprocessore A.A Prof. Ing. Ivan Bruno Sistemi a Microprocessore La Memoria 1

2 La Memoria La memoria in un calcolatore serve per immagazzinare dati e le istruzioni dei programmi da eseguire I principali tipi di memorie che si possono trovare su un microcontrollore, e su un calcolatore in genere, sono: ROM (Read Only Memory) : programmata permanentemente dal costruttore, non modificabile RAM (Random Access Memory) : memoria volatile di lettura e scrittura EEPROM (Electrically EPROM) : memoria non volatile, scrittura e cancellazione di celle entrambe elettriche FLASH : memoria non volatile, variante delle EEPROM, scrittura e cancellazione entrambe elettriche, non di singole celle, ma di blocchi (updating +veloce) 08/11/2007 Sistemi a Microprocessore A.A Parametri di Valutazione Dimensione: definita in bit o byte. Talvolta fornita in modo tale da descrivere l architettura interna. Es.: 64K x 4 bit: celle di 4 bit Velocità: Tempo di accesso: intervallo di tempo intercorso tra la richiesta della lettura e la disponibilità del dato Tempo di ciclo: intervallo di tempo minimo che intercorre tra due operazioni Altri Parametri: Potenza Dissipata, Costo, Integrazione 08/11/2007 Sistemi a Microprocessore A.A

3 Interfaccia Generica di una Memoria Una Memoria è in generale accessibile attraverso un Registro indirizzo (MAR) ed un registro Dati (MDR) Un Segnale R/W indica se l operazione è di lettura o scrittura Architettura della memoria MAR MDR R/W In Lettura: L indirizzo viene messo in MAR il dato letto viene recuperato da MDR. In Scrittura: L indirizzo viene messo in MAR il dato in MDR. 08/11/2007 Sistemi a Microprocessore A.A Principali tecnologie per la RAM Le memorie RAM sono di due tipi Memorie statiche: Static Random Access Memory (SRAM) Memorie dinamiche: Dynamic Random Access Memory (DRAM) Memorie statiche Il singolo elemento corrisponde ad un flip-flop Memorie dinamiche Il singolo elemento corrisponde ad un condensatore ed un transistor (dopo pochi millisecondi le informazioni vengono perse) L informazione è memorizzata sotto forma di carica del condensatore Richiedono un refresh periodico dell informazione Per ottimizzare la realizzazione indirizzi di riga e indirizzi di colonna vengono passati sullo stesso canale in successione Le memorie statiche sono (rispetto a quelle dinamiche) Più veloci Più costose (6 transistor per bit) Persistenti (non è richiesto il refresh) Più affidabili. 08/11/2007 Sistemi a Microprocessore A.A

4 Ciclo Operativo nelle memorie Statiche 08/11/2007 Sistemi a Microprocessore A.A Ciclo Operativo nelle memorie Dinamiche Tempo di Ciclo RAS CAS Indirizzo RIGA COLONNA WRITE DATO DATO VALIDO Tempo di Accesso Nota: I Segnali RAS,CAS e WRITE sono negati. 08/11/2007 Sistemi a Microprocessore A.A

5 Struttura di una memoria Statica 16x8 08/11/2007 Sistemi a Microprocessore A.A Una Memoria Statica 1K x 8 08/11/2007 Sistemi a Microprocessore A.A

6 DRAM: multiplazione degli indirizzi Dato l elevato impaccamento delle DRAM il numero di pin di I/O è un problema E` usuale multiplare nel tempo l indirizzo delle righe e delle colonne negli stessi fili Normalmente le memorie non sono indirizzabili al bit, per cui righe e colonne si riferiscono a byte e non a bit Es. una memoria 2M X 8 (21 bit di indirizzo) può essere organizzata in 4096 righe (12bit di indirizzo) per 512 colonne (9bit di indirizzo) di 8 bit ciascuno 08/11/2007 Sistemi a Microprocessore A.A Organizzazione di una DRAM 2M X 8 08/11/2007 Sistemi a Microprocessore A.A

7 Una Memoria Dinamica 1M x 1 RAS Latch Indirizzo RIGA Decodificatore di RIGA... Array di celle di memoria 32x32 Indirizzo Sense/ Write Sense/ Write Sense/ Write CS Latch Indirizzo RIGA Decodificatore di COLONNA R/W CAS 08/11/2007 Sistemi a Microprocessore A.A DRAM: modo di accesso veloce Spesso i trasferimenti da/per la memoria avvengono a blocchi (o pagine) Nello schema appena visto, vengono selezionati prima 4096 bytes e poi tra questi viene scelto quello richiesto E possibile migliorare le prestazioni semplicemente evitando di riselezionare la riga ad ogni accesso se le posizioni sono consecutive Questo viene chiamato Fast Page Mode (FPM) e l incremento di prestazioni può essere significativo 08/11/2007 Sistemi a Microprocessore A.A

8 Memoria 4M x 32 Controllo Accesso Start Busy Controllo delle temporizzazione Refresh Req Refresh Ack Controllo Refresh Refresh Row/Column CAS RAS Contatore Refresh Multiplexer di Indirizzo... Array di celle di memoria 4x8 Indirizzo Decodificatore di COLONNA R/W Dati 08/11/2007 Sistemi a Microprocessore A.A DRAM sincrone (SDRAM) Le DRAM visto prima sono dette asincrone perchè non esiste una precisa temporizzazione di accesso, ma la dinamica viene governata dai segnali RAS e CAS Il processore deve tenere conto di questa potenziale asincronicità in caso di rinfresco in corso può essere fastidiosa Aggiungendo dei buffer (latch) di memorizzazione degli ingressi e delle uscite si può ottenere un funzionamento sincrono, disaccoppiando lettura e scrittura del rinfresco e si può ottenere automaticamente una accesso FPM pilotato dal clock 08/11/2007 Sistemi a Microprocessore A.A

9 Organizzazione base di una SDRAM 08/11/2007 Sistemi a Microprocessore A.A SDRAM: esempio di accesso in FPM 08/11/2007 Sistemi a Microprocessore A.A

10 Organizzazione delle memorie La memoria ideale dovrebbe essere a capacità infinita, tempo di accesso nullo e costo e consumo nullo. Nei casi reali l organizzazione del calcolatore comprende diversi tipi di memorie con caratteristiche diverse Alcune memorie sono dedicate, ossia sono progettate per contenere specifici tipi di dati (es la EPROM o flash di bootstrap) Altre memorie sono general-purpose e si può accedervi mediante specifici metodi di indirizzamento per leggere o scrivere dati di qualsiasi tipo. Il loro impiego dipende dalle loro caratteristiche e da come il dato viene impiegato durante il funzionamento del calcolatore 08/11/2007 Sistemi a Microprocessore A.A Organizzazione delle memorie 08/11/2007 Sistemi a Microprocessore A.A

11 Organizzazione delle memorie Organizzazione gerarchica (tipica dei calcolatori generalpurpose) La CPU vede un solo tipo di memoria, indirizzata direttamente tramite un identificatore (indirizzo) L hardware (MMU) e il sistema operativo gestiscono invece un insieme di memorie organizzate gerarchicamente che contengono repliche dei dati in modo che la CPU trovi ad ogni accesso il dato utile nella memoria più veloce possibile Gerarchia di memorie: La memoria del calcolatore e organizzata gerarchicamente in modo da comprendere poche memorie a bassa capacità ed alti costi ma molto veloci e molta memoria più lenta e di capacità maggiore 08/11/2007 Sistemi a Microprocessore A.A Organizzazione delle memorie 08/11/2007 Sistemi a Microprocessore A.A

12 Organizzazione delle memorie Nella gerarchia di memoria i dati sono temporaneamente trasferiti in memorie sempre più veloci. L obiettivo e di organizzare le politiche di piazzamento ed accesso dei dati in modo tale da avere i dati più frequentemente usati, o in generale più utili virtualmente sempre nelle memorie più veloci. 08/11/2007 Sistemi a Microprocessore A.A Organizzazione delle memorie La memoria interna alla CPU è costituita dai registri ed è caratterizzata da: alta velocità (comparabile con quella del processore) e limitate dimensioni (al più qualche migliaio di byte). La memoria centrale o principale è caratterizzata da,dimensioni molto maggiori della memoria interna alla CPU (fino a qualche Gbyte) ma tempi di accesso più elevati. È accessibile in modo diretto tramite indirizzi. Nei sistemi attuali un livello di memorie cache e stato inserito tra CPU e memorie centrali Memorie secondarie: In un calcolatore esistono diverse memorie secondarie (o memorie di massa) ad alta capacità bassi costi e non volatili 08/11/2007 Sistemi a Microprocessore A.A

13 Organizzazione delle memorie 08/11/2007 Sistemi a Microprocessore A.A Organizzazione delle memorie 08/11/2007 Sistemi a Microprocessore A.A

14 Organizzazione delle memorie Regola base dell'efficienza è rendere di massima velocità il caso più frequente Sfruttamento della località spaziale e temporale Principio di località un programma in ogni istante utilizza una porzione limitata dello spazio di indirizzamento Località spaziale: accedendo ad un dato è assai probabile che si debba accedere ad altri dati localizzati vicino nello spazio di indirizzamento Località temporale: accedendo ad un dato è assai probabile che si debba riaccedere ad esso in un tempo vicino 08/11/2007 Sistemi a Microprocessore A.A Organizzazione delle memorie Dati che inizialmente si trovano ad un livello più basso (loc. temporale) conviene spostarli in memorie più veloci (loc. spaziale) conviene spostare anche i dati vicini I programmi NON vedono la gerarchia ma referenziano i dati come se fossero sempre in memoria centrale (a parte per i registri che sono nominati esplicitamente) perciò bisogna mantenere il più vicino possibile alla CPU dati utilizzati più recentemente. La gerarchia delle memorie deve prevedere in successione memorie sempre più larghe e più lente per mantenere i dati nei livelli più alti proporzionatamente alla previsione della frequenza d uso. 08/11/2007 Sistemi a Microprocessore A.A

15 Blocchi di locazione di memoria Gerarchia di memoria: più livelli Blocco: unità di informazione minima scambiata fra livelli (ex: 32 bytes) Hit: un accesso alla memoria che trova l'informazione cercata nel livello superiore (accesso veloce) Hit Rate: frequenza di accessi trovati nel livello superiore (h) Miss Rate: (1 - h) caso di insuccesso (non trovo il dato nella memoria adiacente/livello superiore) devo andare nel livello inferiore (accesso più lento) Hit Time: tempo di accesso al livello superiore Th 08/11/2007 Sistemi a Microprocessore A.A Blocchi di locazione di memoria Miss Penalty: tempo per rimpiazzare un blocco nel livello superiore più il tempo per fornirlo alla CPU. Il "miss penalty, Tmp, può anche essere scomposto nei tempi per reperire il primo dato di un blocco più il tempo per trasferire gli altri. Comprende certamente un Th e un overhead nel caso di miss (Tmiss) Tacc = h Th + (1-h)Tmp Tmp = Th + Tmiss allora Tacc = Th + (1-h)Tmiss Il Tmiss comprende il tempo per reperire il blocco nella gerarchia di livello più basso più (eventualmente trascurabile) il tempo per rimpiazzare i dati dal livello alto al livello più basso (se il livello più alto deve essere svuotato, cioè se devo salvare i dati che sono in esso presenti, operazione di write-back) 08/11/2007 Sistemi a Microprocessore A.A

16 Gerarchia: esempio Supponiamo un sistema a due livelli in cui per accedere al primo livello (memoria centrale) il tempo di accesso sia 0.1 microsec (100 ns) per ogni dato e per accedere al secondo (ad esempio HD) sia di 0.1 msec. Quando si accede al secondo livello il dato deve essere copiato nel primo. Ipotizziamo che le probabilità di trovare il dato al primo livello siano del 95% (h). Trascuriamo il tempo necessario al processore per capire dove si trova il dato (trascurabile rispetto al tempo di accesso). Quanto è il tempo di accesso medio? (In microsec) Tacc= ( )= = 5.1 microsec Basta un 5% di penalizzazione di miss che tutto l accesso medio è fortemente rallentato, nel caso specifico di ben 5 volte Circa 10 3 differenza di dimensioni (es. 10K 10M) Circa 10 3 differenza di tempo di accesso (es s 10-4 s) 08/11/2007 Sistemi a Microprocessore A.A Gerarchia di memorie Parametri di progettazione gerarchia di memoria: Quanti livelli di gerarchia che dimensione e velocità per ogni livello ogni tipo di memoria si definisce in base al 1) Piazzamento del blocco (o funzione di traduzione o mapping): dove può essere allocato il blocco al livello corrente 2) Identificazione del blocco: come si può ritrovare il blocco a livello corrente 3) Rimpiazzamento del blocco: come si sceglie quale blocco sostituire 4) Strategia di scrittura Ad esempio a livello di registri L identificazione è nominale (mov ax,15) il piazzamento e rimpiazzamento, scrittura e definito dal compilatore 08/11/2007 Sistemi a Microprocessore A.A

17 Memoria centrale Memoria centrale è la memoria fisicamente e logicamente collegata direttamente alla CPU. Dal punto di vista della gerarchia: 1) Piazzamento del blocco: deciso dall indirizzo nell istruzione 2) Identificazione del blocco: indirizzo (sw, compilatore, SO, traduzione diretta) 3) Rimpiazzamento del blocco: deciso dal codice 4) Strategia di scrittura: deciso dal codice Il software (applicativo + SO) ha il controllo dello spazio di indirizzamento Nota la mappa della memoria La CPU legge e scrive su memoria centrale mandando un indirizzo fisico della dimensione pari al suo bus di indirizzi (spazio di indirizzamento) per l 8086 ad esempio 20 bit, creo un indirizzo di 20 bit (indirizzo 1 M). 08/11/2007 Sistemi a Microprocessore A.A Organizzazione di un sistema con memoria cache La memoria centrale e la memoria cache sono organizzate in blocchi di parole o di byte, di ugual dimensione La memoria cache contiene copie di blocchi della memoria centrale, oppure blocchi liberi ad ogni blocco di cache è associato un bit - valid - che indica se il blocco è significativo o libero Il sistema di gestione della cache è in grado di copiare (caricare) blocchi dalla memoria centrale alla memoria cache oppure di ricopiare (scaricare) blocchi dalla memoria cache alla memoria centrale tramite un apposita unità funzionale Il processore accede sempre e comunque prima alla memoria cache L uso della memoria cache per incrementare le prestazioni del sistema di memoria sfrutta il principio di località dei programmi 08/11/2007 Sistemi a Microprocessore A.A

18 Funzionamento base Istruzioni Il processore deve leggere un istruzione Se il blocco che contiene l istruzione da prelevare si trova in cache, l istruzione viene letta e eseguita Se l istruzione non si trova in cache: il processore sospende l esecuzione il blocco contenente l istruzione viene caricato dalla memoria centrale in un blocco libero della memoria cache il processore preleva l istruzione dalla cache e prosegue l esecuzione Dati Il processore deve leggere un dato dalla memoria cache: si procede come visto per la lettura di istruzioni Il processore deve scrivere un dato in memoria: si procede in modo simile ma esiste il problema della coerenza tra memoria cache e memoria centrale (scrittura differita o non differita) 08/11/2007 Sistemi a Microprocessore A.A Memoria cache: definizioni Hit: un accesso alla memoria che trova l'informazione cercata nella cache Miss: quando non si ha un hit e si deve accedere alla memoria centrale Hit Rate (tasso di hit): frequenza (h) di accessi trovati in cache (rapporto tra il numero di hit in cache e il numero totale di riferimenti) Miss Rate: (m) caso di insuccesso ovvero non trovo il dato nella memoria cache (rapporto tra il numero di miss in cache e il numero totale di riferimenti) Vale la relazione m=(1 - h) 08/11/2007 Sistemi a Microprocessore A.A

19 Memoria cache: definizioni Hit Time: tempo di accesso alla cache Tc Miss Penalty: tempo per rimpiazzare un blocco nella cache più il tempo per fornirlo alla CPU. Il "miss penalty, Tp, può anche essere scomposto nei tempi per reperire il primo dato di un blocco più il tempo per trasferire gli altri. Comprende certamente un Th e un overhead nel caso di miss (Tmiss) Tacc = h Tc + (1-h)Tp Tmp = Tc + Tmiss allora Tacc = Tc + (1-h)Tmiss 08/11/2007 Sistemi a Microprocessore A.A Memoria cache: Posizionamento 08/11/2007 Sistemi a Microprocessore A.A

20 Memoria Cache: funzionamento E necessario tenere traccia dei dati in cache Un catalogo (directory) consente di ricercare il dato in base all indirizzo generato dalla CPU La struttura del catalogo dipende dall organizzazione della cache E importante definire la quantità di dati letti dalla memoria e portati in cache in presenza di un miss Vale il principio di Località spaziale Memoria cache e centrale sono viste come insiemi di blocchi di dimensione fissa dette linee La linea è un unità trasferita in blocco per ridurre il tempo medio di trasferimento dei singoli dati Il tempo di penalizzazione Tp è: Tp = T Ram +T cache T cache è il tempo impiegato per trasferire in cache la linea che contiene la parola indirizzata 08/11/2007 Sistemi a Microprocessore A.A Memoria Cache: Organizzazione Nell organizzazione della cache è importante l associazione tra le linee della memoria centrale e quella della cache Quale posizione in cache verrà occupata da una linea letta dalla memoria centrale Tre tipi di organizzazione Cache a mappatura diretta Cache completamente associativa Cache parzialmente associativa o setassociative 08/11/2007 Sistemi a Microprocessore A.A

21 Memoria Cache: progettazione Quanto visto si riassume come segue: Metodo di indirizzamento come scegliere il blocco della cache in cui copiare un blocco di memoria centrale (mapping) Metodo di identificazione come localizzare un blocco di memoria centrale all interno della cache Metodo di scrittura (coerenza) come comportarsi quando si deve scrivere una parola contenuta in un blocco della memoria cache Metodo di sostituzione come si sostituiscono blocchi della cache per liberare spazio 08/11/2007 Sistemi a Microprocessore A.A Cache: a mappatura diretta Ogni blocco della memoria centrale è caricabile in un solo blocco della cache Più blocchi di memoria centrale possono essere caricati nello stesso blocco di memoria cache (conflitti) Mapping: il blocco di indice (indirizzo) j della memoria centrale è caricabile solo nel blocco di indice (indirizzo): resto div intera di j/n blocchi della cache 08/11/2007 Sistemi a Microprocessore A.A

22 Cache: a mappatura diretta Si assuma: Una cache di capacità L=2 l linee Linee di W=2 w parole Una capacità C = LxW parole Una memoria centrale di dimensione B = 2 b blocchi, multipla della dimensione della cache L indirizzo di una parola è 08/11/2007 Sistemi a Microprocessore A.A Cache: a mappatura diretta Il contenuto del campo lungo b bit (I B ) può essere visto come numero d ordine del blocco di memoria Il contenuto del campo lungo l bit (I L ) come numero di linea nel blocco Quello del campo lungo w bit (I W ) come numero di parola entro la linea I B 0 0 -> indirizzo base del blocco I B I L 0 -> indirizzo della linea nel blocco I B I L I w -> indirizzo della parola nella linea 08/11/2007 Sistemi a Microprocessore A.A

23 Cache: a mappatura diretta Con la mappatura diretta tutte le B linee in posizione IL dentro un qualunque blocco di memoria sono mappate sulla stessa linea di cache 08/11/2007 Sistemi a Microprocessore A.A Cache: a mappatura diretta La cache è fatta da due parti (banchi): TAG RAM (banco sx) Rappresenta il catalogo dei dati contenuto nell altro banco Ogni posizione ha dimensione pari a quella del campo I B dell indirizzo generato dalla CPU DATA RAM (banco dx) Contiene i dati Ogni posizione ha la dimensione di una linea di cache 08/11/2007 Sistemi a Microprocessore A.A

24 Cache: a mappatura diretta Il campo IL identifica la posizione della linea in DATA RAM e TAG RAM Il valore del TAG RAM è confrontato con I B Se uguali, il dato è in cache e letto direttamente dal DATA RAM La linea di hit è asserita e abilita l uscita dal multiplexer della parola Se diversi, si ha la linea di hit disasserita (miss) e inizia il processo di lettura della memoria centrale della linea contente la locazione indirizzata. I B è copiato nella TAG RAM e la linea letta rimpiazza quella esistente in DATA RAM 08/11/2007 Sistemi a Microprocessore A.A Cache: a mappatura diretta La ricerca in TAG e in DATA RAM avviene in parallelo In caso di HIT, il segnale di OE rende disponibile la parola letta Si ipotizza che al multiplexer sia presente una intera linea e che si selezioni la parola indirizzata Di solito DATA RAM è fatta di L x W parole e la parola si trova esattamente all indirizzo I L I w Quando un programma esegue ripetutamente un ciclo che con coinvolge due blocchi di memoria a ogni passaggio da un blocco all altro le linee di cache sono sostituite Calo delle prestazioni 08/11/2007 Sistemi a Microprocessore A.A

25 Cache: a mappatura diretta Esempio: Memoria centrale da 4Gbyte, cache a mappatura diretta da 1KByte, blocchi da 32Byte Accesso a memoria a byte: blocchi da 32 byte: 5 bit di indirizzo per identificare il singolo byte cache di 32 blocchi (1Kbyte/32byte): 5 bit di indirizzo per identificare il blocco 22 bit di etichetta = 32 (4Gbyte) /11/2007 Sistemi a Microprocessore A.A Cache: a mappatura diretta Esempio Indirizzi di memoria a 32 bit Cache a mappatura diretta: blocco costituito da una parola di 4 byte 1024 blocchi (2 10 ) Struttura dell indirizzo di memoria: Bit 0 e 1 per individuare il singolo byte nella parola Bit 2-11 per individuare il blocco di cache Bit come etichetta 08/11/2007 Sistemi a Microprocessore A.A

26 Cache: a mappatura diretta Esempio: Memoria centrale 4Gigabyte (32 bit indirizzo) Accesso a memoria a parole da 32 bit Blocchi da 4 parole (16 byte): 2 bit per parola nel blocco, 2 bit per byte nella parola Memoria cache da 16kparole: 12 bit per indirizzare un blocco (n blocchi = 214/22) Etichetta da 16 bit 08/11/2007 Sistemi a Microprocessore A.A Cache: a mappatura diretta 08/11/2007 Sistemi a Microprocessore A.A

27 Cache a mappatura diretta: Esercizio Si consideri un calcolatore con memoria centrale di 64KB, indirizzabile a byte (parola=1byte) e dimensione di blocco di 8Byte. Si assuma di usare una cache a mappatura diretta di 256Byte: a) dire in quali campi gli indirizzi di memoria sono suddivisi ai fini della cache e quali sono le dimensioni (in numero di bit) di ogni campo R: La memoria ha dimensione 64KB = 2 16 Byte, quindi un indirizzo è costituito da 16 bit. I 16 bit saranno suddivisi nei campi Etichetta, Linee, Parola. Poiché una parola è costituita da 1Byte ed un blocco da 8Byte = 2 3 B, il campo Parola sarà di 3 bit. Il numero di linee della cache è calcolato dividendo la sua capacità per la dimensione di blocco: 256B/8B = 32 = 2 5, quindi il campo Linee sarà di 5 bit. I rimanenti ( ) = 8 bit saranno dedicati al campo Etichetta. 08/11/2007 Sistemi a Microprocessore A.A Cache a mappatura diretta: Esercizio Si consideri un calcolatore con memoria centrale di 64KByte, indirizzabile a byte (parola=1byte) e dimensione di blocco di 8Byte. Si assuma di usare una cache a mappatura diretta di 256Byte: b) dire in quale linea verrebbero memorizzati i byte con i seguenti indirizzi: 111Bhex C334hex D01Dhex AAAAhex R: ricordando che un indirizzo è suddiviso nel seguente modo 111Bhex linea 3 C334hex linea 6 D01Dhex linea 3 AAAAhex linea 21 08/11/2007 Sistemi a Microprocessore A.A

28 Cache completamente associativa Una linea di memoria può essere copiata in qualunque posizione della cache Il TAG RAM si comporta come una memoria CAM (Content Addresable Memory) Ogni linea di memoria in cache ha un indirizzo univoco I x memorizzato nella TAG RAM La TAG RAM è costituita da L posizioni di t=(b+l) bit ciascuna Il campo I x dell indirizzo viene confrontato in parallelo con il contenuto (tutte le linee) della TAG RAM. Se I x è presente si ha un hit e il valore è letto dalla cache, altrimenti si va in memoria centrale 08/11/2007 Sistemi a Microprocessore A.A Cache completamente associativa Rispetto alla mappatura diretta: In caso di miss occorre individuare quale linea sostituire tra le L possibili Algoritmi di rimpiazzamento Si cerca la linea della DATA RAM dopo che è conclusa la ricerca in TAG RAM. Tempo di accesso maggiori Complessità hardware maggiore Costo maggiore 08/11/2007 Sistemi a Microprocessore A.A

29 Cache completamente associativa 08/11/2007 Sistemi a Microprocessore A.A Cache parzialmente associativa Definizione: Si definisce Grado di Associatività di una cache il numero di posizioni del catalogo che devono essere confrontate con il campo I B. La cache a mappatura diretta ha grado di associatività pari a 1. La cache completamente associativa ha un grado di associatività pari al numero di linee di cache. Se il grado di associatività è n si parla di memoria cache a n vie. 08/11/2007 Sistemi a Microprocessore A.A

30 Cache parzialmente associativa: 2 vie 08/11/2007 Sistemi a Microprocessore A.A Cache parzialmente associativa : 2 vie La parte bassa dell indirizzo seleziona la parola effettivamente indirizzata Le due linee di hit0 e hit1 abilitano o meno uno dei due selettori Ciascuna linea di memoria può essere mappata in due differenti linee di cache: banco dx o sx. In caso di miss occorre scegliere in quale via deve essere copiato la linea di memoria A parità di condizioni le prestazioni sono comparabili con la mappatura diretta 08/11/2007 Sistemi a Microprocessore A.A

31 Cache parzialmente associativa : 4 vie A 4 vie: ogni blocco di memoria centrale può essere caricato in 4 blocchi di cache, quindi la dimensione di ogni gruppo è di 4 blocchi Memoria centrale 4Gbyte: 32 bit Memoria cache 1K parole (1 parola=4byte), blocchi da 1 parola Organizzazione dell indirizzo: Bit 0 e 1 per indirizzare i byte Numero blocchi nella cache = dimensioni della cache/dimensioni del blocco= 2 10 /1 = 2 10 Numero di gruppi nella cache= numero di blocchi/ dimensioni del gruppo = 2 10 /2 2 = 2 8 Bit 2-10 indice del gruppo nella cache Bit etichetta 08/11/2007 Sistemi a Microprocessore A.A Cache parzialmente associativa : 4 vie 08/11/2007 Sistemi a Microprocessore A.A

32 Esercizio Cache 1 Si consideri una cache di 4KB con associazione a gruppi a 8 vie ( 8-way set associative) in congiunzione con una memoria centrale di 1MB. Supponendo che un blocco sia di dimensione 64B, si dica come un indirizzo di memoria è suddiviso in campi e a quanto ammonta la dimensione di ogni campo. 08/11/2007 Sistemi a Microprocessore A.A Esercizio Cache 1 Soluz.: trattandosi di una cache con associazione a gruppi, l indirizzo di memoria centrale deve essere suddiviso nei campi tag, set, e parola. la memoria centrale è di 1MB, cioè 2 20 byte; pertanto un indirizzo di memoria centrale è espresso in 20 bit. la dimensione del campo parola è individuato univocamente dall dimensione del blocco, che è di 64B, cioè 2 6 byte; pertanto il campo parola è di 6 bit. una cache di 4KB possiede 2 12 byte; ogni linea deve contenere un blocco e quindi impegna 2 6 byte; quindi la cache contiene 2 12 /2 6 = 2 6 linee. Poiché un insieme deve contenere 8 linee, il numero di insiemi della cache è pari a 2 6 /2 3 =2 3. Pertanto il campo set è di 3 bit. la dimensione del campo tag sarà dunque: = 11 bit 08/11/2007 Sistemi a Microprocessore A.A

33 Esercizio Cache 2 Si consideri una cache di 16KB con associazione a gruppi a 4 vie ( 4-way set associative) e dimensione di linea di 32B. Supponendo che il campo tag sia di 12 bit, si dica quale è la dimensione massima (in byte) di memoria principale che la cache è in grado di gestire, assumendo il singolo byte come unità di indirizzamento della memoria. 08/11/2007 Sistemi a Microprocessore A.A Esercizio Cache 2 Soluz.: per calcolare la quantità massima di memoria principale gestibile, bisogna calcolare il numero di bit totali che esprimono una generica locazione di memoria. trattandosi di una cache con associazione a gruppi, l indirizzo di memoria centrale deve essere suddiviso nei campi tag, set, e parola. sappiamo che il campo tag è di 12 bit; quindi occorre calcolare la dimensione dei campi set e parola. la dimensione del campo parola è individuato univocamente dalla dimensione del blocco, che è di 32B, cioè 2 5 byte; pertanto il campo parola è di 5 bit. una cache di 16KB possiede 2 14 byte; ogni linea deve contenere un blocco e quindi impegna 2 5 byte; quindi la cache contiene 2 14 /2 5 = 2 9 linee. Poiché un insieme deve contenere 4 linee, il numero di insiemi della cache è pari a 2 9 /2 2 =2 7. Pertanto il campo set è di 7 bit. quindi la dimensione massima di memoria gestibile è: , cioè 16MB 08/11/2007 Sistemi a Microprocessore A.A

34 Cache: Il problema della scrittura Un operazione di scrittura può generare un hit o un miss come un operazione di lettura Miss in scrittura Si pone il problema se portare la linea di memoria in cache o no: Write allocate: richiede la selezione della linea di cache dove copiare la linea di memoria (Algoritmi di rimpiazzamento) Write non-allocate: la scrittura avviene direttamente in memoria centrale all indirizzo generato. Si preferisce il Write non-allocate poiché le operazioni di scrittura si verificano con frequenza minore (percentuale più bassa) rispetto a quelle di lettura e i dati possono essere sparsi (indirizzi non contigui e distanti) 08/11/2007 Sistemi a Microprocessore A.A Cache: Il problema della scrittura Hit in scrittura In cache abbiamo una copia dei dati presenti in memoria centrale un operazione di scrittura renderebbe inconsistente il contenuto della cache con la memoria centrale Due tipi di aggiornamento (scrittura): immediato (write through) a posteriori o differito (write-back o copy-back) 08/11/2007 Sistemi a Microprocessore A.A

35 Cache: write through Tutte le scritture in cache vengono fatte anche in memoria Si mantiene la consistenza Influenza negativamente le prestazioni Incrementa il traffico sul bus di sistema Sconsigliato per sistemi multiprocessore a bus condiviso Alcune architetture prevedono un buffer di appoggio in scrittura: Si scrive prima in cache e poi in modo asincrono in memoria Problema legato allo svuotamento Efficace per scritture isolate Va in saturazione se le scritture sono fatte su grossi blocchi di dati la sua presenza è allora ininfluente 08/11/2007 Sistemi a Microprocessore A.A Cache: write back L informazione viene scritta solo in cache. La memoria viene aggiornata solo quando avviene la sostituzione del blocco. Si accede in scrittura in cache Il processore non viene rallentato Non si genera traffico sul bus Il catalogo deve tenere traccia delle linee modificate dentro la cache (dirty bit) La marcatura di una linea (modificata), candida la linea ad essere rimpiazzata e verrà copiata in memoria Se una linea non è marcata il controllore di cache esegue il caricamento della linea dalla memoria centrale. 08/11/2007 Sistemi a Microprocessore A.A

36 Cache: Lo stato della linea di cache In seguito ad una scrittura differita occorre tener traccia della possibile modifica nella linea di cache Occorre definire un informazione di stato che può variare in relazione alla tecnica di gestione utilizzata E sufficiente un bit per segnare la validità All avvio del sistema tutte le linee sono invalide Al caricamento di una linea dalla memoria la corrispondente linea in linea è segnata valida In seguito ad una richiesta di trasferimento in memoria sul canale DMA, le linee di cache non corrispondono ai blocchi in memoria (perché sono stati cambiati) Occorre invalidare queste linee La ricerca in cache di un dato implica la verifica della validità del dato validità della linea 08/11/2007 Sistemi a Microprocessore A.A Cache: Lo stato della linea di cache Sistemi multitasking e memoria virtuale Al termine dell esecuzione di un processo il S.O sceglie quale processo attivo mettere in esecuzione In seguito all intervento del gestore della memoria centrale, il nuovo processo può sovrapporsi sullo spazio indirizzi ancora presenti in cache ma relativi al processo terminato. Le linee esistenti non sono più valide Per evitare di invalidare tutta la cache, si può abbinare al bit di validità l identificativo del processo La ricerca di un dato in cache prevede il confronto del bit di validità e la verifica dell ID del processo con quello correntemente in esecuzione Il costo di tale cache è maggiore dovuto alla memoria aggiuntiva necessaria per gestire l identificatore del processo che riferisce alla linea. 08/11/2007 Sistemi a Microprocessore A.A

37 Cache: Algoritmi di rimpiazzamento Gli algoritmi di rimpiazzamento sono necessari con cache con un associatività superiore a uno. La mappatura diretta ha un rimpiazzamento implicito con il funzionamento stesso. Si introduce un controllore che determina quale linea rimuovere (su base algoritmica) Tutti gli algoritmi si basano sull uso di contatori Il numero di contatori combinato alla loro dimensione fornisce una misura della complessità della logica usata per il rimpiazzamento Si considera una cache associativa a N vie con L linee per via 08/11/2007 Sistemi a Microprocessore A.A Cache: Algoritmi di rimpiazzamento La generica posizione è indicata con I L in corrispondenza della quale si trova le N linee corrispondenti alla N vie Le vie sono numerate da 0 a N-1 Le linee (allineate lungo le N-1 vie) sono indicate come l 0, l 1,, l N-1 l i,j indica linea i sulla via j V i,j indica il bit di validità associato a l i,j (1 = linea valida). In totale si hanno LxN bit di validità. In presenza di più miss sulla stessa linea occorre stabilire un criterio di selezione Definizione: Si definisce via prioritaria la via più a sinistra (con indice più basso) tra tutte quelle non valide. 08/11/2007 Sistemi a Microprocessore A.A

38 Cache: Algoritmi di rimpiazzamento Algortimi possibili: LRU (Least Recently Used) Si rimpiazza la linea non utilizzata da più tempo, è molto probabile che il codice/dati nella linea sono poco frequentati dall esecuzione del programma Complessi e costosi da realizzare FIFO (First In First Out) Si assume un modello di esecuzione del programma di tipo sequenziale Media complessità RAND (Random) Si rimpiazza in modo casuale Semplice da realizzare 08/11/2007 Sistemi a Microprocessore A.A Cache: Sostituzione randomica In caso di miss occorrerebbe generare un numero a caso compreso tra 0 e N-1. La generazione casuale prevede una rete logica complessa Considerando che i miss avvengono in modo casuale rispetto a tutte le linee di cache Si usa un contatore C unico per la cache Il contatore è modulo N-1 La scelta della linea da rimpiazzare (miss) avviene guardando prima tra le linee non valide Se le N linee alla posizione l sono tutte valide si seleziona la linea sulla via il cui numero d ordine uguaglia il contatore. Il contatore viene quindi aggiornato. In caso di hit non succede niente 08/11/2007 Sistemi a Microprocessore A.A

39 Cache: Sostituzione randomica Hit: non succede niente; Miss: esistono linee non valide? Sì: j indice della via prioritaria No: j C Sostituzione l j ; C (C+1)modN; V lj 1 Nota: La sostituzione di una linea comporta l affermazione del bit di validità 08/11/2007 Sistemi a Microprocessore A.A Cache: algoritmo LRU Ad ogni posizione I L di cache si assegna una lista ordinata di riferimenti In testa alla lista è riportata la linea riferita più di recente In coda quella riferita meno di recente La lista richiede N posti e ogni posto corrisponde ad un contatore modulo N. In totale si hanno L x N contatori Ogni contatore richiede un numero di bit pari a: log 2 N Nel caso di 2 vie serve un solo bit e in totale quindi N 08/11/2007 Sistemi a Microprocessore A.A

40 Cache: LRU Metodo dello stack Si assuma una cache a 4 vie Lo stack per ogni posizione I L è di 4 posizioni (vie) e ciascuna è gestita da un registro a 2 bit S 0 contiene la via riferita di recente e S 3 quella meno recente Lo schema seguente considera solo il caso di hit e non tiene conto del valid bit. Il segnale hclk (hit clock) è l impulso che deriva dall avvenuto hit. In j si ha il numero d ordine della via su cui è avvenuto l hit 08/11/2007 Sistemi a Microprocessore A.A Cache: LRU Metodo dello stack L aggiornamento dello stack in caso di hit prevede: Il numero di via j passa in S 0 e si sposta a destra la parte che sta alla sinistra del registro che conteneva j. Es: Hit su l 0 e stato dello stack pari a 1302 La configurazione diventa /11/2007 Sistemi a Microprocessore A.A

41 Cache: LRU Metodo dello stack L aggiornamento dello stack in caso di miss con linee tutte valide prevede: Portare l uscita di S 3 in S 0 e far scorrere a destra S 0, S 1 e S 2 La gestione del valid bit comporta una complicazione nell hardware 08/11/2007 Sistemi a Microprocessore A.A Cache: LRU Metodo dei contatori per linea Si assume una cache a 4 vie Ad ogni linea è associato un contatore per gestire l ordine di riferimento Si assume di rimpiazzare la linea non valida con via di ordine minore Nella tabella: C 0, C 1, C 2 e C 3 sono i contatori 08/11/2007 Sistemi a Microprocessore A.A

42 Cache: LRU Metodo dei contatori per linea In caso di hit si aggiornano i contatori Incrementando i contatori di valore più basso di quello della linea su cui si ha lo hit Si azzera il contatore In caso di miss Selezionare la prima riga non valida, o in mancanza, la linea con il contatore uguale a N- 1 Aggiornare i contatori come si fosse stato un hit sulla linea e portare il bit di validità a 1 08/11/2007 Sistemi a Microprocessore A.A Cache: LRU Metodo dei contatori per linea Sia C li (l=0,,l-1; i=0, N-1) il generico contatore preso dalla matrice di contatori C di dimensione L x N Si indichi con V lj il generico bit di validità preso dalla matrice V di pari dimensioni Si ha: Hit: j numero di via su cui si verifica lo hit per ogni i tale che C li < C lj : C li (C li +1)modN; C li 0 Miss: esistono linee vuote? Sì: j via prioritaria; No: j i tale che C li = N-1; per ogni i tale che C li < C lj : C li (C li +1)modN; C li 0; V lj 1 08/11/2007 Sistemi a Microprocessore A.A

43 Cache: LRU Metodo dei contatori per linea L algoritmo LRU basato sui contatori è molto costoso Occorrono molti contatori e una logica di controllo Problemi di spazio sull integrato della CPU 08/11/2007 Sistemi a Microprocessore A.A Cache: pseudo LRU Algortimo introdotto nella CPU Intel 486 Cache associativa a 4 vie Ogni via 2 KB, 16 Byte per linea per un totale di 128 linee per via Politica di scrittura: write-through/write-non allocate (le operazioni di scrittura aggiornano la cache solo in caso di hit di scrittura) Il rimpiazzamento si basa su 3 bit per la linea invece di 8 (come richiesto nel caso dei contatori, pari a 4) I tre bit B 0, B 1 e B 2 (bit LRU) sono utilizzati per creare un albero di decisione e aggiornati in caso di hit (lettura e scrittura) o miss in lettura Con l 0, l 1, l 2 e l 3 si indicano le linee nella generica posizione I L relative alle 4 vie 08/11/2007 Sistemi a Microprocessore A.A

44 Cache: pseudo LRU In presenza di un hit si aggiornano i bit B 0, B 1 e B 2 seguendo lo schema seguente: 1 B B 1 B l 0 l 1 l 2 l 3 0 Per avere un hit nella via 2 il valore dei bit assume la seguente configurazione: 0 x 1 il bit B 1 non viene modificato e rimane settato al valore che aveva prima dello hit. Ovvero, si aggiustano i solo i bit che Permettono di determinare la via più recente. 08/11/2007 Sistemi a Microprocessore A.A Cache: pseudo LRU Albero di decisione Decisione in caso di Miss 08/11/2007 Sistemi a Microprocessore A.A

45 Cache: pseudo LRU 08/11/2007 Sistemi a Microprocessore A.A Cache: LRU vs Pseudo Nel caso dell evento 10, l algoritmo LRU sostituisce l 1 mentre lo pseudo LRU l 2 Lo pseudo LRU a seguito di un miss che sostituisce in una delle due vie di sinistra predispone la sostituzione per un miss successivo sulle vie di destra Esempio: tutte le linee valide 4 hit ai gruppi l 0, l 1, l 2, l 3 in successione Stato dei bit 000 Cosa succede se avvengono due miss? Viene sostituito l 0 ed i bit aggiornati a 110 Viene sostituito l 2 invece di l 1 Partendo da 100 Hit 110 Hit 100 Hit 001 Hit /11/2007 Sistemi a Microprocessore A.A

46 Cache: tecnica FIFO La tecnica FIFO tiene conto solo dell ordine di ingresso in cache Occorre disporre un contatore per linea che conti modulo N Nel caso di una cache a 4 vie a N blocchi per via occorrono N contatori modulo 4 Counter C 0 Line 0 Line 0 Line 0 Line 0 C i Line i Line i Line i Line i N Vie 08/11/2007 Sistemi a Microprocessore A.A Cache: tecnica FIFO Quando la cache è vuota i contatori sono resettati (sono a 0) Al primo miss su la linea i il relativo contatore C i viene messo a 1 ed indica che al prossimo miss la via da utilizzare è la 1. Il blocco desiderato viene caricato nella via 0 Nel caso in questione i contatori sono a 2 bit in totale 2N bit L algoritmo FIFO deve quindi: In caso di hit lasciare tutto invariato In caso di miss: Controlli che esistano linee NON VALIDE tra quelle del generico insieme di linee i in caso affermativo elimina la linea della via prioritaria (quella più a sx) Se non esistono linee NON VALIDE sull insieme di linee selezionato, si seleziona la via più vecchia indicata dal contatore; la nuova linea viene caricata e il contatore incrementato di 1 08/11/2007 Sistemi a Microprocessore A.A

47 Cache: tecnica FIFO In virtù di quanto detto, l algoritmo si può scrivere come: Hit: non succede niente Miss: esistono linee vuote? sì: C via prioritaria sostituzione della riga in colonna C C(C+1)modN (bit di validità della linea 1) 08/11/2007 Sistemi a Microprocessore A.A Cache: tecnica FIFO Implementazione hw Miss i C o u n t e r Decoder W0 W1 W2 W3 Write 08/11/2007 Sistemi a Microprocessore A.A

48 Cache: Analisi Prestazioni Il tempo medio di accesso alla memoria in presenza della cache è dato dalla eq. T acc = h t c + m t p h tasso di hit, m tasso di miss (m=1-h) t c tempo di accesso in cache t p tempo di penalizzazione (somma del tempo di latenza della memoria centrale e del tempo necessario al trasferimento della linea in cache L equazione presenta 4 grandezze che forniscono altrettanti criteri di ottimizzazione 08/11/2007 Sistemi a Microprocessore A.A Cache: Analisi Prestazioni Criteri di ottimizzazione: Massimizzare il tasso di hit Minimizzare il tempo di accesso all informazione in cache (minimo tempo di hit) Minimizzare il ritardo dovuto a un miss (minimo tempo di penalizzazione) Minimizzare il tempo necessario per la gestione della coerenza delle cache per i sistemi multiprocessori o in sistemi con più livelli di cache 08/11/2007 Sistemi a Microprocessore A.A

49 Cache: Effetto della cache sulle prestazioni Si consideri il MIPS come indice di prestazione Indicato con T pi il tempo medio per eseguire completamente un istruzione (fetch + decodifica/esecuzione) espresso in µs (microsecondi) si ha MIPS = 1 / T pi Se il prelievo e la decodifica/esecuzione non si sovrappongono si può considerare T pi = T m + (n ex /f) Dove T m è il tempo medio di accesso alla memoria n ex è il numero medio di cicli di clock per decodificare ed eseguire l istruzione f è la frequenza di clock 08/11/2007 Sistemi a Microprocessore A.A Cache: Effetto della cache sulle prestazioni Indicato con N il numero di cicli dalla CPU per leggere in memoria e con N w gli eventuali cicli di attesa: T m = (N + N w )/f Pertanto sostituendo si ha MIPS = f/(n + N w +n ex ) Il massimo di prestazione si ha per N=1 e N w =0 Nel caso di N=1 e n ex =1 un ciclo di attesa abbatte del 33% le prestazioni Con pipeline dove N+ n ex =1 un ciclo di attesa dimezza le prestazioni 08/11/2007 Sistemi a Microprocessore A.A

50 Cache: Effetto della cache sulle prestazioni - Conclusioni Una cache ben progettata deve avere un t c che consenta di accedere in un ciclo di clock in caso di hit e un T acc molto basso Su T acc influiscono m e t p Questi parametri risentono della dimensione, dell organizzazione e la modalità di gestione della cache 08/11/2007 Sistemi a Microprocessore A.A Cache Elementi che influenzano le prestazioni Il miss rate m è influenzato principalmente da: La dimensione della cache La dimensione della linea Il grado di associatività Tuttavia vanno considerati: L algoritmo di rimpiazzamento Il precarimento La scrittura in memoria centrale (write-through/copy back) Cache divisa o unificata Cache su più livelli Il posizionamento della cache (cache fisica o virtuale) La multiprogrammazione Le operazione di I/O Single o multi core 08/11/2007 Sistemi a Microprocessore A.A

51 Cache: La dimensione della cache A dimensioni maggiori corrisponde una probabilità maggiore di trovare l informazione 08/11/2007 Sistemi a Microprocessore A.A Cache Elementi che influenzano le prestazioni: la dimensione della linea A dimensioni maggiori della linea corrisponde un aumento della capacità della cache di giovare della località spaziale ma diminuisce il numero di linee allocate in cache con conseguente diminuzione della probabilità di ritrovare l informazione in tempi successivi (diminuisce la località temporale) All aumentare della dimensione si ha un ritardo nella lettura dalla memoria con maggiore probabilità di copiare dati inutili (istruzioni non eseguite e dati non utilizzati) La dimensione di linea è il compromesso tra un alto h e un basso t p 08/11/2007 Sistemi a Microprocessore A.A

52 Cache Elementi che influenzano le prestazioni: Associatività Con l aumentare del grado di associatività migliorano le prestazioni Diminuiscono i conflitti tra le linee nella stessa posizione relativa diminuisce m Ma aumentano i tempi di ricerca della linea Più alto è il grado di associatività e più la logica di gestione si complica Rispetto alla mappatura diretta h è più alto nelle cache associative La differenza tende ad annullarsi al crescere della dimensione della cache 08/11/2007 Sistemi a Microprocessore A.A Cache Elementi che influenzano le prestazioni: Associatività Il problema del trashing nelle cache associative si manifesta quando un programma in esecuzione copre più di una linea L i in differenti blocchi di memoria In presenza di cicli ripetuti o salti tra queste linee si assiste ad un attività di continuo caricamento nella stessa posizione di cache Poiché costa meno accedere ad una parola direttamente in memoria che trasferire una linea di cache abbassamento delle prestazioni Per cache abbastanza grandi la probabilità che avvenga ciò è molto bassa Se comparate con le cache a mappatura diretta, quest ultime sono: Meno costose (non c è la logica di rimpiazzamento) Il tempo di accesso è inferiore (manca la logica) Il rimpiazzamento è guidato dal tipo di orgnizzazione 08/11/2007 Sistemi a Microprocessore A.A

53 Cache Elementi che influenzano le prestazioni: gli algoritmi di rimpiazzamento L algoritmo LRU è quello che offre le prestazioni migliori Le cache attuali sono a associative con gestione LRU o semplificata a 2, 4 o 8 vie. Il prelievo della linea: Gli algoritmi prevedono che la linea sia caricata quando è effettivamente richiesta (demand fecthing) Si può operare una tecnica di prefetch delle linea se si tiene conto della località temporale Un miss su una qualunque linea rende molto probabile un miss sulla linea successiva. Si può prelevare sia la linea richiesta che quella successiva 08/11/2007 Sistemi a Microprocessore A.A Cache Elementi che influenzano le prestazioni: gli algoritmi di rimpiazzamento Il prefetch: Sono possibili 2 realizzazioni 1. Utilizzo di un controllore e un buffer Il controllore legge la linea richiesta e la successiva Il buffer contiene la linea successiva in attesa che serva 2. Trasferire direttamente in cache anche la linea successiva Vantaggi: Diminuisce il tasso di miss nelle cache di grandi dimensioni E stato stimata una riduzione del 75-80% Svantaggi: Complessa logica del controllore Aumenta la memory pollution (inquinamento della memoria cache). La memoria contiene dati inutili mai utilizzati. 08/11/2007 Sistemi a Microprocessore A.A

54 Cache Elementi che influenzano le prestazioni: Cache divisa o unificata Conviene avere una cache per i dati e una per le istruzioni? Gli accessi alle istruzioni hanno un alto grado di località e sono di sola lettura: una cache istruzioni ha un h relativamente più elevato in presenza di pipeline occorre però raddoppiare la larghezza di banda del bus per consentire il fetch e la lettura/scrittura di un dato contemporaneamente uso inefficiente dovuto alla variazione da programma a programma della percentuale di memoria utilizzata dai dati e dalle istruzioni 08/11/2007 Sistemi a Microprocessore A.A Cache Elementi che influenzano le prestazioni: Cache divisa o unificata E stato provato sperimentalmente che una cache unificata si adatta meglio nella gestione dati e istruzioni Una cache unificata ha prestazioni superiori di una cache divisa di pari dimensioni La cache del 486 era unificata Il pentium ha una cache divisa 08/11/2007 Sistemi a Microprocessore A.A

55 Cache Elementi che influenzano le prestazioni: aggiornamento memoria centrale Write back Le scritture sono eseguite alla velocità della cache Scritture multiple nella cache richiede una gestione logica complessa e conveniente in ambienti multiprocessore Write through Logica più semplice Garantisce una coerenza dei dati rispetto a quelli presenti nella memoria di livello inferiore Valido per ambienti multiprocessore 08/11/2007 Sistemi a Microprocessore A.A Cache Elementi che influenzano le prestazioni: Cache multilivello La cache serve a ridurre il divario di velocità tra CPU e memoria centrale La necessità di grosse dimensioni per contenere informazioni utili si scontra con le esigenze di velocità si introducono livelli di cache successivi Cache a 2 livelli: La cache di primo livello è più veloce e tiene il passo della CPU Il secondo livello sarà di dimensioni maggiori per soddisfare la maggior parte delle richieste verso la memoria centrale 08/11/2007 Sistemi a Microprocessore A.A

Capitolo 11 La memoria cache

Capitolo 11 La memoria cache Capitolo 11 La memoria cache Gerarchie di Memoria Dati sperimentali mostrano che i riferimenti alla memoria godono della proprietà di località spaziale e temporale. Località spaziale: tendenza a generare

Dettagli

Strutture di Memoria 1

Strutture di Memoria 1 Architettura degli Elaboratori e Laboratorio 17 Maggio 2013 Classificazione delle memorie Funzionalitá: Sola lettura ROM, Read Only Memory, generalmente usata per contenere le routine di configurazione

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it La memoria principale 2 izzazione della memoria principale ria principale è organizzata come

Dettagli

La memoria - generalità

La memoria - generalità Calcolatori Elettronici La memoria gerarchica Introduzione La memoria - generalità n Funzioni: Supporto alla CPU: deve fornire dati ed istruzioni il più rapidamente possibile Archiviazione: deve consentire

Dettagli

La memoria centrale (RAM)

La memoria centrale (RAM) La memoria centrale (RAM) Mantiene al proprio interno i dati e le istruzioni dei programmi in esecuzione Memoria ad accesso casuale Tecnologia elettronica: Veloce ma volatile e costosa Due eccezioni R.O.M.

Dettagli

Organizzazione della memoria

Organizzazione della memoria Memorizzazione dati La fase di codifica permette di esprimere qualsiasi informazione (numeri, testo, immagini, ecc) come stringhe di bit: Es: di immagine 00001001100110010010001100110010011001010010100010

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,

Dettagli

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale Calcolatori Elettronici La memoria gerarchica La memoria virtuale Come usare la memoria secondaria oltre che per conservare permanentemente dati e programmi Idea Tenere parte del codice in mem princ e

Dettagli

Gerarchia delle memorie

Gerarchia delle memorie Memorie Gerarchia delle memorie Cache CPU Centrale Massa Distanza Capacità Tempi di accesso Costo 2 1 Le memorie centrali Nella macchina di Von Neumann, le istruzioni e i dati sono contenute in una memoria

Dettagli

Gerarchie di memoria Divide et impera. Gerarchie di memoria La congettura 90/10. Gerarchie di memoria Schema concettuale

Gerarchie di memoria Divide et impera. Gerarchie di memoria La congettura 90/10. Gerarchie di memoria Schema concettuale Memorie Caratteristiche principali Tecnologie di memoria Locazione: processore, interna (principale), esterna (secondaria) Capacità: dimensione parola, numero di parole Unità di trasferimento: parola,

Dettagli

Architettura del computer (C.Busso)

Architettura del computer (C.Busso) Architettura del computer (C.Busso) Il computer nacque quando fu possibile costruire circuiti abbastanza complessi in logica programmata da una parte e, dall altra, pensare, ( questo è dovuto a Von Neumann)

Dettagli

Organizzazione della memoria principale Il bus

Organizzazione della memoria principale Il bus Corso di Alfabetizzazione Informatica 2001/2002 Organizzazione della memoria principale Il bus Organizzazione della memoria principale La memoria principale è organizzata come un insieme di registri di

Dettagli

Sistemi Operativi. 5 Gestione della memoria

Sistemi Operativi. 5 Gestione della memoria Gestione della memoria Compiti del gestore della memoria: Tenere traccia di quali parti della memoria sono libere e quali occupate. Allocare memoria ai processi che ne hanno bisogno. Deallocare la memoria

Dettagli

Memoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale)

Memoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale) Memoria Virtuale Anche la memoria principale ha una dimensione limitata. Possiamo pensare di superare questo limite utilizzando memorie secondarie (essenzialmente dischi) e vedendo la memoria principale

Dettagli

Architettura dei calcolatori II parte Memorie

Architettura dei calcolatori II parte Memorie Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica ed Elementi di Statistica 3 c.f.u. Anno Accademico 2010/2011 Docente: ing. Salvatore Sorce Architettura dei calcolatori

Dettagli

Materiali per il modulo 1 ECDL. Autore: M. Lanino

Materiali per il modulo 1 ECDL. Autore: M. Lanino Materiali per il modulo 1 ECDL Autore: M. Lanino RAM, l'acronimo per "random access memory", ovvero "memoria ad acceso casuale", è la memoria in cui vengono caricati i dati che devono essere utilizzati

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

Esame di INFORMATICA

Esame di INFORMATICA Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello

Dettagli

Tipi classici di memoria. Obiettivo. Principi di localita. Gerarchia di memoria. Fornire illimitata memoria veloce. Static RAM. Problemi: Dynamic RAM

Tipi classici di memoria. Obiettivo. Principi di localita. Gerarchia di memoria. Fornire illimitata memoria veloce. Static RAM. Problemi: Dynamic RAM Obiettivo Tipi classici di memoria Fornire illimitata memoria veloce Problemi: costo tecnologia Soluzioni: utilizzare diversi tipi di memoria... Static RAM access times are 2-25ns at cost of $100 to $250

Dettagli

C. P. U. MEMORIA CENTRALE

C. P. U. MEMORIA CENTRALE C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato

Dettagli

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore Il processore Architettura dell elaboratore Il processore La esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo ) Effettuando operazioni di lettura delle istruzioni

Dettagli

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine.

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine. Quinto Homework 1) Si vuole progettare una cache a mappatura diretta per un sistema a 32 bit per una memoria da 2 GB (quindi sono solo 31 i bit utili per gli indirizzi) e blocchi di 64 byte. Rispondere

Dettagli

LABORATORIO DI SISTEMI

LABORATORIO DI SISTEMI ALUNNO: Fratto Claudio CLASSE: IV B Informatico ESERCITAZIONE N : 1 LABORATORIO DI SISTEMI OGGETTO: Progettare e collaudare un circuito digitale capace di copiare le informazioni di una memoria PROM in

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1 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

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione Gestione della memoria Paginazione Segmentazione Segmentazione con paginazione Modello di paginazione Il numero di pagina serve come indice per la tabella delle pagine. Questa contiene l indirizzo di base

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1 IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

Il memory manager. Gestione della memoria centrale

Il memory manager. Gestione della memoria centrale Il memory manager Gestione della memoria centrale La memoria La memoria RAM è un vettore molto grande di WORD cioè celle elementari a 16bit, 32bit, 64bit (2Byte, 4Byte, 8Byte) o altre misure a seconda

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore (CPU) la memoria principale (RAM) la memoria secondaria i dispositivi di input/output Il processore

Dettagli

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

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

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore 2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

L organizzazione interna della memoria e del banco di registri prevedono generalmente che le uscite di 2 o più componenti

L organizzazione interna della memoria e del banco di registri prevedono generalmente che le uscite di 2 o più componenti Banco di registri e memoria Corso ACSO prof. Cristina SILVANO Politecnico di Milano Componenti di memoria e circuiti di pilotaggio L organizzazione interna della memoria e del banco di registri prevedono

Dettagli

DEFINIZIONE 1/2 memoria ad accesso casuale RAM

DEFINIZIONE 1/2 memoria ad accesso casuale RAM CORSO BASE DI TECNICO RIPARATORE HARDWARE RAM Docente: Dott. Ing. Antonio Pagano DEFINIZIONE 1/2 In informatica la memoria ad accesso casuale, acronimo RAM (del corrispondente termine inglese Random-Access

Dettagli

Unità Periferiche. Rete Di Controllo

Unità Periferiche. Rete Di Controllo MODELLO LOGICO-FUNZIONALE DI UN ELABORATORE Centrale di canale Periferiche CPU Memoria centrale ALU CU Memoria Locale ALU = Aritmetic Logic Unit CU = Registri CU ISTRUZIONE Decodificatore Rete Di Controllo

Dettagli

Memoria secondaria. Architettura dell elaboratore. Memoria secondaria. Memoria secondaria. Memoria secondaria

Memoria secondaria. Architettura dell elaboratore. Memoria secondaria. Memoria secondaria. Memoria secondaria Architettura dell elaboratore Capacità di memorizzazione dei dispositivi di memoria: Memoria centrale attualmente si arriva ad alcuni GB centinaia di GB o TB Memoria principale e registri: volatilità,

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

Le gerarchie di memoria: memoria cache

Le gerarchie di memoria: memoria cache Le gerarchie di memoria: memoria cache Fino ad ora, si sono considerate le tecniche che consentono di migliorare le prestazioni di un calcolatore modificando le caratteristiche e il modo di funzionamento

Dettagli

12. Implementazione di un File System. 12.1.1 Struttura a livelli. 12.2.1 Allocazione contigua

12. Implementazione di un File System. 12.1.1 Struttura a livelli. 12.2.1 Allocazione contigua 12. Implementazione di un File System 1 Struttura del file system Metodi di allocazione Gestione dello spazio libero Implementazione delle directory Prestazioni ed efficienza 2 Utente 12.1.1 Struttura

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

9. Memoria Virtuale. 9. Memoria Virtuale. 9. Memoria Virtuale

9. Memoria Virtuale. 9. Memoria Virtuale. 9. Memoria Virtuale 1 (es. 1) Consideriamo un processo con m frame inizialmente vuoti. La stringa di riferimento è lunga p e contiene riferimenti a n pagine diverse. Per un qualsiasi algoritmo di rimpiazzamento: a) qual è

Dettagli

IL PROBLEMA DELLA MEMORIA

IL PROBLEMA DELLA MEMORIA Principi di architetture dei calcolatori: la memoria cache Mariagiovanna Sami IL PROBLEMA DELLA MEMORIA Da sempre, il programmatore desidera una memoria veloce e grande (illimitata ) Il problema: le memorie

Dettagli

Memoria secondaria. Struttura del disco. Scheduling del disco. Gestione dell unità a disco. Affidabilità dei dischi: RAID

Memoria secondaria. Struttura del disco. Scheduling del disco. Gestione dell unità a disco. Affidabilità dei dischi: RAID Memoria secondaria Struttura del disco Scheduling del disco Gestione dell unità a disco Affidabilità dei dischi: RAID Sistemi Operativi 13.1 Struttura del disco I dischi vengono indirizzati come grandi

Dettagli

Gestione della Memoria

Gestione della Memoria Gestione della Memoria Idealmente la memoria dovrebbe essere grande veloce non volatile Gerarchia di memorie Disco: capiente, lento, non volatile ed economico Memoria principale: volatile, mediamente grande,

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

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

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale

Dettagli

Esempio: aggiungere j

Esempio: aggiungere j Esempio: aggiungere j Eccezioni e interruzioni Il progetto del controllo del processore si complica a causa della necessità di considerare, durante l esecuzione delle istruzioni, il verificarsi di eventi

Dettagli

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi. 1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 La CPU e l esecuzione dei programmi 1 Nelle lezioni precedenti abbiamo detto che Un computer è costituito da 3 principali componenti:

Dettagli

= 0, 098 ms. Da cui si ricava t 2 medio

= 0, 098 ms. Da cui si ricava t 2 medio 1. Una macchina ha uno spazio degli indirizzi a 32 bit e una pagina di 8 KB. La tabella delle pagine è completamente nell hardware, con una parola a 32 bit per voce. Quando parte un processo, la tabella

Dettagli

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007 2007 SISTEMI OPERATIVI Gestione della memoria Domande di verifica Luca Orrù Centro Multimediale Montiferru 18/06/2007 Gestione della memoria 1. Si descriva il concetto di memoria virtuale (esame del 19-06-2006)

Dettagli

Informatica - A.A. 2010/11

Informatica - A.A. 2010/11 Ripasso lezione precedente Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Matematica, Statistica e Informatica Modulo: Informatica Esercizio: Convertire

Dettagli

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE DEI SISTEMI DI CALCOLO STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema

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 Ediz. Fino alla III : cap. 3.11, 3.13 IV ediz.: cap. 2.8, 2.9 Questi lucidi Memoria Centrale Un

Dettagli

B+Trees. Introduzione

B+Trees. Introduzione B+Trees Introduzione B+Trees Il B+Trees e la variante maggiormente utilizzata dei BTrees BTrees e B+trees fanno parte della famiglia degli alberi di ricerca. Nel B+Trees i dati sono memorizzati solo nelle

Dettagli

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

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella. Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Prestazioni Si valutano in maniera diversa a seconda dell

Dettagli

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

INFORMATICA. Il Sistema Operativo. di Roberta Molinari INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:

Dettagli

Memoria Virtuale. Lezione 29 Sistemi Operativi

Memoria Virtuale. Lezione 29 Sistemi Operativi Memoria Virtuale Lezione 29 Sistemi Operativi I Principi Abbiamo sinora assunto che durante l esecuzione di un programma, lo stesso debba risiedere completamente in MC Intorno alla metà degli anni 70 viene

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici La memoria gerarchica L hard disk Introduzione alla memoria virtuale Scendiamo di un altro livello CPU Banco Cache Memoria principale Memoria secondaria Dimensioni < 1KB < 1 MB

Dettagli

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa Raccolta prove scritte Realizzare una classe thread Processo che deve effettuare un numero fissato di letture da una memoria

Dettagli

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput Valutazione delle Prestazioni Architetture dei Calcolatori (Lettere A-I) Valutazione delle Prestazioni Prof. Francesco Lo Presti Misura/valutazione di un insieme di parametri quantitativi per caratterizzare

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento: martedì, 12.00-13.00. Dip. Di Matematica Modalità esame: scritto + tesina facoltativa 1

Dettagli

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache... Appunti di Calcolatori Elettronici Concetti generali sulla memoria cache Introduzione... 1 Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Dettagli

La Gestione delle risorse Renato Agati

La Gestione delle risorse Renato Agati Renato Agati delle risorse La Gestione Schedulazione dei processi Gestione delle periferiche File system Schedulazione dei processi Mono programmazione Multi programmazione Gestione delle periferiche File

Dettagli

DMA Accesso Diretto alla Memoria

DMA Accesso Diretto alla Memoria Testo di rif.to: [Congiu] - 8.1-8.3 (pg. 241 250) 08.a DMA Accesso Diretto alla Memoria Motivazioni Organizzazione dei trasferimenti DMA Arbitraggio del bus di memoria Trasferimento di un blocco di dati

Dettagli

Capitolo 11 -- Silberschatz

Capitolo 11 -- Silberschatz Implementazione del File System Capitolo 11 -- Silberschatz Implementazione del File System File system: Definizione dell aspetto del sistema agli occhi dell utente Algoritmi e strutture dati che permettono

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni LEZIONE 2 (HARDWARE) a.a. 2011/2012 Francesco Fontanella Tre concetti Fondamentali Algoritmo; Automa (o anche macchina); Calcolo; 2 Calcolatore MACCHINA

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Un sistema operativo è un insieme di programmi che consentono ad un utente di INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli

Dettagli

Tecnologia di un Database Server (centralizzato) Gestione del buffer

Tecnologia di un Database Server (centralizzato) Gestione del buffer Buffer Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Gestione del buffer Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Buffer

Dettagli

Sistemi Operativi Kernel

Sistemi Operativi Kernel Approfondimento Sistemi Operativi Kernel Kernel del Sistema Operativo Kernel (nocciolo, nucleo) Contiene i programmi per la gestione delle funzioni base del calcolatore Kernel suddiviso in moduli. Ogni

Dettagli

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3

Dettagli

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. I Sistemi Operativi Il Software di Base Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. Il sistema operativo è il gestore di tutte le risorse

Dettagli

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA BOZZA 23/07/2008 INDICE 1. PERCHÉ UNA NUOVA VERSIONE DEI MODULI DI RACCOLTA DATI... 3 2. INDICAZIONI GENERALI... 4 2.1. Non modificare la struttura dei fogli di lavoro... 4 2.2. Cosa significano

Dettagli

La Memoria Virtuale Ottimizzazione della memoria centrale

La Memoria Virtuale Ottimizzazione della memoria centrale La Memoria Virtuale Ottimizzazione della memoria centrale 1) Introduzione- Gerarchia della memoria Da un punto di vista funzionale, ogni dispositivo di memorizzazione elettronica di informazioni presenta

Dettagli

Struttura del calcolatore

Struttura del calcolatore Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1 GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

Dettagli

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

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

Uniamo VM e CACHE. Physically addressed. Physically Addressed. Prestazioni. Ci sono varie alternative architetturali. Sono quelle piu semplici

Uniamo VM e CACHE. Physically addressed. Physically Addressed. Prestazioni. Ci sono varie alternative architetturali. Sono quelle piu semplici Uniamo VM e CACHE Physically addressed Ci sono varie alternative architetturali physically addressed virtually addressed virtually indexed Sono quelle piu semplici un dato puo essere in cache solo se e

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

Architettura di un sistema di calcolo

Architettura di un sistema di calcolo Richiami sulla struttura dei sistemi di calcolo Gestione delle Interruzioni Gestione della comunicazione fra processore e dispositivi periferici Gerarchia di memoria Protezione. 2.1 Architettura di un

Dettagli

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche Input/Output n Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi n Tutti più lenti della CPU e della RAM n Necessità di avere moduli di I/O Moduli

Dettagli

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica I componenti di un Sistema di elaborazione. Memoria centrale Memorizza : istruzioni dati In forma BINARIA : 10001010101000110101... È costituita da una serie di CHIP disposti su una scheda elettronica

Dettagli

Memorie ROM (Read Only Memory)

Memorie ROM (Read Only Memory) Memorie ROM (Read Only Memory) Considerando la prima forma canonica, la realizzazione di qualsiasi funzione di m variabili richiede un numero di porte AND pari al numero dei suoi mintermini e di prolungare

Dettagli

Corso PLC - Manuale Pratico 1

Corso PLC - Manuale Pratico 1 Corso PLC - Manuale Pratico 1 "!#$ % L'unità centrale di un PLC, chiamata più semplicemente CPU, normalmente occupa il primo modulo del rack. Si individua subito in quanto tipicamente è dotata di un selettore,

Dettagli

Gestione della memoria

Gestione della memoria Prof. Diomede Mazzone Gestione della memoria Memoria Virtuale Cosa accade usualmente Alcuni processi possono rimanere in stato di ready per molto tempo, occupando memoria! Le pagine fisiche di memoria

Dettagli

CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO

CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO 1 Domanda [1 punto] Dato il formato in virgola mobile su 32 bit così definito (precisione singola): o 1

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

Le Memorie. Prof. Maurizio Naldi A.A. 2015/16

Le Memorie. Prof. Maurizio Naldi A.A. 2015/16 Le Memorie Prof. Maurizio Naldi A.A. 2015/16 Memorie Memoria Principale (centrale) Si accede direttamente dalla CPU non permanente Memoria Secondaria (di massa) Si accede tramite il sottosistema di input/output

Dettagli

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4 ARCHITETTURE MICROPROGRAMMATE. 1 Necessità di un architettura microprogrammata 1 Cos è un architettura microprogrammata? 4 Struttura di una microistruzione. 5 Esempi di microprogrammi 9 Esempio 1 9 Esempio

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

ARCHITETTURA DEL CALCOLATORE Orologio di sistema (Clock) UNITÀ UNITÀ DI DI INGRESSO Schema a blocchi di un calcolatore REGISTRI CONTROLLO BUS DEL SISTEMA MEMORIA DI DI MASSA Hard Hard Disk Disk MEMORIA CENTRALE Ram Ram ALU CPU UNITÀ

Dettagli

Calcolatori Elettronici B a.a. 2006/2007

Calcolatori Elettronici B a.a. 2006/2007 Calcolatori Elettronici B a.a. 2006/2007 RETI LOGICHE: RICHIAMI Massimiliano Giacomin 1 Due tipi di unità funzionali Elementi di tipo combinatorio: - valori di uscita dipendono solo da valori in ingresso

Dettagli