  This paper is a review of the developments in Instruction level parallelism.
It takes into account all the changes made in speeding up the execution. The
various drawbacks and dependencies due to pipelining are discussed and various
solutions to overcome them are also incorporated. It goes ahead in the last
section to explain where is the new research leading us.
