Dirección de memoria - Aclaración de alineación
-
29-09-2020 - |
Pregunta
Estoy leyendo " arquitectura informática un enfoque cuantitativo " (5ª edición) y estoy teniendo dificultades para sumar esta tabla:
Entiendo cómo sucede la desalineación, es decir, algunos bytes, media palabra, palabra o palabra doble que no es un múltiplo de la dirección donde se almacena o se accede al elemento.La parte que no entiendo es que dice en la leyenda: "Que las compensaciones de bytes que etiquetan las columnas especifican los 3 bits de orden bajo de la dirección"
Mi pregunta es ¿Por qué los 3 bits de bajo orden de la dirección son importantes o relevantes en esta situación?Supongo que los bits de orden bajo son los valores binarios más bajos en la dirección.Mi intuición es que los 3 bits de orden bajo pueden decirnos si la dirección es un múltiplo (2,4, u 8) de los que se accede a los datos, pero no estoy seguro.
Solución
Tomemos una dirección de muestra, escrito en binario: 110100100110.
Ahora vamos a calcularlo Modulo 2, 4, 8, 16, escribiendo la respuesta en Binario:
- mod 2: 0
- mod 4: 10
- mod 8: 110
- MOD 16: 0110
(Recomiendo revisar esto).
Esperemos que pueda conectar los puntos ahora.
Como una pista adicional, hagamos un ejemplo decimal: 987348957943 mod 100= 43. ¿Por qué?Dado que el $ i $ th dígitos de la derecha (cuenta desde 0) es "vale la pena" $ 10 ^ i $ , por lo que todos los dígitos distintos de los dos en el extremo derecho son "vale la pena" un poco de 100.