Esercizio 9cache con blocchi di due parole
In questa pagina 4
Testo (esercizio 4b, lezione del 19 ottobre 2016). Ripetere l'esercizio 8 (stesse due sequenze di indirizzi di parola a 32 bit, ciascuna con la cache inizialmente vuota) con una cache ad associazione diretta di 8 blocchi da 2 parole ciascuno.
- Sequenza 1: 1, 134, 212, 1, 135, 213, 162, 161, 2, 44, 41, 221
- Sequenza 2: 4, 214, 175, 214, 4, 84, 65, 174, 64, 105, 85, 215
Scomposizione dell'indirizzo
- Blocco di parole → campo parola 1 bit (il bit meno significativo).
- 8 linee → campo linea 3 bit.
- Etichetta: 28 bit.
Indirizzo del blocco = indirizzo senza il campo parola = indirizzo div 2. Linea = blocco mod 8. Il campo parola non serve per decidere hit o miss: se il blocco è in cache, ci sono entrambe le sue parole (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 →).
Sequenza 1
| # | Indirizzo | Blocco | Linea | Esito | Note |
|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | miss | il blocco 0 contiene le parole 0 e 1 |
| 2 | 134 | 67 | 3 | miss | parole 134 e 135 |
| 3 | 212 | 106 | 2 | miss | parole 212 e 213 |
| 4 | 1 | 0 | 0 | hit | |
| 5 | 135 | 67 | 3 | hit | seconda parola del blocco portato dall'indirizzo 134 |
| 6 | 213 | 106 | 2 | hit | idem |
| 7 | 162 | 81 | 1 | miss | |
| 8 | 161 | 80 | 0 | miss | esce il blocco 0 |
| 9 | 2 | 1 | 1 | miss | esce il blocco 81 |
| 10 | 44 | 22 | 6 | miss | |
| 11 | 41 | 20 | 4 | miss | |
| 12 | 221 | 110 | 6 | miss | esce il blocco 22 |
3 hit, 9 miss (con blocchi di una parola: 1 hit).
Sequenza 2
| # | Indirizzo | Blocco | Linea | Esito | Note |
|---|---|---|---|---|---|
| 1 | 4 | 2 | 2 | miss | |
| 2 | 214 | 107 | 3 | miss | |
| 3 | 175 | 87 | 7 | miss | parole 174 e 175 |
| 4 | 214 | 107 | 3 | hit | |
| 5 | 4 | 2 | 2 | hit | |
| 6 | 84 | 42 | 2 | miss | esce il blocco 2 |
| 7 | 65 | 32 | 0 | miss | parole 64 e 65 |
| 8 | 174 | 87 | 7 | hit | portato dall'indirizzo 175 |
| 9 | 64 | 32 | 0 | hit | portato dall'indirizzo 65 |
| 10 | 105 | 52 | 4 | miss | |
| 11 | 85 | 42 | 2 | hit | portato dall'indirizzo 84 |
| 12 | 215 | 107 | 3 | hit | portato dall'indirizzo 214 |
6 hit, 6 miss (con blocchi di una parola: 2 hit).
Osservazione
La capacità è la stessa dell'esercizio 8 (16 parole): metà delle linee, blocchi doppi. Le sequenze contengono coppie di indirizzi vicini (134/135, 174/175, 64/65, …) e i blocchi di due parole sfruttano questa località spaziale. Allargare il blocco non conviene sempre: con una cache più piccola vedi l'esercizio 10.
Versione ripasso
Testo (esercizio 4b, lezione del 19 ottobre 2016). Ripetere l'esercizio 8 (stesse due sequenze di indirizzi di parola a 32 bit, ciascuna con la cache inizialmente vuota) con una cache ad associazione diretta di 8 blocchi da 2 parole ciascuno.
- Sequenza 1: 1, 134, 212, 1, 135, 213, 162, 161, 2, 44, 41, 221
- Sequenza 2: 4, 214, 175, 214, 4, 84, 65, 174, 64, 105, 85, 215
Metodo: campo parola 1 bit, linea 3 bit, etichetta . Blocco = indirizzo div 2, linea = blocco mod 8; il campo parola non decide hit o miss (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 →).
- Sequenza 1 (indirizzo: blocco, linea): 1: 0, 0 miss; 134: 67, 3 miss; 212: 106, 2 miss; 1 hit; 135 hit (blocco 67); 213 hit (106); 162: 81, 1 miss; 161: 80, 0 miss (esce il blocco 0); 2: 1, 1 miss (esce 81); 44: 22, 6 miss; 41: 20, 4 miss; 221: 110, 6 miss (esce 22).
- Sequenza 2: 4: 2, 2 miss; 214: 107, 3 miss; 175: 87, 7 miss; 214 hit; 4 hit; 84: 42, 2 miss (esce il blocco 2); 65: 32, 0 miss; 174 hit (87); 64 hit (32); 105: 52, 4 miss; 85 hit (42); 215 hit (107).
Sequenza 1: 3 hit, 9 miss (con blocchi da una parola: 1 hit). Sequenza 2: 6 hit, 6 miss (con blocchi da una parola: 2 hit). A parità di capacità (16 parole) i blocchi doppi sfruttano la località spaziale (coppie 134/135, 174/175, 64/65); non conviene sempre: esercizio 10.