Capisco perfettamente cosa significhi il sistema a 32 o 64 bit. quindi in pratica tutti i registri o la lunghezza della parola sono 32 o 64 bit.Come un singolo byte di memoria è accessibile dalla CPU in una memoria a 32 bit e processore a 32 bit
Per semplicità prendiamo un sistema a 32 bit e diciamo che sto scrivendo un programma in C. se dichiaro un tipo int dico "int a = 5;" quindi una posizione di memoria di una lunghezza di parola è riservata per var a. così quando mai voglio accedervi posso farlo usando l'indirizzo di parola per quella posizione di memoria.
Ma diciamo che ho 4 caratteri "char a, b, c, d;" dato che è un byte ognuno di essi è collocato in una parola, quindi cosa devo fare se voglio accedere solo a char b? (dicendo che la memoria è byte indirizzabile) ora dire b è il terzo byte nella parola ... .quando arriva l'autobus? non è il 3 ° byte cablato alla 17 ° alla 24 ° linea del bus? quindi cosa succede alle altre 24 linee quando si accede solo a b?
Controllare il linguaggio della macchina, linguaggio assembly, per quella particolare CPU, in particolare le parti sull'indirizzamento della memoria e registri CPU. – theglauber
@deepak, Sulle piattaforme a 32 bit che supportano l'indirizzamento dei byte, è possibile scrivere un singolo byte nella memoria senza gli altri tre byte scritti (secondo i segnali di Byte Enable disattivati). –
@EricZ, ora cosa succederebbe se il byte desiderato fosse il 2 ° byte (conteggio iniziale da zero) nella memoria? di solito quando accedo a una parola dalla memoria, il 2 ° byte si ferma tra la posizione dei bit 23 - 16 del registro. Ma in questo caso dovrà atterrare in posizione 7 - 0. Questo mi confonde perché pensavo che il bit 0 dalla memoria fosse cablato per atterrare nel bit 0 del registro, e il bit 31 al bit 31. Ho pensato che fosse tutto nel circuito, quindi come potrebbe un bit che dovrebbe atterrare alla posizione 16 del bit, atterrato in posizione 0 durante l'accesso al byte? – deepak