Byte indirizzabile vs parola indirizzabile
-
05-11-2019 - |
Domanda
Sto cercando di capire la differenza tra l'indirizzo di byte e l'indirizzamento delle parole.
Un'unità di memoria cache associativa a 4 vie con una capacità di 16 kb è costruita utilizzando una dimensione del blocco di 8 parole. La lunghezza della parola è di 32 bit. La dimensione dello spazio dell'indirizzo fisico è di 4 GB.
NO di set nella cache $= (16 * 1024) / (4 * 8 * 4) = 2^7$
Se viene utilizzato l'indirizzamento delle parole:
Offset del blocco $ = 3 bit $
Poiché PAS è $ 4 gb $, totale NO di indirizzi = $2^{32} / 2^2 = 2^{30}$
Quindi, bit di indirizzo totali $ = 30 bit $
Struttura dell'indirizzo:
Tag bit: $ 20 bit $
Imposta bit: $ 7 bit $
Blocchi Offset Bits: $ 3 bit $
Ora, supponiamo che la CPU voglia accedere al terzo byte di una parola particolare.
- Il controller cache utilizzerà il $ 7 bit $ set-field su indicizzare in un set e quindi confrontare il più alto $ 20 bit $ tag campo con tutto il $4$ blocchi nel set. Se viene trovata una corrispondenza, si verifica un colpo di cache e più basso $ 3 bit $ Offset blocco per mettere fuori una delle parole dal $8$ Parole in uno dei registri degli scopi generali. La CPU estrae quindi il terzo byte dalla parola ed esegui l'operazione.
- Se i tag non sono eguali, si verifica la cache, viene inviato un segnale di lettura della memoria e a causa della località spaziale di riferimento, un blocco contenente la parola viene trasferito nella cache.
Se la CPU è indirizzabile al byte:
Bit di indirizzo totali $=32$
Struttura dell'indirizzo: bit tag: $ 20 bit $
Imposta bit: $ 7 bit $
Blocchi Offset Bits: $ 5 bit $
Se la CPU vuole accedere al 3 ° byte di una parola:
- Come nel passaggio 1 della parola indirizzabile, ma la CPU ora può affrontare direttamente il terzo byte della parola, usando il basso $ 2 bit $ Offset byte. Tuttavia, sono confuso come ciò accada. Poiché la dimensione del registro della CPU ha una larghezza di 1 parola, simile alla parola indirizzamento, una parola su 8 parole nel blocco verrà trasferita nel registro. Ma come sarebbe più facile il passaggio di "estrazione di byte" qui? E perché lo chiamiamo byte che si rivolge se ci stiamo effettivamente affrontando una parola?
- Come nel passaggio 2 dell'indirizzo di parole. Il blocco di dati verrà trasferito dalla memoria alla cache in caso di miss cache.
Inoltre, questo Rispondere dice che la memoria fisica è sempre indirizzabile al byte. Ora, qual è la differenza tra l'indirizzobilità della memoria e l'indirizzobilità dell'architettura della CPU?
Nessuna soluzione corretta