<<

Mainframe Systems

Mainframe Computer Systems:

The Corporation

By Stephen H. Kaisler

Mainframe Computer Systems: The General Electric Corporation

By Stephen H. Kaisler

This book first published 2020

Cambridge Scholars Publishing

Lady Stephenson , Newcastle upon Tyne, NE6 2PA, UK

British Library Cataloguing in Publication Data A catalogue record for this book is available from the British Library

Copyright © 2020 by Stephen H. Kaisler

All rights for this book reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without the prior permission of the copyright owner.

ISBN (10): 1-5275-6032-5 ISBN (13): 978-1-5275-6032-1 TABLE OF CONTENTS

Acknowledgement ...... xiv

List of Figures...... xv

List of Tables ...... xx

General Electric Co. ...... xxv

Chapter One ...... 1 GE-100 Computer System 1.1 The ERMA Project ...... 2 1.1.1 In the Beginning ...... 2 1.1.2 The Contract ...... 3 1.1.3 Selecting the Vendor ...... 4 1.1.4 Operation ...... 5 1.2 GE-100 System Architecture ...... 7 1.3 GE-100 Peripherals ...... 8 1.4 GE-115 ...... 9

Chapter Two ...... 10 GE-200 Family 2.1 GE-205 and GE-210 ...... 10 2.1.1 GE-205 Computer System ...... 10 2.1.2 GE-210 Computer System ...... 13 2.2 GE-225 ...... 19 2.2.1 GE-225 System Configuration ...... 21 2.2.2 ...... 22 2.2.3 Main Memory ...... 28 2.2.4 Auxiliary Arithmetic Unit ...... 31 2.2.5 Concurrent Operation ...... 33 2.2.6 Instruction Set ...... 34 2.2.7 Interrupts ...... 34 2.2.8 GE 215 ...... 36 2.3 GE-225 System Peripherals ...... 36 2.3.1 Paper Tape Reader-Punch ...... 37 vi Table of Contents

2.3.2 Card Reader and Card Punch ...... 38 2.3.3 Controller Selector ...... 40 2.3.4 Magnetic Tape Subsystem ...... 41 2.3.5 High Speed Printer ...... 54 2.3.6 Disc Storage Unit ...... 55 2.3.7 Document Sorter ...... 56 2.3.8 DATANET-15 ...... 57 2.3.9 Manual Peripheral Switch Control Unit ...... 57 2.4 GE-225 System Software ...... 58 2.4.1 GECOM ...... 61 2.4.2 COBOL ...... 61 2.4.3 ALGOL ...... 62 2.4.4 TABSOL ...... 63 2.4.5 Report Writer ...... 67 2.4.6 II/IV ...... 68 2.4.7 WIZOR ...... 69 2.4.8 General Assembly Program ...... 69 2.4.9 Subroutine Libraries ...... 70 2.4.10 BRIDGE II ...... 70 2.5 GE-235 ...... 70 2.5.1 GE-235 Central Processor ...... 73 2.5.2 Storage Section ...... 75 2.5.3 Arithmetic Section ...... 76 2.5.4 Control Section ...... 76 2.5.5 Auxiliary Arithmetic Unit ...... 77 2.5.6 AAU Instruction Set ...... 80 2.6 Selector Channels...... 87 2.7 GE-235 Instruction Set ...... 87 2.7.1 Arithmetic Instructions ...... 88 2.7.2 Memory Transfers ...... 89 2.7.3 Shift Instructions ...... 91 2.7.4 Branch Instructions...... 93 2.7.5 Register Modification ...... 94 2.8 GE-235 Peripherals ...... 95 2.8.1 Equipment ...... 95 2.8.2 Magnetic Tape Subsystem ...... 96 2.8.3 Disc Storage Unit ...... 102 2.8.4 Peripheral Switch Console ...... 103 2.9 DATANET Communications Processors ...... 105 2.10 GE-250 ...... 106 2.11 GE-265 Time-sharing System ...... 107 Mainframe Computer Systems vii

2.11.1 Communications Hardware ...... 108 2.11.2 Remote Terminals ...... 109

Chapter Three ...... 115 DATANET-30 3.1 DN-30 System Architecture ...... 116 3.1.1 Central Processor ...... 116 3.1.2 Main Memory ...... 120 3.1.3 Buffer Selector ...... 122 3.1.4 Bit Buffer Unit Module ...... 122 3.1.5 Character/Word Buffer Unit ...... 122 3.1.6 Computer Interface Unit ...... 122 3.1.7 Page Control Logic Unit ...... 124 3.1.8 System Bus ...... 124 3.1.9 I/O Multiplexor ...... 124 3.2 I/O Channels ...... 125 3.3 DN-30 Operation ...... 125 3.4 DN-30 Instruction Set ...... 126 3.4.1 Load and Store Instructions ...... 127 3.4.2 Arithmetic Instructions ...... 128 3.4.3 Logical Instructions ...... 128 3.4.4 Register Transfer Instructions ...... 129 3.4.5 Branch Instructions...... 131 3.4.6 Special Instructions ...... 132 3.4.7 Buffer Selector Instructions ...... 133 3.5 Datanet Assessment ...... 134

Chapter Four ...... 135 GE-265 Time-Sharing 4.1 DN-30 Operation ...... 135 4.2 GE-235 Operation ...... 136 4.3 System Software ...... 138 4.3.1 Concept of Operations ...... 138 4.3.2 DN-30 Executive ...... 139 4.3.3 GE-235 Executive ...... 141 4.3.3 Catalogs ...... 143 4.3.4 Editor ...... 145 4.4 GE-265 Assessment ...... 145

viii Table of Contents

Chapter Five ...... 146 GE-312/412 Systems 5.1 GE-312 ...... 146 5.1.1 Applications of the GE-312 ...... 148 5.1.2 Brief Overview of the GE-312 ...... 149 5.2 GE-412 ...... 150 5.2.1 GE-412 System Architecture ...... 153 5.2.2. Central Processor Architecture ...... 153 5.2.3 Program and Maintenance Console ...... 160 5.2.4 Main Memory ...... 161 5.2.5 Magnetic Drum Storage ...... 161 5.2.6 Peripheral Equipment ...... 161 5.3 Software Development Aids ...... 164 5.3.1 General Assembly Program ...... 164 5.3.2 The General ...... 165 5.4 GE-312/412 Instruction Set ...... 165 5.4.1 Data Transfer and Arithmetic Instructions ...... 165 5.4.2 Register Manipulation Instructions ...... 168 5.4.3 Logical Instructions ...... 168 5.4.4 Shift Instructions ...... 169 5.4.5 Unconditional branch Instructions ...... 171 5.4.6 conditional branch Instructions ...... 172 5.4.7 Automatic Address Modification Instruction ...... 173 5.4.8 Real-Time Instructions ...... 175 5.4.9 Magnetic Drum Transfer Instructions ...... 177 5.4.10 Automatic Program Interrupt Instructions ...... 178 5.4.11 Miscellaneous Instructions ...... 180 5.4.12 Unit Record Peripheral I/O Instructions ...... 181 5.4.13 Other Peripherals Instructions ...... 182 5.5 GE-412 System Software ...... 183 5.6 GE-412 Assessment ...... 186

Chapter Six ...... 188 GE-400 Series 6.1 GE-400 Series System Architecture...... 189 6.1.1 GE-435 Central Processor ...... 190 6.1.2 The Processor Channel ...... 191 6.1.3 Memory ...... 195 6.1.4 I/O Control Section ...... 196 6.1.5 Direct Access Package ...... 199 6.1.6 1401 ...... 199 Mainframe Computer Systems ix

6.2 System Console and Peripherals ...... 199 6.3 GE-4xx Instruction Set ...... 200 6.3.1 Single Addresses ...... 200 6.3.2 Two Addresses ...... 202 6.3.3 Data Movement ...... 202 6.3.4 Shift Instructions ...... 205 6.3.3 Arithmetic Instructions ...... 208 6.3.4 Compare Instructions ...... 209 6.3.5 Branch Instructions...... 210 6.3.6 Logic Instructions ...... 211 6.3.7 Fixed Index Word Instructions ...... 212 6.3.8 Instructions ...... 213 6.3.9 Special Purpose Instructions ...... 214 6.3.10 Peripheral Instructions ...... 215 6.4 GE-400 Peripherals ...... 216 6.4.1 CR-20 Card Reader ...... 216 6.4.2 CP-10 Card Punch ...... 217 6.4.3 PR-20 Printer ...... 218 6.4.4 Magnetic Tape Subsystems ...... 219 6.4.5 TS-20 Perforated Tape Reader/Punch ...... 219 6.4.6 DS-20 Disc Storage Subsystem ...... 219 6.4.7 MR-20 Magnetic Record Reader/Sorter ...... 226 6.4.8 Data Communications Units ...... 226 6.5 GE-400 Time-sharing System ...... 226 6.6 GE-400 Series Software ...... 227 6.6.1 Magnetic Tape Processing System ...... 227 6.6.2 Disc Processing System ...... 228 6.6.3 Direct Access Processing System ...... 228 6.6.4 Macro Assembly Program ...... 228 6.7 GE-400 Series Assessment ...... 230

Chapter Seven ...... 231 GE-600 Series 7.1 The GE-600 Genesis ...... 231 7.2 GE-600 System Architecture ...... 233 7.2.1 Memory Module ...... 234 7.2.2 Processor Module ...... 235 7.2.3 I/O Control Module ...... 240 7.2.4 Peripheral Subsystems ...... 241 7.3 GE-615 ...... 242 7.4 GE-625 ...... 242 x Table of Contents

7.5 GE-600 Assessment ...... 242

Chapter Eight ...... 243 GE-635 System 8.1 GE-635 System Architecture ...... 243 8.1.1 Instruction Fetching ...... 243 8.1.2 ...... 244 8.1.3 Master Mode Operation ...... 244 8.1.4 Interrupt Execution ...... 245 8.1.5 Multiple Adders ...... 245 8.1.6 Faults ...... 246 8.1.7 Interval Timer ...... 247 8.2 Instruction Set Architecture ...... 248 8.2.1 Address Modification ...... 248 8.2.2 Data Movement Instructions ...... 252 8.2.3 Shifting Instructions ...... 254 8.2.4 Fixed Point Arithmetic Instructions ...... 255 8.2.5 Boolean Instructions ...... 257 8.2.6 Comparison Instructions ...... 258 8.2.7 Floating Point Load and Store ...... 259 8.2.8 Floating Point Arithmetic Operations...... 260 8.2.9 Transfer of Control ...... 262 8.2.10 Miscellaneous Operations ...... 263 8.2.11 Special Operations ...... 264 8.2.12 Master Mode Operations ...... 266 8.3 I/O Controller ...... 267 8.4 Peripheral Equipment Subsystems ...... 269 8.5 GE-600 Series Assessment ...... 269

Chapter Nine ...... 271 GE-645 System 9.1 Design Concepts ...... 272 9.2 System Summary ...... 274 9.3 System Controller Module ...... 275 9.3.1 Core Storage ...... 275 9.3.2 Connect Signals ...... 276 9.3.3 Interrupt Cells ...... 276 9.3.4 System Clock...... 278 9.4 Processor Modules ...... 278 9.4.1 Processor Features ...... 278 9.4.2 Operating Modes ...... 279 Mainframe Computer Systems xi

9.4.3 Processor Registers ...... 279 9.2.3 GIOC Module ...... 281 9.2.4 Extended Memory Module ...... 281 9.5 Instruction Set ...... 282 9.5.1 Address Modification ...... 282 9.5.2 New Instructions ...... 284 9.6 GE-645 Enhancements ...... 285 9.6.1. I/O System ...... 286 9.6.2 Segmentation and Paging ...... 286 9.6.3 Segmentation ...... 286 9.6.4 Descriptors ...... 287 9.6.5 Base Registers ...... 288 9.6.6 Indirect Transfer to Segments ...... 290 9.6.7 Shared Segments ...... 291 9.6.9 The Segment Descriptor Word ...... 293 9.6.10 Paged Descriptor Segment ...... 295 9.7 New Mode of Procedure Execution ...... 295 9.8 System Console ...... 296 9.9 Generalized I/O Controller ...... 296 9.9.1 GIOC Mailboxes ...... 298 9.9.2 GIOC Control Words ...... 298 9.9.3 Channels ...... 299 9.9.4 Data Channels ...... 301 9.9.5 List Channels ...... 304 9.9.6 Connect Channel ...... 305 9.9.7 Status Channels ...... 306 9.9.8 Adapters ...... 307 9.9.9 Status Events ...... 308 9.9.10 Initializing Data Channel Operation ...... 309 9.10 System Configuration Console ...... 310 9.11 Peripheral Equipment ...... 310 9.11.1 Disc Storage Subsystem ...... 310 9.11.2 Magnetic Drum Storage System ...... 311 9.11.3 Mass Storage Subsystem ...... 311 9.11.4 Magnetic Tape Subsystem ...... 311 9.11.5 Peripheral Switch Console ...... 312 9.11.6 Terminal Equipment ...... 312 9.12 The Operating System ...... 313 9.13 GE-655 ...... 314

xii Table of Contents

Chapter Ten ...... 315 Dartmouth Time Sharing System 10.1 User Interaction ...... 316 10.2 DTSS Structure ...... 318 10.3 The End of the First Generation ...... 319 10.4 The Second Generation ...... 320 10.5 DTSS Assessment ...... 321

Chapter Eleven ...... 323 BASIC 11.1 The Goals for BASIC ...... 324 11.2 The of BASIC ...... 327 11.2.1 The First Dartmouth Version ...... 328 11.2.2 Further Versions of BASIC ...... 329 11.3 The Mark II/III Basic Language ...... 331 11.3.1 A Complete BASIC Program ...... 332 11.3.2 Essential BASIC Statements ...... 332 11.3.3 Enhanced BASIC Statements ...... 334 11.4 The Success of BASIC ...... 338 11.5 Assessment of BASIC ...... 339

Chapter Twelve ...... 341 GECOS 12.1 GECOS Structure ...... 342 12.1.1 Input Media Conversion ...... 343 12.1.2 Allocation ...... 344 12.1.3 Monitor ...... 345 12.1.4 Termination ...... 346 12.1.5 Output Media Conversion ...... 346 12.1.6 Roadblock AND FORCED RELINQUISH ...... 346 12.1.7 Dispatcher...... 347 12.2 GEMME...... 347 12.2.1 GEMME Calls ...... 348 12.2.2 Requests For Service ...... 348 12.2.3 Multiprogramming ...... 350 12.3 General I/O Supervisor ...... 353 12.3.1 GEINOS ...... 353 12.3.2 I/O Operation Execution ...... 357 12.4 GEFLOW ...... 362 12.5 General File Record Control ...... 363 12.6 General Loader...... 363 Mainframe Computer Systems xiii

12.6.1 Overlays ...... 363 12.7 General Remote Terminal Supervisor ...... 365 12.8 GECOS Control Cards ...... 365 12.9 GECOS Assessment ...... 368

Chapter Thirteen ...... 369 GE System Software 13.1 GEM ...... 369 13.1.1 Symbol Types ...... 371 13.1.2 Expressions...... 371 13.1.3 Address Modification ...... 373 13.1.4 Pseudo-Operations...... 374 13.2 Integrated Data Store ...... 387 13.2.1 IDS Requirements ...... 389 13.2.2 Data Organization...... 391 13.2.3 Data and Procedural Language ...... 392 13.2.4 I/O Controller ...... 395 13.3 IDS Assessment ...... 396

Chapter Fourteen ...... 398 GE Mark II/III Time Sharing System 14.1 Accessing the Service ...... 400 14.1.1 Signing On ...... 400 14.1.2 Entering a Program ...... 400 14.1.3 Signing Off ...... 401 14.2 Data Files ...... 401 14.3 Program Libraries ...... 402 14.4 System Communication ...... 402 14.5 Time-sharing Applications ...... 405

Chapter Fifteen ...... 408 Assessment of GE Computers

Exercises for the Reader ...... 411

Glossary ...... 414

References ...... 416

Index ...... 423 ACKNOWLEDGEMENT

This book would not have been possible with the assistance of my proofreader – Rebecca Williams. She did yeoman duty in carefully scrutinizing every word and formatting to make sure I followed the procedures established by Cambridge Scholars Publishing.

I also want to acknowledge the contributions of the family cats – Scooby, Tatiana, and Molly - who kept me company during periods of intense writing and who were always willing to interrupt to get their daily treats and pettings.

I want to acknowledge the assistance and patience of Mr. James Brittain, my Commissioning Editor and Ms. Helen Edwards, at Cambridge Scholars Publishing, for shepherding this volume to completion. I want to acknowledge the assistance of Courtney Blades – Designer, Amanda Millar – Typesetting Manager, and Sophie Edminson – Designer, all at Cambridge Scholars Publishing who designed and prepared the version of the book that the reader holds.

Lastly, I acknowledge my wife, Chryl, who has provided the time to write this volume and the many more to come in this series. This book is dedicated to her.

Finally, this book is also dedicated to my granddaughter, Isobel Freya Williams, who was born during its preparation. LIST OF FIGURES

1-1 GE-115 Computer System 1-2 ERMA Operator’s Console 1-3 The GE-115 Computer System

2-1 A GE-205 Computer System 2-2 GE-205 Processor Cabinet and Operator Console 2-3 GE-210 Computing System 2-4 E13B MICR Font 2-5 GE-210 Data Processing System Advertisement 2-6 GE-210 CPU Cabinets 2-7 GE-210 Bit Configuration 2-8 136742 Representation 2-9 GE-210 Registers and Data Flow 2-10 GE-225 Computer System 2-11 GE-225 System Configuration 2-12 GE-225 Central Processing Unit 2-13 GE-225 Operator Console 2-14 GE-225 Register Set Exchange of Data 2-15 Magnetizing Cores 2-16 Memory Allocation 2-17 Auxiliary Arithmetic Unit 2-18 GE-225 Paper Tape Reader-Punch 2-19 400 cpm Card Reader 2-20 Standard Punched Card 2-21 100 cpm Card Punch 2-22 Magnetic Tape Subsystem 2-23 MTH Control Panel 2-24 Magnetic Tape Binary Mode Format 2-25 Magnetic Tape Special Binary Mode Format 2-26 Magnetic Tape Binary-Coded Decimal Format 2-27 Magnetic Tape Subsystem Instruction Words 2-28 High Speed Printer 2-29 Auxiliary Arithmetic Unit and Disc Storage Unit 2-30 GE-225 Two-Pocket Document Sorter 2-31 Manual Peripheral Switch Control Unit xvi List of Figures

2-32 GE-225 Advertisement 2-33 GE-225 Advertisement 2-34 GE-225 Advertisement 2-35a GECOM Advertisement, Part I 2-35b GECOM Advertisement, Part II 2-36 Sample Factory Decisions 2-37 A Decision Table 2-38 Sample TABSOL Program 2-39 TABSOL Table 2-40 GE-235 Computer System 2-41 GE-235 Advertisement 2-42 Typical GE-235 System Configuration 2-43 GE-235 Central Processor 2-44 GE-235 Functional Architecture 2-45 GE-235 Auxiliary Arithmetic Unit 2-46 AAU Instruction Formats 2-47 GE-235 Instruction Format 2-48 GE-235 Shift Instruction Format 2-49 GE-235 Punched Card Readers 2-50 Model 680/690 Magnetic Tape Subsystem 2-51 MTH Switches 2-52 GE-235 Disc Storage Unit 2-53 Peripheral Switch Console 2-54 PSC Unit 2-55 DATANET Communications Processors 2-56 GE-265 Time-sharing System Configuration 2-57 GE-265 Communications Hardware 2-58 ASCII Character Assignments 2-59 Special Character Definitions 2-60 Model 33 Control Panel 2-61 Model 33 Keyboard

3-1 GE DATANET-30 3-2 DN-30 System Architecture 3-3 DN-30 CPU Architecture 3-4 DN-30 Detailed Block Diagram 3-5 DN-30 to GE-235 Interface Block Diagram 3-6 DN-30 Instruction Formats

4-1 GE-265 System Configuration

Mainframe Computer Systems xvii

5-1 GE-312 Computer System 5-2 GE-312 GARDE 5-3 GE-312 Capabilities Block Diagram 5-4 GE-412 Nameplate 5-5 GE-412 Process Control and Monitoring System 5-6 Typical GE-412 Configuration 5-7 GE-412 System Architecture 5-8 GE-412 CPU Data Flow 5-9 GE-412 Operator Console 5-10 GE-412 Programming and Maintenance Console 5-11 Scanner Command Word Format 5-12 Subcontrol Mode – Register Format 5-13 GE-412 Instruction Format 5-14 GE-412 Programming Manual 5-15 Address Modification Example 5-16 Automatic Address Modification Example 5-17 BCD Format for the RTC 5-18 Elapsed Time Counter Control Word 5-19 Magnetic Drum Control Word 5-20 PAP Coding Sheet

6-1 GE-435 Computer System Configuration 6-2 GE-425 Computer System 6-3 Program Channel Words 6-4 GE-435 System Console 6-5 GE-4xx Single Address Instruction Format 6-6 GE-4xx AMS Format 6-7 GE-4xx Second Address Sequence Word Format 6-8 Explode Instruction Example 6-9 GE-4xx Shift Control Word 6-10 Instruction Word Format 6-11 Tables for Constructing Shift Mnemonics 6-12 Shift Instruction Example 6-13 Example of Variable Length Multiplication 6-14 CR-20 Card Reader 6-15 PR-20 Printer and Controller 6-16 DS-20 Disc Storage Subsystem 6-17 DS-20 Positioning Arm 6-18 DS-20 Instruction Format 6-19 GE-4xx Instruction Format xviii List of Figures

7-1 GE 600 Advertisement

8-1 GE-635 Multiprocessor Configuration 8-2 GE-635 Instruction Format 8-3a Address with Tally 8-3b Indirect Word Fetch Character 8-3c Character from Indirect Word 8-3d Indirect Word – Add Delta 8-3e Indirect Word with Further Modification 8-4 GE-635 IT Modification Flowchart 8-5 RPT Instruction Format 8-6 GE-635 Data Control Word Format

9-1 Conceptual Model of the GE-645 Computer System 9-2 Typical GE-645 System Configuration 9-3 GE-645 Basic Instruction Format 9-4 Indirect Word Format 9-5 Two-Address Processing 9-6 PBR Designates How Procedure Segment was used 9-7 Use of ABR and PBR in Instruction Execution 9-8 Use of ABR and PBR in Instruction Execution 9-9 The Paging Concept of the GE-645 9-10 Page Table Maps Pages to Memory Blocks 9-11 GIOC Configuration 9-12 GIOC Connect Word 9-13 Command Pointer Word 9-14 Channel Control Word 9-15 GE-645 DCW Format 9-16 LPW Format 9-17 Channel Instruction Word 9-18 IPW Format 9-19 COW Format 9-20 Status Words Format 9-21 Status Control Word Format

11-1 A Complete BASIC Program

12-1 GECOS III Job Flow 12-2 MME Parameter Structure 12-3 GEINOS Call 12-4 GEINOS Operation Word Format Mainframe Computer Systems xix

12-5 Data Control Word 12-6 GECOS Status Return Words 12-7 Fault Vector Structure

13-1 Chained Records

15-1 GE Marketing Slogan 1 15-2 GE Process Control Slogan 15-3 GE Figure Slogan

LIST OF TABLES

1-1 GE-115 Computer System 1-2 GE-100 Processor Registers

2-1 GE-100 Processor Registers 2-2 GE225 – Basic Characteristics 2-3 GE-225 Control Console 2-4 Control Console Alarms 2-5 GE-225 Registers 2-6 AAU Registers 2-7 GE-200 Series Card Reader Models 2-8 MTC Error Checking 2-9 MTC Registers and Indicators 2-10 MTH Control Panel 2-11 MTH Error Checking 2-12 Magnetic Tape Recording Formats 2-13 Tape Movement Instructions 2-14 Tape Interrogation Instructions 2-15 GE-235 Characteristics 2-16 AAU Operating Modes 2-17 AAU Registers 2-18 AAU Control Instructions 2-19 AAU Data Transfer Instructions 2-20 AAU Reset Instructions 2-21 AAU Normalize Instruction 2-22 AAU Arithmetic Instructions 2-23 AAU Test and Branch Instructions 2-24 GE-235 Instruction Types 2-25 GE-235 Instruction Symbols 2-26 Arithmetic Instruction 2-27 Memory Transfer Instructions 2-28 Shift Instructions 2-29 Branch Instructions 2-30 Register Modification Instructions 2-31 MTC Error Indicators 2-32 MTC Registers 2-33 MTH Switches Mainframe Computer Systems xxi

2-34 Other DATANET Communications Processors 2-35 Model 33 Teletype Controls 2-36 Model 33 Keyboard Functions

3-1 DATANET-30 – Basic Characteristics 3-2 DN-30 Registers 3-3 DN-30 Load/Store Instructions 3-4 DN-30 Arithmetic Instructions 3-5 DN-30 Logical Instructions 3-6 Register Specifications by Bits 3-7 Register Transfer Instructions 3-8 Branch Instructions 3-9 Special Instructions 3-10 Buffer Selector Instructions

4-1 DN-30 Messages 4-2 DN-30 Message Types

5-1 Applications of the GE-312 Process Computer System 5-2 GE-412 Applications 5-3 GE-412 – Basic Characteristics 5-4 GE-412 CPU Registers 5-5 GE-412 Control Registers 5-6 Data Transfer and Arithmetic Instructions 5-7 Register Manipulation Instructions 5-8 Logical Instructions 5-9 Right Shift Specifications 5-10 Left Shift Specifications 5-11 Shift Instructions 5-12 Unconditional Branch Instructions 5-13 Transfer of Program Control 5-14 Conditional Branch Instructions 5-15 Automatic Address Modification Instructions 5-16 RTC Instructions 5-17 Time Increment per Counter 5-18 ETC Instructions 5-19 Drum Transfer Instructions 5-20 Program Interrupt Instructions 5-21 Other Internal Instructions 5-22 Peripheral I/O Instructions 5-23 PAP Coding Sheet Columns xxii List of Tables

5-24 PAP Pseudo Instructions

6-1 GE-400 Series – Basic Characteristics 6-2 Processor Status Control Word – Bit Usage 6-3 GE-435 Reserved Memory Locations 6-4 I/O Control Functions 6-5 Executing Control Functions 6-6 ACF Modification 6-7 Data Movement Instructions 6-8 Arithmetic Instructions 6-9 Compare Instructions 6-10 Branch Instructions 6-11 Logic Instructions 6-12 Fixed Index Word Instructions 6-13 Accumulator Instructions 6-14 Special Purpose Instructions 6-15 Peripheral Instructions 6-16 Device Code for Addressing DS-20 Subsystem 6-17 Selected DS-20 Instructions 6-18 GE-4xx Innovative Features

7-1 GE-6xx Series – Basic Characteristics 7-2, GE-6xx User-Accessible Registers 7-3 GE-6xx Non-Accessible Processor Registers 7-4 GE-6xx Processor Indicators

8-1 GE-635 Adders 8-2 GE-635 Address Modification 8-3 IT Modifications 8-4 Data Movement Instructions – Load 8-5 Data Movement Instructions – Store 8-6 Data Movement Instructions – Shift 8-7 Fixed Point Arithmetic Instructions 8-8 GE-635 Boolean Instructions 8-9 Comparison Instructions 8-10 Floating Point Load and Store Instructions 8-11 Floating Point Arithmetic Instructions 8-12 Transfer of Control Instructions 8-13 Miscellaneous Instructions 8-14 Special Instructions 8-15 RPT Termination Instruction Mainframe Computer Systems xxiii

8-16 Master Mode Instructions 8-17 Action Word Interpretation

9-1 Data Transfer Commands 9-2 GE-645 Faults 9-3 GE-645 Processor Enhancements 9-4 GE-645 Processor Registers 9-5 Address Modification Types 9-6 Special Indirect Modifications 9-7 New Instructions 9-8 GIOC Mailbox Addresses 9-9 Channel Number Assignment 9-10 Data Control Word A 9-11 Data Control Word B 9-12 DCW Types 9-13 Selected Adapters

10-1 Initial DTSS Command Set

11-1 BASIC Statement Types 11-2 BASIC Numeric Functions 11-3 BASIC: Version Two through Six 11-4 BASIC Language Statement Formats 11-5 Enhanced BASIC Statements

12-1 GEMME Service Routines 12-2 Multiprogramming Control MME Requests 12-3 GEINOS Device Commands 12-4 Action Code Description 12-5 GECOS Fault Vector 12-6 GECOS Standard Actions for Faults 12-7 Selected GECOS Control Cards

13-1 GEM Statement Format 13-2 Control Pseudo-operations 13-3 Location Counter Pseudo-operations 13-4 Symbol-Defining Pseudo-operations 13-5 Data Generating Pseudo-operations 13-6 Storage Allocation Pseudo-operations 13-7 Conditional Pseudo-operations 13-8 Special Word Pseudo-operations xxiv List of Tables

13-9 Tally Pseudo-operations 13-10 Repeat Pseudo-operations

GENERAL ELECTRIC CO. COMPUTERS

General Electric (GE) began its life as the Electric Light Company founded by Thomas Alva Edison in 1878. Through the late 1800s, Edison invented many products based around electricity – the incandescent bulb, the stock ticker, the electric dynamo, and the electric streetcar. It was renamed the Edison General Electric Co., which merged with Thomson- Houston Electric Company in 1892 to become the (Gandy and Edwards 2014). In 1896, the Dow-Jones Industrial Average (DJIA) was created to track the financial ups and downs of the nascent . General Electric was one of the 12 stocks that comprised the DJIA. It was the only one of the original stocks still a component of the DJIA today. Recently (2018), General Electric was removed from the DJIA and replaced by WalMart. Its removal was a clear sign that GE’s day as a manufacturer was waning and its stock price took a significant hit as it lost revenues. The inclusion of WalMart reflected the rise of the low-cost big retailer as a major influence in American life. In 1919, GE and American Telephone & Telegraph (AT&T) formed the Radio Corporation of America (RCA) to commercialize radio technology, which had been demonstrated during World War I by, among others, E. Marconi. Each contributed technology to the new corporation to productize and commercialize it. In the 1930s, GE spun off RCA as a separate company. In 1955, Bank of America solicited bids for a system to design and build a new computer system for its operations – the ERMA (Electronic Recording Method of Accounting) system. GE management was convinced that International Business Machines (IBM) would win and were unduly surprised when they received the contract in the amount of $32 million. ERMA introduced the MICR – Magnetic Ink Character Recognition system for encoding checks. In 1957, it received a contract from National Cash Register to develop special equipment for the banking industry. GE established its Computer Department in 1956 with its headquarters in Phoenix, Arizona. H.R. (Barney) Oldfield was its first general manager. In 1960, GE expanded its computer business from a custom single-product shop to a wider customer base. The GE-225 system was designed to appeal to a broader array of customers. Throughout the 1960s its business expanded and it developed new and enhanced models of its machines, ending with the xxvi General Electric Co. Computers

GE 6xx series which ran the GECOS operating system, a batch-oriented system. When MIT sought a computer for Project MACs Multics, GE bid a modified version of its mainframe, the GE-645, and won the contract. GE’s Information Services developed from its early support for John Kemeny’s BASIC and DTSS projects at Dartmouth. An interview with Warner Sinback (Johnson 2004) documents the early days of developing time sharing within GE (Johnson 2004). Additional information about DTSS and BASIC can be found in the Dartmouth Timeshare System, a transcript of the 1974 National Computer Conference Pioneer Day session (Kurtz 1974). As Gandy and Edwards (2014) noted, GE’s Computer Department’s ultimate goal, as a reflecting of its strategic thinking, was to enter the general-purpose computing market and become a rival to IBM. GE’s Chief Executive Officer (CEO) was reluctant to do so, but the Computer Department, supported by other GE departments that had interest in computing, carried the day. GE’s strategy was based on its deep understanding of industrial processes, such as oil transport, electricity generation and engine development. GE’s strategy focused on not just delivering a manufactured product, but a package which included software, servicing and training, as well as hardware. When IBM announced the System/360 family in 1964, GE noted that IBM had introduced a family with no performance gaps that was upward compatible and included both batch and direct access capabilities. It also lowered the price/performance level, which competitors had used in the past and eliminated opportunities for product specialization, which could yield better performance with a higher price (GE 1964u). The Computer Department manufactured mainframe computers until 1970. At that time, G realizing it could not compete with IBM, retired from the computer industry. It sold its entire computer division – lock, stock, and barrel – to Corporation and exited the computer industry quickly and efficiently. In 1986, GE re-acquired RCA, primarily for the National Broadcasting Company (NBC) network. The rest of RCA was split up and sold to various companies. During its heyday, GE manufactured the following computing machines:

Model First Delivery GE 100 Series 1956 GE 200 Series 1961 GE-400 Series 1963 Mainframe Computer Systems xxvii

GE 615/625/635 1965 GE 645 1966

CHAPTER ONE

GE-100 COMPUTER SYSTEM

Source: GE 1955o

In 1957, GE obtained a $32,000,000 contract with the Bank of America to develop an accounting system for automated demand deposits. The GE- 100 computer system, under development since 1955, was developed for the ERMA (Electronic Recording Method of Accounting) project. It was a fixed-word machine with an unusual instruction set. Figure 1-1 depicts the GE-115 model.

Figure 1-1. GE-115 Computer System Source: GE 1955o Courtesy of General Electric Co.

Table 1-1 describes the characteristics of the GE-100 series of machines.

2 Chapter One

Table 1-1. GE-100 – Basic Characteristics (GE 1955o)

Characteristic Value/Explanation Internal Representation Fixed Point Binary # Bits/Word 28 (six characters using 24 bits and 4 bits for sign) # Instructions/Word 1 # Instructions 25 # Bits/Instruction 28 Instruction Type One-Address CPU Technology Transistors: 32 microsecond cycle time CPU Registers See Table 1-2 Main Memory Magnetic Core: 4K – 8K characters; cycle time: 32 microseconds Add Time Fixed Point: 8 microseconds Multiply Time Software-based Divide Time Software-based

1.1 The ERMA Project

By the early , the increased use of bank checks as a form of payment had pushed many banks to the brink of a crisis. They could not keep up with the level of manual processing required to record and reconcile checks. The Electronic Recording Machine Accounting (ERMA) project was intended by the Bank of America (BoA) to modernize and computerize some of its critical banking operations. BoA teamed with Stanford Research International (SRI) to design a new banking system called ERMA (Fisher and McKenney 1993, McKenney and Fisher 1993).

1.1.1 In the Beginning

In 1950, SRI began the conceptual study of the system. Since BoA felt that the check was important to the customer, few changes would be made to the checks themselves. BoA and SRI had determined that the system would perform five bookkeeping functions:  Account credit and debit  Record all transactions  Record customer balances and print them as needed  Handle stop-payment and hold orders on checks  Notify the operator of possible overdrafts on accounts by checks