arquitectura de computadores - pipelining 1 pipelining - datapath definciónes básicas ejemplos...

22
ARQUITECTURA DE COMPUTADORES - PIPE ARQUITECTURA DE COMPUTADORES - PIPE LINING LINING 1 PIPELINING - DATAPATH PIPELINING - DATAPATH Definciónes básicas Definciónes básicas Ejemplos prácticos Ejemplos prácticos Ejemplos sobre un procesador Ejemplos sobre un procesador Tiempo entre instrucciones Tiempo entre instrucciones Pipeline Hazard Pipeline Hazard

Upload: elmira-borrego

Post on 22-Apr-2015

50 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - DATAPATH Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre instrucciones

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

11

PIPELINING - DATAPATHPIPELINING - DATAPATH

Definciónes básicasDefinciónes básicas

Ejemplos prácticosEjemplos prácticos

Ejemplos sobre un procesadorEjemplos sobre un procesador

Tiempo entre instruccionesTiempo entre instrucciones

Pipeline HazardPipeline Hazard

Page 2: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - DATAPATH Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre instrucciones

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

22

SINGLE –CYCLE DATAPATHSINGLE –CYCLE DATAPATH

Figure 6.9 The single-cycle datapath from chapter 5 (similar to figure 5.17 on page 307). Computer Organization and Design. David A Paterson

Page 3: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - DATAPATH Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre instrucciones

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

33

PIPELINED EXECUTIONPIPELINED EXECUTION

Figure 6.10 Instruction being executed using the single cycle datapath in figure 6.9 . Computer Organization and Design. David A Paterson

Page 4: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - DATAPATH Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre instrucciones

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

44

THE PIPELINED VERSIONTHE PIPELINED VERSION

Figure 6.11 The Pipelined version of the datapath in figure 6.9. Computer Organization and Design. David A Paterson

Page 5: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - DATAPATH Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre instrucciones

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

55

EJEMPLOEJEMPLO

EL siguiente ejemplo sigue el proceso EL siguiente ejemplo sigue el proceso de pipelining para una instrucción de pipelining para una instrucción LOADLOAD

Page 6: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - DATAPATH Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre instrucciones

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

66

INSTRUCTION FETCHINSTRUCTION FETCH

La instrucción es leida de memoria, La instrucción es leida de memoria, de la dirección apuntada por PCde la dirección apuntada por PC

La instrucción es almacenada en el La instrucción es almacenada en el IF/ID pipelined register.IF/ID pipelined register.

PC=PC+4.PC=PC+4.

Aquí no se sabe que instrucción se va Aquí no se sabe que instrucción se va a ejecutar.a ejecutar.

Page 7: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - DATAPATH Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre instrucciones

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

77

FETCHFETCH

Figure 6.12 IF and ID: first and secod stages of an instruction. David A Paterson

Page 8: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - DATAPATH Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre instrucciones

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

88

INSTRUCTION DECODE AND INSTRUCTION DECODE AND REGISTER FILE READREGISTER FILE READ

Se obtieneSe obtiene– 16 bit inmediate field, que es el dato de 16 bit inmediate field, que es el dato de

entrada para sign-extend (32 bit)entrada para sign-extend (32 bit)– Dirección (número) de registro a ser Dirección (número) de registro a ser

leído.leído.– Todos los valores se almacenan en ID/Ex Todos los valores se almacenan en ID/Ex

pipeline registerpipeline register

Page 9: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - DATAPATH Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre instrucciones

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

99

INSTRUCTION DECODE –INSTRUCTION DECODE –REGISTER FILE READREGISTER FILE READ

Figure 6.12 IF and ID: first and secod stages of an instruction. David A Paterson

Page 10: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - DATAPATH Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre instrucciones

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

1010

EXECUTE OR ADDRESS EXECUTE OR ADDRESS CALCULATIONCALCULATION

Para el ejemplo se muestra que la Para el ejemplo se muestra que la instrucción LOAD toma:instrucción LOAD toma:

El contenido del register 1 y del sign El contenido del register 1 y del sign extend y los asigna a la ALU.extend y los asigna a la ALU.

El resultado es almacenado en El resultado es almacenado en EX/MEN pipeline registerEX/MEN pipeline register

Page 11: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - DATAPATH Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre instrucciones

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

1111

EXECUTIONEXECUTION

Figure 6.13 EX: the third pipe stage of a load instruction. David A Paterson

Page 12: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - DATAPATH Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre instrucciones

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

1212

MEMORY ACCESSMEMORY ACCESS

Se lee el dato de la memoria Se lee el dato de la memoria empleando la dirección almacenada empleando la dirección almacenada en EX/MEM pipeline register.en EX/MEM pipeline register.

Se almacena en el MEM/WB pipeline Se almacena en el MEM/WB pipeline register.register.

Page 13: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - DATAPATH Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre instrucciones

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

1313

MEMORY ACCESSMEMORY ACCESS

Figure 6.14MEM and WB: the fourth and fith pipe stages of a load instruction. David A Paterson

Page 14: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - DATAPATH Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre instrucciones

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

1414

WRITE BACKWRITE BACK

Se lee el valor del dato del registro Se lee el valor del dato del registro MEM/WB pipeline registerMEM/WB pipeline register

Se almacena en el register fileSe almacena en el register file

Page 15: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - DATAPATH Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre instrucciones

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

1515

WRITE BACKWRITE BACK

Figure 6.14 MEM and WB: the fourth and fith pipe stages of a load instruction. David A Paterson

Page 16: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - DATAPATH Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre instrucciones

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

1616

EJEMPLO PARA UNA EJEMPLO PARA UNA INSTRUCCIÓN STOREINSTRUCCIÓN STORE

EXECUTE: Para una instrucción STORE debe dejar pasar en la ALU read register 2MEMORY ACCESS: Se realiza memory writeWRITE BACK: en una instruction STORE en este estado no sucede nada

Page 17: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - DATAPATH Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre instrucciones

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

1717

EXECUTION STAGEEXECUTION STAGE

Figure 6.15 EX: the third pipe stage of a store instruction. David A Paterson

Page 18: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - DATAPATH Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre instrucciones

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

1818

MEMORY ACCESSMEMORY ACCESS

Figure 6.16 MEM AND WB: the fourth and fifth pipe stage os a store instruction. David A Paterson

Page 19: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - DATAPATH Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre instrucciones

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

1919

DIAGRAMA COMPLETODIAGRAMA COMPLETO

Figure 6.17 The corrected pipelined datapath to properly handle the load instrction. David A Paterson

Page 20: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - DATAPATH Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre instrucciones

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

2020

MULTICYCLE MULTICYCLE

Page 21: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - DATAPATH Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre instrucciones

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

2121

EJEMPLOSEJEMPLOS

Page 22: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - DATAPATH Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre instrucciones

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

2222