Introducción a las microarquitecturas
a) Cuantos bits necesitamos en el pc para poder direccionar toda la memoria.
Sln: como la memoria es de 64 KB, tiene un espacio de direccionamiento de 216 direcciones y por lo tanto necesitaremos de 16 bits para poder direccionar toda la memoria.
b) ¿Cuál es el valor inmediatomás grande que puede representarse en una instrucción aritmética?
Sln: si sumamos 16 instrucciones adicionales, tendríamos un total de 32 opcodes (Contando con el reservado) y por esta razón para representar el opcode, necesitamos 5 bits. Para los registro, como ahora contamos con 16, necesitamos 4 bits para representarlos. Por lo tanto para una instrucción aritmética inmediata, requerimos de8 bits para los registros de DR y operando, 5 para el opcode y 1 para determinar la operación inmediata (14 bits). De este modo, manteniendo los 16 bits de una instrucción, solo dispondremos de 2 bits para la operación inmediata y por lo tanto el valor inmediato más grande que puede representarse en una instrucción aritmética es 1 y -2.
c) Si queremos que 128 rutinas diferentes de sistemasoperativos estén accesibles mediante una instrucción Trap y formamos la dirección de cada una de estas rutinas al recorrer el vector de interrupción a la izquierda 5 bits, ¿cuál es la cantidad mínima de memoria requerida por las rutinas de servicio trap?
Sln: Si formamos la dirección con 5 bits tendremos 25 (32) direcciones posibles lo cual no cubre las 128 rutinas diferentes.
d) Si en la nuevaversión de la LC-3 reducimos el número de registros de 8 a 4 y mantenemos el número de opcodes en 16, ¿Cuál es el valor inmediato más grande que podríamos representar en una instrucción ADD en esta nueva máquina?.
Sln: necesitamos 4 bist para representar el opcode, 4 bits para el DR, y el primer registro operando y un bit para determinar que la operación es inmediata, lo que nos da un total de 9bits, por lo tanto dispondríamos de 7 bits para el número inmediato, con lo que podríamos representar los números del 64 al -65.
5.29 La ISA de la LC-3 contiene la instrucción LDR DR, BaseR, desplazamiento. Después de que se decodifica la instrucción, las operaciones siguientes (llamadas microinstrucciones) se realizan para completar el procesamiento de la instrucción LDR:
MAR ← Base R +SEXT(Desplazamiento); Configura la dirección de memoria.
MDR ← Memory [MAR]; Lee la memoria en Base + Offset.
DR ← MDR; Carga DR.
Suponga que el arquitecto de la LC-3 quería incluir una instrucción MOVE DR, SR que copiará la localidad de memoria con la dirección dada por SR y la almacenara en la localidad de memoria cuya dirección está en DR.
a) La instrucción MOVE no es realmentenecesaria ya que puede lograse con una secuencia de instrucciones LC-3 existentes. ¿Qué secuencia de instrucciones LC-3 existentes implementa (también se dice “emula”) MOVE R0, R1?
Sln:
ST, R1, SEXT(dir memoria formada por bits[8:0] + pc, supongamos x3012) M[x3012]←R1
LD, R3, SEXT(dir memoria formada por bits[8:0] anterior - 1 + pc) R3 ← M[x3012] .
b) Si la instrucción MOVE se adicionara a laISA de la LC-3, ¿Qué secuencia de microinstrucciones, seguida por la operación decode, emularía MOVE DR, SR?
Sln:
MAR ← SR, Configura la dirección de memoria.
MDR ← Memory [MAR]; Lee la memoria SR.
TReg ← MDR; Carga el contenido de SR en un reg temporal.
MAR ← DR; Configura la dirección de memoria.
WR_EN
MDR ←Memory [Treg].
6.19 A menudo es necesario cifrar mensajes para...
Regístrate para leer el documento completo.