28-12-2010, 14:38
Me fueron surgiendo diversas dudas, que les traigo a ver si me pueden sacar alguna n__n
A saber:
Final del 21/12/2010:
Puntos prácticos:
1) Una memoria tiene capacidad de un mega, si se la divide en páginas y la dirección para acceder la página está constituida por dos campos: nro de frame y desplazamiento:
a) Indique para un desplazamiento de 12 bits cual es el tamaño de la página y en cuantos frames se divide la memoria.
b) Si el campo nro de frame es de 7 bits en cuantos frames se divide la memoria y cuantos bits tiene el campo desplazamiento en la dirección.
c) Considerando el punto b, si el código de un programa ocupa 4096 bytes ¿cuántas páginas requiere? Calcule el eventual desperdicio.
Los puntos A y B estoy casi seguro que los tengo bien pensados (a- 4KB (2^12)/256 frames /// b-128 frames/13 bits)
Mi duda es con el punto c: al ser 4096 bytes necesito solo una página no? Me confunde el eventual desperdicio que dice al final.
--
3) Todos los registros de cálculo están puestos a cero cuando se ejecuta la linea de código presentada en el recuadro
[ 2F37:0100 SUB AL, 01 ]
a) Cómo quedará el contenido del registro AL luego de su ejecución, si el mnemónico SUB significa "restar"? Expresar en hexadecimal el valor del registro, indicar el valor de los flags luego de la ejecución.
b) Indicar a qué valor decimal corresponde sis e considera que el operando es signado.
a) Puede ser: 0100 => AH = 01 y AL = 00 => Complemento 00 = FF => FF-01 (por SUB AL, 01) => FE => S = 1; V,C,Z = 0
b) -2
--
Y algunos otros ejercicios de otros finales:
Una teórica de varias partes que le quería consultar:
1) Con dos o tres palabras como máximo indique la acción de las señales NMI e INTR:
Interrupciones externas
2) ¿Durante que ciclo se consultan las banderas que almacenan el estado de éstas señales?
?
3) ¿Que módulo Hardware genera la señal INTR?
Procesador?
4) En que posición de la IDT o tabla de vectores de interrupciones se encuentra su vector?
Puede ser que en ninguna, que se "auto-genera"?
--
Este tipo de ejercicios de chips me cuesta verlos bien todavía, por ejemplo:
Para implementar una memoria de 256K x 16 usando chips de 16K x 8 indicar:
1) ¿Cuántos chips se requieren?
(256K*16)/(16K*8) = 32 chips
2) Cuantos bits se requieren para direccionar una palabra dentro del chip?
3) Cuantos bits se requieren para identificar el chip?
4) ¿Como está formada la matriz de chips en filas por columnas?
5) ¿Cual es el valor hexadecimal de la primera y la ultima direccion expresados en hexadecimal?
--
Otro teórico que quizás es re fácil, pero no me doy cuenta:
¿Cual es la ultima dirección accesible en un segmento virtual, determinada por el campo límite de su descriptor? (en hexadecimal)
En una respuesta dice FFFFF, pero no me doy cuenta porqué.
--
Y por ultimo, dos ejercicios que solo quiero verificar si los estoy planteando bien:
1) Un sistema de memoria paginada utiliza páginas de 16K y opera en un entorno donde la dirección lineal es de 24 bits. Cuántos y cuales bits de esa dirección se utilizan para indicar el desplazamiento dentro de la página suponiendo una administración con un único nivel de jerarquía?
Yo simplemente pensé que siendo paginas de 16KB necesito 2^14 = 16KB => 14 bits para desplazamiento, quedandome 10 para la "etiqueta" de la pagina. Esto es correcto?
2) Una memoria principal de 4Mb opera con una caché de 64 K lineas de 8 bytes cada una y utiliza correspondencia directa (asociativa de una vía). Que estructura de parámetros permite el acceso a esta memoria y como se distribuyen los bits correspondientes.
Al ser de 1 vía quedaría formada solo por Etiqueta y posición => la posición sale de hacer 2^3 (lineas de 8 bits) y sabiendo que la memoria principal es de 4Mb (2^22) puedo hacer 2^22/2^3 y me daría 19 bits para la etiqueta.
Saludos y muchas gracias!
A saber:
Final del 21/12/2010:
Puntos prácticos:
1) Una memoria tiene capacidad de un mega, si se la divide en páginas y la dirección para acceder la página está constituida por dos campos: nro de frame y desplazamiento:
a) Indique para un desplazamiento de 12 bits cual es el tamaño de la página y en cuantos frames se divide la memoria.
b) Si el campo nro de frame es de 7 bits en cuantos frames se divide la memoria y cuantos bits tiene el campo desplazamiento en la dirección.
c) Considerando el punto b, si el código de un programa ocupa 4096 bytes ¿cuántas páginas requiere? Calcule el eventual desperdicio.
Los puntos A y B estoy casi seguro que los tengo bien pensados (a- 4KB (2^12)/256 frames /// b-128 frames/13 bits)
Mi duda es con el punto c: al ser 4096 bytes necesito solo una página no? Me confunde el eventual desperdicio que dice al final.
--
3) Todos los registros de cálculo están puestos a cero cuando se ejecuta la linea de código presentada en el recuadro
[ 2F37:0100 SUB AL, 01 ]
a) Cómo quedará el contenido del registro AL luego de su ejecución, si el mnemónico SUB significa "restar"? Expresar en hexadecimal el valor del registro, indicar el valor de los flags luego de la ejecución.
b) Indicar a qué valor decimal corresponde sis e considera que el operando es signado.
a) Puede ser: 0100 => AH = 01 y AL = 00 => Complemento 00 = FF => FF-01 (por SUB AL, 01) => FE => S = 1; V,C,Z = 0
b) -2
--
Y algunos otros ejercicios de otros finales:
Una teórica de varias partes que le quería consultar:
1) Con dos o tres palabras como máximo indique la acción de las señales NMI e INTR:
Interrupciones externas
2) ¿Durante que ciclo se consultan las banderas que almacenan el estado de éstas señales?
?
3) ¿Que módulo Hardware genera la señal INTR?
Procesador?
4) En que posición de la IDT o tabla de vectores de interrupciones se encuentra su vector?
Puede ser que en ninguna, que se "auto-genera"?
--
Este tipo de ejercicios de chips me cuesta verlos bien todavía, por ejemplo:
Para implementar una memoria de 256K x 16 usando chips de 16K x 8 indicar:
1) ¿Cuántos chips se requieren?
(256K*16)/(16K*8) = 32 chips
2) Cuantos bits se requieren para direccionar una palabra dentro del chip?
3) Cuantos bits se requieren para identificar el chip?
4) ¿Como está formada la matriz de chips en filas por columnas?
5) ¿Cual es el valor hexadecimal de la primera y la ultima direccion expresados en hexadecimal?
--
Otro teórico que quizás es re fácil, pero no me doy cuenta:
¿Cual es la ultima dirección accesible en un segmento virtual, determinada por el campo límite de su descriptor? (en hexadecimal)
En una respuesta dice FFFFF, pero no me doy cuenta porqué.
--
Y por ultimo, dos ejercicios que solo quiero verificar si los estoy planteando bien:
1) Un sistema de memoria paginada utiliza páginas de 16K y opera en un entorno donde la dirección lineal es de 24 bits. Cuántos y cuales bits de esa dirección se utilizan para indicar el desplazamiento dentro de la página suponiendo una administración con un único nivel de jerarquía?
Yo simplemente pensé que siendo paginas de 16KB necesito 2^14 = 16KB => 14 bits para desplazamiento, quedandome 10 para la "etiqueta" de la pagina. Esto es correcto?
2) Una memoria principal de 4Mb opera con una caché de 64 K lineas de 8 bytes cada una y utiliza correspondencia directa (asociativa de una vía). Que estructura de parámetros permite el acceso a esta memoria y como se distribuyen los bits correspondientes.
Al ser de 1 vía quedaría formada solo por Etiqueta y posición => la posición sale de hacer 2^3 (lineas de 8 bits) y sabiendo que la memoria principal es de 4Mb (2^22) puedo hacer 2^22/2^3 y me daría 19 bits para la etiqueta.
Saludos y muchas gracias!