Download
pipelining n.
Skip this Video
Loading SlideShow in 5 Seconds..
Pipelining PowerPoint Presentation

Pipelining

318 Views Download Presentation
Download Presentation

Pipelining

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Pipelining Author: Keng Teng Lao CS 147 Section 2 Lao

  2. Overview • Concept of Pipelining • Understanding of Pipelining • Software Pipelining • Hardware Pipelining • How pipelining increase performances • Pipelining Architecture Lao

  3. Concept of Pipelining • Pipelining refers to any architecture in which digital information flows through a series of stations that each inspect, interpret, or modify the information. Lao

  4. Concept of Pipelining • The pipeline designer's goal is to balance the length of each pipeline stage . • If the stages are perfectly balanced, then the time per instruction on the pipelined machine is equal to: • Time per instruction on nonpipelined machine Number of pipe stages Lao

  5. Illustration • Pipeline is divided in stages. • Each stage completes a part of an instruction in parallel. • Instruction enter at one end, and exit at the other end. Lao

  6. Illustration • We can think of pipelining as car assembly line • Many people working at the same time, but not all working on the same car. Lao

  7. Illustration • One person working, two cars Lao

  8. Illustration • Four person working, but on different station Lao

  9. Principle of Pipelining • Improves throughput but not latency • Throughput – rate of instruction going through. • Latency – the amount of time it takes a packet of data to move across a network connection. • All instructions go through the same sequence of operations Lao

  10. Understanding of Pipelining • Pipelining does not decrease the time for individual instruction execution. • It increases instruction throughput. Lao

  11. Application of pipelining • Hardware or software implementation • Large or small scale • Synchronous or asynchronous flow • Buffered or unbuffered flow • Finite chunks or continuous bit streams • Automatic data feed or manual data feed • Serial or parallel path • Homogeneous or heterogeneous stages Lao

  12. Software Pipelining • Provides a way to handle complexity. • Allows programs to be reused. • Both goals are achieved because a software pipeline allows a programmer to divide a complex to more generic pieces!!!!!! Lao

  13. Software Pipelining • In the example of Unix • cat x | more • The output of the x (a textfile) becomes the input of more command which display a large file by pressing ‘enter’. Lao

  14. Hardware Pipelining • Pipelining can help a designer manage complexity. • Possible to reuse pieces in other hardware designs. • Offers higher performance. Lao

  15. Hardware Pipelining • Instruction pipelining • Data pipelining Lao

  16. Instruction Pipelining • Describe a pipeline in which the information consists of machine instructions and the stages of the pipeline execute the instructions. Lao

  17. Instruction Pipelining • Divide the task into steps that may be performed with independent hardware. • The most obvious division is between the FETCH cycle (fetch and interpret instructions) and the EXECUTE cycle (access operands and perform operation). • It is possible to further divide FETCH into fetching and interpreting, but since interpreting is very fast this is not generally done. To gain the benefits of pipelining it is desirable that each stage take a comparable amount of time. • A more practical division would split the EXECUTE cycle into three parts: Fetch operands, perform operation, and store results. A typical pipeline might then have four stages through which instructions pass, and each stage could be processing a different instruction at the same time. The result of each stage is passed on to the next stage. Lao

  18. Instruction Pipelining • Separate into 4 stages • Fetch • Decode • Execute • Save Lao

  19. Data Pipeline • Designed to pass data from stage to stage. • Ex: if a data pipeline is used to handle packets that arrive from a computer network, each packet passes sequentially through the stages of the pipeline. • Provides some of the most unusual and most interesting uses of pipelining Lao

  20. How Hardware Pipelining Increases Performance • Two optimizations • Smart I/O devices and Parallelism. • 6 Basics Steps • Wait to receive packet • Verify integrity • Check for loops • Route packet • Prepare for transmission • Enqueue packet for output Lao

  21. Pipelining Architecture • Forms the central paradigm around which the entire system is designed • Dedicated to special-purpose functions. • Ex. Improve performance of a packet processing system. Lao