20-pipelining-datapath-control.ppt [modo de...

35
Pipelining Datapath y control

Upload: others

Post on 27-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

PipeliningDatapath y control

Page 2: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

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.

Page 3: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

Universidad de Sonora Arquitectura de Computadoras 3

Pipelined Datapath

Fuente: COD 5, p. 287

Page 4: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

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)

Page 5: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

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.

Page 6: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

Universidad de Sonora Arquitectura de Computadoras 6

Pipelined Datapath

Fuente: COD 5, p. 296.

Page 7: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

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.

Page 8: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

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.

Page 9: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

Universidad de Sonora Arquitectura de Computadoras 9

Ejemplo

� Etapa 1

Page 10: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

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.

Page 11: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

Universidad de Sonora Arquitectura de Computadoras 11

Ejemplo

� Etapa 2

Page 12: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

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.

Page 13: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

Universidad de Sonora Arquitectura de Computadoras 13

Ejemplo

� Etapa 3

Page 14: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

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.

Page 15: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

Universidad de Sonora Arquitectura de Computadoras 15

Ejemplo

� Etapa 4

Page 16: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

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.

Page 17: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

Universidad de Sonora Arquitectura de Computadoras 17

Ejemplo

� Etapa 5

Page 18: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

Universidad de Sonora Arquitectura de Computadoras 18

Conclusión

� Partes del datapath usadas por lw (COD 5, p. 297).

Page 19: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

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.

Page 20: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

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.

Page 21: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

Universidad de Sonora Arquitectura de Computadoras 21

Otro ejemplo

� Etapa 3

Page 22: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

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.

Page 23: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

Universidad de Sonora Arquitectura de Computadoras 23

Otro ejemplo

� Etapa 4

Page 24: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

Universidad de Sonora Arquitectura de Computadoras 24

Etapa 5� WB – write back.

� El store no hace nada.

Page 25: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

Universidad de Sonora Arquitectura de Computadoras 25

Otro ejemplo

� Etapa 5

Page 26: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

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.

Page 27: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

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

Page 28: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

Universidad de Sonora Arquitectura de Computadoras 28

Ciclo múltiple moderno

Fuente COD 5, p. 298

Page 29: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

Universidad de Sonora Arquitectura de Computadoras 29

Ciclo múltiple tradicional

Fuente: COD 5, p. 299

Page 30: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

Universidad de Sonora Arquitectura de Computadoras 30

Ciclo único

Fuente: COD 5, p. 299

Page 31: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

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

Page 32: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

Pipelined Datapath

Fuente: COD 5, p. 301

Universidad de Sonora Arquitectura de Computadoras 32

Page 33: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

Señales de control por etapa

Fuente: COD 5, p. 302

Universidad de Sonora Arquitectura de Computadoras 33

Page 34: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

Líneas de control

Fuente: COD 5, p. 303

Universidad de Sonora Arquitectura de Computadoras 34

Page 35: 20-Pipelining-datapath-control.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/20-Pipelining... · 2020-03-12 · Universidad de Sonora Arquitectura de Computadoras

Pipelined datapath con control

Fuente: COD 5, p. 304

Universidad de Sonora Arquitectura de Computadoras 35