1 / 20

Pipelining

22444 - Computer Architecture & Organization (1). Pipelining. Pipelining. Applied to sequential steps to speed up operation Example : Compute R i = A i  B i + C i for i=1, 2, … n. Perform the multiplication first. Perform the addition next. Sequential Execution. R1. Multiplier.

kaleb
Télécharger la présentation

Pipelining

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 22444 - Computer Architecture & Organization (1) Pipelining

  2. Pipelining • Applied to sequential steps to speed up operation Example: Compute Ri = AiBi + Ci for i=1, 2, … n Perform the multiplication first Perform the addition next

  3. Sequential Execution R1 Multiplier Adder R2 R3 MUL ADD

  4. Pipelined Execution R1 Multiplier Adder R3 R2 R4 MUL ADD

  5. B3 C4 A4 B4 A2B2+C2 A4B4 A3B3 A2B2 A1B1 C2 C3 A3B3+C3 B2 B1 A3 A2 A1 A1B1+C1 A4B4+C4 C1 Pipelined Execution Clock Input A Input B Input C R1 A1 A2 A3 A4 R2 B1 B2 B3 B4 R3 A1B1 A2B2 A3B3 A4B4 R4 C1 C2 C3 C4 Mult. Adder

  6. Pipelines Clock S1 R1 S2 R2 S3 R3 S4 R4 Input

  7. Pipelines n = number of Tasks k = number of segments T = segment time For n >> k

  8. Pipelining • Non Pipelined Process Execute Fetch Instr. Get Operands Store Result Instr.1 Instr.1 Instr.1 Instr.1 ƮALU ƮMem ƮMem ƮReg Register File PC Instr.Mem. ALU Data Mem.

  9. Pipelining • Non Pipelined Process Execute Fetch Instr. Get Operands Store Result Instr.2 Instr.2 Instr.2 Instr.2 ƮALU ƮMem ƮMem ƮReg Register File PC Instr.Mem. ALU Data Mem.

  10. Pipelining • Non Pipelined Process • Clock Period = • Clocks per Instruction = ƮALU ƮMem ƮMem ƮReg Register File PC Instr.Mem. ALU Data Mem.

  11. Pipelining • Pipelined Process Execute Fetch Instr. Get Operands Store Result Instr.2 Instr.1 Instr.5 Instr.3 Instr.4 Instr.2 Instr.1 Instr.2 Instr.4 Instr.3 Instr.3 Instr.2 Instr.1 Instr.1 ƮALU ƮMem ƮMem ƮReg IR Register File Result PC Instr.Mem. ALU Data Mem. X Y

  12. Pipelining • Pipelined Process IR Register File Result PC Instr.Mem. ALU Data Mem. X Y

  13. Pipelining • Pipelined Process • Clock Period = • Clocks per Instruction = ƮALU ƮMem ƮMem ƮReg IR Register File Result PC Instr.Mem. ALU Data Mem. X Y

  14. Pipelining Hazards • Structural Hazards Hardware can’t support instruction combination at a certain time. Example: IR Register File Result PC Instr.Mem. ALU Data Mem. X Y

  15. Pipelining Hazards • Data Hazards One instruction has to wait for another to complete. Example: IR Register File Result PC Instr.Mem. ALU Data Mem. X Y

  16. Pipelining Hazards • Control Hazards Decision depends on the result of unfinished instruction. Example: IR Register File Result PC Instr.Mem. ALU Data Mem. X Y

  17. Pipelining The End

  18. Homework • Mano

  19. Homework

  20. Homework

More Related