What do you mean by instruction pipelining, Computer Engineering

After considering instruction execution let's now describe a concept which is very popular in any CPU implementation. This conception is instruction pipeline. 

To extract better performance as said earlier instruction execution can be done through instruction pipeline. The instruction pipelining includes decomposing of an instruction execution to some pipeline stages. Some of the common pipeline phases can be instruction fetch (IF), instruction decode (ID), operand fetch (OF), execute (EX), store results (SR).  An instruction pipe caninclude any combination of such stages. A main design decision here is that instruction stages must be of equal execution time.

A pipeline allows overlapped execution of instructions. So during the course of execution of an instruction, following can be a scenario of execution.

2046_What do you mean by INSTRUCTION PIPELINING.png

                                                    Figure: Instruction Pipeline                            

Please note following observations about above figure:

  • Pipeline stages are just like steps. So a step of the pipeline is to be complete in a time slot. Size of the time slot will be administered by the stage taking maximum time. So if the time taken in different stages is almost similar we get the best results.
  • First instruction execution is completed on completion of 5th time slot thoughsubsequently in every time slot the next instruction gets executed. Thus in ideal conditions one instruction is executed in pipeline in each time slot.
  • Please note that after 5th time slot and afterwards the pipe is full. In the 5th time slot the phases of execution of five instructions are:

SR (instruction 1) (Requires memory reference),

EX (instruction 2) (No memory reference),

OF (instruction 3) (Requires memory reference),

ID (instruction 4) (No memory reference),

IF (instruction 5) (Requires memory reference),

The Pipelining Problems:

  • On the 5th time slot and afterwards there can be a memory or register conflict in the instructions which are performing memory and register references that is various phases may refer to same memory/registers location. This will yield in slower execution instruction pipeline which is one of the higher number instruction has to wait till lower number instructions completed effectively pushing whole pipelining by one time slot.
  • Another significant situation in Instruction Pipeline can be the branch instruction. Presume that instruction 2 is a conditional branch instruction then by the time the decision to take branch is taken (at time interval 5) three more instructions have already been fetched. So if the branch is to be taken then whole pipeline is to be emptied first. So in such cases pipeline can't run at full load.

 

Posted Date: 7/27/2013 3:12:09 AM | Location : United States







Related Discussions:- What do you mean by instruction pipelining, Assignment Help, Ask Question on What do you mean by instruction pipelining, Get Answer, Expert's Help, What do you mean by instruction pipelining Discussions

Write discussion on What do you mean by instruction pipelining
Your posts are moderated
Related Questions
Class is a user-defined data type in C++. It can be formed to solve a particular kind of problem. After creation the user require not know the specifics of the working of a class.

In order to support IA-32 Itanium can switch in 32-bit mode with special jump escape instructions. IA-32 instructions have been mapped to Itanium's functional units. But as Itanium

overlapping segmentation process in 8086

What is importance of RAS and CAS in SDRAM? SDRAM acquires its address command into two address words. This uses a multiplex scheme to save input pins. The initial address word

The Concept of Process Unofficially a process is a program in execution subsequent to the program has been loaded in the main memory. Though a process is more than just a progr

What are the functions of the following header files:  (i)  ctype.h (ii)  string.h   (i)   ctype.h: It is a header file that having character tes

a)   Make a cell array variable that would kept for a student his or her name, university id number, and GPA.  Print this information. b) Make a structure variable that would kept

What are the functions of virtual file system (VFS)? a. It splits file-system-generic operations from their implementation explaining a clean VFS interface. It allows transpare

Create a class called auditorium that specifies the seats in the auditorium. The class should include at least one data item: seat (two dimensional array of Char) and at least thre

Discuss in detail about the Computers and supercomputers Computers are classified with respect to their size, cost and speed as supercomputers, servers, embedded computers and