Parcial 1 2C/2008 (Organización del Computador I)
Ejercicio 1 (25 puntos)
Dada la siguiente codificación de números reales:
Mantisa Exponente Signo 17 6 1
Exponente: notación exceso 31.
Signo Error al representar (SVG o PNG como alternativa (MathML puede ser habilitado mediante plugin de navegador): respuesta no válida («Math extension cannot connect to Restbase.») del servidor «https://en.wikipedia.org/api/rest_v1/»:): {\displaystyle \left\{\begin{matrix} 0 & positivo\\ 1 & negativo \end{matrix}\right} .
Mantisa: representada en punto fijo con 2 bits más significativos para la parte entera y los 15 bits restantes para la parte fraccionaria.
(7 puntos) a) Escribir el máximo y el mínimo real mayor a cero representable en este sistema.
(3 puntos) b) ¿Existe única representación?
(5 puntos) c) ¿Qué número está representando 0x780571, en esta codificación si está almacenado big-endian y considerando que la palabra es de 8 bits?
(10 puntos) d) Para la misma codificación, donde la mantisa es normalizada a [1; x:::x]. Responda los ítems a), b), y c) considerando para este último que está codificado little endian.
Ejercicio 2 (25 puntos)
Construir un circuito secuencial de 3 entradas y una salida. El comportamiento del circuito es el siguiente: por cada ciclo de clock se escribirá en las entradas un valor. Cuando la cantidad de valores iguales a 111 que se escriben en las entradas alcanza las 5 veces, se debe generar un 1 en la salida, durante un ciclo de clock.
(20 puntos) 1. Construir el circuito descripto en el enunciado.
(5 puntos) 2. ¿Puede el circuito anterior construirse con un solo flip-flop?
Ejercicio 3 (25 puntos)
Sea el siguiente fragmento de código assembler de ORGA1:
vec: DW 0x0000
Dw 0x000C
main: MOV [0x000D], 0x2840
MOV [0x000E], 0x0001
MOV R1, vec
call chon
DW 0x0000
chon: DW 0xBEBA
DW 0xCAFE
MOV R1, [R1]
CMP [R1], 0x0000
JE fin
MOV R1, 0xFFFF
fin: RET
Considerando que la etiqueta vec se encuentra cargada a partir de la dirección 0x0000, que todos los registros inicialmente valen cero, exceptuando el PC=0x0002 y SP=0xFECA.
(15 puntos) 1. Realizar el seguimiento desde la etiqueta main, hasta llegar a una instrucción invalida.
(5 puntos) 2. Indicar las posiciones de memoria correspondientes a las instrucciones que se modifican durante la ejecución.
(5 puntos) 3. ¿Cual es el valor de R1 al finalizar la ejecución?
Ejercicio 4 (25 puntos)
Sea el siguiente formato de instrucción para un procesador con direcciones de memoria de 16 bits, 8 registros y 3 tipos de direccionamiento de registros.
Tipo 0:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Codop Memoria
Codop 0000 a 1001
- 10 instrucciones con una dirección de memoria.
Tipo 1:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
REG 1 REG 2 REG 3
Codop E Mod Reg Mod Reg Mod Reg
Codop 1010 a 1111, con bit E = 0, Mod = 00 a 10
- 6 instrucciones de 3 registros con 3 modos de direccionamiento.
(20 puntos) 1. Agregar al formato anterior, manteniendo compatibilidad, tres tipos nuevos de instrucciones.
a) Tipo 2: 18 instrucciones de 2 registros con 3 modos de direccionamiento y un operando de 3 bits.
b) Tipo 3: 48 instrucciones de 1 registro con 3 modos de direccionamiento y un operando de 4 bits.
c) Tipo 4: 53 instrucciones sin operandos.
(5 puntos) 2. ¿Puede agregarse a la arquitectura anterior 1 instrucción de una dirección de memoria?. Justifique.