CS221: Arquitectura de Computadores 2022-02 (CCOMP3-1) Laboratorio 04a: Arquitectura de Ciclo Único y multiciclo Yván Jesús Túpac Valdivia Universidad Católica San Pablo, Arequipa – Perú 27 de octubre de 2022 1 Objetivos - Diseñar circuitos digitales relacionados a la arquitectura de ciclo único para ejecución de instrucciones MicroMIPS 2 Contenido base - Diapositivas Ruta de datos y control - Ciclo único. - Diapositivas Ruta de datos y control - Multiciclo. - Libro guı́a [Parhami, 2005] (verificar el PDF en Moodle) - Simulador de circuitos digitales https://circuitverse.org - MARS1 : emulador, ensamblador de instrucciones MIPS. Todos los alumnos antes de la sesión de laboratorio deberán revisar las clases (material diapositivas o libro y/o videos) de Ruta de datos y control en ciclo único y multiciclo [Parhami, 2005] 3 Arquitectura en ciclo único 3.1 Lógica de próxima instrucción para MicroMIPS Basado en la explicación dada en clase, la descripción en el libro texto y las diapositivas, a partir de la Figura 1 con sus condiciones de señales: Diseñe e implemente en CircuitVerse la lógica de próxima instrucción con las lógicas necesarias que permitan verificar la condición de bifurcación para las instrucciones beq, bne, bltz de acuerdo al control BrType. 3.2 Rendimiento en Ciclo único - caso real Considerando que, en ciclo único, cada instrucción gasta un ciclo de reloj (CPI = 1.0), haga el seguimiento de ejecución del siguiente código MIPS (Fibonacci.asm), puede utilizar MARS para hacer el seguimiento. Considere que se generen 5 elementos en la serie. https://www.dropbox.com/s/32lso39wmvm3cb9/Fibonacci.asm?dl=1 y encuentre: 1 Descargable de http://courses.missouristate.edu/kenvollmar/mars/ 1 BrTrue / 30 IncrPC Adder / 30 0 NextPC Función 00 01 10 11 Inst. default beq bne bltz 1 / 30 2 3 / 30 / 30 / 30 / 30 30 1 / (rt) / (rs) / (PC)31:2 / jta 32 32 30 MSBs SE cin / BrType / 30 Branch condition checker 16 4 imm MSBs 30 26 SysCallAddr BrType PCSrc Figure 1: Lógica de próxima instrucción y control BrType: Ciclo único El total de ciclos de reloj utilizados. El tiempo de ejecución, si el reloj del procesador es de 250MHz. Tenga en cuenta que habiendo bucles, o llamadas a procedimientos, un bloque de instrucciones puede ejecutarse más de una vez, se pide contar el total de instrucciones ejecutadas incluyendo repeticiones por bucles o llamadas repetidas a procedimientos (a esto se le suele denominar código desdoblado). De haber pseudoinstrucciones recuerde que al ensamblarse, éstas son convertidas a una o más instrucciones reales, se debe hacer el cálculo de la ejecución con las instrucciones reales. 4 Arquitectura en Multiciclo 4.1 Rendimiento en Multiciclo - caso real Para el mismo código de Fibonaci que se vio en ciclo único, también para 5 instrucciones: https://www.dropbox.com/s/32lso39wmvm3cb9/Fibonacci.asm?dl=1 haga el seguimiento (que serı́a el mismo del caso anterior) y encuentre: El total de ciclos de reloj utilizados, considerando que las instrucciones gastan cantidades diferentes de ciclos si se trata de: i) Aritméticas y sw: 4 ciclos ii) lw : 5 ciclos iii) Saltos y bifurcaciones: 3 ciclos El CPI (ciclos de reloj por instrucción) promedio para este caso (CPI se calcula dividiendo cantidad de ciclos de reloj utilizados entre cantidad de instrucciones ejecutadas del código desdoblado) El tiempo de ejecución requerido si el reloj del procesador es de 1GHz 2 5 Microinstrucciones Guiándose de la figura siguiente y revisando el mapa de pasos de ejecución que está en el material de clases PC control Cache control Register control ALU inputs ALU Sequence function control Fn Type LogicFn Add’Sub ALUSrcY ALUSrcX JumpAddr PCSrc PCWrite Inst’Data MemRead MemWrite IRWrite RegInSrc RegDst RegWrite construya las microinstrucciones que ejecutan todas las etapas de ejecución de las siguientes instrucciones: sw $t0, 8($s0) addi $t0,$t1, 25 Si se requiere aumentar el tamaño de bits de alguna de las señales, hágalo e indı́quelo Si algún bit queda indefinido o dependiente de datos de la instrucción o ejecución también indı́quelo References [Parhami, 2005] Parhami, B. (2005). Computer Architecture: From Microprocessors to Supercomputers. The Oxford Series in Electrical and Computer Engineering. OUP USA. 3