previous | contents | next

Chapter 1

Computer Classes and Evolution

A computer is a complex system incorporating diverse technologies. Typically, electronic technology is used for computation, magnetic for long-term storage, and electromechanical for input! output. The evolution of computer structures usually correlates with that of the available technology. On occasion sometimes other technologies, such as magnetic core memory and Freon cooling of electronics (see Chap. 44), are developed specifically for use in computer systems. Computer engineers are also adept at applying existing technologies in new ways-for example, cathode-ray tubes as memories (e.g., Williams tubes, ca. 1947), character display terminals, and graphic display terminals; magnetic recording technology for tapes, disks, and drums; and vacuum tubes and transistors for processors.

During the 1960s and 1970s, integrated-circuit semiconductor technology entered a revolutionary phase. The density of individual integrated-circuit chips, measured by the number of logic devices per chip, doubled every 1 or 2 years. In 1972, a single-chip processor was introduced. Prior to that time, a successful computer, such as the first model of the PDP-8 family (the first mass-produced minicomputer), might enjoy a sales volume of 50,000 units over its 5-year life. Contemporary single-chip processors (called microprocessors1) may exceed that volume in only 10 days! Computers now come into contact with our everyday lives, in the form of hand calculators, electronic games, computer-controlled appliances, and the like.

Coupled with the vast increase in the numbers of computers is an appreciable increase in the number of computer types. Each type represents a set of design decisions that can be represented as a point in design space. The density of designs in the space allows us to observe commonalities, trends, and the consequence of various design decisions. Over the last three decades, the design of computer structures has evolved from an art to an engineering discipline. The purpose of this book is to discuss these topics through an exploration of the design principles used in contemporary computer structures.

Each system included in this book is a real system that has been implemented. The systems are described by taxonomies, illustrations of existing systems, and comments by the systems' architects. Systems are represented by three consistent sets of notation: structural (PMS), performance (Kiviat graphs), and behavioral (ISP). Significant details are given so that the reader can understand how the system meets its design goals. Each system has been carefully selected to illustrate a point in the design space as well as to complement the other systems.


This study begins with a presentation of the concepts of computer classes and evolution. Understanding and applying these concepts, which appear frequently throughout the book, will enable the reader to organize the myriad details presented.

Computer Classes

The concept of a computer class attempts to integrate many computer-system details into an overall evaluation, grouping similarly evaluated systems together. Computer systems can be graphically classified according to different metrics, each of which incorporates several complex design details.

One metric of classification is price. Figure 1 plots the price (including processor, memory, and input/output) of the computer systems described in this book relative to year of introduction. Four classes have been identified: maxicomputers, minicomputers, microcomputers, and monolithic microcomputers. Each class spans roughly 1½ orders of magnitude in price. Initially, because of the high cost of technology, all systems were maxicomputers. As semiconductor technology increased and costs decreased, new classes of computer systems evolved. Minicomputers appeared around 1965, followed by microcomputers in 1972 and monolithic microcomputers in 1976.

In some cases, a computer system, such as the IBM System/360 or System/370, spans more than one class and actually represents a family of implementations with a wide range in price and performance. Each member of the family is capable of executing programs written for other family members. Thus, while the manufacturer develops software for one machine, the user can move to a compatible higher-performance system whenever it is required. The concept of computer families continues to grow in importance. (See Part 4 for a study of several types of computer families.)

A metric closely related to price is the size of the computer system. Maxicomputers typically occupy several large cabinets and require a room to house them. A minicomputer usually occupies one or two cabinets of 10 to 30 ft3 each. Micro computers-consisting of microprocessor chips, a memory, and input/output interfaces-can be mounted on a single board the size of this book page. Finally, monolithic microcomputers have the entire system (processors, memory, and input/output) integrated into a single chip measuring 2 in 0.6 in 0.2 in.

Another general metric is capacity and functionality. Section 2 of Part 1 contends that the single most important structural parameter in comparing computer systems is the number of bytes


1Not to he confused with the term microprogrammed processor. In microprocessors micro- means physically small and is usually synonymous with a processor-on-a-chip (of silicon), whereas microprogramming is an implementation technique. Note that a microprocessor may or may not be microprogrammed. See Sec. 1 of Part 2 for a detailed discussion of microprogramming.

previous | contents | next