differenza tra "indirizzabile" e "indirizzo" in memoria?
Sto lottando su questa domanda pratica da questo sito ....
Calcolare il numero di bit richiesti nell'indirizzo per la memoria con una dimensione di 16 GB. Si supponga che la memoria sia indirizzabile a 4 byte.
LA MIA DOMANDA È: qual è la differenza tra un "indirizzo" e "la memoria è indirizzabile a 4 byte"?
Capisco che un indirizzo sarebbe la sua posizione in memoria rappresentata da bit, come 2^n, dove n è il numero di bit nell'indirizzo. Ma sono confuso sull'indirizzabile in questa domanda e su come sia diverso dall'indirizzo
2^n * 4 byte = 2^34 La soluzione è 32 bit
Risposte
L'indirizzo è un'etichetta che identifica una posizione di memoria. La memoria è$4$byte indirizzabile significa che hai etichette che fanno riferimento a locazioni di memoria di dimensioni$4$byte. Non hai nomi per taglie più piccole. Ad esempio, se abbiamo un ricordo di$12$byte e la memoria è$4$byte indirizzabile, quindi possiamo avere$3$blocchi di memoria a cui possiamo assegnare un indirizzo. I loro indirizzi potrebbero essere Memory block 1
, The glorious block 2
e Ceres
. Invece di nomi lunghi e fantasiosi, ciò che è comune è che gli indirizzi siano numeri binari. Dal momento che ci sono$3$indirizzi, allora abbiamo bisogno di almeno$2$bit.
Nel tuo problema, invece di$12$byte, hai$16$GB${}=2^{34}$byte. La memoria è$4$byte indirizzabile. Quindi, possiamo avere$2^{34}/4=2^{32}$indirizzi diversi. Quindi, abbiamo bisogno$32$bit per codificare tutti gli indirizzi.