El Procesador Pipelined
Basado en el Capitulo 4 del texto: Computer Organization and Design, David Patterson y John Hennessy
Procesador Single-Cycle
Cuatro cargas:
Speedup
= 8/3.5 = 2.3
Sin parar:
Speedup
= 2n/0.5n + 1.5 4
= nmero de etapas
En pipeline de MIPS
Se requiere comparar tempranamente los registros y
calcular la direccin objetivo en el pipeline
Agregar hardware para hacer eso en la etapa ID
Prediccin
correcta
Prediccin
incorrecta
MEM
Flujo derecha WB
a izquierda
conduce a
hazards
Nmero de
registro
errneo
I
add $1,$1,$2
ALU
n IM Reg DM Reg
s
t
r.
add $1,$1,$3
ALU
IM Reg DM Reg
O
r
d
add $1,$1,$4
ALU
e IM Reg DM Reg
r
I
add $1,$1,$2
ALU
n IM Reg DM Reg
s
t
r.
add $1,$1,$3
ALU
IM Reg DM Reg
O
r
d
add $1,$1,$4
ALU
e IM Reg DM Reg
r
Necesita stall
por un ciclo
Stall
insertado aqu
O, ms
precisamente
Semestre Otoo 2014 ICEE1012 Sistemas Digitales II
Datapath con Deteccin de Hazard
Flush estas
instrucciones
(poner valores
de control en 0)
PC
IF ID EX MEM WB
beq stalled IF ID
beq stalled IF ID
beq stalled ID
Interrupciones
De un controlador de E/S externo
Es difcil tratar con ellas sin sacrificar el rendimiento
Hazard Carga-uso
Todava latencia de uso de un ciclo, pero ahora dos
instrucciones
Se requiere una programacin ms agresiva
Semestre Otoo 2014 ICEE1012 Sistemas Digitales II
Ejemplo Programacin
Programar para un MIPS dual-issue
Loop: lw $t0, 0($s1) # $t0=elemento de arreglo
addu $t0, $t0, $s2 # suma escalar en $s2
sw $t0, 0($s1) # guarda resultado
addi $s1, $s1,4 # decrementa puntero
bne $s1, $zero, Loop # salta si $s1!=0
Mantiene
operandos
pendientes
Resultados tambin
enviados a cualquier
reservation stations
en espera
Reordena el buffer
para escritura en Puede proveer
registros operandos para
instrucciones emitidas
72 registros
fsicos
PF es 5 etapas ms larga
Hasta 106 operaciones RISC en progreso
Cuellos de botella
Instrucciones complejas con largas dependencias
Malas predicciones del salto condicional
Retardos de acceso a memoria
Semestre Otoo 2014 ICEE1012 Sistemas Digitales II
Falacias
El pipelining es fcil(!)
La idea bsica es fcil
El problema esta en los detalles
e.g., deteccin de hazards de datos