Optimización de Ciclos de CPU en Operaciones con Registros: Técnicas de Planificación y Desenrrollamiento
Enviado por Chuletator online y clasificado en Electricidad y Electrónica
Escrito el en español con un tamaño de 4,18 KB
Ejercicio 1
Apartado 1
Se requieren 26 ciclos, contando las detenciones identificadas.
Bucle:
l.d $f0, 0($r1)
l.d $f2, 0($r2)
l.d $f4, 0($r3)
- <stall> x 2
mul.d $f0, $f0, $f2
- <stall> x 8
add.d $f0, $f0, $f4
- <stall> x 5
s.d $f0, 0($r4)
addi $r1, $r1, 8
addi $r2, $r2, 8
addi $r3, $r3, 8
addi $r4, $r4, 8
bne $r1, $r0, bucle
Apartado 2
Planificando, se puede reducir a 22 ciclos por iteración.
Bucle:
l.d $f0, 0($r1)
l.d $f2, 0($r2)
l.d $f4, 0($r3)
addi $r1, $r1, 8
addi $r2, $r2, 8
mul.d $f0, $f0, $f2
addi $r3, $r3, 8
addi $r4, $r4, 8
- <stall> x 6
add.d $f0, $f0, $f4
- <stall> x 5
s.d $f0, -8($r4)
bne $r1, $r0, bucle
Apartado 3
Bucle:
l.d $f0, 0($r1)
l.d $f2, 0($r2)
l.d $f4, 0($r3)
l.d. $f6, 8($r0)
l.d $f8, 8($r0)
l.d $f10, 8($r0)
mul.d $f0, $f0, $f2
addi $r1, $