05 - Pipelining in a processor

 1. Pipelining began in earnest in the late 1970s in supercomputers such as vector processors and array processors. One of the early supercomputers was the Cyber series built by Control Data Corporation



 2. A café in New York needs to make fifty cups of coffee as fast as possible. Making coffee includes several steps such as grinding the beans, boiling the water etc. Pipelining in this context would be:

  None of the above

  to have each person do the same thing twice even if it is not necessary

  to have a production line (i.e. first person grinds the beans, second person is boiling the water etc.) No one is idle

  to have each person complete a task while the other one watches before doing the next task

 3. Instruction pipelining is a technique for implementing instruction-level parallelism within a single processor. What is instruction-level parallelism?

  a measure of how many computer wires can fit parallel to each other inside a CPU

  a measure of how many of the instructions in a computer program can be executed simultaneously.

  All of the above

  a measure of how many of the instructions in a computer program can be executed one at a time

 4. Pipelining attempts to keep every part of the processor busy with some instruction by _______________performed by different processor units with different parts of instructions processed in parallel.

  dividing incoming instructions into a series of sequential steps (the "pipeline")

  None of the above

  breaking up one instruction into binary sequences and compiling it before execution

  dividing instructions and sorting them alphabetically to help the processor sort the order of arrival

 5. Pipelining allows faster CPU throughput than would otherwise be possible at a given clock rate. What is throughput?

  is the maximum rate of production or the maximum rate at which something can be processed.

  is the amount of time taken to put 256 MB of data through the system

  None of the above

  is the amount of data that can pass through a wire (bus) in one second

 6. Pipelining has advantages but may increase latency (time delay) due to the added overhead of the pipelining process itself.



 7. The CPU uses pipelining to improve performance. In the FDE cycle it means that while pipeline 1 is doing a 'fetch'…

  pipeline 2 could be doing a fetch on the same instruction just to back up the process

  pipeline 2 and pipeline 3 could be waiting patiently for their turn to process something

  None of the above

  pipeline 2 could be doing a 'decode' on the previous instruction and pipeline 3 is executing the instruction before

 8. In pipelining (using the FDE cycle as an example) the pipelines run at maximum efficiency because…

  they are always full

  they are always waiting

  they are always empty

  they are always unused

 9. One of the issues with pipelining can come when a program has branches which means they jump out of sequence. In this case …

  The pipeline will simply grind to a halt and stop functioning

  The pipeline will cease to act like a pipeline and start storing data instead

  The pipeline controller must try and predict the jump to keep the pipeline full (called predictive pipelining)

  None of the above

 10. Pipelining is the technique of fetching an instruction whilst the prior one is being decoded and the one before that is being executed.



 11. Pipelining in its basic sense is running multiple instructions at the same time through the CPU at the same time. Fill in the blanks.
If 1 cycles takes 10ms, a 5 step instruction will take 50ms to complete.

The second one will be loaded and run and will take another 50ms.

If we do this with 5 5 step instructions the processing time is 250ms.

However if we use pipelining, each stage still takes 50ms
but __________________________________________________________________

A very LARGE increase in performance.

  they are done one after the other sot he total time taken to perform 5 step instructions is just 50ms

  they are staggered so the total time taken to perform 5 step instructions is only 90ms.

  they are staggered so the total time taken would be les than 10ms

  None of the above

 12. An additional definition: pipelining is overlapping of instructions inside the cpu to _____________ which is done via fetching the next instruction before the current instruction is completed.

  keep the efficiency of the system the same

  None of the above

  increase overall efficiency of the system

  decrease the overall efficiency of the system

 13. While working with the Intel 2x86 and 3x86 CPUs, engineers realised you could get better performance from a CPU by dividing the work in small code pieces and …

  processing each bit of work by sending it to the RAM and back

  processing them linearly rather than in parallel

  None of the above

  processing them in parallel rather than processing everything linearly.

 14. Pipelining is sometimes compared to a manufacturing assembly line in which different parts of a product are being assembled at the same time



 15. The result of pipelineing is a small decrease in both efficiency and stability as the number of instructions that can be performed during a given time period are reduced.