Instituto Tecnológico de Costa Rica Escuela de Ingeniería Electrónica II Semestre 2007 EL- 3310 Diseño de Sistemas Digitales Profesores: Ing. Roberto Pereira Arroyo, M.Sc. Ing. Adolfo Chaves Jiménez, Lic. PRÁCTICA No. 3 – Microarquitectura Monociclo 1) Haga una lista de los bloques funcionales que están el la ruta crítica de la ruta de datos monociclo de MIPS. ¿Cuál instrucción o secuencia de instrucciones requiere toda la ruta de datos crítica? 2) Se desea implementar el siguiente algoritmo: B=1 While (A B) begin A=A/2 B=B*2 End Los operandos y los resultados son de 16 bits. Diseñe la ruta de datos (datapath). Asuma que las variables A y B están representadas por registros del banco de registros. Utilice sólo un módulo de desplazamiento. 3) Se desea implementar el siguiente algoritmo: If (A B) D=((A+B)*2)+C Else D=C/2+B Los operandos y los resultados son de 16 bits. Diseñe la ruta de datos. D y C son localidades de memoria en la memoria de datos. 4) Considere la ruta de datos de la figura. a) Indique la secuencia de pasos para implementar las siguientes instrucciones máquina de un computador, indicando sobre la figura qué puntos de control se necesitarían. Explique su significado. -LOAD X //AC Mem[X] -ADD X // AC AC + Mem[X] -SUB X // AC AC - Mem[X] -JUMP X // PC X Simbología: AC: Acumulador IR: Registro de instrucciones PC: Contador de programa MDR: Memory data register MAR: Memory address register ALU MDR AC A memoria MAR A memoria PC IR Unidad de Control 5) Considere un computador de arquitectura registro-registro con las siguientes características: -Palabras de 16 bits, mínima unidad direccionable = 1 byte -Datos e instrucciones de 16 bits -Repertorio de instrucciones: LOAD, STORE, ADD, SUB, MUL, DIV, JMP (salto incondicional), BZ (salte si cero), JSR (salto a subrutina), RTS (retorno de subrutina). -8 registros de propósito general, de los cuales el registro R0 siempre almacena 0 -Direccionamiento directo de registro y direccionamiento inmediato para instrucciones aritméticas -Direccionamiento indirecto por registro con desplazamiento, direccionamiento absoluto (directo) y direccionamiento relativo, para las instrucciones de acceso a memoria a) Diseñe un formato de instrucción para el computador, procurando direccionar el mayor rango de localidades de memoria en las instrucciones de acceso a memoria b) Diseñe la ruta de datos para el computador e indique las señales de control necesarias para ejecutar cada instrucción del repertorio 6) En relación con la microarquitectura monociclo, conteste las siguientes preguntas. Explique su respuesta. a) ¿Qué determina el período de reloj? b) ¿Pueden compartirse módulos funcionales para realizar más de una operación? c) ¿Pueden compartirse módulos funcionales para realizar más de una operación en un mismo ciclo? 7) Considere la microarquitectura monociclo de MIPS. Explique cómo implementar las siguientes instrucciones en dicha microarquitectura: a) Jump register (jr), con el formato jr rs, la cual consiste en un salto incondicional a la instrucción cuya dirección está almacenada en el registro rs b) Jump and link register (jalr), con el formato jalr rs, rd, la cual consiste en un salto incondicional a la instrucción cuya dirección está almacenada en el registro rs y guarda la dirección de la siguiente instrucción en el registro rd c) Set on less than unsigned (sltu), con el formato sltu rd, rs, rt, la cual guarda un 1 en el registro rd si el valor en el registro rs es menor que el valor en el registro rt, o 0 en el caso contrario De ser necesario, haga modificaciones en la microarquitectura.