Pipelining Datapath y control Pipelined Datapath El datapath

  • Slides: 35
Download presentation
Pipelining Datapath y control

Pipelining Datapath y control

Pipelined Datapath El datapath de la CPU secuencial se puede reusar. Se separa en

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 2

Pipelined Datapath Fuente: COD 5, p. 287 Universidad de Sonora Arquitectura de Computadoras 3

Pipelined Datapath Fuente: COD 5, p. 287 Universidad de Sonora Arquitectura de Computadoras 3

Pipelined Datapath Las instrucciones y los datos se mueven de izquierda a derecha. Dos

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 4

Pipelined Datapath 1. 2. 3. 4. Se colocan registros entre cada etapa. Sirven para

Pipelined Datapath 1. 2. 3. 4. Se colocan registros entre cada etapa. Sirven para pasar valores de una etapa a otra. Hay 4 registros: IF/ID. ID/EX. EX/MEM. MEM/WB. Universidad de Sonora Arquitectura de Computadoras 5

Pipelined Datapath Fuente: COD 5, p. 296. Universidad de Sonora Arquitectura de Computadoras 6

Pipelined Datapath Fuente: COD 5, p. 296. Universidad de Sonora Arquitectura de Computadoras 6

Ejemplo Mostrar como avanza una instrucción lw en el datapath. Imágenes del COD 5,

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 7

Etapa 1 IF – instruction fetch. Se lee la instrucción de la memoria usando

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 8

Ejemplo Etapa 1 Universidad de Sonora Arquitectura de Computadoras 9

Ejemplo Etapa 1 Universidad de Sonora Arquitectura de Computadoras 9

Etapa 2 ID – instruction decode and register file read. Se lee el registro

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 10

Ejemplo Etapa 2 Universidad de Sonora Arquitectura de Computadoras 11

Ejemplo Etapa 2 Universidad de Sonora Arquitectura de Computadoras 11

Etapa 3 EX – execute or address calculation. La ALU suma el registro base

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 12

Ejemplo Etapa 3 Universidad de Sonora Arquitectura de Computadoras 13

Ejemplo Etapa 3 Universidad de Sonora Arquitectura de Computadoras 13

Etapa 4 MEM – memory access. Se lee la memoria de datos en la

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 14

Ejemplo Etapa 4 Universidad de Sonora Arquitectura de Computadoras 15

Ejemplo Etapa 4 Universidad de Sonora Arquitectura de Computadoras 15

Etapa 5 WB – write back. Lee el dato del registro MEM/WB y lo

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 16

Ejemplo Etapa 5 Universidad de Sonora Arquitectura de Computadoras 17

Ejemplo Etapa 5 Universidad de Sonora Arquitectura de Computadoras 17

Conclusión Partes del datapath usadas por lw (COD 5, p. 297). Universidad de Sonora

Conclusión Partes del datapath usadas por lw (COD 5, p. 297). Universidad de Sonora Arquitectura de Computadoras 18

Otro ejemplo Mostrar como avanza una instrucción sw en el datapath. Imágenes del COD

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 $r 1, offset($r 2) Los valores de r 1 y r 2 se leen en el banco de registros. Universidad de Sonora Arquitectura de Computadoras 19

Etapa 3 EX – execute or address calculation. Parecida a lw: la ALU suma

Etapa 3 EX – execute or address calculation. Parecida a lw: la ALU suma el registro base más el offset. La diferencia es que hay que guardar registro fuente en el registro EX/MEM. Universidad de Sonora Arquitectura de Computadoras 20

Otro ejemplo Etapa 3 Universidad de Sonora Arquitectura de Computadoras 21

Otro ejemplo Etapa 3 Universidad de Sonora Arquitectura de Computadoras 21

Etapa 4 MEM – memory access. El valor del registro fuente se escribe en

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 22

Otro ejemplo Etapa 4 Universidad de Sonora Arquitectura de Computadoras 23

Otro ejemplo Etapa 4 Universidad de Sonora Arquitectura de Computadoras 23

Etapa 5 WB – write back. El store no hace nada. Universidad de Sonora

Etapa 5 WB – write back. El store no hace nada. Universidad de Sonora Arquitectura de Computadoras 24

Otro ejemplo Etapa 5 Universidad de Sonora Arquitectura de Computadoras 25

Otro ejemplo Etapa 5 Universidad de Sonora Arquitectura de Computadoras 25

Representaciones gráficas Hay dos estilos de dibujos de pipelines: 1. Diagramas de pipeline de

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 26

Ejemplo Considerar el siguiente código: Universidad de Sonora lw $10 20($1) sub $11 $2

Ejemplo Considerar el siguiente código: Universidad de Sonora lw $10 20($1) sub $11 $2 $3 add $12 $3 $4 lw $13 24($1) add $14 $5 Arquitectura de Computadoras $6 27

Ciclo múltiple moderno Fuente COD 5, p. 298 Universidad de Sonora Arquitectura de Computadoras

Ciclo múltiple moderno Fuente COD 5, p. 298 Universidad de Sonora Arquitectura de Computadoras 28

Ciclo múltiple tradicional Fuente: COD 5, p. 299 Universidad de Sonora Arquitectura de Computadoras

Ciclo múltiple tradicional Fuente: COD 5, p. 299 Universidad de Sonora Arquitectura de Computadoras 29

Ciclo único Fuente: COD 5, p. 299 Universidad de Sonora Arquitectura de Computadoras 30

Ciclo único Fuente: COD 5, p. 299 Universidad de Sonora Arquitectura de Computadoras 30

Pipelined Control Las señales de control son las mismas que las de la CPU

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

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

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

Líneas de control Fuente: COD 5, p. 303 Universidad de Sonora Arquitectura de Computadoras 34

Pipelined datapath control Fuente: COD 5, p. 304 Universidad de Sonora Arquitectura de Computadoras

Pipelined datapath control Fuente: COD 5, p. 304 Universidad de Sonora Arquitectura de Computadoras 35