20-pipelining-datapath-control.ppt [modo de...
TRANSCRIPT
PipeliningDatapath y control
Universidad de Sonora Arquitectura de Computadoras 2
Pipelined Datapath� El datapath de la CPU secuencial se puede reusar.
� Se separa en 5 partes:
� IF – instruction fetch.
� ID – instruction decode and register file read.
� EX – execution or address calculation.
� MEM – data memory access.
� WB – write back.
Universidad de Sonora Arquitectura de Computadoras 3
Pipelined Datapath
Fuente: COD 5, p. 287
Universidad de Sonora Arquitectura de Computadoras 4
Pipelined Datapath� Las instrucciones y los datos se mueven de
izquierda a derecha.
� Dos excepciones:
1. Etapa WB – el resultado se escribe en el banco de registros.
2. La selección del siguiente valor del PC.
a) PC + 4 (no hubo brinco).
b) PC + offset (si hubo brinco)
Universidad de Sonora Arquitectura de Computadoras 5
Pipelined Datapath� Se colocan registros entre cada etapa.
� Sirven para pasar valores de una etapa a otra.
� Hay 4 registros:
1. IF/ID.
2. ID/EX.
3. EX/MEM.
4. MEM/WB.
Universidad de Sonora Arquitectura de Computadoras 6
Pipelined Datapath
Fuente: COD 5, p. 296.
Universidad de Sonora Arquitectura de Computadoras 7
Ejemplo� Mostrar como avanza una instrucción lw en el
datapath.
� Imágenes del COD 5, p. 291 – 293.
Universidad de Sonora Arquitectura de Computadoras 8
Etapa 1� IF – instruction fetch.
� Se lee la instrucción de la memoria usando el PC.
� PC se incrementa en 4 y se pasa el mux del PC.
� Se guarda la instrucción y el PC incrementado en el registro IF/ID.
Universidad de Sonora Arquitectura de Computadoras 9
Ejemplo
� Etapa 1
Universidad de Sonora Arquitectura de Computadoras 10
Etapa 2� ID – instruction decode and register file read.
� Se lee el registro base en el banco de registros.
� Se obtiene el offset (dos bytes más bajos de la instrucción).
� Se extiende el offset a 4 bytes (32 bits) usando el extensor de signo.
� Se guarda el PC, el registro base y el offset extendido en el registro ID/EX.
Universidad de Sonora Arquitectura de Computadoras 11
Ejemplo
� Etapa 2
Universidad de Sonora Arquitectura de Computadoras 12
Etapa 3� EX – execute or address calculation.
� La ALU suma el registro base más el offset.
� Se guarda el resultado en el registro EX/MEM.
� Notar que las demás partes del registro EX/MEM almacenan datos que no se van a usar.
Universidad de Sonora Arquitectura de Computadoras 13
Ejemplo
� Etapa 3
Universidad de Sonora Arquitectura de Computadoras 14
Etapa 4� MEM – memory access.
� Se lee la memoria de datos en la dirección registro base + offset.
� Se guarda el resultado en el registro MEM/WB.
Universidad de Sonora Arquitectura de Computadoras 15
Ejemplo
� Etapa 4
Universidad de Sonora Arquitectura de Computadoras 16
Etapa 5� WB – write back.
� Lee el dato del registro MEM/WB y lo guarda en el banco de registros.
Universidad de Sonora Arquitectura de Computadoras 17
Ejemplo
� Etapa 5
Universidad de Sonora Arquitectura de Computadoras 18
Conclusión
� Partes del datapath usadas por lw (COD 5, p. 297).
Universidad de Sonora Arquitectura de Computadoras 19
Otro ejemplo� Mostrar como avanza una instrucción sw en el
datapath.
� Imágenes del COD 5, p. 294 – 295.
� La etapa IF es igual que para lw.
� La etapa ID es casi igual que para lw.
� La diferencia es que sw tiene que leer dos registros: el registro fuente y el registro base.
sw $r1, offset($r2)
� Los valores de r1 y r2 se leen en el banco de registros.
Universidad de Sonora Arquitectura de Computadoras 20
Etapa 3� EX – execute or address calculation.
� Parecida a lw: la ALU suma el registro base más el offset.
� La diferencia es que es que hay que guardar registro fuente en el registro EX/MEM.
Universidad de Sonora Arquitectura de Computadoras 21
Otro ejemplo
� Etapa 3
Universidad de Sonora Arquitectura de Computadoras 22
Etapa 4� MEM – memory access.
� El valor del registro fuente se escribe en la memoria de datos en la dirección registro base + offset.
Universidad de Sonora Arquitectura de Computadoras 23
Otro ejemplo
� Etapa 4
Universidad de Sonora Arquitectura de Computadoras 24
Etapa 5� WB – write back.
� El store no hace nada.
Universidad de Sonora Arquitectura de Computadoras 25
Otro ejemplo
� Etapa 5
Universidad de Sonora Arquitectura de Computadoras 26
Representaciones gráficas� Hay dos estilos de dibujos de pipelines:
1. Diagramas de pipeline de ciclos de reloj múltiple.
2. Diagramas de pipeline de ciclos de reloj único.
Universidad de Sonora Arquitectura de Computadoras 27
Ejemplo� Considerar el siguiente código:
lw $10 20($1)
sub $11 $2 $3
add $12 $3 $4
lw $13 24($1)
add $14 $5 $6
Universidad de Sonora Arquitectura de Computadoras 28
Ciclo múltiple moderno
Fuente COD 5, p. 298
Universidad de Sonora Arquitectura de Computadoras 29
Ciclo múltiple tradicional
Fuente: COD 5, p. 299
Universidad de Sonora Arquitectura de Computadoras 30
Ciclo único
Fuente: COD 5, p. 299
Pipelined Control � Las señales de control son las mismas que las de la
CPU secuencial.
� Ahora se agrupan según la etapa del pipeline.
� Las primeras dos etapas, IF e ID, no tienen señales de control.
� Se necesitan pasar las señales entre etapas.
� Los registros del pipeline se extienden para incluir esa información.
Universidad de Sonora Arquitectura de Computadoras 31
Pipelined Datapath
Fuente: COD 5, p. 301
Universidad de Sonora Arquitectura de Computadoras 32
Señales de control por etapa
Fuente: COD 5, p. 302
Universidad de Sonora Arquitectura de Computadoras 33
Líneas de control
Fuente: COD 5, p. 303
Universidad de Sonora Arquitectura de Computadoras 34
Pipelined datapath con control
Fuente: COD 5, p. 304
Universidad de Sonora Arquitectura de Computadoras 35