Computer Structures: Principles and Examples

Daniel P. Siewiorek Carnegie-Mellon University C. Gordon Bell Digital Equipment Corporation Allen Newell Carnegie-Mellon University

McGraw-Hill Book Company New YorlcDSt. LouisDSan FranciscoDAucklandDBogotäDHamburgD JohannesburgOLondonDMadridDMexicoDMontrealDNew DelhiD PanamaDParisDSäo PauloDSingaporeDSydneyDTokyoDToronto Contents in Brief

Preface

Section 2 Parti MEMORY HIERARCHIES AND MULTIPLE PROCESSES 227 FUNDAMENTALS CHAPTER 16 Burroughs' B6500/B7500 Stack Mechanism 244 CHAPTER 17 An Outline of the ICL 2900 Series System Section l Architecture 251 AHSTRACTION AND NOTATION Section 3 CHAPTER 1 Classes and Evolution 4 CONCURRENCY: SINGLE-PROCESSOR SYSTEMS 260 CHAPTER 2 Levels and Abstractions 9 CHAPTER 18 The IBM System/360 Model 91: Machine CHAPTER 3 PMS Notation 17 Philosophy and Instruction-Handling 300 CHAPTER 4 An Introduction to ISPS 23 CHAPTER 19 An Efficient Algorithm for Exploiting Section 2 Multiple Arithmetic Units 293 THE COMPUTER SPACE 33 CHAPTER 20 The Illiac IV System 306 CHAPTER 21 A Productive Implementation of an CHAPTER 5 Function and Performance 39 Associative Array Processor: STARAN 317 CHAPTER 6 Structure 62 Section 4 Section 3 MULTIPLE-PROCESSOR SYSTEMS 332 OF HISTORICAL SIGNIFICANCE 96 CHAPTER 22 The C.mmp/Hydra Project: An CHAPTER 7 The Manchester Mark 1 107 Architectural Overview 350 CHAPTER 8 Structural Levels of the PDP-8 110 CHAPTER 23 Pluribus: An Operational Fault-Tolerant CHAPTER 9 Design of the В 5000 System 129 Multiprocessor 371 CHAPTER 10 One-Level Storage System 135 Section 5 NETWORKS 387 Part 2 CHAPTER 24 The Interface Message Processor for the ARPA Computer Network 402 REGIONS OF COMPUTER SPACE CHAPTER 25 ALOHA Packet Broadcasting: A Retrospect 416 CHAPTER 26 Ethernet: Distributed Packet Switching for Section 1 Local Computer Networks 429 MICROPROGRAM-RASED PROCESSORS 151 CHAPTER 11 Microprogramming and the Design of the Section 6 Control Circuits in an Electronic Digital FAULT-TOLERANT SYSTEMS 439 Computer 158 CHAPTER 27 The STAR (Self-Testing And Repairing) CHAPTER 12 Microprogramming the IBM System/360 Computer: An Investigation of the Theory Model 30 164 and Practice of Fault-Tolerant Computer CHAPTER 13 Bit-Sliced Microprocessor of the Am2900 Design 448 Family: The Am2901/2909 168 CHAPTER 28 Fault-Tolerant Design of Local ESS CHAPTER 14 The Am2903/2910 ISfi Processors 459 CHAPTER 15 A PDP-8 Implemented from AMD CHAPTER 29 The Tandem 16: A Fault-Tolerant Bit-Sliced Microprocessors 219 Computing System 470 Contents

Section 7 CHAPTER 44 The -1 Computer System 743 LANGUAGE-BASED COMPUTERS 486 CHAPTER 45 The TI ASC: A Highly Modular and CHAPTER 30 The SYMBOL Computer 489 Flexible Super Computer Architecture 753 CHAPTER 31 A Dual-Processor Desk-Top Computer: The HP 9845A 508 CHAPTER 32 The IBM System/38 533 Part 4 Section 8 FAMILY RANGE, COMPATIBILITY, AND PERSONAL COMPUTING SYSTEMS 547 EVOLUTION CHAPTER 33 Alto: A Personal Computer 549 Section 1 MICROCOMPUTER FAMILIES 765

Part3 Section 2 COMPUTER CLASSES MINICOMPUTER FAMILIES 766 CHAPTER 46 The PDP-8 Family 767 Section 1 CHAPTER 47 The Evolution of the PDP-11 776 MONOLITHIC MICROCOMPUTERS 581 CHAPTER 34 TMS1000/1200: Chip Architecture and Section 3 Operation 587 EVOLUTION OF HP 785 CHAPTER 35 PIC1650: Chip Architecture and Operation 602 CHAPTER 48 The HP Model 9100A Computing 787 Section 2 CHAPTER 49 The HP 9810/20/30 Series 801 MICROCOMPUTERS 610 CHAPTER 50 Hewlett-Packard Calculator Architectures 824 CHAPTER 36 Trends in Microcomputers 612 CHAPTER 37 Intel Microprocessors: 8008 to 8086 615 Section 4 EVOLUTION OF BURROUGHS COMPUTERS 828 Section 3 MINICOMPUTERS 647 Section 5 CHAPTER 38 A New Architecture for Mini-Computers: THE SYSTEM/360 AND SYSTEM/370 FAMILY 829 The DEC PDP-11 649 CHAPTER 51 Architecture of the IBM System/370 1зё CHAPTER 39 Implementation and Performance CHAPTER 52 The IBM System/360, System/370, 3030, Evaluation of the PDP-11 Family 666 and 4300: A Series of Planned Machines That Span a Wide Performance Range 856 Section 4 MAXICOMPUTERS 680 Section 6 CHAPTER 40 The Structure of System/360, Part I: EVOLUTION OF CDC/CRAY COMPUTERS 893 Outline of the Logical Structure 695 CHAPTER 41 The Structure of System/360, Part II: System Implementations 711 CHAPTER 42 VAX-11/780: A Virtual Address Extension to Bibliography 894 the DEC PDP-11 Family 716 Acknowledgments 915 CHAPTER 43 Parallel Operation in the Control Data 6600 730 Index 921 Contents1

Preface

Parti Part 2 FUNDAMENTALS REGIONS OF COMPUTER SPACE

Section 1 Section 1 ABSTRACTION AND NOTATION 3 MICROPROGRAM-BASED PROCESSORS 151

CHAPTER 1 Computer Classes and Evolution 4 CHAPTER 11 Microprogramming and the Design of the 2 Levels and Abstractions 9 Control Circuits in an Electronic Digital 3 PMS Notation 17 Computer 4 An Introduction to ISPS M. V. Wilkes and J. B. Stringer 158 Microprogramming the IBM System/360 Mario R Barbacci 23 12 Model 30 Section 2 Helmut Weber 164 THE COMPUTER SPACE 33 13 Bit-Sliced Microprocessor of the Am2900 Family: The Am2901/2909 CHAPTER 5 Function and Performance 39 Advanced Micro Devices, Inc. 168 6 Structure 62 14 The Am2903/2910 Section 3 Advanced Micro Devices, Inc. 186 COMPUTERS OF HISTORICAL SIGNIFICANCE 96 15 A PDP-8 Implemented from AMD Bit-Sliced Microprocessors CHAPTER 7 The Manchester Mark 1 Michael Tsao 219 S. H. Lavington 107 39 Implementation and Performance 8 Structural Levels of the PDP-8 Evaluation of the PDP-11 Family C. Gordon Bell, Allen Newell, and Edward A. Snow and Daniel P. Siewiorek 666 Daniel P. Siewiorek 110 34 TMS1000/1200: Chip Architecture and 9 Design of the В 5000 System Operation William Lonergan and Paul King 129 Texas Instruments, Inc. 581 10 One-Level Storage System 48 The HP Model 9100A Computing Calculator T. Kilburn, D. B. G Edwards, M. J. Lanigan, Richard E. Monnier, Thomas E. Osborne, and and F. H. Sumner 135 David S. Cochran 787 49 The HP 9810/20/30 Series 801

1This is a "virtual" contents, which means that because many of the computers are relevant to more than one part and section, we have used italic type for chapter numbers and titles to indicate a nonsequential mapping for computers placed out of "physical" order. The reader might read (reference) the book according to the virtual order. See the preface for further discussion. x Contents

31 A Dual-Processor Desk-Top Computer: The 23 Pluribus: An Operational Fault-Tolerant HP 9845A Multiprocessor William D. Eads, Jack M. Waiden, and David Katsuki, Eric S. Elsam, Edward L. Miller 508 William F. Mann, Eric S. Boberts, John G. Bobinson, F. Stanley Skowronski, Section 2 MEMORY HIERARCHIES AND MULTIPLE PROCESSES 227 and Eric W. Wolf 371 43 Parallel Operation in the Control Data 6600 CHAPTER 10 One-Level Storage System James E. Thornton 730 T. Kilburn, D. B. G. Edwards, M. J. Lanigan, 21 A Productive Implementation of an and F. H. Sumner 135 Associative Array Processor: STARAN Design of the В 5000 System Jack A. Budolph and Kenneth E. Batcher 317 William Lonergan and Paul King 129 16 Burroughs' B6500/B7500 Stack Mechanism Section 5 E. A. Hauck and B. A. Dent 244 NETWORKS 387

17 An Outline of the ICL 2900 Series System CHAPTER 24 The Interface Message Processor for the Architecture ARPA Computer Network /. L. Keedy 251 F. E. Heart, R E. Kahn, S. M. Ornstein, 42 VAX-11/780: A Virtual Address Extension to W. R Crowther, and D. С Waiden 402 the DEC PDP-11 Family 25 ALOHA Packet Broadcasting: A Retrospect W. D. Strecker 716 R Binder, N. Abramson, F. Kuo, A. Okinaka, 32 The IBM/System 38 533 andD. Wax 416 Section 3 26 Ethernet: Distributed Packet Switching for CONCURRENCY: SINGLE-PROCESSOR SYSTEMS 260 Local Computer Networks Robert M. Metcalfe and David R Boggs 429 CHAPTER 18 The IBM System/360 Model 91: Machine 29 The Tandem 16 470 Philosophy and Instruction-Handling D. W. Anderson, F. J. Sparacio, and Section 6 R M. Tomasulo 300 FAULT-TOLERANT SYSTEMS 439 19 An Efficient Algorithm for Exploiting CHAPTER 27 Multiple Arithmetic Units The STAR (Self-Testing And Repairing) Computer: An Investigation of the Theory R M. Tomasulo 293 and Practice of Fault-Tolerant Computer 20 The Illiac IV System Design W. J. Bouknight, Stewart A. Denenberg, Algirdas Avizienis, George C. Gilley, David E. Mclntyre, J. M. Bandall, Francis P. Mathur, David A. Rennels, Amed H. Sameh, and Daniel L. Slotnick 306 John A. Bohr, and David К Rubin 448 21 A Productive Implementation of an 23 Pluribus: An Operational Fault-Tolerant Associative Array Processor: STARAN Multiprocessor Jack A. Rudolph and Kenneth E. Batcher 317 Daivd Katsuki, Eric S. Elsam, 43 Parallel Operation in the Control Data 6600 William F. Mann, Eric S. Roberts, James E. Thornton 730 John G. Robinson, F. Stanley Skowronski, and 44 The CRAY-1 Computer System Eric W. Wolf 371 Richard M. Russell 743 28 Fault-Tolerant Design of Local ESS 45 The TI ASC: A Highly Modular and Processors Flexible Super Computer Architecture W. N. Toy 459 W.J. Watson and L. С Dean 753 29 The Tandem 16: A Fault-Tolerant Section 4 Computing System MULTIPLE-PROCESSOR SYSTEMS 332 James A. Katzman 470 A "NonStop" Operating System CHAPTER 22 The C.mmp/Hydra Project: An Architectural Overview Joel F. Barlett 480 Henry H. Mashburn 350 Contents \i

Section 7 LANGUAGE-BASED COMPUTERS 486 Part3 COMPUTER CLASSES CHAPTER 30 The SYMBOL Computer: SYMBOL: A Large Experimental System Exploring Major Hardware Replacement Section 1 MONOLITHIC MICROCOMPUTERS 581 of Software William R Smith, Rex Rice, Gilman D. CHAPTER 34 TMSlOOO/1200: Chip Architecture and Chesley, Theodore A. Laliotis, Stephen F. Operation Lundstrom, Myron A. Calhoun, Lawrence D. Texas Instruments, Inc. 587 Gerould, and Thomas G. Cook 489 35 PIC 1650: Chip Architecture and Operation SYMBOL: A Major Departure from Classic Frank M. Gruppuso 602 Software Dominated von Neumann Computing Systems Section 2 R Rice and W. R Smith 502 MICROCOMPUTERS 610 49 The HP 9810/20/30 Series 801 CHAPTER 36 Trends in Microcomputers 31 A Dual-Processor Desk-Top Computer: The ч F. Faggin 612 HP 9845A 37 Intel Microprocessors: 8008 to 8086 William D. Eads, Jack M. Waiden, and Stephen P. Morse, Bruce W. Ravenel, Edward L. Miller 508 Stanley Mazor, and William B. Pohlman 615 The IBM System/38: 32 49 The HP 9810/20/30 Series 801 A High-Level Machine 31 A Dual-Processor Desk-Top Computer: The S. H. Dahlby, G. G. Henry, D. N. Reynolds, HP 9845A and P. T. Taylor 533 William D. Eads, Jack M. Waiden, and Object-Oriented Architecture Edward L. Miller 508 К W. Pinnow, J. G. Ranweiler, and J. F. Miller 537 Section 3 Addressing and Authorization MINICOMPUTERS 647 V. Berstis, С D. Truxal, and J. G. Ranweiler 540 Hardware Organization of the System/38 CHAPTER 8 Structural Levels of the PDP-8 R L Hoffman and F. G. Soltis 544 C. Gordon Bell, Allen Newell, and Daniel P. Siewiorek 110 Section 8 15 A PDP-8 Implemented from AMD Bit-Sliced PERSONAL COMPUTING SYSTEMS 547 Microprocessors Michael Tsao 219 СЯАРГЕЯ 34 TMSlOOO/1200: Chip Architecture and 46 The PDP-8 Family Operation С G. Bell and J. E. McNamara 767 Texas Instruments, Inc. 587 38 A New Architecture for Mini-Computers: 48 The HP Model 9100A Computing Calculator The DEC PDP-11 Richard E. Monnier, Thomas E. Osborne, and G. Bell, R Cody, H. McFarland, B. Delagi, David S. Cochran 787 J. O'Laughlin, R NLoonan, and W. Wulf 649 49 The HP 9810/20/30 Series 801 39 Implementation and Performance 31 A Dual-Processor Desk-Тор Computer: The HP 9845A Evaluation of the PDP-11 Family Edward A. Snow and Daniel P. Siewiorek 666 William D. Eads, Jack M. Waiden, 47 The Evolution of the PDP-11 and Edward L. Miller 508 С G. Bell and J. С Mudge 776 33 Alto: A Personal Computer The HP 9810/20/30 Series 801 С P. Thacker, E. M. McCreight, 49 B. W. Lampson, R F. Sproull, and 31 A Dual-Processor Desk-Top Computer: The D. R Boges 549 HP 9845A William D. Eads, Jack M. Waiden, and Edward L Miller 508 32 The IBM System/38 533 xü J Contents

Section 4 Model 10 Maintains Compatibility, Expands MAXICOMPUTERS 680 Capability Curtis D. Brown and Jack M. Waiden 803 CHAPTER 40 The Structure of System/360, Part I: Interactive Model 20 Speaks Algebraic Outline of the Logical Structure Language G A. Blaauw and F. P. Brooks, Jr. 695 Rex L. James and Francis J. Yockey 805 41 The Structure of System/360, Part II: BASIC-Language Model 30 Can Be System Implementations Calculator, Computer, or Terminal W. Y. Stevens 711 Richard M. Spangler 810 42 VAX-11/780: A Virtual Address Extension to 9800 Processor Incorporates 8-MHz the DEC PDP-11 Family Microprocessor W. D. Strecker 716 Henry J. Kohoutek 814 43 Parallel Operation in the Control Data 6600 Versatile Input/Output Structure Welcomes James E. Thornton 730 Peripheral Variety 44 The CRAY-1 Computer System Gary L. Egan 817 Richard M. Russell 743 31 A Dual-Processor Desk-Top Computer: 45 The TI ASC: A Highly Modular and The HP 9845A Flexible Super Computer Architecture William D. Eads, Jack M. Waiden, and W. /. Watson and L С Dean 753 Edward L. Miller 508 50 Hewlett-Packard Calculator Architectures Thomas E. Osborne 824

Part 4 Section 4 FAMILY RANGE, COMPATIBILITY, AND EVOLUTION OF HURROUGHS COMPUTERS 828

EVOLUTION СНАРГЕН 9 Design of the В 5000 System William Lonergan and Paul King 129 16 Burroughs' B6500/B7500 Stack Mechanism Section 1 E. A. Hauck and B. A Dent 244 MICROCOMPUTER FAMILIES 765

CHAPTER 37 Intel Microprocessors: 8088 to 8086 Section 5 THE SYSTEM/360 AND SYSTEM/370 FAMILY 829 Stephen P. Morse, Bruce W. Ravenel, Stanley Mazor, and William B. Pehlman 615 CHAPTER 51 Architecture of the IBM System/370 Richard P. Case and Andris Padegs 830 Section 2 52 The IBM System/360, System/370, 3030, MINICOMPUTER FAMILIES 766 and 4300: A Series of Planned Machines CHAPTER 46 The PDP-8 Family That Span a Wide Performance Range C. G. Bell and J. E. McNamara 767 С G. Bell, A. Newell, M. Reich, and 47 The Evolution of the PDP-11 D. Siewiorek 856 С G. Bell and J. С Mudge 776 Section 6 EVOLUTION OF CDC/CRAY COMPUTERS 893 Section 3 EVOLUTION OF HP CALCULATORS 785 CHAPTER 43 Parallel Operation in the Control Data 6600 CHAPTER 48 The HP Model 9100A Computing James E. Thornton 730 Calculator 44 The CRAY-1 Computer System Richard E. Monnier, Thomas E. Osborne, Richard M. Russell 743 and David S. Cochran 787 49 The HP 9810/20/30 Series: Bibliography 894 A New Series of Programmable Calculators Acknowledgments 915 Richard M. Spangler 801 Index 921