Salta al contenuto
Note per Studenti Esercizio 7 · campi dell'indirizzo in una cache ad associazione diretta

Esercizio 7campi dell'indirizzo in una cache ad associazione diretta

In questa pagina 5

Testo (esempio svolto in aula, lezione del 12 ottobre 2016). Una memoria principale di 16 MB, indirizzata al byte, è collegata a una cache ad associazione diretta di 16 K linee, con blocchi di 4 byte. Come si scompone l'indirizzo nei campi etichetta, linea e parola?


Bit dell'indirizzo

16 MB=24⋅220=22416\ \text{MB} = 2^4 \cdot 2^{20} = 2^{24} byte, un indirizzo per byte → indirizzi di 24 bit.

Campo parola

Il campo parola individua la posizione nel blocco: il blocco ha 4=224 = 2^2 parole (byte) → 2 bit.

Campo linea

16K=24⋅210=21416\text{K} = 2^4 \cdot 2^{10} = 2^{14} linee → 14 bit.

Campo etichetta

Il resto: 24−14−2=24 - 14 - 2 = 8 bit.

etichetta (8) linea (14) parola (2)

Lettura del risultato

  • Blocchi in memoria: 224/22=2222^{24}/2^2 = 2^{22}; linee: 2142^{14}. Su ogni linea si mappano 222/214=28=2562^{22}/2^{14} = 2^8 = 256 blocchi diversi, distinti proprio dagli 8 bit dell'etichetta.
  • Esempio: l'indirizzo 0x16339C = 0001 0110 0011 0011 1001 11000001\,0110\,0011\,0011\,1001\,1100 ha etichetta 0x16, linea 00 1100 1110 0111=00\,1100\,1110\,0111 = 0x0CE7, parola 0000.
  • Capacità dati della cache: 214⋅4=642^{14} \cdot 4 = 64 KB (più 8 bit di etichetta e il bit di validità per ogni linea).

Vedi Memoria cacheBlocchi, linee ed etichette; scomposizione dell'indirizzo; associazione diretta, completamente associativa e associativa a insiemi con calcolo dei campi; politiche di rimpiazzo (LRU, FIFO, casuale); politiche di scrittura (write-through, write-back con bit sporco, write-allocate); dimensione del blocco; cache multilivello e separate; come ridurre i miss; quesiti sui campi dell'indirizzo.Memoria cache →.

Versione ripasso

Testo (esempio svolto in aula, lezione del 12 ottobre 2016). Una memoria principale di 16 MB, indirizzata al byte, è collegata a una cache ad associazione diretta di 16 K linee, con blocchi di 4 byte. Come si scompone l'indirizzo nei campi etichetta, linea e parola?

Metodo: Memoria cacheBlocchi, linee ed etichette; scomposizione dell'indirizzo; associazione diretta, completamente associativa e associativa a insiemi con calcolo dei campi; politiche di rimpiazzo (LRU, FIFO, casuale); politiche di scrittura (write-through, write-back con bit sporco, write-allocate); dimensione del blocco; cache multilivello e separate; come ridurre i miss; quesiti sui campi dell'indirizzo.Memoria cache →: bit dell'indirizzo =log⁡2= \log_2 memoria; parola =log⁡2= \log_2 (byte per blocco); linea =log⁡2= \log_2 (numero di linee); etichetta = resto.

  1. 16 MB=22416\ \text{MB} = 2^{24} byte ⇒\Rightarrow 24 bit.
  2. Parola: 4=224 = 2^2 ⇒\Rightarrow 2 bit. Linea: 16K=21416\text{K} = 2^{14} ⇒\Rightarrow 14 bit.
  3. Etichetta: 24−14−2=824 - 14 - 2 = 8 bit.

Campi: etichetta 8, linea 14, parola 2. Controllo: 2222^{22} blocchi su 2142^{14} linee, 28=2562^8 = 256 blocchi per linea. Esempio: 0x16339C ha etichetta 0x16, linea 0x0CE7, parola 0. Capacità dati 214⋅4=642^{14}\cdot 4 = 64 KB.

Lezioni in cui compare

Teoria collegata