Supercalar architectures represent current steps in the evolution of general-purpose microprocessors. Now, a single chip can incorporate techniques that were once applicable only to large-scale, scientific processors. "Superscalar Microprocessor Design" is a comprehensive investigation into the design of general-purpose superscalar microprocessors. Intended for engineers, computer scientists and graduate students with a strong background in computer architecture, this technical tutorial concentrates mostly on reduced-instruction-set RISC processors, but also deals with complex instruction-set CISC processors. The book also shows how superscalar processors relate to other architectural organizations, highlighting the unique characteristics of general-purpose microprocessors and how these characteristics affect design decisions; explores implementation alternatives, using a superscalar model of the MIPS R2000 architecture; covers compiler optimizations, describing the basic techniques and algorithms used and examining hardware in the light of software optimizations; and summarizes the potential for technical and commericial development of superscalar microprocessors, enabling readers to assess the risks associated with different design levels.