SlideShare a Scribd company logo
Pipeline Performance
F1
F2
F3
I1
I2
I3
E1
E2
E3
D1
D2
D3
W1
W2
W3
Instruction
F4 D4
I4
Clock c
y cle 1 2 3 4 5 6 7 8 9
Figure 8.3. Effect of an e
xecution operation taking more than one clock c
ycle.
E4
F5
I5 D5
Time
E5
W4
Pipeline Performance
 The previous pipeline is said to have been stalled for two clock
cycles.
 Any condition that causes a pipeline to stall is called a hazard.
 Data hazard – any condition in which either the source or the
destination operands of an instruction are not available at the
time expected in the pipeline. So some operation has to be
delayed, and the pipeline stalls.
 Instruction (control) hazard – a delay in the availability of an
instruction causes the pipeline to stall.
 Structural hazard – the situation when two instructions require
the use of a given hardware resource at the same time.
Pipeline Performance
F1
F2
F3
I1
I2
I3
D1
D2
D3
E1
E2
E3
W1
W2
W3
Instruction
Figure 8.4. Pipeline stall caused by a cache miss in F2.
1 2 3 4 5 6 7 8 9
Clock c
y cle
(a) Instruction execution steps in successiv e clock cy cles
1 2 3 4 5 6 7 8
Clock c
y cle
Stage
F: Fetch
D: Decode
E: Execute
W: Write
F1 F2 F3
D1 D2 D3
idle idle idle
E1 E2 E3
idle idle idle
W1 W2
idle idle idle
(b) Function perf ormed by each processor stage in successiv e clock cy cles
9
W3
F2 F2 F2
Time
Time
Idle periods –
stalls (bubbles)
Instruction
hazard
Pipeline Performance
F1
F2
F3
I1
I2 (Load)
I3
E1
M2
D1
D2
D3
W1
W2
Instruction
F4
I4
Clock c
y cle 1 2 3 4 5 6 7
Figure 8.5. Effect of a Load instruction on pipeline timing.
F5
I5 D5
Time
E2
E3 W3
E4
D4
Load X(R1), R2
Structural
hazard
Data Hazards
 We must ensure that the results obtained when instructions are
executed in a pipelined processor are identical to those obtained
when the same instructions are executed sequentially.
 Hazard occurs
A ← 3 + A
B ← 4 × A
 No hazard
A ← 5 × C
B ← 20 + C
 When two operations depend on each other, they must be
executed sequentially in the correct order.
 Another example:
Mul R2, R3, R4
Add R5, R4, R6
Data Hazards
F1
F2
F3
I1 (Mul)
I2 (Add)
I3
D1
D3
E1
E3
E2
W3
Instruction
Figure 8.6. Pipeline stalled by data dependenc
y between D
2 and W
1.
1 2 3 4 5 6 7 8 9
Clock c
y cle
W1
D2A W2
F4 D4 E4 W4
I4
D2
Time
Figure 8.6. Pipeline stalled by data dependency between D2 and W1.
Operand Forwarding
 Instead of from the register file, the second
instruction can get data directly from the
output of ALU after the previous instruction is
completed.
 A special arrangement needs to be made to
“forward” the output of ALU to the input of
ALU.
print.pptx
Handling Data Hazards in
Software
 Let the compiler detect and handle the
hazard:
I1: Mul R2, R3, R4
NOP
NOP
I2: Add R5, R4, R6
 The compiler can reorder the instructions to
perform some useful work during the NOP
slots.
Side Effects
 The previous example is explicit and easily detected.
 Sometimes an instruction changes the contents of a register
other than the one named as the destination.
 When a location other than one explicitly named in an instruction
as a destination operand is affected, the instruction is said to
have a side effect. (Example?)
 Example: conditional code flags:
Add R1, R3
AddWithCarry R2, R4
 Instructions designed for execution on pipelined hardware should
have few side effects.
Overview
 Whenever the stream of instructions supplied
by the instruction fetch unit is interrupted, the
pipeline stalls.
 Cache miss
 Branch
Unconditional Branches
F2
I2 (Branch)
I3
Ik
E2
F3
Fk Ek
Fk+1 Ek+1
Ik+1
Instruction
Figure 8.8. An idle c
ycle caused by a branch instruction.
Execution unit idle
1 2 3 4 5
Clock c
y cle
Time
F1
I1 E1
6
X
Branch Timing
Figure 8.9. Branch timing.
Fk+1 Dk+1
Ik+1 Ek+1
(b) Branch address computed in Decode stage
- Branch penalty
- Reducing the penalty
Instruction Queue and
Prefetching
F : Fetch
instruction
E : Execute
instruction
W : Write
results
D : Dispatch/
Decode
Instruction queue
Instruction fetch unit
Figure 8.10. Use of an instruction queue in the hardware organization of Figure 8.2b.
unit
Conditional Braches
 A conditional branch instruction introduces
the added hazard caused by the dependency
of the branch condition on the result of a
preceding instruction.
 The decision to branch cannot be made until
the execution of that instruction has been
completed.
 Branch instructions represent about 20% of
the dynamic instruction count of most
programs.

More Related Content

PPT
chapter6- Pipelining.ppt chaptPipelining
PDF
Pipeline Organization Overview and Performance.pdf
PPT
Chapter6 pipelining
PPT
Pipelining
PPT
pipelining
PPT
Pipelining in computer architecture
PPTX
Core pipelining
PPT
Computer architecture pipelining
chapter6- Pipelining.ppt chaptPipelining
Pipeline Organization Overview and Performance.pdf
Chapter6 pipelining
Pipelining
pipelining
Pipelining in computer architecture
Core pipelining
Computer architecture pipelining

Similar to print.pptx (20)

PPT
Instruction pipelining
PPT
Pipelining & All Hazards Solution
PDF
instruction pipeline in computer architecture and organization.pdf
PPTX
Assembly p1
PPT
module2.ppt
PPT
PipelineHazards _
PPSX
Concept of Pipelining
PPT
Ct213 processor design_pipelinehazard
PPT
Pipeline hazard
PPTX
pipelining and hazards occure in assembly language.
PPT
High Performance Computer Architecture
PPT
Performance Enhancement with Pipelining
PPTX
4. Pipeline Hazards.pptx
PPTX
pipelining.pptx
PPT
Pipelinig hazardous
PPTX
Slides.pptx
PPTX
3 Pipelining
PPT
12 processor structure and function
PDF
Computer SAarchitecture Lecture 6_Pip.pdf
PDF
Topic2a ss pipelines
Instruction pipelining
Pipelining & All Hazards Solution
instruction pipeline in computer architecture and organization.pdf
Assembly p1
module2.ppt
PipelineHazards _
Concept of Pipelining
Ct213 processor design_pipelinehazard
Pipeline hazard
pipelining and hazards occure in assembly language.
High Performance Computer Architecture
Performance Enhancement with Pipelining
4. Pipeline Hazards.pptx
pipelining.pptx
Pipelinig hazardous
Slides.pptx
3 Pipelining
12 processor structure and function
Computer SAarchitecture Lecture 6_Pip.pdf
Topic2a ss pipelines
Ad

More from kalai75 (15)

PPTX
Introduction to BI-converted bio informatics.pptx
PPTX
Bioinformatics and its applications-converted.pptx
PDF
Python ppt.pdf
PPTX
ppt final.pptx
PPTX
R Programming.pptx
PPTX
Q-Step_WS_06112019_Data_Analysis_and_visualisation_with_Python.pptx
PPT
Lec1cgu13updated.ppt
PDF
Cloud and Bid data Dr.VK.pdf
PPTX
2 ppt.pptx
DOCX
COA Precourse.docx
PDF
Linear algebra
PPT
Ppt1
DOCX
Applications of data mining in bioinformatics
PDF
Atal trivandrum academy
PDF
Atal trivandrum academy
Introduction to BI-converted bio informatics.pptx
Bioinformatics and its applications-converted.pptx
Python ppt.pdf
ppt final.pptx
R Programming.pptx
Q-Step_WS_06112019_Data_Analysis_and_visualisation_with_Python.pptx
Lec1cgu13updated.ppt
Cloud and Bid data Dr.VK.pdf
2 ppt.pptx
COA Precourse.docx
Linear algebra
Ppt1
Applications of data mining in bioinformatics
Atal trivandrum academy
Atal trivandrum academy
Ad

Recently uploaded (20)

PPTX
Welding lecture in detail for understanding
PDF
Digital Logic Computer Design lecture notes
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
CH1 Production IntroductoryConcepts.pptx
PPT
Mechanical Engineering MATERIALS Selection
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PDF
PPT on Performance Review to get promotions
PDF
Arduino robotics embedded978-1-4302-3184-4.pdf
PPTX
bas. eng. economics group 4 presentation 1.pptx
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPTX
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PPT
Project quality management in manufacturing
PPTX
Lesson 3_Tessellation.pptx finite Mathematics
Welding lecture in detail for understanding
Digital Logic Computer Design lecture notes
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Model Code of Practice - Construction Work - 21102022 .pdf
CH1 Production IntroductoryConcepts.pptx
Mechanical Engineering MATERIALS Selection
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
Foundation to blockchain - A guide to Blockchain Tech
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPT on Performance Review to get promotions
Arduino robotics embedded978-1-4302-3184-4.pdf
bas. eng. economics group 4 presentation 1.pptx
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Strings in CPP - Strings in C++ are sequences of characters used to store and...
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
Project quality management in manufacturing
Lesson 3_Tessellation.pptx finite Mathematics

print.pptx

  • 1. Pipeline Performance F1 F2 F3 I1 I2 I3 E1 E2 E3 D1 D2 D3 W1 W2 W3 Instruction F4 D4 I4 Clock c y cle 1 2 3 4 5 6 7 8 9 Figure 8.3. Effect of an e xecution operation taking more than one clock c ycle. E4 F5 I5 D5 Time E5 W4
  • 2. Pipeline Performance  The previous pipeline is said to have been stalled for two clock cycles.  Any condition that causes a pipeline to stall is called a hazard.  Data hazard – any condition in which either the source or the destination operands of an instruction are not available at the time expected in the pipeline. So some operation has to be delayed, and the pipeline stalls.  Instruction (control) hazard – a delay in the availability of an instruction causes the pipeline to stall.  Structural hazard – the situation when two instructions require the use of a given hardware resource at the same time.
  • 3. Pipeline Performance F1 F2 F3 I1 I2 I3 D1 D2 D3 E1 E2 E3 W1 W2 W3 Instruction Figure 8.4. Pipeline stall caused by a cache miss in F2. 1 2 3 4 5 6 7 8 9 Clock c y cle (a) Instruction execution steps in successiv e clock cy cles 1 2 3 4 5 6 7 8 Clock c y cle Stage F: Fetch D: Decode E: Execute W: Write F1 F2 F3 D1 D2 D3 idle idle idle E1 E2 E3 idle idle idle W1 W2 idle idle idle (b) Function perf ormed by each processor stage in successiv e clock cy cles 9 W3 F2 F2 F2 Time Time Idle periods – stalls (bubbles) Instruction hazard
  • 4. Pipeline Performance F1 F2 F3 I1 I2 (Load) I3 E1 M2 D1 D2 D3 W1 W2 Instruction F4 I4 Clock c y cle 1 2 3 4 5 6 7 Figure 8.5. Effect of a Load instruction on pipeline timing. F5 I5 D5 Time E2 E3 W3 E4 D4 Load X(R1), R2 Structural hazard
  • 5. Data Hazards  We must ensure that the results obtained when instructions are executed in a pipelined processor are identical to those obtained when the same instructions are executed sequentially.  Hazard occurs A ← 3 + A B ← 4 × A  No hazard A ← 5 × C B ← 20 + C  When two operations depend on each other, they must be executed sequentially in the correct order.  Another example: Mul R2, R3, R4 Add R5, R4, R6
  • 6. Data Hazards F1 F2 F3 I1 (Mul) I2 (Add) I3 D1 D3 E1 E3 E2 W3 Instruction Figure 8.6. Pipeline stalled by data dependenc y between D 2 and W 1. 1 2 3 4 5 6 7 8 9 Clock c y cle W1 D2A W2 F4 D4 E4 W4 I4 D2 Time Figure 8.6. Pipeline stalled by data dependency between D2 and W1.
  • 7. Operand Forwarding  Instead of from the register file, the second instruction can get data directly from the output of ALU after the previous instruction is completed.  A special arrangement needs to be made to “forward” the output of ALU to the input of ALU.
  • 9. Handling Data Hazards in Software  Let the compiler detect and handle the hazard: I1: Mul R2, R3, R4 NOP NOP I2: Add R5, R4, R6  The compiler can reorder the instructions to perform some useful work during the NOP slots.
  • 10. Side Effects  The previous example is explicit and easily detected.  Sometimes an instruction changes the contents of a register other than the one named as the destination.  When a location other than one explicitly named in an instruction as a destination operand is affected, the instruction is said to have a side effect. (Example?)  Example: conditional code flags: Add R1, R3 AddWithCarry R2, R4  Instructions designed for execution on pipelined hardware should have few side effects.
  • 11. Overview  Whenever the stream of instructions supplied by the instruction fetch unit is interrupted, the pipeline stalls.  Cache miss  Branch
  • 12. Unconditional Branches F2 I2 (Branch) I3 Ik E2 F3 Fk Ek Fk+1 Ek+1 Ik+1 Instruction Figure 8.8. An idle c ycle caused by a branch instruction. Execution unit idle 1 2 3 4 5 Clock c y cle Time F1 I1 E1 6 X
  • 13. Branch Timing Figure 8.9. Branch timing. Fk+1 Dk+1 Ik+1 Ek+1 (b) Branch address computed in Decode stage - Branch penalty - Reducing the penalty
  • 14. Instruction Queue and Prefetching F : Fetch instruction E : Execute instruction W : Write results D : Dispatch/ Decode Instruction queue Instruction fetch unit Figure 8.10. Use of an instruction queue in the hardware organization of Figure 8.2b. unit
  • 15. Conditional Braches  A conditional branch instruction introduces the added hazard caused by the dependency of the branch condition on the result of a preceding instruction.  The decision to branch cannot be made until the execution of that instruction has been completed.  Branch instructions represent about 20% of the dynamic instruction count of most programs.