Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 1 Sommario: 1....

43
Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 1 iversità di Trieste 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.

Transcript of Università di Trieste Calcolatori Elettronici a.a. 2001-2002Omero TuzziL01, Basi 1 Sommario: 1....

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 1

Università di Trieste

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.

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 2

Università di Trieste

Il concetto di bit Un bit può contenere uno 0 o un 1 e rappresental’unità di base della memoria.• Per memorizzare informazione bisogna avere un dispositivoche possa assumere almeno due stati distinti;• i dispositivi che hanno solo due stati sono più affidabili eveloci di quelli con tre o più stati; A volte si parla di dispositivi che usano l’aritmeticadecimale intendendo con ciò la codifica binaria dellecifre decimali (BCD - Binary Coded Decimal)• con quattro bit (16 combinazioni) si codificano le cifre da

0a 9, che poi vengono utilizzate per comporre un numero;• 1944dieci = 0001 1001 0100 0100BCD = 11110011000due;• 16 bit in formato BCD codificano 10000 numeri (0-10’000);• 16 bit in formato binario codificano 65536 numeri (216).

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 3

Università di Trieste

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 unaqualunque tra 2k combinazioni diverse di bit. Ogni cella ha un indirizzo:• serve come accesso all’informazione;• in una memoria con N celle gli indirizzi vanno da 0 a N–

1. La cella è l’unità indirizzabile più piccola.In quasi tutti i calcolatori è di 8 bit (un byte). I byte vengono raggruppati in parole (che oggi sonodi 32/64 bit), su cui la CPU esegue le operazioni.

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 4

Università di Trieste

Organizzazione della memoria Anche gli indirizzi della memoria sono rappresentaticome 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 nell’indirizzo determina il numeromassimo di celle indirizzabili nella memoria ed èindipendente dal numero di bit per cella (una memoria con212 celle richiede sempre 12 bit di indirizzo, quale che sia ladimensione 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 8celle di 12 bit (8*12=96) o 12 celle di 8 bit (12*8=96).

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 5

Università di Trieste

Il concetto di memoria virtuale• Separare il concetto di spazio diindirizzamento e locazioni di memoria• Spazio di indirizzamento = numero di paroleindirizzabili Dipende esclusivamente dal numero di bitdell’indirizzo e non dal numero di parole dimemoria effettivamente disponibile Se la dimensione della memoria principale èminore dello spazio indirizzabile, primadell’esistenza della memoria virtuale una partedegli indirizzi non sarebbe ststa utilizzabile acausa della corrispondenza uno a uno tra indirizzie locazioni di memoria.

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 6

Università di Trieste

Spazio di indirizzamento• Separazione tra spazio di indirizzamentoe locazioni di memoria• Esempio: 16 bit di indirizzo, memoria principale di4K parole In ogni istante di tempo è possibileaccedere a sole 4096 parole di memoria,ma non necessariamente corrispondentiagli indirizzi 0-4095.

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 7

Università di Trieste

Traduzione degli indirizziQuando si accede all’indirizzo 4096, questo vieneautomaticamente tradotto nell’indirizzo 0 della memoriaprincipale, 4097 nell’indirizzo 1 .....8191 in 4095.

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 8

Università di Trieste

Memoria virtuale• Cosa succede se un programma chiede disaltare dall’indirizzo 2500 all’indirizzo 8190?• Con il meccanismo di memoria virtuale: I contenuti della memoria principale vengonosalvati su disco Le parole agli indirizzi da 4096 a 8191 vengonocopiate in memoria principale tra gli indirizzi 0 e4095 L’esecuzione del programma prosegue come senon fosse successo nulla• Meccanismo di overlay automatico:paginazione

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 9

Università di Trieste

Paginazione• Blocchi di dimensione fissa (es. 4K)trasferiti tra memoria principale ememoria secondaria: pagine• Oggi: metodo più sofisticato per latraduzione dello spazio diindirizzamento sugli indirizzi di memoriareali

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 10

Università di Trieste

Memoria virtuale• Indirizzi a cui fa riferimento il programma inesecuzione: indirizzi virtuali• Indirizzi di memoria centrale: indirizzi fisici• Meccanismo di traduzione automatico degliindirizzi virtuali in indirizzi fisici• Con la memoria virtuale, la CPU produce unindirizzo virtuale, che viene tradotto da unacombinazione di elementi hardware e softwarein un indirizzo fisico, che può essere utilizzatoper accedere alla memoria principale:traduzione dell’indirizzo( memory mapping)

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 11

Università di Trieste

Obiettivi della memoriavirtuale• consentire una condivisione efficiente dellamemoria da parte di più programmi• rimuovere il carico di lavoro delprogrammatore provocato dalla limitataquantità di memoria disponibile La paginazione è trasparente al programmatore Il programmatore può scrivere i propri programmipensando di avere a disposizione l’intero spazio diindirizzamento virtuale indipendentemente dalledimensioni effettive della memoria centrale

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 12

Università di Trieste

Rilocazione• Meccanismo per la fase di caricamentodi un programma prima dell’esecuzione:gli indirizzi virtuali utilizzati dalprogramma vengono tradotti in indirizzifisici diversi prima che possano essereutilizzati per accedere alla memoria.• Questa traduzione consente ilcaricamento del programma in unaqualsiasi locazione della memoria fisica.

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 13

Università di Trieste

Rilocazione• Tutti i meccanismi di gestione dellamemoria virtuale rilocano il programmacome un insieme di blocchi didimensione fissa (pagine), eliminandocosì la necessità di individuare un bloccodi memoria contigua sufficientementeampio da potervi caricare il programma;• Il sistema operativo ha solo bisogno ditrovare un numero sufficiente di paginedisponibili nella memoria fisica.

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 14

Università di Trieste

Implementazione dellapaginazione• Lo spazio di indirizzamento virtuale èsuddiviso in un numero intero di paginedi dimensione fissa• Dimensioni di pagina tipici: da 512 bytea 64 Kbyte• Dimensione della pagina: sempre unapotenza di 2.

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 15

Università di Trieste

Implementazione dellapaginazione• Lo spazio di indirizzamento fisico (ossiadella memoria centrale) viene suddivisoin un numero intero di pagine di ugualedimensione di quelle utilizzate per lospazio di indirizzamento virtuale.• Ogni pagina della memoria può quindicontenere esattamente una pagina dellospazio di indirizzamento virtuale.• Pagina della memoria: page frame

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 16

Università di Trieste

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 17

Università di Trieste

Esempio• Spazio di indirizzamento virtuale: indirizzi da32 bit 232 indirizzi diversi• Dimensione di pagina: 4K parole 212 indirizzi• Numero di pagine dello spazio diindirizzamento virtuale = 232 / 212 = 220

pagine• Spazio di indirizzamento fisico: 4M parole 222 indirizzi• Numero di pagine dello spazio diindirizzamento fisico = 222 / 212 = 210 pagine

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 18

Università di Trieste

Traduzione dell’indirizzovirtuale in indirizzo fisico

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 19

Università di Trieste

Memory Management Unit• La traduzione del numero di paginavirtuale nel corrispondente numero dipagina fisica avviene mediante undispositivo, la Memory ManagementUnit (MMU)• Può essere posizionata nel chip dellaCPU, o in un chip separato

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 20

Università di Trieste

Tabella delle pagine• La MMU contiene una tabella delle pagine, con

una riga per ogni paginadello spazio di indirizzamento virtuale• Ogni riga è identificata dal numero dipagina virtuale e contiene due campi: 1 bit VALIDO che indica se la paginacorrispondente è presente/assente inmemoria Il numero di pagina fisica corrispondente

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 21

Università di Trieste

Costruzione dell’indirizzo fisico

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 22

Università di Trieste

Procedura di calcolodell’indirizzo fisico1. MMU riceve l’indirizzo virtuale da 32bit2. Separa i 12 bit meno significativi cherappresentano lo spiazzamentoall’interno della pagina di 4K3. I 20 bit più significativi rappresentanoil numero di pagina virtuale4. Il numero di pagina virtuale identificala riga della tabella delle pagine

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 23

Università di Trieste

Procedura di calcolodell’indirizzo fisico5. La MMU verifica se la pagina richiesta èpresente in memoria centrale esaminando ilbit di VALIDO.6. Se il bit=1 la pagina è presente in memoria Legge il valore contenuto nella tabella cherappresenta il numero di pagina fisica e loaffianca come bit più significativi all’offsetottenendo l’indirizzo fisico di memoria dacercare.7. Else si verifica un errore di pagina (pagefault)

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 24

Università di Trieste

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 dell’eccezione.

• 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

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 25

Università di Trieste

Errore di pagina• Deve inserire la corrispondenza traindirizzo di pagina virtuale e di paginafisica nella tabella delle pagine• Ripetere l’esecuzione dell’istruzione cheaveva causato l’errore di pagina

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 26

Università di Trieste

Tabella delle pagine

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 27

Università di Trieste

Traduzione degli indirizziV = {0, 1, . . . , n - 1} spazio indirizzi virtualiM = {0, 1, . . . , m - 1} spazio indirizzi fisiciMAP: V --> M U {Ø} f. traduzione degli indirizzin > mMAP(a) = a' se il dato all’ind. virtuale a è presente all’ind.fisico a' e a' in M= Ø se il dato all’ind. virtuale a non è presente in M

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 28

Università di Trieste

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 29

Università di Trieste

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 30

Università di Trieste

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 31

Università di Trieste

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 32

Università di Trieste

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 33

Università di Trieste

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 34

Università di Trieste

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 35

Università di Trieste

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 36

Università di Trieste

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 37

Università di Trieste

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 38

Università di Trieste

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 39

Università di Trieste

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 40

Università di Trieste

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 41

Università di Trieste

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 42

Università di Trieste

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

Calcolatori Elettronici a.a. 2001-2002 Omero Tuzzi L01, Basi 43

Università di Trieste