Domanda

Ho letto su modelli di memoria in un libro di montaggio ho preso e ho un paio di domande. Supponiamo che il bus indirizzi ha 32 linee, il bus dati ha 32 linee e la CPU è a 32 bit (per semplicità). Ora, se la CPU fa una richiesta di lettura e invia l'indirizzo a 32 bit, ma ha solo bisogno di 8 bit, tutti i 32 bit tornano comunque? Inoltre, gli indirizzi in memoria vengono ancora affrontati per byte corretta? Quindi, andare a prendere un byte riporterebbe 0000 0001 per affrontare 0000 0004?

È stato utile?

Soluzione

In generale, sì. Non c'è niente da guadagnare leggendo parti di una parola da un autobus, quindi una parola intera viene letto. Istruzioni specificano quali parti delle parole di cui hanno bisogno per caricare o memorizzare in registri in realtà.

Detto questo, è raro leggere direttamente dalla memoria di questi tempi. CPU hanno cache con cui si interagisce il 99% del tempo, e quando i dati non si trova nella cache, una linea intera è portato a (più parole) e poi ancora lette dalla cache.

Si noti inoltre che molte CPU moderne in realtà hanno i bus a 64 bit.

Altri suggerimenti

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top