Organizzazione e gerarchia della memoria (start point)

La memoria principale
...

La memoria è rappresentata come un insieme di celle (o locazioni) di memoria che hanno tutte le stessa dimensione.

Ogni cella è identificata da un indirizzo.
Se la memoria di un calcolatore ha n celle, allora gli indirizzi per identificarle vanno da a indipendentemente dalla dimensione della cella.

Il numero di bit nell'indirizzo determina il numero massimo di celle indirizzabili.
La cella è la minima unità indirizzabile.

Recentemente dimensione standard: 8 bit (1 byte), 4 o 8 byte definiscono una word (unità di manipolazione per le istruzioni): che come sappiamo può essere word, doubleword,..
Pasted image 20230617161530.png

Ordinamento dei byte
...

L'ordine dei byte, indica modalità differenti, usate dai calcolatori per immagazzinare dei dati in memoria di dimensione superiore al byte.

Abbiamo due tipologie:

  • big endian: la memorizzazione/trasmissione inizia dal byte più significativo, per finire col meno significativo;
  • little endian: la memorizzazione/trasmissione inizia dal byte meno significativo, per finire col più significativo
    Pasted image 20230617162309.png
    Risc-V usa little endian

Endian-Overview.png
Come si vede nell'esempio della figura sopra.
In big endian il byte più significativo (0x00) del dato è posizionato nel byte con indirizzo più basso.
In little endian il byte meno significativo (0x3A) del dato è posizionato nel byte con indirizzo più basso.

CPU e memoria
...

Le CPU sono più veloci delle memoria: quando una CPU effettua una richiesta alla memoria essa, essa non ottiene la parola desiderata se non dopo diversi cicli di CPU.

Il dilemma: piccola quantità di memoria veloce (costosa) o grande quantità di memoria più lenta?
Ci sono tecniche che consentono di combinare le due soluzione per ottenere ad un prezzo ragionevole sia la velocità sia la notevole capacità.

Una memoria piccola e veloce è la memoria cache.

Gerarchia della memoria
...

Pasted image 20230617165338.png
Memorie più veloci e più piccole, hanno un costo più elevato.
Memorie meno veloci e meno piccole, hanno un costo più basso.

Prossimo argomento: memoria cache.