Practica5 2017 18 Ruta Datosv1
Practica5 2017 18 Ruta Datosv1
Practica5 2017 18 Ruta Datosv1
PRÁCTICA 5.
CAMINO DE DATOS.
ANÁLISIS DE SEÑALES DE CONTROL.
Objetivos:
Estudiar los elementos que componen el camino de datos monociclo del procesador MIPS.
Conocer las señales de control que se activan en el camino de datos monociclo del procesador
MIPS.
Desarrollo / Comentario:
Duración: 2 horas.
Parte 1.
.data
valor1: .word 0x30
valor2: .word 0x20
result: .word 0
.text
.globl main
main:
la $t6,valor1
lw $s1,0($t6)
lw $s2,4($t6)#11
slt $t1,$s1,$s2 #12
beq $t1,$0,suma #13
sub $t2,$s2,$s1
seguir:
addi $t2,$t2,1
la $s3,result
sw $t2,0($s3)#20
fin:
addi $v0,$0,10
syscall
suma:
add $t2,$s1,$s2 #26
j seguir #27
c) Ejecuta el programa paso a paso e indica el valor de las señales de control (0, 1 o X (si da
igual)) cuando se ejecuten las siguientes instrucciones (de las líneas: 11, 12, 13, 20, 26 y 27).
lw 0 1 1 1 1 0 0 00 0
slt 1 0 0 1 0 0 0 10 0
beq X 0 X 0 0 0 1 01 0
sw X 1 X 0 0 1 0 00 0
add 1 0 0 1 0 0 0 10 0
j X X X 0 0 0 X XX 1
2
Prácticas de Estructura de Computadores –Grado en Ingeniería Informática Curso 2017/18
Parte 2.
a) Indica en la tabla de abajo el valor de las líneas 1-8 (marcadas en la ruta de datos) para la
ejecución de las instrucciones de las líneas 11 y 13.
Nota: la señal ALUop puede tener los siguientes valores:
00: Para indicar que la operación que debe realizar la ALU es una suma
01: Para indicar que la operación que debe realizar la ALU es una resta
10: Para indicar que la operación que debe realizar la ALU depende del valor de Instr [5-0].
Instr[25 -0]
Shift 1
26 left 2
28 32
0 7
Add 3 PC+4[31 -28]
6 0
Add 1
4 Shift 5 PCSrc
Jump left 2
ALUOp
Branch
Control MemRead
MemtoReg
Unit MemWrite
Instr[31-26] ALUSrc
RegWrite
RegDst
Instr[25 -21]
Instr
Instruction
Memory
Read Reg 1
Register Read
4 Address
Instr[20 -16]
Instr
Read Reg 2 Data 1 zero
Data
Read File
PC
Address
Instr[31 -0] 0 ALU Memory Read Data 1
Write Reg
Read 0
1 Data 2 Write Data 0
Instr[15
Write Data
-11] 1
1 Sign
Extend
2 ALU 8
Instr[15-0] 16 32 control
Instr[5 -0]
Instr
3
Prácticas de Estructura de Computadores –Grado en Ingeniería Informática Curso 2017/18
$t1, condicional
$0, =
suma 0x00400034
b1) ¿Cuál sería el tiempo mínimo necesario para ejecutar la instrucción de la línea 13 en
un ciclo? Razona la respuesta.
CAMINO 1: PC+MEMORIA+REGISTRO+ALU+PC
50+500+300+200+50 = 1100 ps
b3) Si el ciclo de reloj se corresponde con el tiempo mayor necesario para ejecutar las
instrucciones. ¿Cuál es la duración del ciclo de reloj?
Operación más larga lw = 1850 ps // Como un ciclo es una instrucción el ciclo más
largo es 1850 ps.
(La frecuencia será de 540’5 MHz) // F= 1/1850x10^ (-12) = 540540540’540… Hz =
540’5 MHz