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.

  1. 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.
  2. 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:

  1. 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?
  2. 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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a cs.stackexchange
scroll top