Preview

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

  FALSE

  TRUE

 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 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

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

 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 of the instructions in a computer program can be executed simultaneously.

  All of the above

  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 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 instructions and sorting them alphabetically to help the processor sort the order of arrival

  None of the above

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

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

 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 data that can pass through a wire (bus) in one second

  None of the above

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

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

  FALSE

  TRUE

 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 'decode' on the previous instruction and pipeline 3 is executing the instruction before

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

  None of the above

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

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

  they are always empty

  they are always full

  they are always unused

  they are always waiting

 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

  None of the above

  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)

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

  TRUE

  FALSE

 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.

  None of the above

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

 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.

  decrease the overall efficiency of the system

  increase overall efficiency of the system

  keep the efficiency of the system the same

  None of the above

 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 them in parallel rather than processing everything linearly.

  processing them linearly rather than in parallel

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

  None of the above

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

  TRUE

  FALSE

 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.

  False

  True