La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 1 Sommario: 1. Concetto di bit. 2. Indirizzi di memoria. 3. Ordinamento.

Presentazioni simili


Presentazione sul tema: "Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 1 Sommario: 1. Concetto di bit. 2. Indirizzi di memoria. 3. Ordinamento."— Transcript della presentazione:

1 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 1 Sommario: 1. Concetto di bit. 2. Indirizzi di memoria. 3. Ordinamento dei byte (little endian vs. big endian). 4. Codici di correzione degli errori. 5. Memoria cache. 6. Packaging e tipi di memoria.

2 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 2 Il concetto di bit Un bit può contenere uno 0 o un 1 e rappresenta lunità di base della memoria. Per memorizzare informazione bisogna avere un dispositivo che possa assumere almeno due stati distinti; i dispositivi che hanno solo due stati sono più affidabili e veloci di quelli con tre o più stati; A volte si parla di dispositivi che usano laritmetica decimale intendendo con ciò la codifica binaria delle cifre decimali (BCD - Binary Coded Decimal) con quattro bit (16 combinazioni) si codificano le cifre da 0 a 9, che poi vengono utilizzate per comporre un numero; 1944dieci = 0001 1001 0100 0100BCD = 11110011000due; 16 bit in formato BCD codificano 10000 numeri (0-10000); 16 bit in formato binario codificano 65536 numeri (216).

3 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 3 Indirizzi di memoria I bit nelle memorie sono raggruppati in celle : tutte le celle sono formate dallo stesso numero di bit ; una cella composta da k bit, è in grado di contenere una qualunque tra 2k combinazioni diverse di bit. Ogni cella ha un indirizzo : serve come accesso allinformazione; in una memoria con N celle gli indirizzi vanno da 0 a N–1. La cella è lunità indirizzabile più piccola. In quasi tutti i calcolatori è di 8 bit (un byte ). I byte vengono raggruppati in parole (che oggi sono di 32/64 bit ), su cui la CPU esegue le operazioni.

4 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 4 Organizzazione della memoria Anche gli indirizzi della memoria sono rappresentati come numeri binari: un indirizzo di M bit consente di indirizzare 2M celle; per 6 o 8 celle bastano 3 bit, per 12 celle ne servono 4; il numero di bit nellindirizzo determina il numero massimo di celle indirizzabili nella memoria ed è indipendente dal numero di bit per cella (una memoria con 212 celle richiede sempre 12 bit di indirizzo, quale che sia la dimensione di una cella). Una memoria può essere organizzata in diversi modi: con 96 bit possiamo avere 6 celle di 16 bit (6*16=96), o 8 celle di 12 bit (8*12=96) o 12 celle di 8 bit (12*8=96).

5 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 5 Il concetto di memoria virtuale Separare il concetto di spazio di indirizzamento e locazioni di memoria Spazio di indirizzamento = numero di parole indirizzabili Dipende esclusivamente dal numero di bit dellindirizzo e non dal numero di parole di memoria effettivamente disponibile Se la dimensione della memoria principale è minore dello spazio indirizzabile, prima dellesistenza della memoria virtuale una parte degli indirizzi non sarebbe ststa utilizzabile a causa della corrispondenza uno a uno tra indirizzi e locazioni di memoria.

6 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 6 Spazio di indirizzamento Separazione tra spazio di indirizzamento e locazioni di memoria Esempio: 16 bit di indirizzo, memoria principale di 4K parole In ogni istante di tempo è possibile accedere a sole 4096 parole di memoria, ma non necessariamente corrispondenti agli indirizzi 0-4095.

7 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 7 Traduzione degli indirizzi Quando si accede allindirizzo 4096, questo viene automaticamente tradotto nellindirizzo 0 della memoria principale, 4097 nellindirizzo 1.....8191 in 4095.

8 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 8 Memoria virtuale Cosa succede se un programma chiede di saltare dallindirizzo 2500 allindirizzo 8190? Con il meccanismo di memoria virtuale: I contenuti della memoria principale vengono salvati su disco Le parole agli indirizzi da 4096 a 8191 vengono copiate in memoria principale tra gli indirizzi 0 e 4095 Lesecuzione del programma prosegue come se non fosse successo nulla Meccanismo di overlay automatico: paginazione

9 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 9 Paginazione Blocchi di dimensione fissa (es. 4K) trasferiti tra memoria principale e memoria secondaria: pagine Oggi: metodo più sofisticato per la traduzione dello spazio di indirizzamento sugli indirizzi di memoria reali

10 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 10 Memoria virtuale Indirizzi a cui fa riferimento il programma in esecuzione: indirizzi virtuali Indirizzi di memoria centrale: indirizzi fisici Meccanismo di traduzione automatico degli indirizzi virtuali in indirizzi fisici Con la memoria virtuale, la CPU produce un indirizzo virtuale, che viene tradotto da una combinazione di elementi hardware e software in un indirizzo fisico, che può essere utilizzato per accedere alla memoria principale: traduzione dellindirizzo( memory mapping)

11 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 11 Obiettivi della memoria virtuale consentire una condivisione efficiente della memoria da parte di più programmi rimuovere il carico di lavoro del programmatore provocato dalla limitata quantità di memoria disponibile La paginazione è trasparente al programmatore Il programmatore può scrivere i propri programmi pensando di avere a disposizione lintero spazio di indirizzamento virtuale indipendentemente dalle dimensioni effettive della memoria centrale

12 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 12 Rilocazione Meccanismo per la fase di caricamento di un programma prima dellesecuzione: gli indirizzi virtuali utilizzati dal programma vengono tradotti in indirizzi fisici diversi prima che possano essere utilizzati per accedere alla memoria. Questa traduzione consente il caricamento del programma in una qualsiasi locazione della memoria fisica.

13 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 13 Rilocazione Tutti i meccanismi di gestione della memoria virtuale rilocano il programma come un insieme di blocchi di dimensione fissa (pagine), eliminando così la necessità di individuare un blocco di memoria contigua sufficientemente ampio da potervi caricare il programma; Il sistema operativo ha solo bisogno di trovare un numero sufficiente di pagine disponibili nella memoria fisica.

14 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 14 Implementazione della paginazione Lo spazio di indirizzamento virtuale è suddiviso in un numero intero di pagine di dimensione fissa Dimensioni di pagina tipici: da 512 byte a 64 Kbyte Dimensione della pagina: sempre una potenza di 2.

15 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 15 Implementazione della paginazione Lo spazio di indirizzamento fisico (ossia della memoria centrale) viene suddiviso in un numero intero di pagine di uguale dimensione di quelle utilizzate per lo spazio di indirizzamento virtuale. Ogni pagina della memoria può quindi contenere esattamente una pagina dello spazio di indirizzamento virtuale. Pagina della memoria: page frame

16 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 16

17 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 17 Esempio Spazio di indirizzamento virtuale: indirizzi da 32 bit 232 indirizzi diversi Dimensione di pagina: 4K parole 212 indirizzi Numero di pagine dello spazio di indirizzamento virtuale = 232 / 212 = 220 pagine Spazio di indirizzamento fisico: 4M parole 222 indirizzi Numero di pagine dello spazio di indirizzamento fisico = 222 / 212 = 210 pagine

18 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 18 Traduzione dellindirizzo virtuale in indirizzo fisico

19 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 19 Memory Management Unit La traduzione del numero di pagina virtuale nel corrispondente numero di pagina fisica avviene mediante un dispositivo, la Memory Management Unit (MMU) Può essere posizionata nel chip della CPU, o in un chip separato

20 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 20 Tabella delle pagine La MMU contiene una tabella delle pagine, con una riga per ogni pagina dello spazio di indirizzamento virtuale Ogni riga è identificata dal numero di pagina virtuale e contiene due campi: 1 bit VALIDO che indica se la pagina corrispondente è presente/assente in memoria Il numero di pagina fisica corrispondente

21 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 21 Costruzione dellindirizzo fisico

22 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 22 Procedura di calcolo dellindirizzo fisico 1. MMU riceve lindirizzo virtuale da 32 bit 2. Separa i 12 bit meno significativi che rappresentano lo spiazzamento allinterno della pagina di 4K 3. I 20 bit più significativi rappresentano il numero di pagina virtuale 4. Il numero di pagina virtuale identifica la riga della tabella delle pagine

23 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 23 Procedura di calcolo dellindirizzo fisico 5. La MMU verifica se la pagina richiesta è presente in memoria centrale esaminando il bit di VALIDO. 6. Se il bit=1 la pagina è presente in memoria Legge il valore contenuto nella tabella che rappresenta il numero di pagina fisica e lo affianca come bit più significativi alloffset ottenendo lindirizzo fisico di memoria da cercare. 7. Else si verifica un errore di pagina (page fault)

24 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 24 Errore di pagina Si verifica quando il bit di validità per una pagina virtuale è = 0: il controllo deve essere passato al sistema operativo con il meccanismo delleccezione. Una volta che il sistema operativo ha ottenuto il controllo, deve rintracciare la pagina nel livello inferiore della gerarchia (di solito un disco magnetico) e decidere dove, nella memoria fisica, deve mettere la pagina richiesta. Per individuare la posizione della pagina sul disco è necessaria una struttura dati che ne registra la posizione

25 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 25 Errore di pagina Deve inserire la corrispondenza tra indirizzo di pagina virtuale e di pagina fisica nella tabella delle pagine Ripetere lesecuzione dellistruzione che aveva causato lerrore di pagina

26 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 26 Tabella delle pagine

27 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 27 Traduzione degli indirizzi V = {0, 1,..., n - 1} spazio indirizzi virtuali M = {0, 1,..., m - 1} spazio indirizzi fisici MAP: V --> M U {Ø} f. traduzione degli indirizzi n > m MAP(a) = a' se il dato allind. virtuale a è presente allind. fisico a' e a' in M = Ø se il dato allind. virtuale a non è presente in M

28 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 28

29 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 29

30 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 30

31 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 31

32 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 32

33 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 33

34 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 34

35 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 35

36 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 36

37 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 37

38 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 38

39 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 39

40 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 40

41 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 41

42 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 42

43 Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 43


Scaricare ppt "Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 1 Sommario: 1. Concetto di bit. 2. Indirizzi di memoria. 3. Ordinamento."

Presentazioni simili


Annunci Google