previous | contents | next

xiv Preface

signs physical computer systems; the computer scientist, who is concerned primarily with the programming level and with various abstract views of information processing; and the electrical engineer, who sees computer systems as part of a larger technology.

This book presents design choices, structural variations, and systematic analysis, which can be especially useful for the computer engineer charged with designing a new computer system or subsystem. The student of computer engineering who approaches this book with a working knowledge of logic design should find it possible to realize many of the systems described at the next lower levels of logic structure.

For the computer scientist, the levels of computer structure discussed in this book offer significant insight into the physical devices that underlie computer science. Even if the computer scientist does not carry through the design in terms of the lower logic levels, it will still be possible to incorporate the upper levels of computer structure.

The electrical engineer need not study every example in this book. A sampling, plus the overview presented in the first three chapters, is appropriate to give insight into the elaborate growth accompanying the basic digital technology created within electrical engineering.

The book is divided into four parts:

1. Fundamentals

2. Regions of Computer Space

3. Computer Classes

4. Family Range, Compatibility, and Evolution

Part 1 provides an introduction to ISP, PMS, and Kiviat graph notation, sketches the dimensions of the computer space, and provides a discussion of several historically significant machines. Part 2 examines several of the computer space dimensions, contrasting the alternative values for each dimension. Examples of actual computer structures provide a comparative taxonomy of design choices.

Part 3 contains detailed descriptions of computer structures organized by size: monolithic microcomputer, microcomputer, minicomputer, and maxicomputer. Each class has a common set of applications and goals. On the basis of ISP, PMS, and Kiviat graph notations, the structures are compared and contrasted and trends are described.

Part 4 deals with computer families, which comprise several structures implementing a common design goal and frequently employing a common ISP. Extensive data are provided for the comparison of closely related systems, and several alternative analyses are presented, including a discussion of the impact on the system of individual design tradeoffs, such as those presented in Part 2.

This book has both a physical and a "virtual" table of contents. The physical order of the chapters presents the material in a logical progression. If covered in a sequential fashion, the material in this book would span three one-semester courses. Therefore, a "virtual" table of contents, relating chapters by topic, has been provided. The instructor or student can utilize the virtual table of contents to focus on particular subsets of the material and formulate logically independent courses.

This book can be used either as a primary text or as a reference text in a computer architecture course beyond the elementary level. It can also support digital-system design courses ranging from the register-transfer level through the system organization level. Each of the sections of Part 2 given in the virtual table of contents, suitably augmented by selected introductory material from Part 1, would be sufficient for a quarter-length course on individual topics (e.g., microprogramming, memory hierarchies, concurrency, multiple-processors, networks, fault tolerance, language-based computers, and personal computing). Each section also provides sufficient detail to assign programming and/or design projects based on the principles discussed. Semester- length courses can be developed by combining related sections (e.g., multiple-processors and networks, or language-based computers and personal computing systems). A subset of Part 3 on computer classes could form the basis of a course on instruction- set design and evolution. Part 4 provides source material for an advanced course on computer families, including evolution and computer family planning for range and/or compatibility. The family evaluation methodology presented in Part 4 could be extended to other computer families. The January 1978 special issue on computer architecture of the Communications of the Association for Computing Machinery is an excellent supplement to Part 4.

This book can be used in both the curriculum for undergraduate programs in computer science prepared by the ACM Commit tee on Curriculum in Computer Science (C35) and the IEEE's Curriculum in Computer Science and Engineering (CSE). This book provides material for the hardware portions of the ACM/C35 courses as illustrated in Table 1. [Austing et al. 1979].

For the extensive IEEE/CSE curriculum, with its emphasis on hardware, this book can be used for all computer organization courses, as well as for actual design examples for the digital logic courses. Table 2 on page xvi illustrates how portions of this text support the various topics included in IEEE/CSE courses.

The authors of this book wish to acknowledge a deep debt of gratitude to our many colleagues in the computing profession. Without their contributions and assistance this book could not have been written. We are especially grateful to the authors of papers who shared their design insights with us and to those authors who took time from busy schedules to write chapters specifically for this book. Our thanks also to individuals in various organizations who kindly responded to our numerous requests for information. A special debt is owed Digital Press for providing extensive excerpts from Computer Engineering: A DEC View of

previous | contents | next