Superscalar Instruction Issue

Superscalar Instruction Issue

SUPERSCALAR INSTRUCTION ISSUE Dezsõ Sima learly, instruction issue and execution about primarily by raising the degree of par- are closely related: The more parallel allelism in internal operations—first of the Kandó Polytechnic, Cthe instruction execution, the higher issue and instruction execution. Processor Budapest the requirements for the parallelism of function evolved in three consecutive phas- instruction issue. Thus, we see the continu- es. First were the traditional von Neumann ous and harmonized increase of parallelism processors, which are characterized by both in instruction issue and execution. sequential issue and sequential instruction This article focuses on superscalar instruc- execution, as depicted in Figure 1. tion issue, tracing the way parallel instruction The chase for more performance then execution and issue have increased perfor- gave rise to the introduction of parallel mance. It also spans the design space of instruction execution. Designers introduced instruction issue, identifying important design parallel instruction execution using one of aspects and available design choices. The arti- two orthogonal concepts: multiple (non- cle also demonstrates a concise way to rep- pipelined) execution units (execution units) resent the design space using DS trees (see or pipelining. As a result, instruction-level the related box), reviews the most frequent- parallel (ILP) processors emerged. ly used issue schemes, and highlights trends Because early ILP processors used sequen- for each design aspect of instruction issue.1 tial instruction issue, processors arriving in the second phase of the evolution were Processor evolution scalar ILP processors. Subsequently, the Von Neumann processors evolved by and degree of parallel execution rose even fur- large in two respects. One reflects the tech- ther through use of multiple pipelined exe- nological improvements, which are capped cution units. While increasing the execution Before choosing by increasing clock rates. The second is the parallelism, designers soon reached the point functional evolution of processors that came where sequential instruction issue could no parallel instruction Traditional von Scalar ILP Superscalar ILP issue to increase Neuman processors processors processors (sequential issue, (sequential issue, (parallel issue, performance, we must sequential execution) parallel execution) parallel execution) identify the important Parallelism of instruction execution design aspects and Parallelism of instruction issue choices. DS trees can Typical Nonpipelined Processors with VLIW and superscalar implementation processors multiple nonpipelined procssors embodying help to concisely execution units, or multiple pipelined pipelined processors execution units represent the design Processor performance space of instruction Figure 1. Basic evolution phases of von Neumann processors. Thin portions of arrows issue. indicate sequential operation; bold portions indicate parallel operation. 28 IEEE Micro 0272-1732/97/$10.00 © 1997 IEEE . DS trees The concept of design space was introduced more than 1 two decades ago. Early interpretations used the design B space mostly to represent a range of one or a few notable A design parameters.2 Later publications3,4 began to use it more generally to represent all of the design aspects considered. A design space should allow first of all the representa- tion of the following basic design elements: B C b1 b2 • orthogonal design aspects, (1) (2) • design choices concerning a given design aspect, and • concatenation of logically consecutive design choic- es or aspects. Figure A. Orthogonal design aspects (1) and alterna- tive design choices for two possibilities (2). DS trees are a convenient means to graphically represent 5 design spaces in a consistent fashion. If design space A B involves the design aspects, say, of B and C, we can graph A it as shown in Figure A. If design aspect B gives two possible design choices, say b1 and b2, we can represent it as shown in Figure A2. We can easily extend the introduced graphical elements B C D b1 b2 b3 b4 for more than two design aspects or choices, as shown in Figure B. The basic components of a design tree may be (1) (2) concatenated to yield the DS tree representation of a design problem, item, and so on, as shown in Figure C. Figure B. Orthogonal design aspects (1) and alternative design choices (2) for more than two possibilities. References 1. M.R. Barbacci, “The Symbolic Manipulation of Computer A Descriptions: ISPL Compiler and Simulator,” tech. report, Dept. of CS, Carnegie Mellon Univ., Pittsburgh, Penn., 1976. 2. L.S. Haynes et al., “A Survey of Highly Parallel Computing,” Computer, Vol. 15, No. 1, 1982, pp. 9-24. B C D 3. M. Gfeller, “Walks Into the APL Design Space,” APL Quote Quad, Vol. 23, No. 1, July 1992, pp. 70-77. 4. D. Sima, “A Novel Approach for the Description of Computer Architectures,” DSc thesis, Hungarian Academy of Sciences, b1 b2 c1 c2 d1 d2 d3 Budapest, 1993. 5. D. Sima, T.J. Fountain, and Kacsuk, Advanced Computer Architectures, Addison Wesley Longman, Harlow, England, Figure C. Construction of a design tree by concatenat- 1997. ing basic components. longer feed enough instructions to multiple pipelined exe- beginning of the 1980s.5,6 IBM first implemented superscalar cution units operating in parallel. Instruction issue became a issue in a few experimental machines (Cheetah project bottleneck, as Flynn had foreseen long before.2 around 1982-83, America project starting in 1985)7 followed Thus the third phase in the von Neumann processor evo- by DEC (Multititan project starting in 1985).8 These and other lution became inevitable when designers replaced sequen- research projects ultimately led to the commercial develop- tial instruction issue with parallel issue. This led to ments shown in Figure 2, next page. superscalar ILP processors. They were first implemented as The market includes different classes of superscalar statically scheduled VLIW architectures, which issue multi- processors with varying application fields, performance lev- operation instructions.3 Later more complex, dynamically els, and architectures. Two product lines are embedded: the scheduled superscalar processors appeared that were capa- Intel 960 and the Am 29000 superscalar processors. All other ble of issuing multiple instructions in each cycle. lines or models are of general use. These processors are typ- ically intended for the high-performance desktop and work- Superscalar processors station market. The low-cost, low-power PowerPC 602 and Although the idea of superscalar issue was first formulat- PowerPC 603 are exceptions. ed as early as 1970,4 the concept gained attention only in the Figure 2 (next page) shows most processors as RISCs. Only September/October 1997 29 . Instruction issue Intel 960 960CA (3)9 960MM (3)10 960HA/HD/HT (3)11 12 13,14 Intel 80x86 Pentium (2) PentiumPro (~2) Power1 (4)13 IBM Power Power2 (4)14 (RS/6000) IBM ES ES/9000 (2)15 16 17 PowerPC alliance Power 601 (3) PowerPC 604 (4) PowerPC 620 (4)19 PowerPC Power 603 (3)20 PowerPC 602 (2)18 Motorola 8800 MC88110 (2)21 Motorola 68000 MC68060 (3)22 DEC Alpha Alpha 21064 (2)23,44 Alpha 21064A (2)23 Alpha 21164 (4)24 HP PA PA7100 (2)25 PA 7200 (2)26 PA8000 (4)27 Processor Sun/Hat/Sparc SuperSparc (3)28 UltraSparc (4)29 TRON Gmicro Gmicro/500 (2)30 PM1(Sparc64) (4)31 Mips R R8000 (4)32 R10000 (4)33,34 AMD 29000 AM 29000 Sup (4)35 AMD K5 K5 (~2)36 Cyrix M1 M1) (2)37 NexGen Nx Nx586* (1/3)38 Astronautics ZS-1 (4)39 1989 1990 1991 1992 1993 1994 1995 1996 Year * Nx586 has scalar issue for CISC instructions but a three-way superscalar core for converted RISC instructions. Figure 2. Overview and evolution of commercial superscalar processors, indicating the issue rate in parentheses. Sup indicates superscalar. the Intel 80x86, ES/9000, MC68000, Gmicro, K5, M1, and the tions in each cycle than they do in a scalar processor. The fre- Nx lines are CISCs. Of these, the K5, M1, and Nx586 proces- quency increase is roughly proportional to the processor’s sors are compatible with x86s. They were developed to com- issue rate. pete with the Pentium, which holds a major share of the Data dependencies also increase their frequency when the microprocessor market. issue rate rises. However, this may strongly impede proces- The figure also indicates references to the superscalar sor performance. For a pipelined scalar processor, design- processors discussed in this article. For better readability in ers may use a parallel optimizing compiler to avoid the subsequent text, we omit any further reference to these blockages due to dependencies in most cases. The compil- processors. In this figure and in some subsequent figures, we er will fill otherwise-unused instruction slots, called bubbles, refer to the first year of volume shipment of the processors. with independent instructions. Since for a scalar processor there are usually enough independent instructions available, Specific superscalar processing tasks a smart compiler can fill most of these slots. However, while Superscalar processing breaks down into a number of spe- increasing the issue rate, say from 1 to 4, the compiler needs cific tasks. Since superscalar processors issue multiple more and more independent instructions to fill each issue instructions every cycle, the first task necessarily is parallel slot. Very soon it reaches the point where far more inde- decoding. Decoding in superscalar processors is a consid- pendent instructions are needed than are available. erably more complex task than in the case of scalar proces- We may quantify this qualitative picture as follows. sors and becomes even more sophisticated as the issue rate Assuming that a straightforward issue scheme is used, in a increases. Higher issue rates, however, can unduly lengthen general-purpose program, a common parallel optimizing the decoding cycle or can give rise to multiple decoding compiler will probably fill most issue slots with independent cycles unless decoding is enhanced.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    12 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us