Instruction-Level Parallelism
Techniques
With Explanations
Pipelining – Basic 5-stage and
deeper pipelines
• Breaks instruction execution into stages (Fetch, Decode, Execute, Memory,
Write-back) to increase throughput.
Pipelining – Handling hazards:
data, control, structural
• Techniques to resolve conflicts when multiple instructions compete for
resources or depend on each other.
Pipelining – Forwarding, stalling,
flushing
• Mechanisms to handle hazards: data forwarding to bypass results, stalls to
delay execution, and flushes on branch mispredicts.
Superscalar Execution – Multiple
instructions per cycle
• Allows the processor to issue and execute more than one instruction per
clock cycle.
Superscalar Execution – Issue
width and dispatch logic
• Defines how many instructions can be issued per cycle and how they are
dispatched to execution units.
Out-of-Order Execution (OoO) -
Dynamic Scheduling – Instruction
window
• A buffer holding instructions waiting to be issued out-of-order.
Out-of-Order Execution (OoO) -
Dynamic Scheduling – Reorder
Buffer (ROB)
• Ensures instructions retire in-order for correct program behavior.
Out-of-Order Execution (OoO) -
Dynamic Scheduling – Reservation
Stations
• Hold instructions until their operands are ready, enabling dynamic
scheduling.
Register Renaming – Avoid false
dependencies (WAR, WAW)
• Uses additional physical registers to eliminate write-after-read and write-
after-write hazards.
Scoreboarding – Dependency
tracking without renaming
• Tracks instruction status to decide when it can execute, managing hazards
without renaming.
Tomasulo’s Algorithm – Dynamic
scheduling with register renaming
and hazard resolution
• A classic algorithm that combines renaming and reservation stations for
out-of-order execution.
Speculative Execution – Control
speculation
• Executes instructions before knowing if a branch is taken.
Speculative Execution – Value
speculation
• Guesses values of operands to execute dependent instructions early.
Branch Prediction – Static and
dynamic prediction
• Static uses fixed strategies; dynamic learns patterns during execution.
Branch Prediction – 2-bit
predictors, GShare, Tournament
predictors
• Advanced dynamic predictors improve accuracy of branch outcome
guesses.
Software Pipelining – Compiler-
level ILP for loops
• Rearranges loop iterations so multiple steps from different iterations
execute in parallel.
Software Pipelining – Delayed
Branch
• A technique where the instruction after a branch is always executed, used
to reduce control hazards.
Loop Unrolling – Expose more
parallelism to hardware
• Duplicates loop body to reduce overhead and reveal more instructions for
parallel execution.
VLIW (Very Long Instruction Word)
– Compiler-managed ILP
• Relies on compiler to pack independent instructions into a single wide
instruction.
VLIW (Very Long Instruction Word)
– EPIC (Intel Itanium)
• An advanced form of VLIW with explicit parallelism hints in the instruction.
Instruction Fusion & Micro-op
Fusion – Combine related
operations (e.g., compare+branch)
• Combines multiple operations into a single micro-op to save cycles and
resources.
Control Independence – Execute
instructions beyond unresolved
branches
• Speculatively executes instructions not affected by branch outcome.

More Related Content

PPTX
Instruction LEvel parallelism- ILP Techniques Presentation
PPTX
Instruction Pipelining
PPTX
Instruction-Level Parallelism and Its Exploitation.pptx
PPTX
Slides.pptx
PPT
instruction parallelism .ppt
PPT
Chapt12Processor Structure and Function.ppt
PPT
12 processor structure and function
PPTX
Assembly p1
Instruction LEvel parallelism- ILP Techniques Presentation
Instruction Pipelining
Instruction-Level Parallelism and Its Exploitation.pptx
Slides.pptx
instruction parallelism .ppt
Chapt12Processor Structure and Function.ppt
12 processor structure and function
Assembly p1

Similar to ILP_Techniques_Explained_Presentation.pptx (20)

PDF
Pipelining
PPTX
Computer Architecture and Organization
PPT
computer architecture module3 notes module
PPT
Pipeline hazard
PDF
The Challenges facing Libraries and Imperative Languages from Massively Paral...
PPT
CALecture3Module1.ppt
PPTX
Instruction pipelining
PPT
12 processor structure and function
PPT
Performance Enhancement with Pipelining
PPT
Pipeling performance-Part-2-OOO Execution - Tomasulo Algorithm.ppt
PPTX
INSTRUCTION LEVEL PARALLALISM
PPT
Unit 2 contd. and( unit 3 voice over ppt)
PPTX
6. ILP.pptx
PPTX
Instruction Level Parallelism | Static Multiple Issue & Dynamic Multiple Issu...
PPT
Computer architecture pipelining
PPTX
Conditional branches
PDF
Computer SAarchitecture Lecture 6_Pip.pdf
PPTX
Advanced Pipelining in ARM Processors.pptx
PDF
COA_Unit-3_slides_Pipeline Processing .pdf
DOCX
parallelism
Pipelining
Computer Architecture and Organization
computer architecture module3 notes module
Pipeline hazard
The Challenges facing Libraries and Imperative Languages from Massively Paral...
CALecture3Module1.ppt
Instruction pipelining
12 processor structure and function
Performance Enhancement with Pipelining
Pipeling performance-Part-2-OOO Execution - Tomasulo Algorithm.ppt
INSTRUCTION LEVEL PARALLALISM
Unit 2 contd. and( unit 3 voice over ppt)
6. ILP.pptx
Instruction Level Parallelism | Static Multiple Issue & Dynamic Multiple Issu...
Computer architecture pipelining
Conditional branches
Computer SAarchitecture Lecture 6_Pip.pdf
Advanced Pipelining in ARM Processors.pptx
COA_Unit-3_slides_Pipeline Processing .pdf
parallelism
Ad

Recently uploaded (20)

PDF
Unit I -OPERATING SYSTEMS_SRM_KATTANKULATHUR.pptx.pdf
DOCX
ENVIRONMENTAL PROTECTION AND MANAGEMENT (18CVL756)
PPTX
DATA STRCUTURE LABORATORY -BCSL305(PRG1)
PPTX
Micro1New.ppt.pptx the main themes if micro
PDF
UEFA_Carbon_Footprint_Calculator_Methology_2.0.pdf
PDF
IAE-V2500 Engine Airbus Family A319/320
PPTX
SE unit 1.pptx aaahshdhajdviwhsiehebeiwheiebeiev
PDF
VTU IOT LAB MANUAL (BCS701) Computer science and Engineering
PPTX
MAD Unit - 3 User Interface and Data Management (Diploma IT)
PDF
[jvmmeetup] next-gen integration with apache camel and quarkus.pdf
PDF
Lesson 3 .pdf
PDF
electrical machines course file-anna university
PPTX
WN UNIT-II CH4_MKaruna_BapatlaEngineeringCollege.pptx
PPTX
Module1.pptxrjkeieuekwkwoowkemehehehrjrjrj
PDF
UEFA_Embodied_Carbon_Emissions_Football_Infrastructure.pdf
PPTX
Unit IImachinemachinetoolopeartions.pptx
PPTX
INTERNET OF THINGS - EMBEDDED SYSTEMS AND INTERNET OF THINGS
PPTX
chapter 1.pptx dotnet technology introduction
PPTX
CNS - Unit 1 (Introduction To Computer Networks) - PPT (2).pptx
PPTX
Wireless sensor networks (WSN) SRM unit 2
Unit I -OPERATING SYSTEMS_SRM_KATTANKULATHUR.pptx.pdf
ENVIRONMENTAL PROTECTION AND MANAGEMENT (18CVL756)
DATA STRCUTURE LABORATORY -BCSL305(PRG1)
Micro1New.ppt.pptx the main themes if micro
UEFA_Carbon_Footprint_Calculator_Methology_2.0.pdf
IAE-V2500 Engine Airbus Family A319/320
SE unit 1.pptx aaahshdhajdviwhsiehebeiwheiebeiev
VTU IOT LAB MANUAL (BCS701) Computer science and Engineering
MAD Unit - 3 User Interface and Data Management (Diploma IT)
[jvmmeetup] next-gen integration with apache camel and quarkus.pdf
Lesson 3 .pdf
electrical machines course file-anna university
WN UNIT-II CH4_MKaruna_BapatlaEngineeringCollege.pptx
Module1.pptxrjkeieuekwkwoowkemehehehrjrjrj
UEFA_Embodied_Carbon_Emissions_Football_Infrastructure.pdf
Unit IImachinemachinetoolopeartions.pptx
INTERNET OF THINGS - EMBEDDED SYSTEMS AND INTERNET OF THINGS
chapter 1.pptx dotnet technology introduction
CNS - Unit 1 (Introduction To Computer Networks) - PPT (2).pptx
Wireless sensor networks (WSN) SRM unit 2
Ad

ILP_Techniques_Explained_Presentation.pptx

  • 2. Pipelining – Basic 5-stage and deeper pipelines • Breaks instruction execution into stages (Fetch, Decode, Execute, Memory, Write-back) to increase throughput.
  • 3. Pipelining – Handling hazards: data, control, structural • Techniques to resolve conflicts when multiple instructions compete for resources or depend on each other.
  • 4. Pipelining – Forwarding, stalling, flushing • Mechanisms to handle hazards: data forwarding to bypass results, stalls to delay execution, and flushes on branch mispredicts.
  • 5. Superscalar Execution – Multiple instructions per cycle • Allows the processor to issue and execute more than one instruction per clock cycle.
  • 6. Superscalar Execution – Issue width and dispatch logic • Defines how many instructions can be issued per cycle and how they are dispatched to execution units.
  • 7. Out-of-Order Execution (OoO) - Dynamic Scheduling – Instruction window • A buffer holding instructions waiting to be issued out-of-order.
  • 8. Out-of-Order Execution (OoO) - Dynamic Scheduling – Reorder Buffer (ROB) • Ensures instructions retire in-order for correct program behavior.
  • 9. Out-of-Order Execution (OoO) - Dynamic Scheduling – Reservation Stations • Hold instructions until their operands are ready, enabling dynamic scheduling.
  • 10. Register Renaming – Avoid false dependencies (WAR, WAW) • Uses additional physical registers to eliminate write-after-read and write- after-write hazards.
  • 11. Scoreboarding – Dependency tracking without renaming • Tracks instruction status to decide when it can execute, managing hazards without renaming.
  • 12. Tomasulo’s Algorithm – Dynamic scheduling with register renaming and hazard resolution • A classic algorithm that combines renaming and reservation stations for out-of-order execution.
  • 13. Speculative Execution – Control speculation • Executes instructions before knowing if a branch is taken.
  • 14. Speculative Execution – Value speculation • Guesses values of operands to execute dependent instructions early.
  • 15. Branch Prediction – Static and dynamic prediction • Static uses fixed strategies; dynamic learns patterns during execution.
  • 16. Branch Prediction – 2-bit predictors, GShare, Tournament predictors • Advanced dynamic predictors improve accuracy of branch outcome guesses.
  • 17. Software Pipelining – Compiler- level ILP for loops • Rearranges loop iterations so multiple steps from different iterations execute in parallel.
  • 18. Software Pipelining – Delayed Branch • A technique where the instruction after a branch is always executed, used to reduce control hazards.
  • 19. Loop Unrolling – Expose more parallelism to hardware • Duplicates loop body to reduce overhead and reveal more instructions for parallel execution.
  • 20. VLIW (Very Long Instruction Word) – Compiler-managed ILP • Relies on compiler to pack independent instructions into a single wide instruction.
  • 21. VLIW (Very Long Instruction Word) – EPIC (Intel Itanium) • An advanced form of VLIW with explicit parallelism hints in the instruction.
  • 22. Instruction Fusion & Micro-op Fusion – Combine related operations (e.g., compare+branch) • Combines multiple operations into a single micro-op to save cycles and resources.
  • 23. Control Independence – Execute instructions beyond unresolved branches • Speculatively executes instructions not affected by branch outcome.