Pipelining

29 PAGES (11968 WORDS) Cyber Security Project

Pipelining is one way of improving the overall processing performance of a processor. This architectural approach allows the simultaneous execution of several instructions. Pipelining is transparent to the programmer; it exploits parallelism at the instruction level by overlapping the execution process of instructions. It is analogous to an assembly line where workers perform a specific task and pass the partially completed product to the next worker. This chapter explains various types of pipeline design. It describes different ways to measure their performance. Instruction pipelining and arithmetic pipelining, along with methods for maximizing the throughput of a pipeline, are discussed. The concepts of reservation table and latency are discussed, together with a method of controlling the scheduling of static and dynamic pipelines.