ejercicios tema3

1
Ejercicios de Instrucciones y direccionamiento Ejercicio 1. Sea un computador de 16 bits, que direcciona la memoria por bytes y que incluye un repertorio con 60 instrucciones máquina. El banco de registros incluye 8 registros. Indicar el formato de la instrucción ADDV R1, R2, M, donde R1 y R2 son registros y M es una dirección de memoria. Ejercicio 2. Sea un computador de 32 bits, que direcciona la memoria por bytes. El computador incluye 64 instrucciones máquina y 128 registros. Considere la instrucción SWAPM dir1, dir2, que intercambia el contenido de las posiciones de memoria dir1 y dir2. Se pide: a) Indicar el espacio de memoria direccionable en este computador. b) Indicar el formato de la instrucción anterior. c) Especifique un fragmento de programa en ensamblador del MIPS 32 equivalente a la instrucción máquina anterior. Ejercicio 3. Sea un computador de 32 bits con direccionamiento de la memoria por bytes. El computador dispone de 64 registros. Se quiere diseñar un formato para las instrucciones de este computador teniendo en cuenta: a) El computador dispone de 115 instrucciones de máquina. b) El modelo de ejecución del computador es registro-registro. c) Dispone de los siguientes tipos de instrucciones: Instrucciones de transferencia entre un registro y la memoria. Para estas instrucciones se permiten dos tipos de direccionamiento: direccionamiento directo y direccionamiento relativo a registro base. Instrucciones aritméticas y lógicas Instrucciones de bifurcación. Existen dos tipos de instrucciones de bifurcación: incondicional a una dirección de memoria y bifurcaciones condicionales. Para las bifurcaciones condicionales, la condición se expresa en un registro y el salto se indica con direccionamiento relativo a contador de programa. Se pide: a) Diseñe el formato de instrucciones de este computador, teniendo en cuenta que todas las instrucciones deben caber en una palabra. b) Asumiendo que el desplazamiento utilizado en las instrucciones con direccionamiento relativo a registro base utiliza complemento a 2. Indique el valor máximo de los desplazamientos que se pueden realizar. c) Si la dirección utilizada en las instrucciones de bifurcación incondicional se representan en binario natural, indique el rango de direcciones posibles para el salto. d) Según el juego de instrucciones diseñado, ¿qué modelo de computador sería, RISC o CISC? Razone su respuesta en tres líneas como mucho. Ejercicio 4. Sea una CPU de 16 bits, que se encuentra conectada a una memoria, que se direcciona por bytes. El banco de registros incluye 16 registros de propósito general visibles al usuario. El juego de instrucciones de este computador incluye 180 instrucciones de máquina entre las que se encuentran las siguientes: LOADI R, inm Carga en el registro R el valor inmediato inm STORE R, dir Almacena el contenido de R en la dirección de memoria dir ADDI R1, R2, inm Suma el contenido de R2 con el valor inm y deja el resultado en R1 ADD R1, R2, Suma el contenido de R1 con el de R2 y deja el resultado en R1 BNEZ R, dir Si el contenido del registro R es distinto de 0 salta a dir Las direcciones y los valores inmediatos que se incluyen en las instrucciones son enteros de 16 bits. Dado el siguiente fragmento de código: LOADI R1, 0 LOADI R2, 3 LOADI R3, 1 ETI: ADD R1, R3 ADDI R3, R3, 2 ADDI R2, R2, -1 BNEZ R2, ETI STORE R3, 500 Se pide: a) Indique un formato posible para las instrucciones anteriores. b) Suponiendo que el programa anterior se carga en la posición de memoria 1000. ¿Cuántas palabras de memoria ocupa el programa anterior? Indique el contenido de esas palabras de memoria. c) ¿Qué hace el programa anterior y qué resultado genera? Indique el contenido de los registros R1, R2 y R3 una vez acabada la ejecución de fragmento de código anterior.

Upload: xavier-davias

Post on 16-Jun-2015

89 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ejercicios tema3

Ejercicios de Instrucciones y direccionamiento Ejercicio 1. Sea un computador de 16 bits, que direcciona la memoria por bytes y que incluye un repertorio con 60 instrucciones máquina. El banco de registros incluye 8 registros. Indicar el formato de la instrucción ADDV R1, R2, M, donde R1 y R2 son registros y M es una dirección de memoria. Ejercicio 2. Sea un computador de 32 bits, que direcciona la memoria por bytes. El computador incluye 64 instrucciones máquina y 128 registros. Considere la instrucción SWAPM dir1, dir2, que intercambia el contenido de las posiciones de memoria dir1 y dir2. Se pide:

a) Indicar el espacio de memoria direccionable en este computador. b) Indicar el formato de la instrucción anterior. c) Especifique un fragmento de programa en ensamblador del MIPS 32 equivalente a la instrucción máquina

anterior. Ejercicio 3. Sea un computador de 32 bits con direccionamiento de la memoria por bytes. El computador dispone de 64 registros. Se quiere diseñar un formato para las instrucciones de este computador teniendo en cuenta:

a) El computador dispone de 115 instrucciones de máquina. b) El modelo de ejecución del computador es registro-registro. c) Dispone de los siguientes tipos de instrucciones:

• Instrucciones de transferencia entre un registro y la memoria. Para estas instrucciones se permiten dos tipos de direccionamiento: direccionamiento directo y direccionamiento relativo a registro base.

• Instrucciones aritméticas y lógicas • Instrucciones de bifurcación. Existen dos tipos de instrucciones de bifurcación: incondicional a una

dirección de memoria y bifurcaciones condicionales. Para las bifurcaciones condicionales, la condición se expresa en un registro y el salto se indica con direccionamiento relativo a contador de programa.

Se pide: a) Diseñe el formato de instrucciones de este computador, teniendo en cuenta que todas las instrucciones deben

caber en una palabra. b) Asumiendo que el desplazamiento utilizado en las instrucciones con direccionamiento relativo a registro base

utiliza complemento a 2. Indique el valor máximo de los desplazamientos que se pueden realizar. c) Si la dirección utilizada en las instrucciones de bifurcación incondicional se representan en binario natural,

indique el rango de direcciones posibles para el salto. d) Según el juego de instrucciones diseñado, ¿qué modelo de computador sería, RISC o CISC? Razone su

respuesta en tres líneas como mucho. Ejercicio 4. Sea una CPU de 16 bits, que se encuentra conectada a una memoria, que se direcciona por bytes. El banco de registros incluye 16 registros de propósito general visibles al usuario. El juego de instrucciones de este computador incluye 180 instrucciones de máquina entre las que se encuentran las siguientes:

LOADI R, inm Carga en el registro R el valor inmediato inm STORE R, dir Almacena el contenido de R en la dirección de memoria dir ADDI R1, R2, inm Suma el contenido de R2 con el valor inm y deja el resultado en R1 ADD R1, R2, Suma el contenido de R1 con el de R2 y deja el resultado en R1

BNEZ R, dir Si el contenido del registro R es distinto de 0 salta a dir Las direcciones y los valores inmediatos que se incluyen en las instrucciones son enteros de 16 bits. Dado el siguiente fragmento de código: LOADI R1, 0 LOADI R2, 3 LOADI R3, 1 ETI: ADD R1, R3 ADDI R3, R3, 2 ADDI R2, R2, -1 BNEZ R2, ETI STORE R3, 500 Se pide:

a) Indique un formato posible para las instrucciones anteriores. b) Suponiendo que el programa anterior se carga en la posición de memoria 1000. ¿Cuántas palabras de memoria

ocupa el programa anterior? Indique el contenido de esas palabras de memoria. c) ¿Qué hace el programa anterior y qué resultado genera? Indique el contenido de los registros R1, R2 y R3 una

vez acabada la ejecución de fragmento de código anterior.