Práctico 11, Ejercicio 5

Práctico 11, Ejercicio 5

de Rafael Carlos Cordano Ottati -
Número de respuestas: 4

Buen día.

Tenía una duda con el ejercicio 5 del práctico 11.

En el inicio de la letra dice: "Sea un computador de 32 bits y memoria direccionable por bytes..."

De lo que yo asumo que al decir memoria direccionable por bytes es que el tamaño de palabra de la memoria es de 1 byte

Por otro lado en las diapositivas de Presentación del Práctico 6 dice que un arquitectura de n bits implica que el tamaño de palabra de memoria estándar sea de n bits

https://eva.fing.edu.uy/pluginfile.php/491842/mod_resource/content/1/presentacion-practico6.pdf


Entonces me encuentro en una encrucijada, a cuál le hago caso?

Gracias

En respuesta a Rafael Carlos Cordano Ottati

Re: Práctico 11, Ejercicio 5

de Federico Rivero -

Hola Rafael!

Memoria direccionable por bytes quiere decir que a cada byte de memoria le corresponde una dirección diferente. Esto es distinto al tamaño de la palabra de memoria. 

Por ejemplo, la palabra de memoria en 8086 es de 2 bytes, sin embargo su memoria es direccionable de a byte. Por lo tanto cuando se ejecuta por ejemplo:

MOV AX, ES:[BX] 

Se está trayendo de memoria la palabra ubicada a partir de la dirección ES:[BX], lo cual incluye las direcciones ES:[BX] y ES:[BX + 1]

Saludos, 

        Federico

En respuesta a Federico Rivero

Re: Práctico 11, Ejercicio 5

de Rafael Carlos Cordano Ottati -
Ok, y el tamaño de palabra juega algún rol en la interacción de memoria principal y caché en este caso?

Gracias
En respuesta a Rafael Carlos Cordano Ottati

Re: Práctico 11, Ejercicio 5

de Rafael Carlos Cordano Ottati -
Otra pregunta, en el caso de un hit, como es una memoria direccionable por bytes solo se iría a buscar un byte a caché, no?
Y en el caso de un miss se iría a buscar en memoria el bloque entero de memoria(en este caso 32 bytes) ?

Gracias
En respuesta a Rafael Carlos Cordano Ottati

Re: Práctico 11, Ejercicio 5

de Federico Rivero -

Hola! 

Que la memoria direccionable por byte no determina cuántos bytes se devuelven desde cache a la CPU. Eso depende del bus de datos y también de la instrucción ejecutada (por ejemplo, si se ejecuta una instrucción que requiere leer 1 byte o 2 bytes de memoria). 

En caso de un miss, ahí sí siempre se busca un bloque entero desde memoria, sin importar la instrucción ejecutada o si la memoria es direccionable por bytes.

Saludos,

          Federico