http://www.cs.cornell.edu/Info/Courses/Spring-96/CS516/cs516-24_superscalar/cs516-24_superscalar.html