UTNianos

Versión completa: arquitectura de computadores ! ayuda con unos ejercicios
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
alguien me puede ayudar con estos ejercicios por favor
(28-01-2015 17:19)Desert69 escribió: [ -> ]¿Qué intentaste?

intente hacer 32 bits de la direccion fisica dividido 8 bits de la palabra de memoria y me da 4 Bytes
y en el que sigue hice 24 bits de la direccion logica por que lei que era de 24 bits dividio 8 bits de la palabra de memoria y me da 3 Bytes
NOSE SI ESTA BIEN POR ESO, ES MAS CREO Q ESTA MAL.
y en el ultimo hice
2345:0102 por que antes habia hecho uno donde la instruccion valia 2 bytes entonces se le sumaba 2
y la ultima 0200:0000
ESTOY MUY INSEGURA Y LEI Y BUSQUE PERO NO ENCUENTRO COMO HACERLOS
Lo que voy a decir probablemente sean burradas, así que tomá todo súper con pinzas y desconfianza, y corrijanme todo lo necesario.


Si la palabra de memoria es de 8 bits, entonces tenés 1 byte en cada dirección de memoria. (No sabía que había distintas longitudes de palabra, y no se muy bien cómo afectará cambiar ese valor, igual).


Creo que la pregunta sería "¿Cuántos bytes podés direccionar con direcciones de 31 bits?". Si es esa, con 31 bits tenés 2^31 combinaciones distintas de cosas. Nos interesa que sean distintas porque no podemos tener dos bytes de memoria con la misma dirección (¿a cuál de los dos nos referimos cuando pedimos leer/escribir esa dirección?). Es anecdótico, pero 2^31 es 2147483648 (2 Gigas, 2 * 2^30).

Entonces con 31 bits tenemos 2-giga cosas diferentes. En este caso, direcciones. Y como cada dirección habla de un byte distinto, entonces con 31 bits direccionamos 2 GB.


Qué diferencia hay entre los puntos 3 y 4, no lo entiendo. ¿Hablaba antes de las direcciones lógicas? ¿O es una pregunta trampa para que digas "los mismos"? Se me ocurre más lo primero.

Creo que en tu intento pusiste que las direcciones lógicas eran de 24 bits, así que hay que hacer el mismo procedimiento que en lo anterior, pero con esa nueva longitud. Animate a hacerlo y lo vemos =)



Por el punto 5, dice que la instrucción mide 4 bytes, entonces si la instrucción arranca en la dirección 2345:0100, la próxima instrucción empieza 4 bytes después, en 2345:0104.

Aunque me hace pensar un poco lo de acceder al dato en modo de acceso directo. Me parece que eso significa que la instrucción tiene un operando, y que acceso directo significa que el operando está en RAM y en el código está la dirección a la que ir a buscar el dato, entonces después de la instrucción no va la siguiente instrucción, si no la dirección del operando. Si las direcciones lógicas son de 24 bits (3 bytes), entonces en 2345:0100 está la instrucción (4 bytes), después en 0104 está el operando (3 bytes), y recién detrás de eso está la siguiente instrucción: 2345:0107.


Por último, si todos los objetos comparten el mismo segmento de memoria, entonces todos tienen el mismo identificador de segmento en la dirección: 2345. Si el offset es 200, entonces la dirección es 2345:0200.



Esa fue toda mi mentira, ya me corregirán en la fruta que mandé...
URLs de referencia