Uploaded by Bryan Edward Suca Jaramillo

2022-02 Lab 04a Single MultiCycle

advertisement
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
Download