1.6. The Life Cycle of Computer Architectures

Successive implementations of a computer architecture are routinely brought forth by a hardware innovator at fairly frequent intervals. A completely new architecture, or a whole new class of architectures, appears much less frequently.

Contemporary architectures fall into three classes. Complex Instruction Set Computers (CISC) typically include large numbers of machine instructions of many different styles. That complexity poses difficulties of implementation, because each style of instruction may require substantial real estate on the computer chip. Reduced Instruction Set Computers (RISC) are defined by smaller numbers of machine instructions of very few styles. The savings in space on a computer chip can, in favorable situations, make possible intrinsically faster circuitry. RISC programs can thus potentially execute faster than CISC programs, even though they usually contain more machine instructions. The third and newest class of contemporary architecture, Explicitly Parallel Instruction Computers (EPIC), includes the Itanium architecture that this book uses as its central example.

Computer architectures may also be classified according to the width of the datapath, the internal components through which information flows—e.g., 64 bits for Itanium architecture.

When new architectures emerge, they may appear to be evolutionary because they evince strong family resemblances to earlier architectures from the same vendor. On the other hand, they may appear revolutionary because they offer a clean break with the past. We now illustrate these concepts through the history of three families of computer architectures.

1.6.1. The 32-Bit Intel® Architecture and Its Predecessors

In 1971, Intel® Corporation integrated all of the traditional functionality of a central processing unit (CPU) into a single microcomputer chip, given the marketing number 4004. This pioneering chip could handle data 4 bits at a time and could access 640 bytes of memory. A year later, the 8008 microprocessor chip appeared with the ability to handle data 8 bits at a time and access 16,384 bytes of memory.

Table 1-3 looks at the characteristics of successive members of the family of processors starting with the Intel 8080, which was the basis for some of the earliest inexpensive general-purpose personal computers. As memory technologies improved, the push toward convenient addressing of larger amounts of memory drove Intel and other manufacturers to redesign their products with successively greater widths for the internal registers and pathways where addresses (pointers) as well as data are manipulated. By 1990 this trend settled on 32 bits as the prevailing standard register width for even the smallest computers, which had come to be called microcomputers because of their physical size, and not as a measure of their computing power.

An important feature of these Intel processors is that each generation can execute most programs prepared for the previous generation because of similarities of integer registers. The right half of a 16-bit register can be used to manipulate 8-bit integers, the right half of a 32-bit register can be used to manipulate 16-bit integers, and the right quarter of a 32-bit register can be used to manipulate 8-bit integers. Assembly language programs written for the 8080 could automatically be translated into a format suitable for the 8086 processor, and programs written for the 16-bit processors can run directly on the 32-bit processors. We shall discuss some of the other information in Table 1-3 in later sections of this book.

1.6.2. The Alpha™ Architecture and Its Predecessors

The design of the IBM System/360 strongly influenced many subsequent computer architectures, including 16-bit minicomputers brought forth by numerous manufacturers during the 1970s. Quite possibly the most successful among those designs, the PDP®-11 by Digital® Equipment Corporation, not only persisted through about a dozen implementations over more than two decades, but also came to be seen as the progenitor of families of 32-bit VAX® and 64-bit Alpha™ computers.

Some of the attributes of the PDP11, VAX, and Alpha product lines are summarized in Table 1-4. The VAX (Virtual Addressing eXtension) is frequently cited as the exemplar of a Complex Instruction Set Computer (CISC). The Alpha processor was the first 64-bit Reduced Instruction Set Computer (RISC) to attain wide commercial deployment. Several other manufacturers had already marketed successful 32-bit RISC designs, but Digital Equipment Corporation opted to make its move to 64 bits simultaneously with its move from CISC to RISC. We shall discuss some of the other information in Table 1-4 later in this book.

Table 1-3. Comparisons Among Computer Architectures by Intel Corporation
Datapath width8 bits (1 byte)16 bits (2 bytes)32 bits (4 bytes)
Marketing names8080, 80858086, 8088, 80286Intel386, Intel486, Pentium®
Physical formatssingle chipsingle chipsingle chip
Complexity classificationclassic microCISCCISC
Number of integer registers81416
Interchangeability of registersalmost nonesomemoderate
Instruction size1, 2, 3 bytes1–4 bytes1–17 bytes
Number of instruction styles7byte streambyte stream
Number of opcodes74133154
Number of operands0, 1, 20, 1, 2, 30, 1, 2, 3
Allowed memory accessfew instructionsmany instructionsmany instructions
Number of addressing modes688+
Number of integer data types234
Number of floating data types03[*]3[*]
Byte orderinglittle-endianlittle-endianlittle-endian
Unidirectional branch rangefull-range 64 KiB COND and JUMP127 bytes32 KiB
Logical address space64 KiB1 MiB[†]4 GiB[†]
Input/output strategyIN, OUTmemory-mapped; IN, OUTmemory-mapped; IN, OUT
Date of introduction197419781985

[*] Floating-point operations required a second chip for all 16-bit processors and some 32-bit processors.

[†] Initially; subsequently extended.

Table 1-4. Comparisons Among Computer Architectures by Digital Equipment Corporation
Datapath width16 bits (2 bytes)32 bits (4 bytes)64 bits (8 bytes)
Marketing namesPDP-11, LSI-11VAX, MicroVAXAlpha
Physical formatscircuit board(s), single chipcircuit board(s), single chipsingle chip
Complexity classificationclassic miniCISCRISC
Number of integer registers81632
Interchangeability of registersextensiveextensiveextensive
Instruction size2, 4, 6 bytes1 – 37 bytes4 bytes
Number of instruction styles6byte stream7
Number of opcodes> 100> 256> 100
Number of operands0, 1, 20–60–3
Allowed memory accessmany instructionsmany instructionsonly load/store
Number of addressing modes8122
Number of integer data types252
Number of floating data types245
Byte orderinglittle-endianlittle-endianlittle-endian[*]
Unidirectional branch range255 bytes127 bytes4 MiB
Logical address space64 KiB4 GiB16 EiB
Input/output strategymemory-mappedmemory-mappedmemory-mapped
Lifetime as a marketed product1971–19951978–20001992–

[*] Initially; subsequently extended.

1.6.3. The Itanium® Architecture and Its Predecessors

Both the VAX architecture and Intel's 32-bit architecture are cited as exemplars of Complex Instruction Set Computers (CISC). At the implementation level, the circuitry required on a chip to recognize and carry out many different styles of instructions can be elaborate and difficult to optimize for fast execution times. By the 1980s, research in computer science had led to serious proposals for a different approach to high performance: Select fewer instructions and design ways to execute them exceedingly quickly, rather than introduce more instructions of increasing specialization.

Although Intel engineers continually found ways to bring out further implementations of a successful 32-bit architecture without compromising performance, several other computer makers redirected their attention to the design of Reduced Instruction Set Computers (RISC). Hewlett-Packard® Company developed a 32-bit architecture that was at first called Precision Architecture, and later PA-RISC®. The salient features of RISC processors include fixed-size instructions, fewer instructions overall, larger numbers of integer registers to be used in similar ways, and restrictions on the number of instruction types that can directly manipulate data in the computer's memory. The 64-bit Alpha architecture (Table 1-4) and the 32- and 64-bit PA-RISC architectures (Table 1-5) follow these RISC principles.

Even as CISC and RISC designs coexisted amongst marketed computer systems in the 1990s, Intel collaborated with Hewlett-Packard in developing another fundamental class of computer architecture, Explicitly Parallel Instruction Computers (EPIC). In essence, an EPIC computer can simultaneously pursue more than one course of action, thus gaining a throughput advantage. An EPIC design can avoid certain time penalties that plague other architectures when the flow of instructions in a program has to change abruptly, as must occur for loop control. The earliest commercial product using EPIC design principles is the 64-bit Itanium processor, whose characteristics are compared with PA-RISC in Table 1-5.

1.6.4. The Naming of Architectures and Implementations

Sometimes the same or similar names have been given both to an architecture and to its implementations. In the case of VAX architecture, “VAX” was incorporated into the name of every implementation; moreover, the ISA remained very stable during the long prevalence of this architecture in the marketplace. There is no such continuing thread connecting the names of implementations within the various generations of products from Intel or several other corporations.

Intel Corporation has at various times designated its 16-, 32-, and 64-bit instruction sets as IA-16, IA-32, and IA-64. Any popular ISA, such as IA-32, accrues additional instructions over time. This leads to an ambiguity: whether the original designation defines the basic instruction set or the currently augmented set. Neither “IA-16” nor “IA-32” has appeared prominently in commercial product descriptions.

Intel used the phrase “IA-64 architecture” while the new 64-bit architecture was under development, but changed to “Itanium architecture” when marketing the first implementation, which was called “the Itanium processor.” As the Itanium 2 processor (code name McKinley) reached production, Intel established the primacy of “Itanium Architecture” over “IA-64” or the lesser-known “Itanium Processor Family” (IPF). Thus, just as with VAX architecture and VAX processor implementations, we must accept some blurring of the distinction between the naming of an architecture and any implementation.

Table 1-5. Comparisons Among Computer Architectures by Hewlett-Packard and Intel
Datapath width32 bits (4 bytes)64 bits (8 bytes)64 bits (8 bytes)
Marketing namesPA-RISC® 7xxxPA-RISC® 8xxxItanium®
Physical formatscircuit board(s), single chipsingle chipsingle chip
Complexity classificationRISCRISCEPIC
Number of integer registers3232128
Instruction size4 bytes4 bytes(3 × 41) + 5 bits
Number of instruction styles~13> 206
Number of principal opcodes455941
Number of operands0–30–30–5
Allowed memory accessonly load/storeonly load/storeonly load/store
Number of addressing modes445
Number of integer data types554
Number of floating data types333
Byte orderingbig-endian[*]big-endian, little-endianlittle-endian, big-endian
Unidirectional branch range256 KiB256 KiB16 MiB
Logical address space4 GiB[*]15 EiB16 EiB
Input/output strategymemory-mappedmemory-mappedmemory-mapped
Date of introduction198619962001

[*] Initially; subsequently extended.

The code-name issue deserves further discussion: When a company has something new under development, the company (or the trade press) may use a code name for it. The trade press wrote for several years about “Merced” as something forthcoming from Intel Corporation. It was not always clear whether Merced meant an implementation or an architecture. Furthermore, some future author writing retrospectively about Itanium architecture and/or the original Itanium processor might miss a lot of historical source material without using the Merced, IA-64, IA-64, and IPF as additional search keywords.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.22.51.241