Pregunta

He estado leyendo sobre los modelos de memoria en un libro de ensamblaje Tomé y tengo una pregunta o dos. Digamos que el bus de direcciones tiene 32 líneas, el bus de datos cuenta con 32 líneas y la CPU es de 32 bits (para simplificar). Ahora bien, si la CPU hace una petición de lectura y envía la dirección de 32 bits, pero sólo necesita 8 bits, los 32 bits regresan de todos modos? Además, las direcciones de la memoria se siguen dirigidas por byte correcto? Así que ir a buscar un byte traería 0000 0001 0000 0004 para hacer frente a?

¿Fue útil?

Solución

En general, sí. No hay nada que ganar mediante la lectura de partes de una palabra de un autobús, por lo que se lee una palabra completa. Instrucciones especifican qué partes de las palabras que necesitan para cargar real o almacenar en los registros.

Dicho esto, es raro leer directamente desde la memoria en estos días. CPUs tienen cachés con el que interactúa el 99% del tiempo, y cuando los datos no está en la caché, una línea entera se pone en (varias palabras) y luego todavía leen de la memoria caché.

También tenga en cuenta que muchas CPU modernas tienen realmente los autobuses de 64 bits.

Otros consejos

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top