UTNianos

Versión completa: [Arquitectura] Dudas varias
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
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!
Por las dudas aviso, que dado que el final lo pasaron a vaya uno a saber cuando, estas dudas siguen vigentes n___nu
Hola. Te respondo tu primer pregunta, la del punto 1) del final del 21/12/2010.
A y B son correctas para mi también. El punto C, al quedarte 13bits para el desplazamiento tenes un tamaño máximo de página de 8192. De modo que si el código del programa ocupa 4096, te queda la mitad de la página desperdiciada. Corregime si me equivoco.

Saludos
Hola, podrías subir éste final? porque lo último que vi en fotocopiadora fueron de marzo 2010.

Si tenés algún otro después de esa fecha, también te lo agradezco mucho.
Ident, clarísimo. Gracias

proyectomaru: Dale, te subo los mas recientes.

Por cierto, el resto de las dudas siguen vigentes =(

Las dudas
Aca te deje los que tengo del 2010:
http://www.utnianos.com.ar/foro/showthread.php?tid=5499
Saludos!
Yo tengo una pregunta tambien, En un modulo de memoria de 256K x 16 ¿Cual es el valor hexadecimal de la primera y la ultima direccion expresados en hexadecimal?
256K x 16 significa que la memoria tiene 256k de palabras de 16bits, cada una de esas 256k de palabras va a tener una direccion, primero averiguamos cuantos bits se necesitan: 256k = 256x2^10 = 2^8 x 2 ^10= 2^18

Tiene 18 bits, entonces la más baja va a ser ( en binario) 000000000000000000 y la más alta 111111111111111111
Ahora solo hay que pasarlo a hexadecimal, cada digito hexadecimal son 4 en binario, uno puede formar el hexadecimal así:
00 0000 0000 0000 0000
0 0 0 0 0

No importa que nos haya quedado un grupo que no sea de 4, pero al pasar de hexadecimal a binario hay que acordarse de que van a sobrar dos ceros que no cuentan en la direccion.

11 1111 1111 1111 1111
3 F F F F
Genio! Muchas gracias!
URLs de referencia