Cache e gerarchia di memoria
|
|
|
- Veronica Grosso
- 10 anni fa
- Просмотров:
Транскрипт
1 Cache e gerarchia di memoria
2 Cache e gerarchia di memoria Gerarchia di Memoria: motivazioni tecnologiche per caching. Località: perché il caching funziona Processor Input Control Memory Datapath Output
3 Tecnologie I vari tipi di memoria sono realizzati con tecnologie diverse e si differenziano per Costo per bit immagazzinato Tempo di accesso (o latenza): ritardo fra l'istante in cui avviene la richiesta e l'istante in cui il dato è disponibile Modo di accesso (seriale o casuale). Tecnologie Memorie a semiconduttore con tecnologia VLSI (memoria cache e DRAM) Memorie magnetiche (memoria secondaria). Memorie ottiche (memoria secondaria).
4 Memoria interna, principale e secondaria Registri interni alla CPU Visibili o no al programmatore Memorizzano temporaneamente dati e istruzioni Dimensioni: centinaia di bytes Tempo di accesso: tempo CPU Memoria principale (DRAM) Memorizza dati e istruzioni dei programmi La CPU vi accede direttamente Memoria secondaria (dischi, DVD,..) dimensioni: Gbytes, Tbytes velocità: decine di millisecondi (milioni di nanosecondi)
5 , CPU più veloce delle DRAM... Prestazioni (1/ latenza) D.: come risolvere questa differenza? R.: utilizzare memorie cache tra CPU e DRAM. Create a memory hierarchy. CPU 60% per yr 2X in 1.5 yrs Anno CPU Gap grew 50% per year DRAM 9% per yr 2X in 10 yrs 1977: Apple II DRAM CPU 1000 ns DRAM: 400 ns
6 Le memorie RAM statiche La cella elementare è costituita da 6 transistori mos che formano un FLIP- FLOP. L informazione permane stabile in presenza della tensione di alimentazione Tempi di accesso rapidi. Costi elevati.
7 Le memorie RAM dinamiche La cella elementare è costituira da un condensatore che viene caricato (1) o scaricato (0). La tensione sul condensatore tende a diminuire (millisecondi) e quindi deve essere ripristinata o rinfrescata Tempi di accesso alti La semplicità della cella consente capacità molto elevate in spazi (e costi) contenuti
8 Velocità CPU e DRAM Nell architettura VonNeuman il canale di comunicazione tra la CPU e la memoria è il punto critico (collo di bottiglia) del sistema. La tecnologia consente di realizzare CPU sempre più veloci e memorie sempre più grandi MA la velocità di accesso delle memorie non cresce così rapidamente come la velocità della CPU
9 Gerarchia di memoria La soluzione ottimale per un sistema di memoria è: Costo minimo Capacità massima Tempi di accesso minimi Soluzione approssimata: GERARCHIA Tecnologie diverse possono soddisfare al meglio ciascuno dei requisiti. Una gerarchia cerca di ottimizzare globalmente i parametri.
10 Gerarchia di memoria Più livelli di memoria Al crescere della distanza dalla CPU cresce il costo e la capacità di memorizzazione. In ogni istante di tempo i dati sono copiati solamente tra ciascuna coppia di livelli adiacenti, per cui ci si può concentrare su due soli livelli.
11 Caches: latenza Data in upper memory returned with lower latency. Data in lower level returned with higher latency. Dati Indiirizzi Small, fast Large, slow Da CPU Alla CPU
12 2005 Gerarchia di Memoria: Apple imac G5 gestiti dal compilatore gestiti da hardware gestiti dal Sistema Oper., da hardware, applicazione Reg L1 Inst L1 Data L2 DRAM Disk Size 1K 64K 32K 512K 256M 80G Latency (cycles) e7 Obiettivo: creare l illusione di una grande economica e veloce memoria: cioè che i programmi possano indirizzare uno spazio di memoria grande come un disco alla velocità con cui accedono ai registri interni imac G5 1.6 GHz
13 90 nm, 58 M transistors L1 (64K Instruction) 512K L2 R e gi st er s (1K) CS 152 L14: Cache I L1 (32K Data) PowerPC 970 FX UC Regents Spring 2005 UCB
14 Latenza: tempi accesso lettura Reg L1 Inst L1 Data L2 DRAM Disk Size 1K 64K 32K 512K 256M 80G Latency (cycles) e7 Latency (sec) 0.6n 1.9n 1.9n 6.9n 100n 12.5m Hz 1.6G 533M 533M 145M 10M 80 Nota: tempi di accesso per accedere un dato in modo casuale per accedere ad un blocco di dati in locazioni adiacenti i tempi di accesso per il secondo, il terzo,.. dato sono inferiori Ad esempio con N banchi di memoria separati posso accedere a N dati con soli N cicli in più del primo (accesso interleaving)
15 Principio di località Un sistema di memoria gerarchico è efficiente se la modalità di accesso ai dati sono prevedibili Il principio di località : in un dato istante i programmi fanno accesso ad una porzione relativamente piccola del loro spazio di indirizzamento (sia dati che istruzioni) Località temporale: è probabile che un oggetto a cui si è fatto riferimento venga nuovamente richiesto in tempi brevi (Es: cicli in un programma: le istruzioni sono richieste ripetutamente) Località spaziale: è probabile che gli oggetti che si trovano vicini ad un oggetto a cui si è fatto riferimento vengano richiesti in tempi brevi (Es: esecuzione sequenziale in un programma; accesso agli elementi di un vettore)
16 Località dei Programmi Indirizzi di Memoria: un punto per accesso No localita Località Temporale Località Spaziale Time Donald J. Hatfield, Jeanette Gerald: Program Restructuring for Virtual Memory. IBM Systems Journal 10(3): (1971)
17 L algoritmo di caching Località Temporale: mantieni i dati richiesti recentemente vicino alla CPU Località Spaziale: Muovi blocchi contigui di dati nei livelli di memoria più vicini alla CPU
18 Terminologia del Caching Hit: Dati sono nel livello richiesto Hit Rate: la frazione di dati trovata nel livello richiesto Tempo Hit: tempo di accesso ai datiinclude il costo di non trovare il dato Miss: dati devono essere reperiti nel livello inferiore Miss Rate: 1 - Hit Rate Tempo di Hit << Miss Penalty penalità di Miss: tempo di rimpiazzare il blocco mancante + tempo di consegna alla CPU del dato
19 Hit & Miss Si ha hit (successo nell accesso) quando i dati richiesti dal livello superiore (ad es. il processore) compaiono in qualche blocco nel livello inferiore. Si ha un miss (fallimento nell accesso) se il dato non è presente nel livello immediatamente inferiore ed occorre accedere al livello più distante. Uno dei parametri principali per la valutazione delle prestazioni di una gerarchia di memoria è l hit ratio (tasso di hit), ovvero la frazione degli accessi in ram che si sono risolti al livello più vicino. Il miss ratio è definito come 1-hit ratio ed indica la percentuale degli accessi che non sono stati soddisfatti dal livello più vicino nella gerarchia. Tempo di hit: tempo necessario a prelevare il dato dal livello più vicino, comprendendo il tempo necessario a determinare se l accesso è un hit o un miss. Tempo di miss: tempo necessario a sostituire un dato nel livello più vicino con il blocco corrispondente nel livello inferiore, più il tempo necessario per consegnare il dato al livello richiedente (ad es. il processore).
20 La cache Il termine cache è stato usato per la prima volta per indicare il livello della gerarchia tra la CPU e la memoria principale, ma è oggi utilizzato per indicare qualsiasi tipo di gestione della memoria che tragga vantaggio dalla località degli accessi. Il meccanismo è semplice: Il processore interagisce direttamente SOLO con la cache. Quando il processore richiede una parola non presente nella cache (miss) la parola viene trasferita dalla memoria nella cache Occorre definire dei meccanismi per: 1. Conoscere se un dato è nella cache 2. Nel caso in cui il dato sia presente, conoscere la sua posizione ed accedervi. Queste operazioni devono essere eseguite nel minor tempo possibile, poiché la velocità con cui si riesce ad accedere ai dati nella cache influisce molto sulle prestazioni dell intero sistema di memoria.
21 Corrispondenza tra indirizzi cache Problema: ad una posizione in cache sono associate più parole di memoria. Come è possibile sapere se il dato presente nella cache corrisponde effetivamente alla parola richiesta? Memoria
22 I tag Oltre ai dati richiesti, la cache deve permettere la memorizzazione di informazioni aggiuntive (tags) che permettano la corretta gestione della gerarchia di memorie. Per associare univocamente una parola di memoria ad una posizione in una cache direct mapped è sufficiente memorizzare, assieme al dato, anche la parte più significativa dell indirizzo, quella che non corrisponde ai bit utilizzati come indice nella cache. Per distinguere le posizioni della cache contenenti dati validi (es.all avvio del processore la cache è vuota ed il suo contenuto non è significativo), il metodo più comune è aggiungere un bit di validità.
23 Sfruttare la località spaziale Per trarre vantaggio del principio di località spaziale, è opportuno prevedere che i blocchi della cache siano più ampi di una sola parola. In caso di miss saranno così caricate diverse parole adiacenti che hanno un elevata probabilità di essere richieste nel prossimo futuro. Ogni linea di cache memorizza più parole e si usa il campo Offset del blocco per selezionare la parola richiesta tra quelle presenti nella linea Nota: una linea della cache contiene più dati ma i bit di indirizzo e i tag non sono replicati. Perché?
24 CPU spazio indirizzi: vettore di blocchi Nel seguito assumiamo indirizzo di memoria 32-bit blocco di memoria: 32 byte 31 Numero del blocco Byte # 27 bits 5 bits Il compito di una cache è di memorizzare le pagine più popolari 0 Block # byte blocks. memoria
25 Cache a corrispondenza diretta-direct mapped A ciascuna parola di memoria corrisponde esattamente una locazione della cache. Se il numero di blocchi nella cache e 2 N allora la posizione corrispondente della parola in cache è data dai N bits meno significativi dell indirizzo Esempio: Numero di elementi nella cache: 4 Bit per indirizzare una locazione della cache:log 2 (8)=2 Indirizzo della parola di memoria= Posizione in cache: 00 (posizione 0)
26 Cache direct mapped Blocchi di un dato colore possono comparire SOLO nella stessa linea di cache 32-bit Memory Address Numero del blcoo Colore Byte # 25 bits 2 bits 5 bits Indica la riga della cache: sono sufficiente 2 bit per specificare un colore fra quattro 0 Block # byte blocks.
27 Cache Direct Mapped: esempio indirizzo memoria (32 bit) Cache Tag (25 bit) Indice No. Byte Ex: 0x01 24 Cache Tag 0 DATI Cache Ex: 0x00 Byte Byte 1 Byte 0 = Byte Byte 1 Byte 0 Hit: si verifica se i 25 bit significativi dell indirizzo sono uguali a tag memorizzato in cache Bit Validità Se si verifica Hit il dato viene fornito alla CPU
28 Dimensione di una cache direct mapped Calcolo della dimensione totale di una cache a corrispondenza diretta Il numero totale di bit in una cache a corrispondenza diretta con 2 n blocchi è maggiore di: 2 n x dim.blocco= 2 n x 32 bits Infatti Assumendo che la cache abbia una capacità di 2 n parole, e blocchi di 32 bit (4 bytes) il campo tag ha dimensione: 32 (n+2) bit, (2 bit sono usati per l offset del byte, indir. su byte), la dimensione è pari a 2 n x (dim.blocco+dim.tag+dim.bit validità)= 2 n x (32+32-(n+2)+1)= 2 n x (63-n) bits
29 Indirizzo i di memoria : un punto per accesso ) I limiti di cache direct-mapped... Cosa succede se i blocchi hanno lo stesso colore? Time Donald J. Hatfield, Jeanette Gerald: Program Restructuring for Virtual Memory. IBM Systems Journal 10(3): (1971)
30 Cache Fully associative Nelle cache direct mapped a ciascun blocco della memoria corrisponde una specifica locazione nella cache Cache fully associative (completamente associativa): ogni blocco può essere collocato in qualsiasi locazione della cache Vantaggio: massima utilizzazione della cache Contro: per ricercare un blocco nella cache è necessario cercarlo in tutte le linee della cache. La ricerca sequenziale è troppo lenta Per velocizzare la ricerca è necessario effettuarla in parallelo, associando un comparatore a ciascuna posizione della cache. COSTO MOLTO ELEVATO
31 Cache Fully Associative Ideali ma costose Cache Tag (27 bit) No. Byte Block # ( Tags ) 0 26 Cache Data Holds 4 blocks Ex: 0x04 = Byte Byte 1 Byte 0 = Byte Byte 1 Byte 0 = = Hit: esiste una linea della cache in cui tag indirizzo= tag in cache Bit Validità Se si verifica Hit il dato viene fornito alla CPU
32 Cache set associative Nelle cache direct mapped a ciascun blocco della memoria corrisponde una specifica locazione nella cache. In una cache fully associative ogni blocco può essere collocato in qualsiasi locazione della cache. Un buon compromesso è costituito dalle cache setassociative (anche n-way set associative) : ciascun blocco di memoria ha a disposizione un numero fisso n (>=2) di locazioni in cache. In questo caso la ricerca di un blocco richiede di confrontare il tag in n posizioni In questo modo si trae vantaggio della possibilità senza aumentare il costo di ricerca in modo inaccettabile
33 Cache 2-Set Associative N-way set associative -- N è il numero di blocchi di ciascun colore (in fig. 2) Cache Tag (26 bits) Ex: 0x01 Index (2 bits) Byte Select (4 bits) Cache Data Valid Cache Tags Cache Tags Valid Cache Data Cache Block Cache Block Cache Block = = Cache Block 16 bytes NOTA: in esempio la dim. blocco è la metà per mantenere costante il numero di bit dati in cache Hit Left Hit Right Hit: il dato è trovato nel blocco a destra o in quello a sinistra 16 bytes PowerPC 970: 32K 2-way set associative L1 D-cache
34 Cache 4-set associative
35 Politiche di rimpiazzamento in cache Nota: nel caso 2-way è faciel realizzare LRU Dopo un miss in cache se non ci sono blocchi disponibili, quale blocco bisogna rimuovere dalla cahce (per fare posto al blocco chiesto)? L ultimo blocco richiesto (LRU)? Auspicabile MA difficile da implementare in cache complet. associat. Dimens. Random LRU 16 KB 5.7% 5.2% 64 KB 2.0% 1.9% 256 KB 1.17% 1.15% Blocco scelto a caso (random)? Facile da realizzare; MA è efficiente? Miss Rate per cache 2-way Set Associative
36 Gestione delle operazioni di scrittura Le operazioni di scrittura devono essere gestite in maniera più complessa rispetto alle letture. Se le scritture alterassero solo lo stato della cache e non venissero propagate fino alla memoria principale si creerebbero situazioni di incoerenza Due modalità: write-through: assicurare la coerenza di cache e memoria scrivendo sempre i dati sia nella memoria che nella cache. write back: scrivere solo quando necessario
37 Write through 1. Accedere alla cache usando come indice i bit meno significativi dell indirizzo 2. Scrivere i rimanenti bit dell indirizzo nel campo tag, scrivere la parola di dato e settare il bit di validità 3. Scrivere la parola nella memoria principale utilizzando l indirizzo completo Svantaggi: tutte le operazioni di scrittura implicano scrittura nella memoria principale, durante le quali il processore rimane in fase di stallo. Possibile soluzione: buffer delle scritture. Limiti: processore può generare richieste di scritture ad un tasso maggiore di quello con cui la memoria porta a termine le scritture Nota: per scrivere non è necessario effettuare accessi in lettura alla memoria principale.
38 Write back Una tecnica alternativa che offre prestazioni in genere superiori è il write-back. I blocchi sono effettivamente scritti in memoria principale solo quando è necessario rimpiazzarli nella cache Svantaggio: maggiore complessità implementativa rispetto al write-through Vantaggio: minore numero di accessi alla memoria principale e quindi maggiore efficienza. Infatti, se una variabile viene modificata più volte mentre è in cache si accede alla memoria una sola volta (quando esce dalla cache)
39 Gestione delle scritture Quando si scrive è necessario verificare sempre offset. All atto della scrittura si confronta il tag in cache con quello associato all indirizzo in cui scrivere. Se sono uguali è sufficiente aggiornare la parola in cache. Altrimenti è necessario caricare l intero blocco in cache e quindi riscrivere la parola che ha causato il miss.
40 Politiche di scrittura Politica I miss in scrittura producono operazioni di lettura? Scritture ripetute sullo stesso dato provocano più scritture in memoria di livello inferiore? Write-Through I dati scritti in cache sono anche scritti nella memoria di livello inferiore No Sì Write-Back I dati sono scritti solo in cache Si aggiorna la memoria di livello infer. solo quando si ha miss Sì No Altra questione: le scritture di blocchi NON in cache implicano l aggiorname nto della cache o solo la scrittura dei dati in memoria di livello inferiore?
41 Prestazioni di cache Tempo esecuz. Numero programma istruz. progr. (sec.) Cicli clock per istr. * * Secondi per ciclo Cause di miss miss obbligatori miss di conlfitto miss di capacità Tipicamente miss rate varia da 1% a 15% NOTA: il numero di cicli di clock per istr. dipende dal Tempo Medio di Accesso in Memoria per istr. e dati (TMAM) TMAM = Hit Time + (Miss Rate x Miss Penalty) Obiettivo: Ridurre TMAM NOTA: migliorare un fattore può imlicare l aumento di altri fattori!
42 Cause di miss in cache: Miss di conflitto cache M-way assoc.: N blocchi sono usati che sono in conflitto ma M < N Miss Rate Soluzione: aumentare M (Associatività) Miss rate improvement equivalent to doubling cache size. cache associative. Altre soluzioni Aumenta la dimensione blocco. (perché funziona?) NOTA: aumentare associatività può aumentare hit time aumentare dimensione del blocco (a parità di dimensione della cache può aumentare altri tipi di conflitto Dimens. Cache (KB) Se aumenta Hit time aumenta TMAM TMAM = Hit Time + (Miss Rate x Miss Penalty)
43 Altre cause di miss in cache Miss di capacità La Cache non può contenere tutti i blocchi richiesti dal programma Soluzione: aumentare le dimensioni della cache Miss obbligatori La prima volta che si richiede un blocco il Miss è inevitabile Soluzione: indovinare e caricare PRIMA i blocchi che saranno chiesti nel futuro Miss rates (relativo fra i diversi tipi di conflitto) Obbligatori Dimensione Cache (KB)
44 Miss rate e dimensione dei blocchi D: Perché al crescere della dim. del blocco il miss rate prima diminuisce e poi cresce?
45 Altre domande su cache Quali tipi di miss si verificano in cache associative di dimensioni infinite? R. miss obbligatori: bisogna portare un blcoo in memoria. In una cache associtaiva di dimensione finita, quali tipi di miss si verificano (oltre agli obbligatori)? R. miss di capacità. I programmi possonoi usare più blocchi di quanto entrino in cache. Inoltre quali tipi di miss asi verificano in una cache set-associative o direct-mapped? R. miss di conflitto. Calcola il numero di bit richiesto da cache k- set associative.
46 Esempio di accesso ad una cache a corrispondenza diretta
47 La sequenza di accessi considerata
48 Stato Iniziale
49 Primo accesso: 22=MISS
50 Secondo Accesso: 26=MISS
51 Terzo Accesso: 22 = HIT!
52 Quarto Accesso: 26 = HIT!
53 Quinto Accesso: 16 = MISS
54 Sesto Accesso: 3 = MISS
55 Settimo Accesso: 16 = HIT
56 Ottavo Accesso: 18 = Miss + Sovrascrittura
57 Cache multi livello Aggiunta di un secondo livelo di cache: spesso la cache primaria è nello stesso chip del processore si introduce un altro cache basato su tecnologia SRAM tra la cache primaria e la memoria principale (DRAM) La penalità di miss è ridotta sensibilmente se il dato è trovato sulla cache di secondo livello Esempio: CPI di 1.0 con elaboratore a 500Mhz con 5% miss rate, 200ns DRAM accesso Aggiungendo 2nd level cache con tempo di accesso di 20ns time ilmiss rate si abbassa a 2% Utilizzo di multilevel caches: Si tenta di ottimizzare il tempo di hit sulla cache di primo livello Si tenta di ottimizzare il tasso di miss sulla cache di secondo livello.
58 Prestazioni delle cache a più livelli Miss penalty L2 cache= 5 ns/0,5 ns/cicli di clock = 10 cicli di clock CPI effettivo =CPI ideale +cicli di stallo per istruzione dovuti ad accesso a RAM+cicli di stallo per istruzione dovuti ad accesso a L2 cache CPI effettivo =1+5%*10+2%*100=3,5 Dato un Processore a 2 GHZ (tempo di clock 0.5 ns) con CPI ideale =1,0 (se tutti gli accessi sono risolti nella L1 cache). Tempo di accesso a RAM=50ns; Miss-rate L1 cache=5% Miss penalty = 50 ns/ 0,5 ns/cicli di clock = 100 cicli di clock CPI effettivo =CPI ideale +cicli di stallo per istruzione dovuti ad accesso a RAM CPI effettivo =1+5%*100=6 Supponiamo di introdurre una cache di secondo livello con : Tempo di accesso= 5 ns ed grande abbastanza da avere: Miss-rate L2 cache=2%
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
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,
Architetture Avanzate dei Calcolatori. Valeria Cardellini. Divario delle prestazioni processore- memoria
La gerarchig erarchia di memorie e (1) Architetture Avanzate dei Calcolatori Valeria Cardellini Divario delle prestazioni processore- memoria 100.000 Soluzione: memorie cache più piccole e veloci tra processore
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
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.
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
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
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,
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 è
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
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
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
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
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
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
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,
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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à,
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
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
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
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
Fondamenti di informatica: un po di storia
Fondamenti di informatica: un po di storia L idea di utilizzare dispositivi meccanici per effettuare in modo automatico calcoli risale al 600 (Pascal, Leibniz) Nell ottocento vengono realizzati i primi
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 [email protected] a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
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
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
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Prof. Andrea Borghesan venus.unive.it/borg [email protected] Ricevimento: martedì, 12.00-13.00. Dip. Di Matematica Modalità esame: scritto + tesina facoltativa 1
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
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)
I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo
I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?
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
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
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
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
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.
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 [email protected] Prestazioni Si valutano in maniera diversa a seconda dell
Architettura di un computer
Architettura di un computer Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Architettura A.A. 2012-2013 1 / 36 La tecnologia Cerchiamo di capire alcuni concetti su
Strutturazione logica dei dati: i file
Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer
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
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
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
Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
MECCANISMI E POLITICHE DI PROTEZIONE 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
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
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...
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
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
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
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
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)
Cosa è un foglio elettronico
Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti
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
Approccio stratificato
Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia
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
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
Testi di Esercizi e Quesiti 1
Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica
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
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
Calcolatori Elettronici
Calcolatori Elettronici La Pipeline Superpipeline Pipeline superscalare Schedulazione dinamica della pipeline Processori reali: l architettura Intel e la pipeline dell AMD Opteron X4 Ricapitolando Con
L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia
L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza
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
Appunti di informatica. Lezione 6 anno accademico 2015-2016 Mario Verdicchio
Appunti di informatica Lezione 6 anno accademico 2015-2016 Mario Verdicchio RAM disco La RAM è basata su dispositivi elettronici, che funzionano con tempi molto rapidi, ma che necessitano di alimentazione
Il Sistema Operativo
Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema
SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09
SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli
Memoria Secondaria o di Massa
.. Pacman ha una velocità che dipende dal processore...quindi cambiando computer va più velocemente..sarà poi vero? Memoria Secondaria o di Massa dischi fissi (hard disk), floppy disk, nastri magnetici,
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
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:
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
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
