module-3-chapter-2
module-3-chapter-2
2
LINEAR PIPELINE
PROCESSORS
• Linear Pipeline Processor
o Is a cascade of processing stages which are linearly connected to perform a fixed function over a stream of
data flowing from one end to other.
• Models of Linear Pipeline
o Synchronous Model
o Asynchronous Model
• Dynamic Pipeline
o Static v/s Dynamic Pipeline
o Streamline connection, feed-forward connection and feedback connection
• Latency Analysis
o Latency
o Collision
o Forbidden latencies
o Latency Sequence, Latency Cycle and Average Latency
NON-LINEAR PIPELINE
PROCESSORS
8
NON-LINEAR PIPELINE
PROCESSORS
9
NON-LINEAR PIPELINE PROCESSORS
INSTRUCTION PIPELINE
DESIGN
• Instruction Execution Phases
o E.g. Fetch, Decode, Issue, Execute, Write-back
o In-order Instruction issuing and Reordered Instruction issuing
• E.g. X = Y + Z , A = B x C
• Mechanisms/Design Issues for Instruction Pipelining
o Pre-fetch Buffers
o Multiple Functional Units
o Internal Data Forwarding
o Hazard Avoidance
• Dynamic Scheduling
• Branch Handling Techniques
INSTRUCTION PIPELINE DESIGN
• Dynamic Scheduling
o Tomasulo’s Algorithm (Register-Tagging Scheme)
• Hardware based dependence-resolution
o Scoreboarding Technique
• Scoreboard: the centralized control unit
• A kind of data-driven mechanism
INSTRUCTION PIPELINE DESIGN
Branch Handling Techniques
• Branch Taken, Branch Target, Delay Slot
• Effect of Branching
o Parameters:
k : No. of stages in the pipeline
n : Total no. of instructions or tasks
p : Percentage of Brach instructions over n
q : Percentage of successful branch instructions (branch taken) over p.
b : Delay Slot
τ : Pipeline Cycle Time
• Delayed Branches
o A delayed branch of d cycles allows at most d-1 useful instructions to be executed following the
branch taken.
o Execution of these instructions should be independent of branch instruction to achieve a zero branch
penalty
INSTRUCTION PIPELINE DESIGN
Branch Handling Techniques
• Elementary Functions
o Transcendental functions like: Trigonometric, Exponential, Logarithmic, etc.
• Separate units for fixed point operations and floating point operations
• Scalar and Vector Arithmetic Pipelines
• Uni-functional or Static Pipelines
• Arithmetic Pipeline Stages
o Majorly involve hardware to perform: Add and Shift micro-operations
o Addition using: Carry Propagation Adder (CPA) and Carry Save Adder (CSA)
o Shift using: Shift Registers
3
6
ARITHMETIC PIPELINE DESIGN
Multifunctional Arithmetic Pipelines