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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

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

2 Dove Studiare? Capitolo 7 Patterson-Hennessy Gerarchie di Memoria A.A. 2002/2003 2

3 Obbiettivo Creare l illusione di una memoria grande, veloce e poco costosa le memorie grandi sono lente e quelle piccole veloci Come fare? Gerarchia di memorie di diverse prestazioni e dimensioni Gerarchie di Memoria A.A. 2002/2003 3

4 Gerarchie di Memoria: Perche Gli utenti vogliono memorie veloci ed economiche! SRAM tempi di accesso: 2-25ns al costo di $100 to $250 per Mbyte. DRAM tempi di accesso: ns al costo di $5 to $10 per Mbyte. Disk tempi di accesso: 10 to 20 ms al costodi $.10 to $.20 per Mbyte Metodo per soddisfare l esigenza: Costruire una gerarchia di memoria CPU Level 1 Increasing distance from the CPU in access time Levels in the memory hierarchy Level 2 Level n Size of the memory at each level Gerarchie di Memoria A.A. 2002/2003 4

5 Tendenze tecnologiche Logica: DRAM: Dischi: Capacita Velocita (latenza) 2x in 3 anni 2x in 3 anni 4x in 3 anni 2x in 10 anni 4x in 3 anni 2x in 10 anni DRAM anno Size Cycle Time Kb 250 ns Kb 220 ns Mb 190 ns 1000:1! Mb 165 ns 2:1! Mb 145 ns Mb 120 ns Gerarchie di Memoria A.A. 2002/2003 5

6 Problema reale? Differenza di prestazioni tra processore e DRAM (latenza) Proc 60%/anno. (2X/1.5anni) 1000 Legge di Moore CPU 100 Processore-memoria Performance Gap: (cresce 50% / anno) 10 1 DRAM DRAM 9%/anno. (2X/10 anni) Prestazioni 2000 Anno Gerarchie di Memoria A.A. 2002/2003 6

7 Minimum PC memoria Size Il numero di DRAM /sistema diminuisce nel tempo DRAM Generation Mb 4 Mb 16 Mb 64 Mb 256 Mb 1 Gb 4 MB 8 MB 16 MB 32 MB 64 MB 128 MB 256 MB Gerarchie di Memoria A.A. 2002/2003 7

8 Sistema di memoria gerarchizzato Processore Controllo memoria memoria Datapath memoria memoria memoria Velocita': molto veloce Meno veloce Dimensioni: Molto piccola Molto grande Costo: Molto costosa Poco costosa Livelli alti Livelli bassi Gerarchie di Memoria A.A. 2002/2003 8

9 Perche un sistema gerarchico funziona Il principio di localita : Un programma accede a una parte molto piccola del suo spazio di indirizzamento in ogni particolare momento. Probabilita di leggere o scrivere 0 Spazio di indirizz. 2^n - 1 Spaziale e temporale Gerarchie di Memoria A.A. 2002/2003 9

10 Localita Temporale Se si accede ad un dato od istruzione, e probabile che vi si acceda ancora nell immediato futuro esempio: la maggior parte dei programmi contiene dei cicli: accesso ripetuto ad istruzioni e dati. Gerarchie di Memoria A.A. 2002/

11 Localita Spaziale Se si accede ad un dato od istruzione, e probabile che presto si acceda a quelli adiacenti esempio istruzioni: normalmente si accede sequenzialmente alle istruzioni esempio dati: accesso agli elementi di un vettore o di una stringa Gerarchie di Memoria A.A. 2002/

12 Uso delle gerarchie Grazie al principio di localita si puo : Dare all utente quanta memoria e possibile con la tecnologia meno costosa... mantenendo i bassi tempi di accesso della tecnologia piu costosa. Gerarchie di Memoria A.A. 2002/

13 Uso delle gerarchie Processore Datapath Control Registers On-Chip Cache Second Level Cache (SRAM) Main memoria (DRAM) Secondary Storage (Disk) Tertiary Storage (Disk) velocita' (ns): ,000,000 Dimenzioni (10 ms) (bytes): 100 K M M/G G 10,000,000,000 (10 sec) T Gerarchie di Memoria A.A. 2002/

14 Come si gestisce la gerarchia? Registri <-> memoria Compilatore e programmatore cache <-> memoria In hardware memoria <-> dischi Hardware e sistema operativo (memoria virtuale) Programmatore (file) Gerarchie di Memoria A.A. 2002/

15 Tecnologia Accesso casuale: Tempo di accesso quasi uguale a tutte le locazioni DRAM: Dynamic Random Access memory Alta densita, poco costosa, densa, lenta Deve essere rinfrescata periodicamente SRAM: Static Random Access memory Bassa densita, alta potenza, costosa, veloce Il contenuto non deve essere rinfrescato Accesso quasi casuale: Il tempo di accesso varia da locazione a locazione Esempi: Dischi, CDROM Accesso sequenziale, il tempo di accesso dipende dalla posizione (nastri) Gerarchie di Memoria A.A. 2002/

16 Tecnologia I primi due livelli di gerarchia gestiscono solo memorie ad accessi casuali I livelli seguenti gestiscono anche memorie ad accesso non casuale Gerarchie di Memoria A.A. 2002/

17 Sommario Due tipi di localita : Temporale: se si accede a un elemento di memoria, probabilmente lo si referenzia di nuovo molto presto Spaziale: Se si accede a un elemento di memoria probabilmente si accedera anche agli elementi vicini (come indirizzo) Sfruttando la localita : Si fornisce all utente molta memoria a basso costo ma con una velocita che si avvicina a quella delle memoria ad alto costo. DRAM e lenta ma economica e densa SRAM e veloce ma costosa e non densa Gerarchie di Memoria A.A. 2002/

18 Due livelli in interazione due livelli (superiore, inferiore) Processor Data are transferred blocco: unita minima di data hit: il dato richiesto e nel livello superiore miss: i dati non sono disponibili al livello alto e devono essere presi da un livello basso Gerarchie di Memoria A.A. 2002/

19 Hit Hit: I dati sono disponibili in un livello alto Hit Rate: la frazione di accessi che trovano l informazione nel livello alto Hit Time: Tempo per accedere a un livello alto Tempo di accesso alla RAM + tempo per sapere se e un hit Gerarchie di Memoria A.A. 2002/

20 Miss Miss Rate = 1 - (Hit Rate) Miss Penalty: Tempo per trovare lo spazio per mettere un blocco in un livello superiore e poi trasferirvelo Hit Time << Miss Penalty Gerarchie di Memoria A.A. 2002/

21 Cache Due problemi: Come facciamo a sapere che un dato e in cache? Se e in cache come facciamo a sapere dov e? Primo esempio: la cache gestisce una word alla volta direct mapped: per ogni elemento a livello basso c e un solo posto nel livello alto nel quale puo essere messo. Gerarchie di Memoria A.A. 2002/

22 Direct Mapped Cache -1 Mappatura: l indirizzo e calcolato modulo il numero di blocchi in cache Cache Memory Gerarchie di Memoria A.A. 2002/

23 Direct Mapped Cache -2 Per MIPS: A d d re s s (s h o w in g b it p o s itio n s ) Byte offset Hit Tag Data Ind ex In de x Valid Tag Data Quale tipo di localita si sfrutta? Gerarchie di Memoria A.A. 2002/

24 Direct Mapped Cache -3 Quanti bit sono richiesti in totale per una cache direct-mapped con 64KB di dati e blocchi di 1word, assumendo un indirizzo di 32 bit? 64KB = 16 K word = 2 14 word = 2 14 blocchi Cache totale e quindi: 2 14 x (32 + ( ) +1) = 2 14 x 49 = 784 Kbit = 98 KB In generale per una Cache con 2 n word di dati il numero totale di bit e di 2 n x (63 n) Gerarchie di Memoria A.A. 2002/

25 Direct Mapped Cache - 4 Sfruttare la localita spaziale: A d d re s s (s h o w in g b it p o sitio n s) Hit Tag Byte offset Index Block offset Data 16 bits 128 bits V Tag Data 4K entries Mux 32 Gerarchie di Memoria A.A. 2002/

26 Hits vs. Misses Read hits Quello che vuole ottenere! Read misses Ferma la CPU, leggi il blocco da un livello inferiore, riparti Write hits: Write through: riscrive cache e memoria Write back: scrive la cache ma non la memoria (che deve essere riscritta solo quando si cancella la cache) Write misses: Legge il blocco in cache, scrive Gerarchie di Memoria A.A. 2002/

27 Prestazioni Aumentando la dimensione del blocco il miss rate tende a diminuire: 40% 35% 30% Miss rate 25% 20% 15% 10% 5% 0% Block size (bytes) 1 KB 8 KB 16 KB 64 KB 256 KB Gerarchie di Memoria A.A. 2002/

28 Dimensioni di un blocco Piu grande e il blocco piu si trae vantaggio dalla localita spaziale MA: La miss penalty diventa maggiore: Ci vuole piu tempo a caricare un blocco Se il blocco e troppo grande relativamente alle dimensioni della cache il miss rate sale In generale, Tempo medio di accesso: = Hit Time x (1 - Miss Rate) + Miss Penalty x Miss Rate Miss Penalty Miss Usa localita Rate Pochi blocchi Average Access Time Block Size Block Size Block Size Gerarchie di Memoria A.A. 2002/

29 Miglioramenti Hardware -1 Si rende piu facile la lettura di word multiple usando banchi di memoria CPU CPU CPU Cache M ultiplexor Cache Cache Bus Bus Bus Memory Memory bank 0 Memory bank 1 Memory bank 2 Memory bank 3 Memory b. Wide memory organization c. Interleaved memory organization a. One-word-wide memory organization Gerarchie di Memoria A.A. 2002/

30 Interleaving Senza interleaving: CPU memoria D1 available Start Access for D1 Start Access for D2 Accesso Bank 0 Accesso Bank 1 Con 4-way Interleaving: Accesso Bank 2 Accesso Bank 3 CPU memoria Bank 0 memoria Bank 1 memoria Bank 2 memoria Bank 3 Si puo accedere di nuovo a 0 Gerarchie di Memoria A.A. 2002/

31 Miglioramenti Hardware -2 Parametri: 1 ciclo di clock per mandare un indirizzo 15 cicli per ogni accesso iniziato in DRAM 1 ciclo per mandare una word di dati Caso 1: cache con blocco di 4 word e DRAM con banco di 1 word: Miss penalty=1+4x15+4x1=65 cicli di clock Numero di bit trasferito per ciclo = 4 x 4/65 = 0,25 Caso 2:stessa cache e DRAM con banco da 4 word: Miss penalty=1+1x15+1x1=17 cicli di clock Numero di bit trasferito per ciclo = 4 x 4/17 = 0,94 Caso 3: stessa cache e DRAM con 4 banchi da 1 word: Miss penalty=1+1x15+4x1=20 cicli di clock Numero di bit trasferito per ciclo = 4 x 4/20 = 0,80 Gerarchie di Memoria A.A. 2002/

32 Sommario - 1 Cache piu semplice: direct-mapped con blocco di una word Hit e miss semplici: una word puo andare esattamente in una locazione vi e una tag separata per ogni word Corenza cache-memoria: Write-trough: ogni scrittura nella cache provoca l update della memoria Write-back: blocco e copiato in memoria solo quando e sostituito Gerarchie di Memoria A.A. 2002/

33 Sommario -2 Cache con blocchi piu grandi di una word: sfrutta la localita spaziale Blocchi piu grandi: diminuisce il miss rate e migliora efficienza cache rapporto dimensione tag / dimensione dati Aumenta la miss penalty: se cresce linearmente con Ia dimensione dei blocchi puo portare ad un abbassamento delle prestazioni Per evitare cio l ampiezza di banda della memoria principale viene aumentata: si usano due metodi Interleaving Memoria piu ampia Gerarchie di Memoria A.A. 2002/

34 Prestazioni Due modi per migliorare le prestazioni delle cache: Diminuendo il miss rate Cache Associative Diminuendo la miss penalty Multilevel caching Gerarchie di Memoria A.A. 2002/

35 Associativita : migliorare il miss rate One way set associative (direct mapped) Block Tag Data Two-way set associative Set Tag Data Tag Data Four-way set associative Set 0 1 Tag Data Tag Data Tag Data Tag Data Eight-way set associative (fully associative) Tag Data Tag Data Tag Data Tag Data Tag Data Tag Data Tag Data Tag Data Gerarchie di Memoria A.A. 2002/

36 Una implementazione Index V Tag Data V Tag Data V Tag Data V Tag Data to-1 multiplexor Hit Gerarchie di Memoria A.A. 2002/ Data

37 Prestazioni 15% 12% 9% Miss rate 6% 3% 0% One-way Two-way Four-way Eight-way Associativity 1 KB 16 KB 2 KB 32 KB 4 KB 64 KB 8 KB 128 KB Gerarchie di Memoria A.A. 2002/

38 Diminuzione del miss penalty con cache multilivello Aggiunta una cache di secondo livello : Spesso la cache primary e sullo stesso chip del processore Uso di SRAM per aggiungere un altra cache sopra la memoria princiopale (DRAM) miss penalty si abbassa se il dato e nella cache di 2nd livello Esempio: CPI =1.0 su una maccghina a 500Mhz con un 5% di miss rate e 200ns di accesso alla DRAM Aggungendo cache di 2nd livello con tempo di accesso di 20ns diminuisce il miss rate al 2% usando cache multilivello si cerca di ottimizzare: lo hit time sulla cache del 1st il miss rate sulla cache del 2nd livello Gerarchie di Memoria A.A. 2002/

39 Misure di prestazioni Modello semplificato: execution time = (execution cycles + stall cycles) cycle time stall cycles = # of instructions miss rate miss penalty Gerarchie di Memoria A.A. 2002/

40 Calcolo di prestazioni - 1 gcc: Instruction cache miss rate: 2% Data cahe miss rate 4% CPI=2 senza memory stall miss penalty = 40 per tutti I miss Instruction miss cycles = I x 2% x 40 = 0.80 I Data miss cycles = I x 36% x 4% x 40 = 0.56 I Numero totale di cicli di memory-stall = 1.36 I CPI con memory stall = = 3.36 Prestazione con cache perfetta (senza memory stall) e piu grande di 3.36/2 = 1.68 Gerarchie di Memoria A.A. 2002/

41 Memoria virtuale -1 La memoria principale puo fare da cache per il disco. Virtuali Virtual addresses Address translation Fisici Physical addresses Disk addresses Gerarchie di Memoria A.A. 2002/

42 Memoria Virtuale -2 Cache servono come modo per fornire un accesso veloce a porzioni recentemente usate di codice e programma Analogia Memoria principale puo agire come cache per la memoria secondaria Cache -> RAM RAM -> Disco Gerarchie di Memoria A.A. 2002/

43 Motivazioni - 1 Permettere condivisione efficiente e sicura della memoria tra piu programmi Piu programmi in esecuzione contemporanea su una macchina: memoria totale richiesta superiore alla memoria principale disponibile Solo una frazione di questa memoria e effettivamente usata ad ogni istante La memoria principale deve contenere ad ogni istante solo le porzioni attive dei programmi in esecuzione cosi come la cache contiene solo porzione attiva di un programma Gerarchie di Memoria A.A. 2002/

44 Problemi -1 Piu programmi condividono la stessa memoria: bisogna assicurare che ogni programma possa leggere e scrivere solo la porzione di memoria a lui assegnata Programmi che condividono la memoria cambiano dinamicamente durante l esecuzione: si vuole compilare un programma con un suo spazio di indirizzamento = intervallo di memoria indirizzabile unicamente da quel programma Gerarchie di Memoria A.A. 2002/

45 Motivazioni - 2 Rimuovere il vincolo per il singolo programma di una limitata quantita di memoria Prima era il programmatore che si preoccupava di dividere il programma in parti disgiunte (overlay): si assicurava che durante l esecuzione non fosse mai richiesta una quantita di memoria superiore a quella fisica Overlay organizzati in moduli: chiamate a procedure in differenti moduli non poteva mai avvenire Memoria virtuale tratta in maniera automatica I due livelli di memoria: Memoria fisica o principale Memoria secondaria - disco Gerarchie di Memoria A.A. 2002/

46 Vantaggi Illusione di avere piu memoria fisica Protezione tra processi (es. Applicativi) Rilocazione dei programmi Semplificato il caricamento di un programma Mappa l indirizzamento virtuale usato da un programma in indirizzamento fisico Permette di caricare il programma in ogni locazione della memoria principale Rilocazione del codice in un insieme di blocchi di dimensione fissa Eliminata necessita di di trovare blocchi contigui di memoria fisica dove allocare il programma Necessario solo un numero di blocchi sufficienti in memoria fisica Gerarchie di Memoria A.A. 2002/

47 terminologia cache Blocco Miss Memoria virtuale Pagina Page fault Gerarchie di Memoria A.A. 2002/

48 Memory mapping - 1 Indirizzi Virtuali Virtual addresses Address translation Indirizzi Fisici Physical addresses Disk addresses Gerarchie di Memoria A.A. 2002/

49 Memory mapping - 2 Virtual address Virtual page number Page offset Translation Physical page number Page offset Physical address Gerarchie di Memoria A.A. 2002/

50 Pagine: blocchi di memoria Numero di bit del page offset = dimensione della pagina page offset=12 dimensione della pagina=2 12 B= 4KB Numero di pagine indirizzabili con l indirizzamento virtuale non deve essere uguale a quello dell indirizzamento fisico Numero di pagine fisiche = 2 18 Memoria fisica = 1GB Numero pagine virtuali = 2 20 Memoria virtuale = 4GB Gerarchie di Memoria A.A. 2002/

51 Virtual page Virtual page number Valid Page Tables - 1 Page table Physical page or disk address Physical memory Disk storage Gerarchie di Memoria A.A. 2002/

52 Page Tables - 2 Page table register Virtual address Virtual page number Page offset Valid Physical page number Page table If 0 then page is not present in memory Physical page number Page offset Physical address Gerarchie di Memoria A.A. 2002/

53 processo Page table + PC + registri = stato del programma Per permettere ad un altro programma di usare la CPU, bisogna salvare questo stato Sistema non salva intera page table => semplicemente viene caricato il: registro della page table=punta alla page table del processo in considerazione Gerarchie di Memoria A.A. 2002/

54 Pagine - miss Page fault: I dati non sono in memoria e devono essere presi dal disco miss penalty grandissima: le pagine devono essere molto grandi (>=4KB) E importante ridurre il numero di page fault (ad esempio con piazzamento associativo e LRU) Ma si possono gestire I fault in software invece che in hardware Si usa write-back perche write-through e troppo costoso Gerarchie di Memoria A.A. 2002/

55 Page table: dimensione - 1 Indirizzamento virtuale a 32 bit Pagine da 4kB Dim per page table entry = 4B # di page table entry = 2 32 / 2 12 = 2 20 =1 M Dim page table = # di page table entry x Dim per page table entry Dim page table = 4MB Bisogna destinare 4MB di memoria fisica per ogni processo attivo!! Gerarchie di Memoria A.A. 2002/

56 Page table: dimensione - 2 Tecniche per ridurre la dimensione della page table in memoria: Per un processo tenere un registro che limita la dimensione della page table =>se le pagine virtuali superano questo limite, bisogna aggiungere delle entry => la page table puo crescere se il processo consuma piu spazio di indirizzamento spazio di indirizzamento si espande in una sola direzione In MIPS ci sono due aree che si possono espandere: stack e heap =>si divide la page table in due una parte puo crescere dagli indirizzi bassi a quelli alti, altra da quelli alti a quelli bassi Gerarchie di Memoria A.A. 2002/

57 TLB Accesso in memoria di un programma richiede due passi: Accesso in memoria alla page table Accesso in memoria per avere i dati Come migliorare? Localita : quando un numero di pagina virtuale e in uso, probabile suo uso nel futuro Uso di una speciale cache che tiene traccia delle traduzioni recenti: TLB=translation lookaside buffer Gerarchie di Memoria A.A. 2002/

58 Velocita della traduzione TLB (translation lookaside buffer) : una cache per i numeri di pagina Virtual page number Valid Tag TLB Physical page address Physical memory Page table Physical page Valid or disk address Disk storage Gerarchie di Memoria A.A. 2002/

59 TLB valori tipici TLB size: entrate Block size: 1-2 entrate della page table Hit time:0,5 1 cicli di clock Miss rate: 0,01% - 1% Miss penalty: cicli di clock Gerarchie di Memoria A.A. 2002/

60 TLB e cache - 1 Virtual address TLB access TLB miss exception No TLB hit? Yes Physical address No Write? Yes Cache miss stall No Try to read data from cache Cache hit? Yes No Write protection exception Write access bit on? Yes Write data into cache, update the tag, and put the data and the address into the write buffer Deliver data to the CPU Gerarchie di Memoria A.A. 2002/

61 TLB e cache - 2 Virtual address Virtual address Virtual page number Page offset TLB TLB hit Valid Dirty Tag Physical page number 20 Physical page number Page offset Physical address Physical address tag Cache index Byte offset 2 Valid Tag Data Cache 32 Cache hit Gerarchie di Memoria A.A. 2002/ Data

62 TLB e cache Un accesso in memoria puo incontrare tre differenti tipi di miss: Cache miss TLB miss Page fault Un dato non puo essere in Cache a meno che non sia nella memoria pincipale Gerarchie di Memoria A.A. 2002/

63 Virtual Memory: protezione - 1 Condivisione della memoria da parte di processi multipli Meccanismi di protezione tra processi diversi: Scrittura Lettura Ogni processo ha il suo spazio di indirizzamento virtuale privato => una page table per processo Gerarchie di Memoria A.A. 2002/

64 Virtual Memory: protezione - 2 OS mantiene le page table organizzate di modo che pagine virtuali indipendenti siano mappate in pagine fisiche disgiunte: un processo non e in grado di accedere ai dati di un altro Processo user non in grado di cambiare la mappatura della page table OS deve poterlo fare Gerarchie di Memoria A.A. 2002/

65 Virtual Memory: protezione capacita base fornite da hw: 1. Permettere 2 modi di esecuzione di un programma: user e kernel mode 2. Fornire una porzione dello stato della CPU che un processo in user mode non puo modificare => user/supervisor bit 3. Fornire un meccanismo per cui la CPU puo andare da user a kernel mode e viceversa: User/kernel => una system call exception Kernel/user => RFE return from exception- ripristina lo stato del processo generato dall eccezione Gerarchie di Memoria A.A. 2002/

66 TLB miss e Page fault - 1 TLB miss, la pagina 1. e presente in memoria: creare TLB entry TLB trattato hw o sw: richiede solo una piccola sequenza di operazioni per copiare una pagina valida dalla memoria a TLB 2. Non e presente in memoria: page fault Meccanismo di eccezione per interrompere il processo attivo, trasferire il controllo al OS e piu tardi ripristinare l esecuzione del programma Gerarchie di Memoria A.A. 2002/

67 TLB miss e Page fault - 2 EPC exception program counter usato per salvare il PC dell istruzione che ha causato l eccezione Bisogna impedire di caricare o salvare in memoria in presenza di page fault Uso di Cause per diagnosi eccezione=> per page fault salva l intero stato del processo attivo registri +page table La gestione del page fault prende milioni di cicli del processore: OS seleziona un altro processo da eseguire nel frattempo Quando i dati sono disponibili, OS ripristina il processo in esecuzione => ritorno in user mode e riesecuzione della istruzione che ha causato l eccezione. Gerarchie di Memoria A.A. 2002/

68 Misses Compulsory: primo riferimento a un blocco inevitabile Statisticamente non importante Conflict (collisione): Molte locazioni di memoria mappate nello stesso blocco Soluzione 1: aumenta le dimensioni della cache Soluzione 2: aumenta l associativita Capacity: La cache non puo contenere tutte le locazioni usate da un programma Soluzione : aumentare le dimensioni della cache Gerarchie di Memoria A.A. 2002/

69 TLB cache memoria fisica Caratteristiche Cache Memoria fisica TLB Dim totale in blocchi Dim total in KB ,25-32 Dim di un blocco in byte Miss penalty in clock cycle M 10 M Miss rate 0,1% - 10% 0,00001% - 0,0001% 0,01% - 2% Gerarchie di Memoria A.A. 2002/

70 Esempi reali Characteristic Intel Pentium Pro PowerPC 604 Virtual address 32 bits 52 bits Physical address 32 bits 32 bits Page size 4 KB, 4 MB 4 KB, selectable, and 256 MB TLB organization A TLB for instructions and a TLB for data A TLB for instructions and a TLB for data Both four-way set associative Both two-way set associative Pseudo-LRU replacement LRU replacement Instruction TLB: 32 entries Instruction TLB: 128 entries Data TLB: 64 entries Data TLB: 128 entries TLB misses handled in hardware TLB misses handled in hardware Characteristic Intel Pentium Pro PowerPC 604 Cache organization Split instruction and data caches Split intruction and data caches Cache size 8 KB each for instructions/data 16 KB each for instructions/data Cache associativity Four-way set associative Four-way set associative Replacement Approximated LRU replacement LRU replacement Block size 32 bytes 32 bytes Write policy Write-back Write-back or write-through Gerarchie di Memoria A.A. 2002/

71 Tendenze Velocita del processore continua ad aumentare molto velocemente (legge di Moore) molto piu velocemente che i tempi di accesso a DRAM o a disco Sfida progettuale: gestire questa disparita crescente (circo 50% all anno) scelte: SRAM sincrona (fornisce un burst di dati) DRAM chip con una ampiezza di banda maggiore Ristrutturare il codice per aumentare la localita Uso del prefetching (rendere visibile la cache all ISA) Gerarchie di Memoria A.A. 2002/

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

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

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

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

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

Gerarchie di memoria Roberto Bisiani 5/22/2002 1

Gerarchie di memoria Roberto Bisiani 5/22/2002 1 Gerarchie di memoria 2002 Roberto Bisiani 5/22/2002 Dove studiare Trasparenze delle lezioni Patterson & Hennessy Cap. 7 5/22/2002 2 Tendenze tecnologiche Capacita' Velocita (latenza) Logica: 2x in 3 anni

Dettagli

Architetture Avanzate dei Calcolatori. Valeria Cardellini. Divario delle prestazioni processore- memoria

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

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

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

La memoria. I sistemi di memoria di un elaboratore possono essere suddivisi in: Memoria interna al processore Memoria principale Memoria secondaria

La memoria. I sistemi di memoria di un elaboratore possono essere suddivisi in: Memoria interna al processore Memoria principale Memoria secondaria La memoria I sistemi di memoria di un elaboratore possono essere suddivisi in: Memoria interna al processore Memoria principale Memoria secondaria La memoria interna Registri interni alla CPU Visibili

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

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

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

La Memoria Cache. Informatica B. Daniele Loiacono

La Memoria Cache. Informatica B. Daniele Loiacono La Memoria Cache Informatica B Il problema della memoria 2 Obiettivo: fornire agli utenti una memoria grande e veloce fornire al processore i dati alla velocità con cui è in grado di elaborarli Problema:

Dettagli

MEMORIA GERARCHIE DI MEMORIA

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

Dettagli

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

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

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

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

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

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

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

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

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

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

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

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

Le virtual machine e la memoria virtuale

Le virtual machine e la memoria virtuale Le virtual machine e la memoria virtuale Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento Patterson 5: 5.6, 5.7. 1/29

Dettagli

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario Lezione 2 Principi Fondamentali di SO Interrupt e Caching Sommario Operazioni di un SO: principi fondamentali Una visione schematica di un calcolatore Interazione tra SO, Computer e Programmi Utente 1

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

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

Gerarchie di Memoria Andrea Gasparetto andrea.gasparetto@unive.it

Gerarchie di Memoria Andrea Gasparetto andrea.gasparetto@unive.it Tutorato di architettura degli elaboratori Gerarchie di Memoria Andrea Gasparetto andrea.gasparetto@unive.it Esercizio 1 Considerare un sistema di memoria virtuale paginata, con dimensione dell indirizzo

Dettagli

Cache e gerarchia di memoria

Cache e gerarchia di memoria Cache e gerarchia di memoria Cache e gerarchia di memoria Gerarchia di Memoria: motivazioni tecnologiche per caching. Località: perché il caching funziona Processor Input Control Memory Datapath Output

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

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

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

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

Gerarchia di memorie

Gerarchia di memorie Gerarchia di memorie Regole base dell'efficienza: - Rendere di massima velocità il caso comune - Piccolo significa (in generale) veloce Nei programmi vi è una significativa presenza di località spaziale

Dettagli

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del

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

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

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

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

Le virtual machine e la memoria virtuale

Le virtual machine e la memoria virtuale Le virtual machine e la memoria virtuale Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento Patterson 5: 5.6, 5.7. 1/30

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

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

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

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

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

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

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 cache. Lab di Calcolatori

La memoria cache. Lab di Calcolatori La memoria cache 1 Gap delle prestazioni DRAM - CPU 1000 CPU- DRAM Gap CPU Proc 60%/yr. (2X/1.5yr) 100 10 ProcessorMemory Performance Gap: (grows 50% / year) D R A M DRAM9%/yr.(2X/10 yrs) 1 1980 1981 1982

Dettagli

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

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

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

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

= 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

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

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

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

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

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

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica Il presente esame scritto deve essere svolto in forma individuale in un tempo massimo di 60 minuti dalla sua

Dettagli

La gerarchia di Memoria

La gerarchia di Memoria La gerarchia di Memoria Metodologie di progettazione Hw-Sw- LS. Ing. Informatica Gap delle prestazioni DRAM - CPU 000 CPU 00 0 DRAM 980 98 982 983 984 985 986 987 988 989 990 99 992 993 994 995 996 997

Dettagli

Hardware di un Computer

Hardware di un Computer Hardware di un Computer Monitor Mouse Tastiera Printer Disk CPU Graphics Adapter USB Controller Parallel Port Disk Controller BUS Memoria RAM Memoria ROM (BIOS) DMA CPU esegue istruzioni, effettua calcoli,

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

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

Fondamenti di informatica: un po di storia

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

Dettagli

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

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

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

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

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

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

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

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

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa Il File System 1 Il file system E quella componente del SO che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa Realizza i concetti astratti

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

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

Il Sistema Operativo

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

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

Modello dei processi. Riedizione delle slide della Prof. Di Stefano

Modello dei processi. Riedizione delle slide della Prof. Di Stefano Modello dei processi Riedizione delle slide della Prof. Di Stefano 1 Processi Modello di Processi asincroni comunicanti Process Scheduling Operazioni sui Processi Cooperazione tra Processi Interprocess

Dettagli

Il Software. Il software del PC. Il BIOS

Il Software. Il software del PC. Il BIOS Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:

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

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

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

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

Architettura di un computer

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

Dettagli

La gerarchia di Memoria

La gerarchia di Memoria La gerarchia di Memoria Gap delle prestazioni DRAM - CPU 1000 CPU 100 10 DRAM 1 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 Località ed Organizzazione

Dettagli

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

CALCOLATORI ELETTRONICI 29 giugno 2010

CALCOLATORI ELETTRONICI 29 giugno 2010 CALCOLATORI ELETTRONICI 29 giugno 2010 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si disegni lo schema di un flip-flop master-slave S-R sensibile ai fronti di salita e

Dettagli

Desiderata: memoria capiente e veloce. Connessioni tra livelli di memoria. Memoria cache, struttura. Tecniche impiegate. Ad ogni accesso alla memoria

Desiderata: memoria capiente e veloce. Connessioni tra livelli di memoria. Memoria cache, struttura. Tecniche impiegate. Ad ogni accesso alla memoria Connessioni tra livelli di memoria Tape Registers Cache Main memory Magnetic disk Optical disk (Architettura degli Elaboratori) Gerarchie di memorie / 58 Metodo: Desiderata: memoria capiente e veloce i

Dettagli

Varie tipologie di memoria

Varie tipologie di memoria Varie tipologie di memoria velocita` capacita` registri CPU memoria cache memoria secondaria (Hard Disk) Gestione della memoria Una parte della viene riservata per il SO I programmi per poter essere eseguiti

Dettagli

La gerarchia di Memoria

La gerarchia di Memoria La gerarchia di Memoria Gap delle prestazioni DRAM - CPU 1000 CPU 100 10 DRAM 1 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 1 Località ed Organizzazione

Dettagli

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

1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi:

1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi: 1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi: compile time, load time, execution time. Quale delle modalità precedenti necessita di un supporto hardware per poter essere

Dettagli

1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame.

1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame. 1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame. (a) Da quanti bit è costituito l indirizzo logico? (b) Da quanti bit

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

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti Il processore: unità di lo Architetture dei Calcolatori (lettere A-I) L unità di lo L unità di lo è responsabile della generazione dei segnali di lo che vengono inviati all unità di elaborazione Alcune

Dettagli

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

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

Dettagli