Concepts Covered
-
Basic concepts of pipeline processing
-
Pipeline speedup
-
Instruction pipeline in ARM
Basic concepts of pipeline processing
What is pipelining?
A mechanism for overlapped execution of several input sets by partitioning some
computation into a set of k sub-computations(or stages).
Where are pipelining used in a computer system?
Instruction execution
Arithmetic computation
Memory access
A Real-life Example
Extending the Concept to processor pipeline
We need buffering
Speedup and Efficiency
never be 100%.
Note: If I have a k-stage pipeline, I can expect a k times speedup
Pipeline speedup
Instruction pipeline in ARM