Poiche' ogni cache e costituita per la parte dati da 32 parole e ogni blocco di memoria e' composto da 8 parole si ha che la prima cache a indirizzamento diretto sara' suddivisa in 4 slot da 8 parole, la secona set-associativa a due vie sara' formata da due slot contenenti due linee di cache da 8 parole, infine la terza cache set-associativa a 4 vie sara' costituita da un unico slot contenente 4 linee di cache da 8 parole. Essendo le tre cache inizialmente vuote avremo il seguente stato iniziale: CACHE1 ----------------------------------------------------------------- | No. Slot | V | Tag | Dati | ----------------------------------------------------------------- | 00 | 0 | | | | 01 | 0 | | | | 10 | 0 | | | | 11 | 0 | | | ----------------------------------------------------------------- CACHE2 -------------------------------------------------------------------------------------------------------------------- | No. Slot | V | Tag | Dati | V | Tag | Dati | -------------------------------------------------------------------------------------------------------------------- | 0 | 0 | | | 0 | | | | 1 | 0 | | | 0 | | | -------------------------------------------------------------------------------------------------------------------- CACHE3 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | No. Slot | V | Tag | Dati | V | Tag | Dati | V | Tag | Dati | V | Tag | Dati | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 0 | 0 | | | 0 | | | 0 | | | 0 | | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- L'interpretazione dell'indirizzo della prima cache e' il seguente: a b c d e f g h i l h i l : posizione della parola all'interno del blocco f g : numero di slot in cui, se presente nella cache, si trova il dato richiesto a b c d e : Tag Segue che lo stato finale della prima cache e' il seguente: CACHE1 ----------------------------------------------------------------- | No. Slot | V | Tag | Dati | ----------------------------------------------------------------- | 00 | 1 | 11011 | M[1101100] | | 01 | 0 | | | | 10 | 1 | 00110 | M[0011010] | | 11 | 0 | 10110 | M[1011011] | ----------------------------------------------------------------- Numero di fallimenti = 9 L'interpretazione dell'indirizzo della seconda cache e' il seguente: a b c d e f g h i l h i l : posizione della parola all'interno del blocco g : numero di slot in cui, se presente nella cache, si trova il dato richiesto a b c d e f : Tag Segue che lo stato finale della seconda cache e' il seguente: CACHE2 -------------------------------------------------------------------------------------------------------------------- | No. Slot | V | Tag | Dati | V | Tag | Dati | -------------------------------------------------------------------------------------------------------------------- | 0 | 1 | 000100 | M[0001000] | 1 | 110110 | M[1101100] | | 1 | 1 | 1111111 | M[11111111] | 1 | 101101 | M[1011011] | -------------------------------------------------------------------------------------------------------------------- Numero di fallimenti = 8 L'interpretazione dell'indirizzo della terza cache e' il seguente: a b c d e f g h i l h i l : posizione della parola all'interno del blocco a b c d e f g : Tag Segue che lo stato finale della terza cache e' il seguente: CACHE3 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | No. Slot | V |Tag | Dati | V | Tag | Dati | V | Tag | Dati | V | Tag | Dati | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 0 | 1 | 1101100 | M[1101100] | 1 | 0001000 | M[0001000] | 1 | 1111111 | M[1111111] | 1 | 1011011 | M[1011011] | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- Numero di fallimenti = 7 Per la rappresentazione dello stato finale delle CACHE 2 e 3 si e' utilizzata, come richiesto, la politica di sostituzione del blocco utilizzato meno di recente. P.S.: L'esercizio e' stato svolto considerando le parole di memoria lunghe 1 byte poiche' non era stata pecificata nel testo. Non si e' ben compresa l'informazione relativa all'indirizzamento al byte poiche' non essendo a conoscenza della lunghezza di ogni singola parola non e' stato possibile stabilire il numero di bit contenuti nell'indirizzo necessari ad indicare il byte relativo alla parola.