Question #155: Which of the following is not true about processor pipelines?
Options:
- Pipeline increases throughput of the system.
- If the wrong branch is predicted, then pipeline has to be flushed and stalls need to be added.
- Pipeline decreases the latency of the first instruction to be executed.
Solution: The correct answer is option 3. Increasing the number of stages in the pipeline might increase the total time of one instruction, because the tasks are to be split into multiple sub-tasks. First instruction here not only refers to the first instruction after computer starts, but is also relevant to the first instruction after pipeline flush (which may happen due to several reasons). A simplest pipeline is as follows (ARM7 architecture):
Here, the first instruction takes 3 cycles to complete. However, the total throughput of the system would most likely increase because first instruction onwards, every instruction would take just one cycle. Hence, option 1 is true.
ARM7 doesn’t use branch prediction, but ARM9 does and there are 5 stages of pipeline in case of ARM9. Now, if a wrong branch is predicted, then whole pipeline needs to be flushed because the wrong instruction would have been fetched. Hence, option 2 is also true.


