UTNianos

Versión completa: [Ayuda] Finales Arquitectura de Computadoras
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Buenas tardes. Lo que necesito va mas alla de la resolucion de un final en si.
El problema que tengo es que con la teoria ando bastante bien, los finales que voy mirando, dentro de la parte teorica, los puedo hacer. Ahora cuando tengo que hacer la practica no entiendo nada, es mas, no se ni en que parte del angulo o stallings esta la explicacion que me permita hacer el ejercicio.
Por ejemplo:

-Sabiendo que una CPU genera una direccion de 33 bits que permiten acceder a la memoria principal de palabra de 8 bits:
- ¿Cual es el tamaño potencial de la memoria principal?
- Si a la memoria se le habilitan 4 GB ¿Cuantos bits son significativos para direccionarla?
- Si de los 4 Gb los ultimos 64K dentro del primer Mega direccionan a memoria ROM. ¿Cual es el rango de direcciones hexadecimales que le corresponden?

Esto no tengo ni idea de como resolverlo. Lo que necesito no es que me resuelvan estos puntos, sino que me digan que es lo que tengo que leer para poder resolverlos por mi mismo, o algun capo que me diga los tips necesarios para resolverlos.
Me ayudaria si me dijeran que capitulo del Angulo o Stallings tengo que prestar especial atencion porque va a explicar este tema.

Saludos!
Bueno, para resolver esos puntos necesitas haber estudiado los capitulos de memoria del Angulo (5, 8 y 9 al menos). Si es que los leiste, fijate que te ahi tenes varios ejemplos dentro de las explicaciones de temas particulares en donde se aplica direccionamiento de la memoria. Mismo en el cap.5 donde se explican las tres distintas arquitecturas de memoria caché, si las ves con atención, sabiendo para que se utilizan los bits dentro del direccionamiento vas a ver porque toma tal cantidad para etiquetas, o para un grupo, o para una linea.

Entonces, en tu ejemplo. Si tenes 33 bits, tenes 8G (8000 millones) de direcciones (o posiciones) distintas. Si cada posicion es de 8bits (1 byte) entonces tenés 8G x 1 byte = 8GB.

En el segundo punto, pensá con el mismo razonamiento de arriba cuantos bits necesitarias.

Por ultimo, la ultima direccion del 1er MB de memoria es ((2^20) - 1) = 1048575. A esa direccion hay que restarle, la cantidad de direcciones de 64K ((2^16) -1) . Te queda 1048575 - 65535 = 983040 .

Por lo tanto el rango seria de 983040 a 1048575 (notese que como estan incluidos los dos extremos la diferencia no es 2^16 sino que 2^16 - 1).

Ahora tenes que pasar esos dos numeros decimales a hexadecimal y te quedan el rango que piden.

Saludos, espero que sirva.
Muchisimas gracias! La verdad que me tenia a maltraer esto de no entender un joraca =D Ahora me pongo a leer y a prestar mas atencion a estas cosas.!
URLs de referencia