Auerbach_Standard_EDP_Reports_196609_Volume_5_IBM Auerbach Standard EDP Reports 196609 Volume 5 IBM
User Manual: Pdf Auerbach_Standard_EDP_Reports_196609_Volume_5_IBM
Open the PDF directly: View PDF .
Page Count: 978
Download | |
Open PDF In Browser | View PDF |
STANDARD EDP "REPORTS . An Information Service for the Electronic Data Processln, Field.·.. . Prepared & Edited by AUERBACH CORNlAnDN "11III.1P1i. PH•. Printed and Distributed by INA IlCo..,.md WASHINGTON, D. C. 5 I AUERBACH I $J STANDARD BDP REPORTS .. RINTED IN THE UNITED STATES 0,.. AMERICA The information contained herein has been obtained from reliable sources and has been evaluated by technical teams with extensive working experience in computer design, selection and application. The information, however, is not guaranteed. Acknowledgement is made oHhe inspiration and guidance provided by the Information Systems Branch of Office of Naval Research which has supported data gathering activity by Auerbach Corporation in fields similar to some covered in these reports. The data contained and formats used in STANDARD EDP REPORTS were not prepared under any contract with the U. S. Government; and they are the exclusive property of the copyright holders. ,/ 18.M 1620 Model· 1 International Business Machines Corp. / .'-.--. AUERBACH INFO, INC. PRINTED IN U. S. A. IBM 1620 Model· 1 International Business Machines Corp. AUERBACH INFO, INC. PRINTED IN U. S. A. 412:001.001 STANDARD REPORTS IBM 1620 Modell Contents CONTENTS 1. 2. 3. 4. 5. 6. 7. 8. 10. 11. 12. 13. 14. 15. Introduction • . Data Structure. . System Configuration Configuration IX; Desk Size Scientific Configuration X; Punched Card Scientific Internal Storage Core Storage . 1623 Core Storage . • . . 2301 Core Storage Adapter 2302 Core Storage Adapter Auxiliary Storage 1311 Model 3 Disk Storage Drive 1311 Model 2 Disk Storage Drive Central Processor • • •• Console.. •..••. • Input-Output; Punched Tape and Card 1621 Paper Tape Reader 5514 Paper Tape Reader Adapter 1624 Tape Punch • •. • 5514 Adapter.. . . . . 1622 Card Read Punch (Reader) 1632 Card Read Punch Adapter 1622 Card Read Punch (Punch) 1632 Card Read Punch Adapter Input-Output; Printers I/O Console Typewriter • Input-Output; Other Calcomp 560-R Digital Recorder Simultaneous Operations Instruction List Coding Specimens SPS FORTRAN I FORTRAN II GOTRAN Data Codes Internal Numeric Internal Alphameric • I/O Console Typewriter (numeric) I/O Console Typewriter (alphameric) Paper Tape Input-Output . • Card Input-Output (numeric) Card Input-Output (alphameric) . Problem Oriented Facilities IBM 650 Simulator Program 1710 Simulator/7090 1620 5-Channel Tape Translation Program . Floating point function subroutines © 1962 by Auerbach Corporation and BNA Incorporated 412:011 412:021 412:031 412:031 412:041 412:041 412:041. 4 412:041. 4 412:042 412:042 412:051 412:061 412:071 412:071. 4 412:072 412:072.4 412:073 412:073.4 412:074 412:074.4 412:081 412:101 412:111 412:121 412:131 412:132 412:133 412:134 412:141 412:142 412:143 412:144 412:145 412:146 412:147 412:151. 11 412:151.12 412:151. 15 412:151.171 12/62 412:001.002 IBM 1620 MODEL 1 CONTENTS-Contd. 15. 16. 17. 18. 19. 20. 21. 22. 12/62 Problem Oriented Facilities (Contd.) Matrix Inversion (Tape) Complex FORTRAN (Tape) •• SPS to FORTRAN conversion. Format Control Subroutines for 1620 Card FORTRAN Interpretive systems Other •• AUTOMAP • Process Oriented Languages FORTRAN I FORTRAN II • GOTRAN FORGO • Machine Oriented Languages SPS SPS I-Pass •• Program Translators SPS • • • . SPS I-Pass. FORTRAN I FORTRAN II Operating Environment General . GOTRAN • FORGO • System Performance Notes on System Performance Worksheet Data • • • . . • Matrix Inversion • • • • • • Generalized Mathematical Processing. Generalized Statistical Processing Physi~l Characteristics Price Data. • • . . • • • • . • • • • • • • • . . 412:151.172 412:151.173 412:151.174 412:151.175 412:151.176 412:151.177 412:151.3 412:161 412:162 412:163 412:164 412:17l 412:172 412:181 412:182 412:183 412:184 412:191 412:192 412:193 412:201. 001 412:201. 011 412:201.3 412:201.4 412:201. 5 412:211 412:221 412:011.100 STANDARD EDP IBM 1620 Modell Introduction INTRODUCTION § OIl. The IBM 1620 Modell is a solid-state desk size computer oriented toward scientific applications. The basic system consists of the 1620 Modell Central Processing Unit and Console, and the Input/Output Console Typewriter, used for input with hard copy and for output. Typewriter output occurs at about ten characters per second. This minimum configuration, including core storage of 20,000 decimal digits, rents for $1,375 per month. The processor performs the two-address instructions sequentially. Data processing is performed serially by digit on variable length decimal fields; no input-output radix conversion is required. Alphameric data may be input and output; each alphameric character is stored internally as a pair of decimal digits. Instructions are fixed in length at twelve digits. A digit consists of four numeric bits, one check bit, and one flag bit used for storing the sign of a numeric field and for delimiting a field. The core store has a 20 microsecond readrestore cycle. Fixed-point addition of two fields is performed at 80 microseconds per digit, and field movement requires 40 microseconds per digit. Each digit in storage is individually addressable. Core storage is expandable to a total size of 40,000 or 60,000 digits. Punched tape and card equipment can be used with the 1620. Paper tape may be input at 150 rows per second or output at 15 rows per second; no buffering is available. Two independent buffered card channels are available, permitting reading at 250 cards per minute and punching at 125 cards per minute. A few 1620 installations have installed Model 7330 Magnetic Tape Units and Model 1403 Line Printers on an RPQ basis. Other devices which require an RPQ are the Model 1940 Printer which has a speed of 50 characters per second, and Model 1402 Card Read Punch. Model 1402 can read cards at 800 cards per minute and can punch cards at 250 cards per minute, and is the standard read-punch unit for the 1401 Data Processing System. A new disc storage system has been announced for the IBM 1620, 1401, 1440, and 1710 systems. This system is the 1311 Disk Storage Drive, and features interchangeable Disk Pack units as a replaceable storage medium. The peak _~'ansfer rate is 50,000 digits per second when used in the 1620 system. Each 1311 Disk Storage Drive holds one Disk Pack at a time, providing on-line storage for 2,000,000 digits per drive in addressable sectors of 100 digits each. A maximum of four drives can be connected. Up to 20,000 digits can be read or recorded without movement of the access mechanism, so the system is suitable for sequential as well as random processing. Total waiting time for access to a randomly placed record averages 270 milliseconds. Disk Storage seek operations (but not read -write operations) can be overlapped with other system functions. IBM has announced programs utilizing the disc file for SPS and FORTRAN II, and also a Disk Utility Program to aid in the maintenance of programs or data in disc storage. Each Disk Pack consists of a stack of six discs with ten magnetic recording surfaces and a cover that forms a sealed container when the Disk Pack is not mounted on a drive. Diameter is 14 inches, height is 4 inches, weight is less than 10 pounds, and time to interchange two Disk Packs is about one minute. The basic 1620 includes 33 instructions, many of which allow the use of literals (the "Immediate" instructions, as Add Immediate). Fixed point multiply is provided, but divide is done either by subroutine or by an extra-cost Special Feature. Floating point operations al'e performed by subroutines, or by extra cost floating point instructions. Other processor instructions are available at additional cost, including indirect addressing. The input-output operations transfer groups of characters rather than a single character or word, and no radix conversion is needed since data is stored in decimal form. Punched tape operations are term- © 1962 by Auerbach Corporation and BNA Incorporated IBM 1620 MODEL 1 412:011.101 §Oll INTRODUCTION-Contd. inated by a delimiter code, and card operations are stopped after 80 characters are transferred. Card operations are checked by comparing the buffer contents to information read at a checking station. The assembly language for the 1620 is the 1620/1710 Symbolic Programming System, which includes macros for floating point subroutines for arithmetic and mathematical functions. The translation may be performed on the 1620 or on the 709/7090 systems. Problem oriented facilities are oriented towards industrial design applications, mathematical applications, and linear programming. They include AUTOMAP, a program for machine tool control. FORTRAN I and II are available for mathematical program writing. The languages have some restrictions relative to 709/7090 FORTRAN II; see sections :161 and :162. With minor changes, 1620 FORTRAN source programs can be compiled and·executed on the IBM 7070, 704, and 709/7090 systems. IBM provides the GOTRAN interpretive system based on restricted FORTRAN language statements. The number of arithmetic operations allowable in single statement is one. The FORGO interpretive system, developed at the University of Wisconsin Engineering Computing Laboratory, is more useful than GOTRAN.' See sections :163 and :164 and the associated Operating Environment sections for descriptions of these two systems. IBM has announced the 1620 Model 2 system, available by the end of 1963. This system offers faster processing and has a modified IBM Selectric typewriter, thus providing on-line printing at approximately 15 characters per second; see Computer System Report 413. The 1620 Processor is used as the digital computer in the IBM 1710 Control System, used in process control and data collection applications. 1620 Model 2 is not available for the 1710 system. 12/62 412:021.100 .STANOARDEDP • REPORTS IBM 1620 Data Structure DATA STRUCTURE § 021. .1 •.2 Type of Information STORAGE LOCATIONS Name of Location Size Purpose or Use Digit position: 4 bits plus flag bit plus odd parity bit Row: 6 bits plus odd parity bit single column code 20 digits plus address 100' sectors 100 bands 10 bands 1 decimal digit; basic addressable location in core storage. cbaracter on punched tape. character on punched cards. smallest addressable location on disc. one band on disc. one surface of disc. the 10 bands addressa ble on Disk Storage Drive with no head movement required. Column: Sector: Band: Surface: Cylinder: INFORMATION FORMATS © Representation Numeral: • . . . . . 1 digit (num,eric mode storage). 2 digits (alphameric mode storage). 1 row (tape or card). Alphameric character: 2 digits (storage). 1 row (tape). 1 column (card). Instruction: 12 digits. Number: group of numerals delimited by flag bit in storage. Field: . data between starting location and flag bit in storage. Record: . . . . . . . . data between starting location and record mark in storage. PuncheL tape record: variable length group of characters. Card: • . . . . . . . . 80 characters on card. 80 digits in numeric mode in storage. 160 digits in alphameric mode in storage. 1962 by Auerbach Corporation and BNA Incorporated 12/62 ./ 412:031.100 • STANDARD EDP • IBM 1620 Modell REPORTS System Configuration SYSTEM CONFI GURATI ON § 031. .1 DESK SIZE SCIENTIFIC SYSTEM; CONFIGURATION IX Deviations from Standard Configuration: • • • • • .• Rental: • core storage larger by 8,000 decimal digits. paper tape input faster by 140 rows/sec. paper tape output faster by 5 rows/sec. $2,455 per month. Additional Core Storage, Model 1623-1 (20,000 digits). Core Storage. Processor', Console, and Input-Output Typewriter. Punched Tape Reader and Controller. Tape Punch and Controller. Optional Features Included: Automatic Divide Feature. Core Storage Adapter 2301. Paper Tape Reader Adapter. © 1962 by Auerbach Corporation and BNA Incorporated 12/62 412:031.200 § IBM 1620 MODEL 1 031. .2 PUNCHED TAPE/CARD SCIENTIFIC SYSTEM; CONFIGURATION X Deviations from Standard Configuration: no index register. Rental: $3,580 per month. Additional Core Storage, Model 1623-2 (40,000 digits). Core Storage. Processor, Console and Input-Output Typewriter. Card Read Punch and Controller. Optional Features Included: . . . . • • • • • • . • . Indirect Addressing Feature. Automatic Divide Feature. Floating Point Feature. Card Read Punch Adapter. Core Storage Adapter 2301. Core Storage Adapter 2302. 12/62 412:041.100 .STAliOAAO EDP • IBM 1620 Modell REPORTS Internal Storage Core Storage INTERNAL STORAGE: CORE STORAGE § 041. .16 .1 GENERAL . 11 Identity: . . . . . . . . basic core storage. part of 1620 Central Processor, ModelL Purpose Basic Use: . .13 Description Card Load area: working storage. Basic core storage is part of the Central Processor and has 20,000 storage locations. Each location stores one decimal digit and is individually addressable by a five-decimal-digit address code. In the computer numeric mode, one location stores one decimal digit; and in the alphameric mode, two digits are used to represent either an alphabetic character, special character, or decimal digit. One digit consists of four BCD numeric bits, one odd parity check bit, and one flag bit. Storage cycle time is 20 microseconds. One access to storage retrieves two digits, but only the addressed one is used. Core storage uses "wrap-around" addressing: address 00000 follows the highest-numbered address when incrementing addresses; the highest-numbered address (19999 for example) follows 00000 when decrementing addresses. The core store can be increased from 20, 000 to 40, 000 or 60, 000 positions by a separate storage unit, Model 1623-1 or 2. A 1623 Modell provides for the additional 20, 000 locations, and a 1623 Model 2 contains 40,000 additional storage locations. Core storage is used for all input-output areas, instructions, and working storage. Instructions require 12 digits of storage. Basic storage includes a 300-digit reserved area for arithmetic tables. No lock is provided to protect this area; it is used for storing the loader routines when a program is being loaded. Power may be turned on and off without loss of information in storage when following normal operating procedures. Operands (fields and records) may be any length desired. Numeric fields are delimited by a flag bit in the most significant digit position, while complete records are delimited by a record mark code. .14 Availability: . . 3 to 4 months. .15 First Delivery: basic storage with processor -- October, 1960. 1623 additional storage -June, 1961. © Number of Locks locations Add table: 100 Multiply table: 200 Product or dividend working area: 20** additional core storage. 1623 Models 1 and 2. • 12 Reserved Storage 80 no. * no.* no; may also be used as working storage. no; used with card reader Load key; may be used as working storage. * Used for loader routine before table is inserted. ** With Automatic Divide special feature. .2 PHYSICAL FORM . 21 Storage Medium: . .22 Physical Dimensions . magnetic core. .221 Magnetic core storage Array size:. . • . 100 by 100 by 12 bits. .23 Storage Phenomenon: direction of magnetization. .24 Recording Permanence .241 Data erasable by instructions: . . . 242 Data regenerated constantly: . . 243 Data volatile: .. .244 Data permanent: . . 245 Storage changeable: .28 no . no (with normal power on/Off. procedures). no . no. Access Techniques .281 Recording method: . .282 Reading method: . . . 283 Type of access: .. .29 yes • coincident current. same as recording . uniform • Potential Transfer Rates .292 Peak data rates Cycling rate: . Unit of data: . Conversion factor: Data rate: . . . . Compound data rate: . 1962 by Auerbach Carporation and BNA Incorporated 50,000 cycles/sec. 2 digits. 6 bits per digit. 100,000 digits/sec. 100,000 digits/sec. 12/62 IBM 1620 MODEL 1 412:041.300 § 041. .• 5 .3 DATA CAPACITY .31 Module and System Sizes Minimum Storage Identity: basic storage Characters: Instructions: Digits: Modules: . 32 10,000 1,666 20,000 1 Rules for Combining Modules: . . . . . . Maximum Storage basic storage + 1623-1 20,000 3,333 40,000 2 basic storage +1623-2. 30,000. 5,000. 60,000. 3. all combinations are listed above. ACCESS TIMING .51 Arrangement of Heads: · 52 Simultaneous Operations:. . . . . . none. .53 Access Time Parameters and Variations .531 For uniform access. Acce.,ss time: . Cycle time:. . For data unit of: CHANGEABLE STORAGE: .. . . . . none. .7 PERFORMANCE · 71 Data Transfer ,/ Pair of storage units pos.sibilities With self:. . • • . . . yes. Transfer Load Size With self: GONTROLLER .41 Identity: .42 .422 Off-line: . 43 .73 none for basic storage. 2301 Core Storage Adapter for 1623 Model 1. .8 2301 and 2302 Core Storage Adapters for 1623 Model 2. With self: Connection to Device . 431 Devices per controller: 1. .432 Restrictions: . none. 12/62 25, 000 digits/ sec. ERRORS, CHECKS AND ACTION 1 adapter of each type. Model 2301 must be present in order to use Model 2302 Adapter and 1623 Model 2 Storage. none. . up to size of core storage. Effective Transfer Rate Connection to System . 421 On-line: 20 j.I sec. 20/.1 sec. 1 digit. .6 · 72 .4 1 access device. . Error Check or Interlock Invalid address: parity and limit check Invalid code: Receipt of data: parity only. parity check Recording of data: Recovery of data: records parity bit. parity check Dispatch of data: Timing conflicts: Reference to locked area: transmits parity bit. no conflicts• I AUERBACH / .@ none. Action indicator aiarm, halt• I indicator, alarm; system halt optional. indicator, alarm; system halt optional• 412:042.100 • II STANDARD EDP IBM 1620 R[PDRTS Internal Storage Drive Disk Storage Drive INTERNAL STORAGE: 1311 DISK STORAGE DRIVE § 042. .1 GENERAL . 11 Identity: .12 Basic Use: .13 Description .13 . . . • • . . Disk Storage Drive. 1311 Models 3 and 2. auxiliary storage. The 1311 Disk Storage Drive is a new development in low cost random access storage. It is available for the IBM 1401 and the new IBM 1440 Data Processing Systems, as well as the 1620, and features rapid interchangeability of the "disk pack" storage cartridges. The system is suitable for either random or sequential processing methods. Each disk pack consists of six discs on a common vertical axis. Data can be recorded on ten disc surfaces; the top and bottom surfaces of the pack are not used. Each recording surface is divided into 100 concentric bands, each band is divided into 20 sectors, and each sector holds a 5-digit address and 100 numeric BCD-coded digits (six bits plus a parity bit). Thus the data capacity is 2, 000 digits per band, 200, 000 digits per surface, and 2, 000, 000 digits per pack. Up to four Disk Storage Drives can be connected to a 1620 system, so that the maximum on-line data capacity is 8, 000, 000 digits. The disc is accessed by means of a comb-like mechanism containing five arms that move horizontally between the discs. Each arm has one readwrite head mounted on the top and one on the bottom, and each head serves one disc surface. The entire access mechanism moves as one unit, so all ten read-write heads are always positioned at corresponding bands on their respective surfaces. The term "cylinder" is applied to the ten bands (one on each disc surface) that can be read or recorded with no movement of the access mechanism. There are 100 cylinders per Disk Storage Drive, and each cylinder can hold 20, 000 digits. Time for access mechanism movement ranges from zero (for successive references to a previously selected cylinder) to 400 milliseconds; average random access time is 250 milliseconds. The access arms cannot move directly from one cylinder to another; instead, the arms retract all the way to the "home" position (beyond track 00) and then move back to the selected cylinder. The result is that movements between adjacent cylinders require from 85 milliseconds (track 00 to 01) to 390 milliseconds (track 98 to 99). Maximum delay due to rotation is 40 milliseconds. There is also a head select delay of 2 milliseconds. Total reference cycle time to read a randomly-placed lOa-digit record, update it, rewrite it, and execute a programmed write check is © Description (Cont'd) 354 milliseconds. If no access motion is required, the total reference cycle time is reduced to 104 milliseconds. Peak data transfer rate is 50, 000 digits per second, and the effective bulk transfer rate when reading a cylinder from the disc file is 30, 000 digits per second. The bulk transfer rate, when recording from storage and checking by re-read, is approximately 18, 000 digits per second in a full cylinder operation, and approximately 5, 100 digits per second when recording one band of data. Moving data from the disc file to core storage and to another disc file location, with re-read checking, is done at 11,200 digits per second using a full cylinder of data (20, 000 digits). The standard processor instruction format is used for referencing a fourteen-digit Disk Control Field in core storage. The Disk Control Field contains the sector address, count of sectors to be transferred, storage address, and a drive number digit. A single read or write instruction can transfer from 1 to 200 consecutive sectors of information; i. e., from 100 digits to 20, 000 digits in multiples of 100 digits. The number of sectors is designated by the programmer. An additional instruction automatically reads or records the 20 sectors in one band, including the 20 addresses (Read or Write Disk Track instruction set). Thus no additional data may be stored using this instruction. An additional set of instructions allows transfer operations to be performed with a check on record length by means of the group mark delimiter. In 1620 and 1710 systems, each sector of data may be interlocked against recording. This is accomplished by a flag bit present in the sector address preceding the sector to be protected. This protection system is practical insofar as a missing flag bit should be detected by the parity checking circuits. There is no positive method of protecting a complete disk pack file from being over-written. Checks are made for parity errors and unequal address comparisons. The "write disc check" instruction causes a character-by-character comparison of data just written on the disc with the data in core storage. It usually follows each write operation. All disc errors cause the setting of testable indicators. These indicators are: Address Check, Wrong Length Check, Cylinder Overflow, and Any File. Lamps associated with these indicators are on the 1620 Processor console. The usual Processor error lamps and indicators are also used. A File Check switch is on the 1620 console; when set to STOP, disk file and input-output errors cause an immediate halt of the 1620, as well as the normal halt of the disc file operation. 1962 by Auerbach Corporation and BNA Incorporated 12/62 IBM 1620 412:042.130 § 042. .13 Description (Cont'd) Disk Storage Drive seek time can be fully overlapped with internal processing on all four drives. A "Branch If Access Mechanism Busy" instruction is not provided for the 1620, although it is available on the 1710 Control System. No processing is possible during disc read or write operations. The removable disk packs are 14 inches in diameter, 4 inches high, and weigh less than 10 pounds, including covers. A disk pack can be removed from a Disk Storage Drive and replaced by another disk pack in one minute. When a disk pack is not mounted on a drive, the pack and its cover combine to form a sealed container that can be conveniently stored and transported. One disk pack is supplied with each 1311 Disk Storage Drive. Additional disk packs cost $490 each, f.o.b. SanJose. .. .14 Availability: .15 First Delivery: ? .16 Reserved Storage: . none. Note that each 100digit sector is preceded by a S-digit address, but these address digits are not counted as storage. .2 PHYSICAL FORM • 21 Storage Medium: . .22 Physical Dimensions ? .281 Recording method:. • . by one of the magnetiC heads on access arms which move horizontally in unison. · 283 Type of access Description of stage Possible starting stage , Wait for selected sector for reading or recording: • . . if same band was previously selected. Move heads to home position and then to selected band: . mandatory to access new band. .29 · 291 Peak bit rates Cycling rates: Bit rate per track: • 292 Peak data rates Unit of data: . Conversion factor: • Gain factor: Data rate: . .3 DATA CAPACITY .31 Module and System Sizes Identity: 14 inches O. D. thin. • 23 Storage Phenomenon: magnetization. · 24 Recording Permanence Discs: Instructions: Digits: Modules: 6. .32 . 243 Data volatile: . . . · 244 Data permanent: . . · 245 Storage changeable: . 25 digit. 7 bits per digit (6 plus parity). 1 track/band. 52,500 digits/sec, counting address digits as above. Maximum Storage 0 0 0 0 1311 Model 3 1311 Model 2 6 167,000 2,000.000 1 6 167,000 2,000,000 1 Rules for Combining Modules: • . . . . . yes. no. 1,500 rpm. 367,500 bits/ sec/track, counting the additional S-digit address normally used with each sector • Minimum Storage multiple magnetic disks . . 222 Disc Diameter: Thickness: Number on shaft: . • 241 Data erasable by instructions: •. • 242 Data regenerated constantly: . . . Potential Transfer Rates .4 CONTROLLER .41 Identity: .42 Connection to System no. no. yes. 1-1311 Model 3 and 3-1311 Model 2 • 24. 668,000. 8,000,000. 4. first module must be Model 3. next three modules must each be Model 2. part of 1311 Model 3 . Adapter required as follows: 3339 for 1620 Model 1. 3340 for 1620 Model 2 . Data Volume per Band of I Track Characters: . Digits: • . . . Instructions: . Sectors: . Cylinder:. . ~ 1,000. 2,000. 166. 20. 0.1. ,.421 On-line: .422 Off-line: • 43 1-1311 Model 3. none. Connection to Device .26 Bands per Physical Unit: 100 per disc surface. .431 Devices per controller: 4 modules counting Model .27 Interleaving Levels: • .28 Access Techniques .432 Restrictions:. . . . . . 1 Model 3 and 1 to 3 Model 2; no other restrictions. Operation is not buffered. 3. 12/62 1. 412:042.440 INTERNAL STORAGE: 1311 DISK STORAGE DRIVE § 042. .44 .53 Data Transfer Control .441 Size of load Variable length: Fixed length: . .442 Input-output area: .443 Input-output area access: . .444 Input-output area lockout: . • 445 Synchronization: . .447 Table control: . 448 Testable conditions: . .5 ACCESS TIMING . 51 Arrangement of Heads . 511 Number of stacks Stacks per system:. Stacks per module:. Stacks per yoke: • • Yokes per module: • • 512 Stack movement: ••. . 513 Stacks that can access any particular location: • • . . • . .514; Accessible locations By single stack With no movement: . With all movement: • By all stacks With no movement: . .532 For variable access Example Wait for selected sector for reading or recording: 0 to 40 m. sec Move heads to home position and then to selected band: 85 to 390 m. sec yes. automatic. none. Seek Complete on 1710 Control System, as optional feature. .6 CHANGEABLE STORAGE .61 Cartridges 20 m. sec. 250 m. sec. 2,000,000 digits (6 discs). .611 Cartridge capacity: .612 Cartridges per module: 1. yes . • 613 Interchangeable: . . • .62 40 max. 10. 10. 1. horizontal • 1. 20 sectors. 2,000 sectors. Loading Convenience .621 Possible loading While computing system in use: While storage system in use: ..... . 622 Method of loading: • •. 623 Approximate change time: • • • . • 624 Bulk loading: • • . • . yes. yes, if particular module not addressed • operator • one minute. yes; 1 cartridge. 200 sectors per module. 200 to 800 sectors per system • .7 AUXILIARY STORAGE PERFORMANCE • 71 Data Transfer Pair of storage units possibilities seeking a specified sector. reading. recording. = at most 1 per module. a + b + c = at most N) for a disc storage =0 Time digit. a +b+c be Stage 1 to 200 sectors of 100 digits per sector; number of sectors set by programmer. 20 sectors of 100 digits per sector (one band). core storage; demand on processor is 100%. • 515 Relationship between stacks and locations:. three most significant digits of Sector Address denote head and band (cylinder) number. .52 Simultaneous Operations A: B: C: Access Time Parameters and Variations system of 1 to N modules, where N is at most 4. (*) With self: . . . . . . With core storage: . . 72 Transfer Load Size With core storage: . With core storage:. . . (*) claimed by the manufacturer. © yes, by programming. yes. 1962 by Auerbach Carporation and BNA Incorporated 1 to 200 sectors; number of sectors selected by programmer. 1 block of 20 sectors (one band). 12/62 IBM 1620 412:042.730 § 042 • • 73 Effective Transfer Rate: see table of effective rates. EFFECTNE TRANSFER RATE, DIGITS PER SECOND Including access movement .8 OPERATION 1 band of 2, 000 digits lor more cylinders of 20, 000 digits each 1 band of 2, 000 digits Reading to core storage 6,440 30,000 33,333 47,700 Recording from core storage without check read 6,440 30,000 33,333 47,700 Recording from core storage with check read 5,130 18,000 14,300 23,300 Reading to core storage and recording without check read 3,220 15,000 16,667 23,850 Reading to core storage and recording with check read 2,850 11,200 10,000 15,000 ERRORS, CHECKS AND ACTION Error Invalid address: Invalid code: Receipt of data: Recording of data: Recovery of data: Dispatch of data: Timing conflicts: Physical record missing: Reference to locked area: Attempt to read or record a sector beyond end of cylinder: 12/62 No access movement Check or Interlock Action check on nonexistent drive unit check on matching sector address alarm, indicator, optional halt. alarm, indicator, optional halt. ? parity check at 1620 alarm, indicator, optional halt. alarm, indicator, optional halt. parity check in 1620 and optional use of instluction to read rec0rd back and compare to core storage alarm, indicator, parity check in 1620 optional halt. parity bit included. wait. interlock optional check on record length ala~m t check on optional lock flag bit in sector addre.. alarm, indicator, optional halt. check alarm, indicator, optional halt. indicator. optional halt. 1 cylinder of 20, 000 digits 412:051.100 .STAIIDIRD EDP • IBM 1620 Modell Centro I Processor REPORTS CENTRAL PROCESSOR § 051. .12 .1 GENERAL • 11 Identity: . . . . . . . . Computer. 1620 Model 1. .12 Description The 1620 Computer is a two-address sequential processor oriented toward scientific applications. Operands are held as variable-length fields of decimal digits, delimited by a flag bit in the six- bit code of the most significant digit of the field. Data may also be stored in alphameric fields, two digits per character. Instructions are twelve digits long and are performed sequentially. The instruction format is two digits for the operation code, five digits for the P operand address, and five digits for. the Q operand address. Data operations are performed serially by digit upon the operands, which may be any length. The Central Pl;'ocessor cabinet includes the Console, desk work area with Console I/O Typewriter, 20,000 digits of core storage, and space for adapters used with the input-output devices. Internal records are defined by the presence of a record mark code digit. Records, as well as fields, may be moved within core storage. A numeric field is addressed at the least significarit digit of the field, and a record is addressed at the high order end of the field. The record mark terminates a write operation on punched tape. Record marks are generated in storage by the following: end of record on punched tape; Record Mark key on Console I/O Typewriter; record mark as data on cards or punched tape. Although the core storage cycle is 20 microseconds, instruction times are a good deal longer because of serial operation. Add-Subtract-Compare operations require 560 microseconds for five-digit operands, while data movement is performed almost twice as fast as this. Add, Subtract, and Multiply are standard instructions in the Central Processor. Divide is performed by subroutine. Optional features are provided at extra cost and are listed below. A complete set of conditional branch instructions is standard, and allows branching on presence or absence of the condition specified. Four sense switches are available for interrogation. The Branch and Transmit instruction provides a jump to the P-address, and also transmits the field specified by the Q-address to the storage area immediately pre,ceding the P field. This field may contain parameters needed by the subroutine starting at P. © Description (Cont'd) The arithmetic, comparison, and data movement instructions have counterparts for handling litera~s. For example there is Add, and Add Immediate. The Add instruction adds the operand addressed by the Q-address to the operand addressed by the P-address, while the Add Immediate instruction treats the Q-address field of the instruction as a number (a literal) and adds this number to the operand addressed by the P-address. The Add Immediate instruction is helpful in address modification, since there is no index address modification in the 1620. The normal Add instruction could be used, however, to add a constant to an address since the operating times of the Immediate instructions are no faster than the operating times of the normal instructions. No editing instruction exists, but the typewriter can be commanded to space, tabulate, or perform a carriage return. Normally, carriage return occurs automatically at the end of each line. Comparisons are performed digit- by-digit, whether the field is numeric or alphameric. Arithmetic (add, subtract, and multiply) is performed using data stored in the table area of storage (locations 00100 through 00399). The operand dIgits are used to address the results present in the tables. The add-subtract table contains 100 locations. Optional Features Automatic Divide Special Feature: Replaces fixed point division subroutines. The feature includes a Load Dividend instruction for moving and pOSitioning the dividend, and a Divide instruction for performing the division operation. Indirect Addressing Special Feature: Provides facility for a Q-address to be interpreted as an address location rather than an operand location. It applies to most instructions, and is recursive. Additional Instructions Special Feature: Three instructions are provided as a package. They are Move Flag: Moves the presence or absence of a sign, field definition, or indirect address flag from one storage location to another, and clears the flag, if present, from the former location. Transfer Numeric Strip: Compresses numeric data field which is in two-digit alphameric coding form to single digit numeric form. Transfer Numeric Fill: Expands single-digit numeric data field to two-digit alphameric form. 1962 by Auerbach Corporation and BNA Incorporated 12/62 412:051.120 § IBM 1620 MODEL 1 051. · 12 · 232 Instruction layout: Description (Contd. ) Automatic Floating Point Operations SpeciaJ.. Feature' Provides a"full set of floating point arithmetic, shift, and movement instructions. Operand sizes may be fixed at eight digits or variable from 2 to 100 digits for the fixed-point part. The exponent part has a maximum value of ± 99. • 13 . 14 .2 .21 .211 .212 .213 .214 · 215 · 216 · 217 . 218 · 22 .221 .222 · 223 · 23 .231 Part Size (digits) • 233 Instruction parts Name Operation: Q-Address 5 Purpose specifies operation to be performed. P-Address: 1. operand address in core storage; 2. address of result of adAvailability: . . presently available . dition or subtraction; 3. jump address; First Delivery: October. 1960 . 4. address for transfer; or 5. input-output starting PROCESSING FACILITIES address. Q-Address: . . . . . 1. operand address; Operations and Operands 2. operand literal; 3. starting address for Operation and Provision Radix Size transfer; Variation 4. address of testable indicators; Fixed point automatic decimal 2 to N digits, 5.· typewriter control funcAdd -subtract: limited by core tion; or storage. 6. select input-output Multip)y device. Shott: none" .234 Basic address structure: 2-address. 2 to N digits. automatic decimal Long: .235 Literals Divide Arithmetic: . . . . any; 5 digits practically. No remainder: none. Comparisons and decimal Remainder: subroutine 2 to 45 digits. tests: . . . . any; 5 digits practically. optional feature decimal 2 to 100 digits. Incrementing Floating point modifiers: • no modifiers (no indexing); decimal Add -subtract: 2 to 45 digits. subroutine however literals in arith2 to 100 digits. optional feature decimal metic instructions are Multiply: decimal 2 to 45 digits. subroutine useful for incrementing 2 to 100 digits. optional feature decimal decimal 2 to 45 digits. Divide: subrout~ne addresses. , optional feature decimal 2 to lOO digits. · 236 Directly addressed operands decimal Shift: 2 to 45 digils. subroutine .2361 Internal storage type: core storage. optional feature decimal 2 to 100 digits. Minimum size: . . . 2 digits. none. Boolean: Maximum size: . . . complete store. Comparison Volume accessible:. complete store. Numbers: automatic 2 to N digits. · 2362 Increased address Absolute: none. capacity: • . . none. automatic Letters: 1 to N char. none; literals in arithmetic .237 Address indexing: . Mixed: automatic 1 to N char. instructions are useful Collating sequence: special symbols, A to I, 0, J to Z, 0 to 9. for incrementing addresses. Code translation: none. · 238 Indirect addressing Radix conversion: none. : 2381 Recursive: . yes. alter size by Set Flag Edit format: . ..2382 Designation: flag bit in least significant command. digit of address • . Table look-up: none . absolute address has no · 2383 Control:. . . flag bit. Special Cases of Operands · 2384 Indexing with indirect addressing: not possible (no indexing). Negative numbers: • flag bit over least signifinone. cant digit of decimal field. i. 239 Stepping:. ~ . . . Ze:r;o:. both + and - zero. Signs are ignored when compar- .24 Special Processor . Stor~: . . . . . . . none. ing 2 all-zero fields. Operand size .3 SEQUENCE CONTROL FEATURES determination: flag bit over most significant digit of decimal .31 Instruction Sequencing field. .311 Number of sequence Instruction Formats control facilities: . 1. .314 Special sub-sequence Instruction structure:. 12 digits. none. counters: . . . . . • 12/62 ' CENTRAL PROCESSOR § 412:051.315 051. . 315 Sequence control step size: • . . . . • 316 Accessibility to routines: . . . 1 instruction (12 digits). by BT instruction; can store next address in sequence; address used by BB instruction . • 31'7 Permanent or optional modifier: • • none. . 32 Look-Ahead:. none. .33 Interruption:. none. . 34 Multi -running: none. ,35 Multi -sequencing: none. .4 PROCCESSOR SPEEDS ,41 Instruction Times in p, secs .415 . 416 .417 .418 Counter control: • Edit: •. Convert: Shift: . . .42 Processor Performance in p, secs .421 For random addresses Fixed point c = a + b: . . • •. b = a + b: . . . . . Sum N items; per item: c = ab: . . . . . . c = alb U sing macro for subroutine: . , . no no no no counters • edit instruction. convert instruction. shift instruction. 320 + 1200. 160 + 800 . 160+ 800. no + 800 + 168D2. 9,000 + 3.2(980 + 8200 + 52002 ). Using Automatic Divide special feature: • 720 + 8600 + 5200 2 • . 411 Fixed point Add-subtract: 160 + 80D. 560 + 40D + 168D2. Multiply: . • . Divide By subroutine called by DlV macro: . . 3.2(980 + 820D + 520D2). By Automatic Divide (special feature):. 160 + 740D + 520D2. .412 Floating point Using Automatic Floating Point Operations special feature (Automatic Divide special feature required) Add-subtract (FADD, FSUB): . . . . • . 400 + 100D. Multiply (FMUL):. 1,120 + 80D + 168D2. Divide ,(FDIV): •• 880 + 9400 + '5200 2 . Using subroutines called by macros Add- subtract (FA, FS) Fixed length mantissa (8 digits): . . 9,800. Variable-length mantissa: • . . 6,854 + 4820 + 50 2 . Multiply (FM) Fixed length mantissa (8 digits): . . 18,000. Variable length mantissa: . . . 7,400 + 2400 + 16802 . Divide (FO) Fixed length mantissa (8 digits) With Automatic Divide: . . . 55,000. Without Automatic Divide: 70,000. Variable length mantissa With Automatic Divide: • . . . 7,890 + 1,5000 + 5200 2 . Without Automatic Divide:. 1.9(7,890+ 1,5000 + 52002 ). .413 Additional allowance for 80. Indirect addressing: 800 (fixed or floating Re-complementing: point). .414 Control Compare: • 160+ 800. Branch: •. 200. © 1963 Floating point subroutines called by macros; 8 decimal digits c = a + b: • • . . • 28,520. b = a + b: • . . • • 18,800. Sum N items; per 18,800. item: c = ab: . . . . . . 36,700. c = alb With Automatic Divide special feature: . 73,700. Subroutine only:. . 88, 700. Floating point using Automatic Floating Point Operations special feature; Automatic Oivide special feature required; 8 decimal digits c = a + b: • . • •. 1, 760. b = a + b: . . . •• 1, 200. Sum N items; per 1,200. item: • c = ab: . . . . • 13,100. 41,700. c = alb: . . . . . .422 For arrays of data Fixed point 2, 520 + 120D. ci = ai + b j : . . . 1,560+ 800. b j = ai + b j : . . . Sum N items; per 1,400+ 800. item: . • . 2,280 + 800 + 168D2. c = c + aibj:' Floating point subroutines called by macros; 8 decimal digits 30,700. ci = ai + b j : . . • • 20,400. b j = ai + b j : . . . • Sum N items; per 20,000. item: •.• 47,400. c = c + aibj:' . . • Floating point using Automatic Floating Point Operations special feature; Automatic Divide special feature required; 8 decimal digits ci = ai + b j : . . .• 3,960. bj = ai + bj : . . . , 2, 760. Sum N items; per 2,440. item: •.• 15,800. c = c + aibj: . by Auerbach Corporation and BNA Incorporated 3/63 412:051.423 § 051. .423 Branch based on comparison Numeric data: • 2, 060 + BOD; D = no. digits in key. Alphabetic data: 2, 060 + 16OC; C = no. alpha char in key. . 424 Switching Unchecked: 960. Checked: • 1,980. List search No indirect addressing: I, 960N + I, 120. Using Indirect Addressing feature: I, 960N + 840. .425 Format control per character Unpack Scientific:. . • • . . 0; usable in input area. Compose Scientific Fixed point: . . . . 60; for moving data. Floating pOint: . . 70; for moving data. . 426 Table look up per comparison For a match: . . . •. 1,960. For least or greatest: 2,680. For interpolation point: • . . . . • I, 960. .427 Bit indicators Set bit in separate location: . • . . 200. Test bit in separate location: 240 . • 428 Moving: • . . . . . . 160 + 40D. 3/63 IBM 1620 MODEL 1 .5 ERRORS, CHECKS, AND ACTION Error Check or Interlock Overflow: check indicator, alarm; halt or programmed action• Exponent underflow and overflo w: check indicator. alarm; halt or programmed action. Zero divisor: Invalid data: overflow check. parity c hec k Invalid operation: Arithmetic error: Invalid address: check none. parity check Receipt of data: parity check Dispatch of data: parity check Action alarm. indicator; halt or programmed action. halt. alarm. indicator. alarm. indicator; halt or programmed action, alarm, indicator; halt or programmed action• alarm, indicator; halt or programmed action. Incorrect operand overflow check. length: Mispositioned divisor: overflow check. 412:061.100 IBM 1620 Console CONSOLE § 061. .1 . 24 GENERAL Name · 11 Identity:........ Console; built into 1620 Processor. · 12 Associated Units: . . . Console I/O Typewriter stands upon console desk. · 13 Description Stop/Single Instruction Execute (SIE): Instant Stop/Single Cycle Execute (SCE): . 25 The Console is built into the 1620 Processor. The Console consists of a work area, a two-panel control and lamp are.a, and a typewriter. The typewriter is described in Section :081, and is located on the right side of the Console. The Console panels contain: operating switches, sense switches, and keys; error lamps; operation, address, and storage register lamps; and a number of lamps used primarily for diagnostic testing by mM Customer Engineers. The diagnostic indicators include a lamp to indicate that the last card has been read by the card reader. Four sense switches are provided, and also three toggle switches which are used with the Parity, Input-Output, and arithmetic error lamps to select whether to stop or continue under program control in case of errors. All digitindicating lamps are in 6-bit binary-coded form. Although the Console does not contain a Load switch, the Card Reader unit of the Card Read Punch has a Load key which causes the contents of one card to be transferred to a specific area of core storage to initiate program operation. .2 CONTROLS .21 Power Name Form \. Connections:...... none. .23 Stops and Restarts Form Function Start: momentary switch momentary switch sets automatic mode and starts processing. terminates I/O operation and sets manual mode. momentary switch stops computer after execut,ion of present instruction. momentary switch stops computer. at end of present machine cycle. Stop/Single Instruction Execute (SIE): Instant Stop/Single Cycle Execute (SCE): causes one instruction to be executed at a time. momentary s witch computer executes one machine cycle • Name Form Function Reset: momentary switch resets indicators, alarms, registers. .26 Loading Name Form Function Insert: momentary switch, steady lamp momentary switch sets automatic mode and activates keyboard for data entry. terminates keyboard entry and turns off Insert lamp. momentary switch initiates transfer of 1 card (80 char) to core storage, and starts processing. Release: Load key (on Card Read unit): .27 Sense Switches Name Form Function Program Switches: 4 two-posi - provides 4 branch contrel indicators. tion switches Special Name Form Function Save: momentary indicating switch lamp re mains on: next address in sequence is stored in special register: used in Console operating procedures. turns off all power. Name Release: momentary switch Resets 2 pos. switch. • 22 Function momentary resets indicators, alarms. switch Note: Depressing Reset and Check Reset keys together in model 2 also resets core storage ta zeros. Function pull switch Form Check Reset (model 2 only): .28 Power On/Off: Emergency Off Switch: \ Stepping © .3 DISPLAY .31 Alarms Name Form Function Parity: lamps I/O: lamps OFLOW: lamp Check Stop: Reader No Feed: Punch N'o Feed: Thermal: lamp lamp lamp lamp Parity error in memory registers and memory address registers. parity error in input-output transfer. overflow due to +, -, +, compare. machine or I/O parity failure. reader not ready. punch not ready. temperature of any component in system too ~l;\!,. 1962 by Auerbach Corporation and BNA Incorporated 12/62 IBM 1620 412:061.320 § 061. .32 Conditions Automatic and Manual indicate computer mode. lamps: Save lamp: . . . . . . indicates an address is being stored. Comparison indicator lamps: indicate results of comparisons. Power On lamp_ • lit when power is on. lit when system is ready Power Ready lamp:. for operation. on when internal temperaThermal lamp: •.• ture of system component is too high. .34 ENTRY OF DATA .41 Into Control Registers: .42 Into Storage: . . . . . . done by inserting, via typewriter, a read instruction to storage area desired, then either typing or starting paper tape reader. .5 CONVENIENCES . 51 Communication: none . .52 Clock: . . . none. indirectly by manually entered instructions. Comment Name . 33 .4 Control Registers Name Form Function . 53 Desk Space: Operation Register: Multiplier: Sense and Branch: Memory Address Register: Memory Address Register Display Selector: lamps lamps lamps operation code; 2 digits. multiplier digit. sense and branch order. approx. 15 by 40 inches, 30 inches from floor. .54 View: . lamps 1 of a addresse., 5 digits. designed for operation by operator seated at console desk; unobstructed view in all directions. a-position switch selects Address Register for display. .6 INPUT-OUTPUT UNIT: Form Function. lamps 2 digits",f storage. lamp storage digit addressed. Console I/O typewriter operates at 10 chari sec for output in model 1 and at 15 char/sec in model 2; and manual speeds for input. It is described fully in Section :081. Storage Name Memory Buffer Register: Memory Data Register: 412:071.100 IBM 1620 Input-Output 1621 Paper Tape Reader INPUT-OUTPUT: PAPER TAPE READER § 071. .1 GENERAL .n Identity: .12 Description .23 Multiple Copies: . . . . none. · 24 Arrangement of Heads Paper Tape Reader. 1621. The Model 1621 Paper Tape Reader reads eighttrack chad paper tape in the forward direction at 150 rows per second, using a photoelectronic sensing head. Each row includes an odd row parity check bit which is checked while reading takes place. One track is reserved for an end-of-line character punch (EL code), which terminates the read operation. The reader is capable of reading chadJ.ess \ape, but chad tape is normally used. Tape threading is not convenient. A read command specifies data to be entered numerically or alphamerically. In the 'numeric mode, the digits read are placed in successive core storage locations. A row containing a flag pit retains it when stored. In the alphameric mbde, each row read is automatically inserted into two successive storage locations in the normal internal two-digit alphameric code. In either mode, sensing a record mark code on tape causes a record mark code to be placed in storage, and the tape contip.ues moving until the EL code is sensed. This also causes a recqrd mark code to be inserted into storage. If ,a parity error is found, tape continues moving but an indicator is set. Depending on the setting of a console switch, the system either stops after ~e EL code is sensed, or continues to the next instruction. The next instruction can be an indicator testing command. A numerical read command will accept alphameric data from the tape, but incorrect (garbled) characters are sent to core storage. Each core location will have correct parity, however. Use of station: . Stacks: . . . . . Heads/ stack:. . Method of use: . .3 EXTERNAL STORAGE .31 Form of Storage .311 Medium: . • . .312 Phenomenon: . . . .32 .321 Serial by: . 322 Parallel by: · 324 Track use Data: . . . . . . Redundancy check: Timing: . . . . . . Control signals: Unused: . Total: • . 325 Row use Data: . Redundancy check: . Timing: . . . . . Control signals: Unused: . 1 (end-of-line). O. 8 plus sprocket . all except 1 per block. O. O. 1 (end-of-line). O. . 34 Format Compatibility:. all devices using standard I-inch paper tape. · 35 Physical Dimensions .351 Overall width: · 352 Length:. . • . October, 1960 . .2 PHYSICAL FORM .4 CONTROLLER · 21 Drive Mechanism .41 Identity: .42 Connection to System ... sprocket drive. .421 On-line: © O. as in Data Code Table No. 5. First Delivery: . 222 Sensing system: . . . . photoelectronic. 6. 1. Coding: . . 14 Sensing and Recording Systems opaque paper tape. full or partially punched holes. · 33 3 to 4 months. · 22 1 row at a time. 1 to N rows at 10 rows/inch • 8 tracks at standard spacing. Availability: .• 2. swinging arm. each approx. 16 inches . ? ? 8. Positional Arrangement .13 · 211 Drive past the head: . · 212 Reservoirs Number: Form: . . Capacity: . . 213 Feed drive: .214 Take-up drive: . sensing. 1. .422 Off-line: 1962 by Auerbach Corporation and BNA Incorporated 1 inch. 1,000 feet max. Model 5514 Paper Tape Reader Adapter, in 1620 model 1 Computer. Model 5515 Paper Tape Reader Adapter, in 1620 model 2 Computer. 1, used for paper tape reader and punch . none. 12/62 412:071.430 § IBM 1620 071. . 43 Connection to Device .431 Devices per controller: 1 paper tape reader and 1 paper tape punch . • 432 Restrictions: . . . . . . only 1 device (reader or punch) may be operated at a time.' .44 Read alphamerically: .442 Input- output areas: .443 Input-output area access: . . 444 Input-output area lockout: . . .445 Table control: • . • 446 Synchronization: . · .. · .. .. 5 PERFORMANCE .61 Conditions II: .62 Speeds • 621 Nominal or peak speed: 150 rows/sec . .622 Important parameters Tape speed: 15 inches/sec. 1 row/block (end-of-line .623 Overhead: char). . 624 Effective speeds: 150N/(N+l) row/sec . N = no. char/block. 1 to N char; N limited by core storage. 1 to N char; each char requiring 2 core storage positions. core storage. .63 yes. no . automatic • Demands on S:t:stem . .. . ... EXTERNAL FACILITIES · 71 Adjustments:...... none. • 72 Other Controls PROGRAM FACILITIES AVAILABLE 1 to N char; N limited by core storage. .512 Block demarcation Input: . . . · ... end-of-line char (EL). .52 Input-Output Operations • 521 . 522 • 523 . 524 • 525 • 526 Input: . . . Output: . . Stepping: . Skipping: . Marking: . Searching: input 1 block forward . none . none . none . none . none. . 53 Code Translation: automatic. .54 Format Control Control: • . . . Format alternatives: Rearrangement: Insert spaces: Section sizes: . Select code: Rewind: Unload: . . . 12/62 program. 2 (numeric or alphameric). no. no. no. Control Operations Disable: . . . • . . Request interrupt: Select format: .56 Form Comment Blocks .511 Size of block: . 55 100 . .7. Function .51 processor. I, .II. IOOON/150. Component: Condition: m. sec per block: or Percentage: ... each character. .' read numerically. read alphamerically. I : .... Data Transfer Control .441 Size of load Read numerically: .6 no. no. yes (numeric or alphameric). no. no. no. Testable Conditions:. . none. · 73 Select Reel or Strip: toggle switch Reel power: 2-pos. button Loading and Unloading .731 Volumes handled Storage Reel: . . . . . Center roll feed: Strip: . . . • . . • 732 Replenishment time: . .733 Adjustment time: . .734 Optimum reloading period: . • • . . . .8 supply reel locked out when reading strips. energizes reels after tape is loadec.i; puts reader in ready status • Capacity 1,000 feet. 1,000 feet . ? 1 to 2 mins. no adjustments. 13.3 mins. ERRORS, CHECKS AND ACTION Error Check or Interlock Reading: parity check Input area overflow: Invalid code: none. parity check as above. interlock parity check. interlock wait. interlock alarm set. Exhausted medium: Imperfect medium: Timing conflicts Reader not in ready status: Action set indicator and alarm. Computer may stop, de· pending on console sWitch settings. alarm set. 412:072.100 IBM 1620 Input-Output 1624 Tape Punch INPUT-OUTPUT: PAPER TAPE PUNCH § 072. .3 EXTERNAL STORAGE .31 Form of Storage .1 GENERAL . 11 Identity: · 12 Description . 32 The Model 1624 Tape Punch punches eight-track chad paper tape in the forward direction at 15 rows per second. Each row contains a six-bit character and an odd parity check bit; the eighth track is reserved for the end-of-line (EL) code which signifies the end of the variable-length tape block. .321 ,Serial by: .322 Parallel by: Tape Punch • 1624. Numeric or alphameric data may be punched, depending upon the output command. A numeric command causes the contents of sequential positions of core storage to be punched. An alphameric command causes sequential pairs of core storage positions to be decoded into single alphameric characters. The operation proceeds until a record mark code is reached in storage; an EL code is then punched and the operation terminates. .. .311 Medium: . .312 Phenomenon: . . . opaque paper tape • fully-punched (chad) holes . PositlOna! Arrangement row at 10 rows/inch. 8 tracks at standard spacing. .324 Track use Data: . Redundancy check: . Timing: . . . . . Control signals: Unused: . Total: . .325 Row use Data: • Redundancy check: . Timing: . . . • . Control signals: Unused: • ...... 6. 1. O. 1 (end-of-line). O. 8 plus sprocket. all except 1 per block. O. O. 1 (end-of-line). O. The tape punch unit is housed below the paper tape reader in the same cabinet. ' .33 Coding: .• The sensing of a parity error in the machine code being decoded stops the computer. .34 Format Compatibili!,y: . all devices using standard I-inch paper tape. Phxsical Dimensions as in Data Code Table No. 5. · 13 Availability:.. 3 to 4 months. .35 · 14 First Delivery: October, 1960. .351 Overall width: .352 Length: .• ·2 PHYSICAL FORM • 21 Drive Mechanism . 211 .212 • 213 . 214 Drive past the head: . Reservoirs: •. Feed drive: • . Take-up drive: • • 22 Sensing and Recording Systems .. •4 CONTROLLER .41 Identity: .42 Connection to S},:stem .... sprocket drive. none. none . clutch. .421 On-line: . 221 Recording system: • .222 Sensing system: die punch. none. .422 Off-line: • 23 Multiple Copies: . none. .43 .24 Arrangement of Heads Use of station: • Stacks: • . Heads/ stack: . Method of use: . punching. 1. 8. 1 row at a time. © 1 inch. 300 feet on take-up reel. Model 5514 Paper Tape Reader-Adapter, in 1620 model'l Computer • Model 5515 Paper Tape Reader Adapter, in 1620 model 2 Computer. 1; used for paper tape reader and punch. none. Connection to Device .431 Devices per controller: 1 paper tape reader and 1 paper tape punch. .432 Restrictions:. . . . •. paper tape reader must be in system; only 1 device (reader or punch) may be operated at a time. 1962 by Auerbach Corporation and BNA Incorporated 12/62 412:072.440 § IBM 1620 072. .44 Data Transfer Control · 441 Size of load Write numerically: Write alphamerically: . . . . . . • 442 Input-output areas: • 443 Input- output area access: . . . . . · 444 Input- output area lockout: . . . . . . 445 Table control: .. . 446 Synchronization:. .6 PERFORMANCE · 61 Conditions II: .62 1 to N char, each char requiring 2 core storage positions. core storage . each character. yes. no. automatic • .5 PROGRAM FACILITIES AVAILABLE . 51 Blocks • 512 Block demarcation Output: . . . . . . 1 to N char; N limited by core storage . record mark in storage. Input-Output Operations · 521 . 522 • 523 · 524 · 525 • 526 Input:. . Output: . Stepping: Skipping:. Marking: . Searching: none. output 1 block forward . none. none. none. none. · 53 Code Translation: automatic. • 54 Format Control .55 progra~. 2 (numeric or alphameric). no. no. no. Control Operations • 56 12/62 Component: . . . Condition: •••. m. sec per block: Percentage: . . . Select code: Rewind: Unload: . . . Testable Conditions: . none. processor. I, II. 1000N/15. 100. .7 EXTERNAL FACILITIES · 71 Adjustments:...... none. · 72 Other Controls feed tape and punch tape feed codes . toggle switch. Form: · 73 Loading and Unloading .731 Volumes handled Storage: Capacity: . . . . . 732 Replenishment time: . · 733 Adjustment time: · 734 Optimum reloading period: . . • . . . .8 reel. 300 feet on take-up reel; 1, 000 feet on feed reel. 1 to 2 minutes . none . 40 mins. ERRORS, CHECKS AND ACTION Error Recording: no. no. yes (numeric or alphameric). no. no. no. Disable: . . . . . . Request interrupt: Select format: Demands on System Function: . . 52 Control: . . . . Format alternatives: Rearrangement: Insert spaces: . . . Section sizes: • . . Speeds · 621 Nominal or peak speed: 15 rows/sec. · 622 Important parameters Tape speed: .. 1. 5 inch! sec. 1 row/block (end-of-line • 623 Overhead: . . . . char). .624 Effective speeds: 15N/(N+l) row/sec. N= no. char/block, excluding record mark • .63 .511 Size of block: write numerically. write alphamerically. I : 1 to N char; N limited by core storage. Parity at 1620: Output block size: Invalid code: Exhausted medium: Imperfect medium: Timing conflicts: Tight tape: Check or Interlock parity check on die positions parity check on internal code of output char variable size. none. interlock none. interlock interlock Action computer halts; alarm and ind icator set. computer halts; alarm and indicator set. computer halts; alarm. wait. punch halts. loses ready status • 412:073.100 _STANDARD EDP • IBM 1620 REPORTS Input-Output Card Reader INPUT-OUTPUT: CARD READ PUNCH (READER) § 073. .1 GENERAL . 11 Identity: . 12 Card Read Punch . (Reader only). 1622. . 13 AVailability: . 3 to 4 months . . 14 First Delivery: . June, 1961 . .2 PHYSICAL FORM .21 Drive Mechanism . 211 Drive past the head: .212 Reservoirs:. Description The Model 1622 Card Read Punch provides punched card input and output for the 1620 system. The reader and punch feed units are separate and functionally independent and contain their own switches, lights, checking circuits, and buffer storage. Nominal reading speed is 250 cards per minute, and almost all of card reading time is available for internal processing by the computer. Card hoppers have a capacity of I, 200 cards. The reader has an 80-character buffer which stores the data from one card. A read command from the processor transfers the buffer contents into core storage in 3.4 milliseconds in the 1620 Modell (1.7 milliseconds in Model 2), and initiates the refilling of the buffer from the next card. A second sensing station reads each card and compares its data to the buffer contents. If an error is detected, card feeding stops. In addition, the 1620 checks parity of data received from the buffer; an error causes an indicator to be set which may be used by the program to transfer to error-handling subroutines. Record marks sensed by the reader are inserted into storage; reading is terminated only after a full card of 80 characters is sensed. If a card requires storage beyond the end of core storage, the remaining characters are stored starting at location 00000. .22 Sensing and Recording Systems . 221 Recording system: . .222 Sensing system: . .223 Common system: . 23 Multiple Copies: .24 Arrangement of Heads Use of station: Stacks: Heads/stack: Method of use: Use of station: Distance: Stacks: Heads/ stack: Method of use: .3 EXTERNAL STORAGE .31 Form of Storage .311 Medium: . . . 312 Phenomenon: .32 rollers . none. none in Reader . brush. no. none. sensing. 1. 80. 1 row at a time. checking. I card. 1. 80. 1 row at a time. standard 80-column cards. rectangular punched holes • Positional Arrangement .321 Serial by: .322 Parallel by: 12 rows at standard spacing. 80 columns at standard spacing. all for data . all for data . Cards may be read in either the alphameric or numeric mode. The alphameric mode of reading causes the 80 card characters to be inserted into 160 consecutive storage locations. When reading numerically, the 80 card columns are stored in 80 consecutive core storage locations. Several special symbol characters can cause later record mark ambiguities if data format is not known. In both modes, blank columns are stored as zeros. .33 Coding: as in Data Code Tables Nos. 6 and 7. .34 Format Compatibility: all devices using standard 80-column cards. The Model 1622 Card Read Punch may also be used with the IDM 7040/7044 systems. . 35 Ph},:sical Dimensions: . standard 80 column cards. © . 324 Track use: . . 325 Row use: 1962 by Auerbach Corporation and BNA Incorporated 12/62 412:073.400 § IBM 1620 073. .55 .4 CONTROLLER .41 Identity .42 1632 Card Read Punch Adapter in 1620 Modell Computer. 1633 Card Read Punch Adapter in 1620 Model 2 Computer. .43 .56 .432 Restrictions: . .44 Data Transfer Control .441 Size of load: .442 Input-output areas: .443 Input-output area access: .444 Input-output lockout: •445 Table control: .446 Synchronization: 80 char. core storage. each character. yes. no. automatic. .5 PROGRAM FACILITIES AVAILABLE .51 Blocks . 511 Size of block: .512 Block demarcation Input: .6 PERFORMANCE .61 Conditions: .62 Speeds Code Translation: . 54 Format Control Control: . . . . Format alternatives: Rearrangement: Insert spaces: Section sizes: Component: . . . . counter. m. sec per card: Percentage: . . 12/62 program. 2 (numeric or alphameric). no. no. no. ... none. 250 cards/minute. 3.4 m.sec, 1620 Modell. 1. 7 m. sec, 1620 Model 2. 2 point clutch . 250 cards/minute if processing time per card does not exceed approximately 237 m. sec. t Demands on System . 80 char . automatic. yes. • 623 Overhead: . . . · 624 Effective speeds: · 63 .521 Input: . . . . . . . . read 80 char from reader buffer into core storage and initiate reading of 1 card. . 522 Output: see Section :074 . • 523 Stepping: none . . 524 Skipping:. none. .525 Marking:. none. · 526 Searching: none. no. no. no. no. yes (last card read). no. • 621 Nominal or peak speed: . . . . • 622 Important parameters Buffer unload time: . Processor. 1620 Modell 3.4 t . 1.4 1620 Model 2 1.7+ 0.7 t Normally processing time would include error test and last card test instructions, thereby decreasing available processing time slightly. Input-Output Operations · 53 Testable Conditions Disabled: Busy device: Nearly exhausted: Busy controller: Hopper empty: Stacker full: Read data transfer error: 1; no restrictions . none. 1 Model 1622 Card Read Punch. none. no . no. no. no. yes (numeric or alphameric). see format. Select code: Connection to Device .431 Devices per controller: .52 Disable: . Request interrupt: Offset card: Select stacker: . Select format: Connection to System •421 On-line: . . 422 Off-line: . Control Operations .7 EXTERNAL FACILITIES . 71 Adjustments: . .72 Other Controls Function Restore ready status: Remove ready status and stop reader: Read 1 card into storage and refill buffer: none. Form Comment momentary switch Start key, does not actually start reader • momentary switch Stop key, computer stops at next read command. momentary switch Load key. INPUT·OUTPUT: CARD READ PUNCH (READER) § 073. .73 412:073.730 ,8 ERRORS, CHECKS AND ACTION Loading and Unloading Error .731 Volumes handled Storage Hopper: Normal Stacker: Error Stacker: . 732 Replenishment time: .733 Adjustment time: .734 Optimum reloading period: . . . . . Reading: Capacity 1, 200 cards. 1, 000 cards. 1, 000 cards. 0.5 minute; device does not need to be stopped. none. parity and data compari· son with check station Action send card to error stacker. Stop, set alarm; terminate ready status. Input area overflow: Invalid code: Exhausted medium: none. parity check only. interloCk Imperfect medium: Timing conflicts: Misfeed or jam: see reading errors, interlock interlock Dispatch of data: parity check at 1620 4.8 mins. © Check or Interlock 1962 by Auerbach Corporation and BNA Incorporated set alarm, in" dicator • wait. ready status removed. set alarm, in" dicator. 12/62 412:074.100 • STANDARD EDP • REPORTS IBM 1620 Input-Output Card Punch INPUT-OUTPUT: CARD READ PUNCH (PUNCH) § 074. .1 GENERAL .11 Identity:. . .12 Card Read Punch. (Punch only). 1622. .13 Avai1abili~: 3 to 4 months. . 14 First Delivery: . June, 1961 . .2 PHYSICAL FORM .21 Drive Mechanism .211 Drive past the head: . 212 Reservoirs: Description: The Model 1622 Card Read Punch provides punched card input and output for the 1620 system. The reader and punch feeds are separate and functionally independent and contain their own switches, lights, checking circuits, and buffer storage. Nominal punching speed is 125 cards per minute, and almost all of card punching time is available for internal processing by the computer. Card hoppers have a capacity of 1,200 cards. .22 Record marks in storage are punched in the card; punching is terminated after SO characters have been punched. Columns may be left blank by storing the "numeric blank" character code in the core storage output area. If the end of the capacity of core storage is reached, the remaining characters for the card are taken from storage starting at location 00000. Cards may be punched in the alphameric or numeric mode. The alphaml':!ric mode of punching causes SO card characters to be punched from 160 consecutive locations of storage. When punching numerically, the SO card characters are taken from SO consecutive storage locations. The Model 1622 Card Read Punch may also be used with the mM 7040/7044 systems. © Sensing and Recording Systems .221 Recording system: .222 Sensing system: .223 Common system: die punches. brush. no. .23 Multiele Coeies: none. .24 Arrangement of Heads The punch has an SO-character buffer which stores the data for one card. A punch command from the processor transfers data for one card to the buffer in 3 .4 milliseconds in the 1620 Model 1 Processor (1. 7 milliseconds in Model 2). The processor checks parity of the data sent to the punch buffer and sets a testable indicator if an error occurs. Punching of the card is inhibited (Stop/N -Stop switch set to Stop). The data is punched, the punch buffer contents are parity checked, and the card is read at a checking station for agreement with the punch buffer contents. Failure of the parity check or checking station comparison halts the punch (Stop/N-Stop switch set to Stop) and selects the card to an error select stacker. rollers . none. Use of station: Stacks: Heads/stack: . Method of use: recording. Use of station: Distance: Stacks: Head/stack: Method of use: checking. .3 EXTERNAL STORAGE .31 Form of Storage . 311 Medium: . .312 Phenomenon: .32 1. SO. 1 row at a time. ., 1. 80. 1 row at a time. standard SO-column cards. rectangular punched holes. Positional Arrangement .321 Serial by: .322 Parallel by: .324 Track use: . .325 Row use: .33 Coding: .34 Format Compatibility: . . . •. 1962 by Auerbach Corporation and BNA Incorporated 12 rows at standard spacing. SO columns at standard spacing. all for data. all for data. as in Data Code Tables Nos. 6and7. all devices using standard SO-column cards. 12/62 IBM 1620 412:074.350 § 074. . 35 Physical Dimensions: . . . .4 CONTROLLER .41 Identity: .42 .432 Restrictions: . .44 standard 80-column cards. 1632 Card Read Punch Adapter in 1620 Modell Computer. 1633 Card Read Punch Adapter in 1620 Model 2 Computer. Disable: . Request interrupt: Offset card: Select stacker: Select format: .56 80 char . core storage. each character. yes. no . automatic. .51 Blocks PERFORMANCE .61 Conditions: .62 Speeds no. no . no. no. no. no. yes . ... none . .621 Nominal or peak speed: . . . . · 622 Important parameters Buffer load time: 125 cards/minute. 3.4.m.sec, 1620 Modell. 1.7 m.sec, 1620 Model 2. 4 point clutch . 125 cards/minute if pro-· cessing time per card does not exceed approx 477m.sec. t · 623 Overhead: . . . · 624 Effective speeds: 80 char. counter. .63 Demands on S},:stem Component: . . . .523 .524 . 525 .526 Stepping: . Skipping: • Marking:. Searching: see Section :073 . transfe;r 80 char from core storage to punch buffer and initiate punching of 1 card. none. .none . none. none. .7 • 53 Code Translation: automatic . 12/62 Testable Conditions .6 Ineut-Output Operations . 521 Input: .522 Output: no. no. no. no. yes (numeric or alphameric). see format . Disabled: Busy device: Nearly exhausted: Busy controller: . Hopper empty: Stacker full: Write data transfer error: 1 Model 1622 Card Read Pt!nch. none. PROGRAM FACILITIES AVAILABLE . 511 Size of block: . .512 Block demarcation Output: . Control Operations Select code: 1; no restrictions . none. .5 .52 .55 Data Transfer Control . 441 Size of load: . 442 Input-output areas: .443 Input-output area access: .444 Input-output area lockout: .445 Table control: . 446 Synchroruzation: program selection of mode . 2 (numeric or alphameric). no. columns may be left blank. no. Section sizes: Connection to Device . 431 Devices per controller: . Format Control Control: . Format alternatives: Rearrangement: Insert spaces: Connection to S},:stem .421 On-line: . .422 Off-line: . .43 .54 .71 . processor. 1620 Modell 1620 Model 2 3.4t 1.7.t 0.7 0.35. m. sec per card: . Percentage: . . . Adjustments: . . • . • none. t Usually, processing time would include an error test instruction, thereby decreasing available processing time slightly. . EXTERNAL FACILITIES 412:074.720 INPUT-OUTPUT: CARD READ PUNCH (PUNCH) § 074. . 72 Other Controls Function Restore ready status: Stop punch unit on 1622 error: Remove ready status imd stop punch: .73 .733 Adjustment time: . 734 Optimum reloading period: . . . . . Form Comment .8 9.6 mins . ERRORS, CHECKS AND ACTION start key; does not actually start punch. Error Check or Interlock Action Data transmission: parity check at 1620 2- position switch Stop/N-Stop switch. Recording: parity check on buffer momentary switch stop key. set indicator and alarm. halt before punching if Stop/NStop switch on Stop. send card to error stacker. Stop, set alarm if Stop/N-Stop switch on Stop. momentary switch check station comparison with buffer Loading and Unloading .731 Volumes handled Storage Hopper: . . . Normal stacker: Error stacker: . 732 Replenishment time: none . Capacity I, 200 cards. I, 000 cards. I, 000 cards. 0.5 minutes; unit does not need to be stopped. © Output block size: Invalid code: Exhausted medium: none. parity check only. interlock Imperfect medium: Timing conflicts: Misfeed or jam: see recording errors • interlock interlock 1962 by Auerbach Corporation and BNA Incorporated ready status removed. wait. ready status removed. 12/62 412:081.100 II • STANDARD EDP IBM 1620 Modell REPORTS Input-Output I/O Typewriter INPUT-OUTPUT: CONSOLE I/O TYPEWRITER § .24 081. .1 GENERAL .11 Identity:. . 12 Description I/O Typewriter. The Console I/O Typewriter is a modified singlecase IDM electric typewriter which stands upon the console desk. It is usable only with the 1620; no off-line use is possible. It types output data under program control, and provides input under program request or by operator initiation (console Insert key). Up to 100 characters may be inserted into storage by operator initiation" and any number of characters by program request for typewriter data. The record mark may be inserted in storage by a typewriter key but is treated only as a data character. The decimal point (period) can be inserted correctly into storage only with the use of a Read Alphamerically instruction. An output command transfers any number of characters to the typewriter from storage, termilUlted by a record mark. Nominal output speed is 10 characters per second. Both input and output data transfers are parity-checked by the 1620. Incorrect output characters (parity or invalid codes) are marked specially as they are typed. Use of station: Stacks: Heads/stack: . Method of use: printing. 1. l. 1 character at a time . Use of station: Stacks: Heads/stack: Method of use: keyboard input. 1. 44 keys. 1 character at a time. Range of Symbols Numerals: .10 Letters: . 26 Special: 14. * Alternatives: FORTRAN set: Req. COBOL set: Total: 50. * including control codes not used as .3 EXTERNAL STORAGE .31 Form of Storage .311 Medium:. . 13 Availability: 3 to 4 months . .312 Phenomenon: . 14 First Delivery: October, 1960 . .32 .2 PHYSICAL FORM . 21 Drive Mechanism .211 Drive past the head: . 212 Reservoirs: . 22 .223 Common system: .23 none. yes. no. data. continuous fanfold stationery. printing. character at 10 per inch . 87 print positions . all for data . .33 Coding: .34 Format Compatibility: . none. engraved hammers. typewri~er keyboard for manual input. no. .35 PhJ':sical Dimensions depends on stationery. 4 friction drive. none . o-9 A - Z. Positional Arrangement .321 Serial by: . 324 Track use Data: . 325 Row use: Sensing and Recording Systems .221 Recording system: .222 Sensing system: " .25 Arrangement of Heads .351 Overall width: .352 Length: .353 Maximum margins: as in Data Code Tables No.3,4 . 8.875 inches. no limit. no limits. Multiple Copies .231 Maximum number Interleaved carbon: . .233 Types of master Multilith: Spirit: .41 yes. CONTROLLER Identity: . . . . yes. © 1962 by Auerbach Corporation and BNA Incorporated ------- no separate controller; part of 1620 Console. 12/62 412:081.420 § IBM 1620 MODEL 1 081. .42 1. not usable off-line. . 55 Control Operations Disable: . . . . . Request interrupt: no. no . . 56 Testable Conditions: none. .. 6 PERFORMANCE .61 Conditions: .. . 62 Speeds Connection to Device .431 DeviCes per controller: . . . .432 Restrictions: •44 Format Control: . . . fixed format; automatic carriage return at end of each line . Connection to System .421 On-line: . .422 Off-line:. .43 .54 1. none. Data Transfer Control .441 Size of load Input: none . /' · 445 .446 no limit when requested by program; 100 char when manually initiated by Insert key. Output: . . . . . . . any size up to limit of storage; terminated by record mark . Input-butput areas: core storage . Input-output area access: each character. Input-output area lockout: yes. Table control: . no. Synchronization: automatic. .5 PROGRAM FACILITIES AVAILABLE .7 EXTERNAL FACILITIES .51 Blocks .71 Adjustments: .72 Other Control!! . 442 . 443 .444 . 511 Size of block: • 512 Bloc k demarcation Input: Output: . .52 · 522 Output: · 523 Stepping: . 524 Skipping: . 525 Marking: .526 Searching: . 624 Effective speeds: . . . .63 typical typewriter adjustments . end input and start computer. momentary key. R-S key. Function: Form: Name: input 1 block into core storage. output 1 block from core storage, with automatic carriage returns. step 1 or 2 lines at end of printed line; set byoperator. none. none . none. Loading and Unloading .731 Volumes handled: . .8 depends on feed facilities. ERRORS, CHECKS AND ACTION Code Translation: . . . automatic; data stored dependent on mode of operation (numeriC or alphameriC). l 12/62 m. sec per char or Percentage 100 or 100. Processor: .73 10 char/sec for output; manual typing speed for input. same as peak speeds, less allowance for carriage returns. Demands on Sxstem Component console Release key or 100th char. record mark in storage. Input-Output Operations . 521 Input: . . 53 same as load size; see. .441 above. .621 Nominal or peal< speed: . . . . Error Check or Interlock Action Parity: check at 1620 Reading: Input area overflow: Output block size: Invalid code: parity check at 1620 count of 100 max. char on manual Insert operation. any size possible. check indicator. alarm; overprint a bar over char acter.• indicator. alarm• Exhausted medium: Imperfect medium: Timing conflicts: Dispatch of data: none. none. interlock attach parity bit. Ir-A-U-ER-BA-C'!.--/-~ special char printed • wait. - 412:101.100 • II STANDARD EDP IBM 1620 Calcamp Recorder REPORTS INPUT-OUTPUT: CALCOMP DIGITAL RECORDER § 101. .12 .1 GENERAL . 11 Identity: . . . 12 Description paper (z-axis). The lateral movements of the pen and paper are 0.1 inch long and result in the following lines being drawn: Calcomp Digital Recorder. Model 560-R. a. + X, - X, + Y, - Y, each 0.1 inch long. b. the four diagonals, each 0.141 inch long • The Calcomp Digital Recorder is a point or line plotter manufa~tured by California Computer Products, Inc., of Downey, California. It operates via an adapter connected between the 1620 Computer and the 1624 Tape Punch. A switch on the adapter selects either the plotter or punch. It accepts the numerics 0 to 9 output by a Write Numerically instruction. The digits 1 to 8 cause independent lateral movements at right angles of the pen and paper, and digits 0 and 9 cause pen movements to and from the © Description (Contd.) Lines can be drawn at punch speed (15 per second); the pen can be lifted or dropped at ten characters per second. Plots are terminated by receipt of a 1620 record mark. The plotter can be fitted with a roll-chart or sheets of paper as desired, and has an operational plotting width of approximately 10 inches. The length of plot is limited only by the paper supply. . 13 Availability:. . . . . 3 months (from Calcomp). 1962 by Auerbach Corporation and BNA Incorporated 12/62 412: 111.1 00 • STANDARD _EDP ." IBM 1620 REPORTS Simultaneous Operations SIMULTANEOUS OPERATIONS § 111. ·1 SPECIAL UNITS • 11 Identity: .2 CONFIGURATION CONDITIoNs: . . . . . . none. .3 CLASSES OF OPERATIONS buffers in 1622 Card Read Punch unit. A: B: · 12 Description In a 1620 punched tape system, all operations are performed sequentially. When a Model 1622 Card Read Punch unit is added to the system, card reading and punching are overlapped with succeeding operations. A card input or output operation transfers data from or to the respective card data buffer and after the card operation is ~nitiated (read card to buffer, punch card from buffer), program control is transferred to the next instruction in sequence. Disc data transfers are not buffered, but seeks may proceed independently. © C: D: E: F: P: .4 read or punch paper tape. read or record on disc storage. read card. punch card. input or output on Console I/O Typewriter. seek in disc storage. internal processing. RULES a + b + e + p = at most 1. a + b + c + d + e + p = at most 3. f = at most N, where N = number of disc drives in system (4 max). c = at most-l. d =at most 1. 1962 by Auerbach Corporation and BNA Incorporated 12/62 412: 121.1 01 _SlANDA" II REPORTS EDP IBM 1620 Modell Instruction list INSTRUCTION LIST § 121. INSTRUCTION OPERATION OP P Q Mnemonic Op. Arithmetic: Fixed Point 21 11 22 12 23 13 28 t 18 t 29t 19t P P P P P P P P P P A AM S SM M MM LD LDM D DM Q Q Q Q Q Q Q Q Q Q (P) + (Q)---» P. (P) + Q ~ P. (P) - (Q)---» P. (P) - Q ---» P. (P) X (Q)~ standard area. (P) X Q ~ standard area. (Q)---->-- standard area, positioned by P. Q --...;. standard area, positioned by P. (standard area) + (Q) positioned by P. (standard area) + Q positioned by P. Arithmetic: Floating Point 01* 02* 03* 09* P P P P Q Q Q Q FADD FSUB FMUL FOlV (P) + (Q)--7P. (P) - (Q)--7P. (P) X (Q)---->-- P. (P) (Q)~P. 08* P Q FSR Move mantissa at Q to P, truncating previous low order mantissa digits. 05* P Q FSL Move mantissa at Q to P, setting new low order mantissa digits to zeros. 06t P .Q TFL 07* P Q BTFL Store next instruction address. Move (Q) to P-1. Branch to P. Logic: Comparisons, Branching 24 P Q C 14 P Q CM 49 42 43 44 45 46 P - B BB BD BNF BNR BI - - P P P P Q Q Q Q Set HIP indicator if (P) > (Q). Set E/Z indicator if (P) = (Q). Set neither indicator if (P) < (Q). Set HIP indicator if (P) > Q. Set E/Z indicator if (P) = Q. Set neither indicator if (P) < Q. Branch to P to obtain next instruction. Branch to address stored. Branch to P if digit at Q not zero. Branch to P if no flag bit at Q. Branch to P if no record mark at Q. Branch to P if indicator specified by Q is on. Q Code 01. 02. 03. 04 .• 06. 07. 09. 11. 12. 13 . * Special Indicator Program switch 1. Program switch 2. Program switch 3. Program switch 4. Read check Write check. Last card. High/Positive Equal/Zero. HighlPositive or Equal/Zero. Feature, models 1 and 2. model 1. t Special Feature, © 1962 by Auerbach Corporation and BNA Incorporated 12/62 412:121.102 § IBM 1620 MODEL 1 12f. INSTRUCTION LIST -CoRld. INSTRUCTION OP P Q OPERATION Mnemonic Op. Logic: Comparisons, Branching (Contd.) Q Code 47 BNI Indicator 14 . Overflow. • Memory buffer register-even check. 16 . 17 . . Memory buffer register-odd check. 19 . Any data check. Same as BI if the specified indicator is off. Logic: Program Control 27 P Q BT 17 P Q BTM 32 33 P P P Q SF CF MF nt 48 H 41 NOP Store next instruction address. Move (Q) to P-l. Branch to P. Store next instruction address. Move Q to P-l. Branch to P. Set flag bit at P. Clear flag bit at P. Clear flag bit at Q, if any, and copy flag bit to P. Halt in manual mode. Advance to next instruction in sequence. Data Transfers 25 P P 72t p P P P Q TD TDM TF TFM TR TNS 73t P Q TNF 15 26 16 31 Q Q Q Q Q Digit at Q~ P, including flag bit. Digit in Q field of instruction ---? P, including flag bit. (Q)---7 P, terminated by end of field. Q ---7 P, terminated by end of field. (Q)--;' P, terminated by end of record. Transfer numeric digits of alphameric field starting at P to numeric field starting at Q, terminated by flag bit in numeric field. Transfer all flag bits. Transfer numeric field starting at Q to digit location of alphameric field starting at P, terminated by flag bit in numeric field. Zone positions of alphameric field filled with 7's. Old flag bits erased. Input-Output 34 K 35 P Q DN 36 P Q RN 37 P Q RA 38 P Q WN 39 P Q WA t 12/62 Q Special Feature, model 1. Execute typewriter control function specified by Q: Space, Carriage Return, or Tab. Output numerically on device selected by Q the contents of storage starting at P, terminated by end of module addressed, or end of card in process in standard numeric manner. Input numerically from device specified by Q to storage starting at P, terminated by end of card, EL code on tape, or release of typewriter. Input alphamerically (2 storage locations per character) from device specified by Q to storage starting at P, terminated by end of .card, EL code on tape, or release of typewriter. Output numerically to device specified by Q from storage starting from P, terminated by record mark for tape or typewriter, or by 80 chars for a card. Output alphamerically (2 storage locations per character) to device specified by Q from storage starting at P, terminated by record mark for tape or typewriter, or by 80 chars for a card. 412:131.100 IBM 1620 Modell Coding Specimen 1620/1710 SPS CODING SPECIMEN: 1620/1710 SPS § 131. .1 CODING SPECIMEN PRO GRAMI COMP,UTES THE AREA UNDER THE!. CURVE SQRT"3X**2a*ARCS I NEX LIES BETWEEN 0 ANO 10 THE AREA IS COMPUTED BY SIMPSON5 RULE IIfHER E X NUME RICAL INTEGRATION. THE AREA IS E. VAL.UATI:,O US I NG THREE OIFF EREN T VALUES FOR DEL-TAX. THEY ARE 0.100. 0.050. AND O.O~5. • THIS • • 01732 01732 26 03394 -.J401 01744 26 03423 U3431 01756 26 03441 03448 01768 15 03089 O(')UOI 017Bu 15 02897 UQuUl 01792 • FOR STAR'T 15 02765 OOUOI 01804 3, 03449 03510 26 03580 U3458 0,8,6 01828 01840 01852 01864 01876 Ul8SH 0190U 01912 01924 01936 01946 01960 01972 01984 01996 02008 02020 020.32 02044 02056 02068 02080 02092 02104 02116 02128 02140 02152 02164 02176 02188 02200 02212 02224 02236 02248 02260 02272 02284 02296 02308 02320 02332 02344 02356 02368 02380 02392 0,?404 02416 02428 02440 02452 02464 02476 02488 0250U O?'51Z 02524 02536 02548 02560 23 32 44 32 26 3, 2, 45 47 25 25 25 25 25 25 25 25 25 25 25 25 25 25 3_ 39 26 22 3, 47 25 25 2S 25 25 25 25 34 39 26 26 49 2, 22 46 2, 3, 32 22 26 44 26 32 22 47 25 25 25 25 25 25 34 39 03580 03441 00084 UUiJO!,) 01876 llfJU99 00093 ouooo 0358.0 UUU93 ASINE 03449 lJ34~9 035HIJ O,J45U 01B28 03459 02,28 00100 03775 03571 03779 03572 03781 03~7J 03783 U3574 03785 U3575 03787 03576 03789 03577 0379l 03578 0.3793 U,J579 03795 0358U 03739 03435 03743 03436 03745 03437 03747 03438 oouoo UUI02 03727 03588 03588 03588 02284 03841 03845 03847 03849 0.3851 03653 03855 00000 03799 03628 03654 02332 03646 03595 02320 03595 03581 03581 03646 03628 02332 03674 03589 03674 02572 03883 03887 03889 03891 00100 03448 03441 03603 UOIOO 0,3582 0,3583 03584 03585 03586 03587 03588 U0102 00100 U3640 0366J1 001,)00 03622 0.3654 01300 03654 03582 03893 03895 00000 03859 CONTA CONTe ROOT 00000 03628 03627 03623 03680 DQ'JOO 03594 00100 03669 03670 03671 03612 03673 03674 00,02 00100 OORG TF TF TF TOM TOM TOM TR TF M SF BNF SF TF TR A 1732 DEL.TAX.)(.7.TRANSMIT VAL.UE OF INCREMENT AREA.Z-3 XsuBN,UNIT 51113&1,1 •• SET SW3 OFF SW2C,1 , 1 •• seT SW2 OFF SWllrl •••• SET SWl OFF ASUBN-9.CONST-9 •• TRANSMI T ASuB5 TO ASUSa ~NR AS I NE. ASUBNC,. 0002 0004 0006 oooa 0010 0012 0014 0016 0018 0020 0022 0024 PSJX.ASUBN PSIX.XSUi:SN 0026 002e S4 00.30 *c..2*L,99 0032 0034 93 P'5I)(.93 ASUBN-9, ASUHNt.1 0036 0038 PSlx.AsuaN 0040 0042 SNel CONTA 0044 TO TO TO TO TO TO TO TO TO TO TO TO TO TO RCTY WATY TF S TR BNCI TO TO TO TO TO TO TO RCTY WATY TF TF 0046 0048 0050 POLVC,4B,PSI)C-9 POLYC,52, PS J X-8 POLYC,54,PSlx-7 POLYC,56,PSl)(-6 POLVC,60,PSIX-4 POL.yC,62,PSIX-J POLVC,64,PSIX-2 POLyC,66. PS I X-I 0052 0054 0056 0058 0060 0062 POLyc..6B,PSIX 0064 POL yc, 12, XSUBN-6 POLVlII6. XSUBN-S POLVC, J B. XSUSN-4 POLVC,20.XSUBN-3 0066 0068 0070 0072 0074 0016 0018 0080 0082 0084 00e6 008B POLVC,SB,PSI X-5 POLY RADCND.UNJT RADCNO • xSUBN. ,RAD I CANO " RAOCNO.ZNINES-13, CONTS ARGC,42. RAOCNO-6 ARGC,46. RAOCNO-S ARGC,48. RAOCND-4 ARGC,SO.RAOCND-3 ARGC,S2. RAOCND-Z ARGC,54,RAOCNO-l ARGC,56.RADCND .'-x 0090 0092 0094 0096 0098 0100 0102 0104 0106 0108 0110 0112 OJ 14 0116 0118 0120 0122 0124 0126 o,2e 01JO 0132 0134 01J6 0138 0140 0142 011&4. 0146 0146 0150 ARG NINE.TWQ9 ODD I NT. ONE ONE ~ *C.2*L A ODD I NT-8. TWO S RADCNDC,1.0DDINT eNN ROOT A RADCNDfi.7.000INT TR RAOCND-7.RAOCND-6 SF RADCND-7 S aODINT-8,NINE TF NINE.NINE-l 8NF RODTC,l *L. TWOC,l TF SORT.NINES SF RAOCNOC,I S SORT,RAOCNOC,6 8NC' CONTC TO GENRTC,24, SORT-5 TO GENRTc,2a.SORT-4 GENRTC,30.SQRT-3 TO TO GENRTC,32.SQRT-.2 TO GENRTC,34.SQRT-l TO GENRTL.36.SQRT ReTV WATV GENRT PAGE Figure 8. Sample Progrnm Output Listing. Part 1 Copied from mM reference manual, mM 1620 / 1710 SYMBOLIC PROGRAMMING SYSTEM © 1962 by Auerbach Corporation and BNA Incorporated 12/62 IBM 1620 MODEL 1 412: 131.1 01 § 131 • •1 CODING SPECIMEN (CONTD.) 025'12 23 03674 02584 32 00065 02596 26 03690 0260H 47 02764 '02620 25 03909 02632 25 03913 02644 25 03915 02656 25 03917 03~BO CONTe 00000 00094 UOIOO 03681 03662 03683 03684 02668 25 03919 03685 02680 25 03921 03686 02692 25 03923 03687 02704 25 03925 03688 02716 25 02728 25 02740 34 02752 39 02764 49 02776 23 02788 32 02800 26 02812 13 02824 32 02836 26 02848 26 02860 22 02672 15 03927 03689 SQRT.PSI 85 x 0152 0154 0156 0158 0160 0162 TEMPI.94 swl FU'NCTf., 10. TEMPl-9 FUNCTb14.TEMPI-8 FUNCTb16.TEMPI-7 FUNCT& 18.TEMPP-6 FUNCT{,2Q. TEMP 1-5 0164 0166 0168 0110 0172 0174 0176 0178 0180 FUNCTc..22:, TEMP 1-4 FUNCTc..24.TEMPI-3 FUNCTC,26.TEMPl~2 ·FU"!CT lr28, TEMP 1-1 FUNCTc..30. TEMP I ~CTY r.~,ooo 00102 C3d99 00100 WATY FuNCT 8 sw2 03441 M XSUBN,XSUBN 0186 00087 03700 03700 00090 03588 03580 03580 02765 02884 49 02152 02896 49 03004 02906 21 03423 ouooo SF TF 87 QI88 TEMP2.96 TEMP2.3.10 0190 0192 0194 0196 0198 0200 0202 0204 0206 0208 0210 0'2920 02932 02944 02956 02968 '02980 02992 03004 03016 U3028 03040 03052 03064 03076 03088 03441 03063 02897 03711 03716 03718 01792 03711 03441 03441 01792 03711 00088 03423 03160 03394 03063 03711 03441 03089 01792 03423 00088 03690 0369P 03959 031J61 03963 03979 03983 000-2 03100 03112 03124 03136 03148 03160 03172 03184 03\1J6 26 16 15 26 26 21 49 21 21 24 47 13 32 21 49 16 26 26 15 49 23 32 26 23 03208 25 03220 03232 03244 03256 03266 03280 03292 03304 03316 03328 03340 03352 03364 03376 12/62 03929 03690 M SF TF SNel TO TO TO TO TO TO TO TO TO TO 02896 00000 03441 SWI UOU96 UOU-3 OOI,)UO 00096 03~69 03690 00009 00000 00000 03686 MM SF TF TF S TOM 8 SW2 8 A INIT IAL.I * 000-4 00009 03434 03394 03718 00000 03690 03716 03680 011 00 -0000 00000 00095 00000 03434 0371B 00;)09 00000 03394 01)000 000!}7 03725 03389 0331J0 2" U33YI 25 UOOB3 25 U0084 25 25 039a~ 00085 25 03987 OOOl::t6 25 03989 00087 25 03991 00088 34 00000 00102 39 03933 00100 II 01743 000-7 14 01743 -3422 47 01732 01200 48 00000 00000 TF TFM TOM TF TF A ODDVN B A A C BNH MUL.T MM SF A 8 SW3 lNIT tAL.1 * TFM TF TF TOM 6 M SF TF M TO TO TO TO TO TO TO TO TO 0182 0184' 90 RADCNO.96 PSIX.CONSTc..50 PSIX,TEMPI Sill 1 c.. I .9 ROOT-14*L. ODDVN AQEA, TEMPl-4 •• FOc..FN ZATION FO~ Fsuaooo 'XSUBN.OE:L.TAX 0212 0214 0216 021b 0220 0222 0224 0226 0228 0230 0232 0234 0236 0238 0240 0242 0244 0246 0248 0250 MUL Tc..11 .4. 10 SW2&1.9 ACCUM,Z TEMP3. DEL TA)( TEMP3, TEMP3 AS I NE-3*L ACCUM.TEMF'1 XSUBN,TEMF'3 XSUBN, NJ NES ASINE-3*1. ACCUM 88. AREA.95 *&6*L ZATtON FOR FSUI:::lEVEN MULT&11.2,10 ACCUM.Z X5UBN. TEMP3 SW3C,1.9 ASINE-3*L. AREA,DEl. TAX 02~2 02~4 0256 0258 0260 0262 0264 0266 0268 0270 0272 0274 0270 0278 88 TEMPI.97 TEMPI.THREES OUTPUTC,26. DEL. TAX-5 OUTPUT&2B, DEL TAX-4 OUTPUT(,30,OEL. TAX-3 OuTPuTc..46.83 OUTPUTc..SO.84 OUTPUTc..S2.85 OUTPUTC,54.86 OUTPUTc..S6.87 OuTPuTc..sa.86 OZ80 ReTY WATY OUTPUT AM STARTCd 1 .7. 10 STARTld 1 .X(,21 CM ENE: START 0282 0284 0286 0288 0290 0292 0294 0296 0299 H * AREA oEF DEL TAX OS DC X DC DC AREA OS INJTI0NS 03394 03401 03408 0)415 03423 00007 00007 00007 00007 0::100a FigureS. Sample Program Output Listing, Part 2 7 7.100000 7.50000 7.25000 8 030~ 0305 PAGE CODING SPECIMEN: 1620/1710 SPS § 412:131.102 131 . .1 CODING SPECIMEN (CONTD.) 03434 00011 03441 00007 00007 03448 034'58 03509 03519 03529 03539 03549 00010 00006 00001 00010 Z XSUBN UNIT AsuBN CONST 00010 00010 00010 00010 03559 03570 00012 00011 03580 03581 00010 00001 L PSIX I 7 7.10acaoo 0312 DSB OS 10.6 I 0315 DC 10, -4337769 0319 DC I:). 19349939 0.322 0325 0328 DC 10.-44958884 DC DC DC OS DS OS 10.87876311 10.-214512362 1 I • I 570795207!1 _12 10 I DS 7 00007 ~AOCND 03601 00013 03616 00015 03622 00006 OS ZNI NE5 DC TWO OS NINE OS TW09 DC ODOINT OS ONEONE DC ~aRT OS NINES DC TEMPI OS TEMP2 OS ACCUM DS TEMP3 OS THREES DC OAe PPL.V .RG oAC GENRT OAC Fl!NCT OAC OUTPUT OAC DENO 03628 00006 00012 00014 000t4 03674 00006 03680 00006 00010 00010 00011 03690 03700 03711 03718 00007 03725 00007 03727 03799 00036 00030 03859 00020 o~e99 00017 00031 03933 017.32 0307 DC 03588 03640 03654 03668 Ita os DC 0310 0317 0331 0.3.34 0337 0339 0341 0343 034~ 13 15 • 9999999~ 0347 0350 035Z 0354 0357 6 6 12.200000090000 14 14. 10000000000001 0359 O~<'Z 6 6.999999 10 10 11 7 7.3333333 36.FOR x*o.OOO. PO~YNOMIA~.O.OOOOOOOOO. 3D.SOUARE ROOT ARGUMENTMO.OOOOOO" 20, SOU ARE ROOTMO.OOOOOI!!' 17. FXXDMO.OOODOOOOO(!l 31 .FOR OE~TAX"O.OOO_ AREA"O.OOOOO!!' START 0364 0367 036<:.) 0371 0:173 0375 0378 0382 0386 O~e9 0392 0396 PAGE Figure 8. 3 Sample Program Output Listing. Part 3 © 1962 by Auerbach Carporatian and BNA Incorporated 12/62 412:131.200 IBM 1620 MODEL 1 131. § .2 COnING SHEET ID~lL 1620/1710 Symbolic Programming System Coding Sheet W Program: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ 001.: _ _ _ _ _ _ __ Routine: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ Programmer: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ Line 3 Lobel 5 6 15 16 25 20 3. 35 •• 50 '5 I .~ •• 3 • ••• I I tI 5 • ~ 6JJl I .0.• 1 • ~ I • Q , • 1.0 • I I • 1 2 0 1 , 0 1 • 0 I , 0 1 , 0 .. I 7 0 I I 0 I , 0 I 2 0 0 , 12/62 of - - - - Operands & Remarks pperation 11 12 Page No. .. 55 60 65 7. 75 412:132.100 .STAIt-:I t-:I IB,., I< y ) '!:.I 1. output only. 2. record mark symbol on input; stop code on output. 3. symbol is output for invalid character with correct parity. * © 1962 by Auerbach Corporation and BNA Incorporated 12/62 412:145.100 .SIANDARD IIE~~ IBM 1620 Data Code Table Paper Tape DATA CODE TABLE NO. 5 § .23 145. .1 USE OF CODE. .2 STRUCTURE OF CODE .21 Character Size: .22 paper tape input-output . 6 data tracks + 1 odd parity track + 1 track for end-of-line symbol (EOL). Character Structure .221 More significant pattern: .222 Less significant pattern: 2 zone bits; X = 32, 0=16. 4 numeric bits; 8, 4, 2, 1. Character Codes LESS SIGNIFICANT PATTERN MORE SIGNIFICANT PATTERN 0 0 16 32 48 3/ 0 - y 1 1 1 / J, 2 2 S K, 2 - + ?/ A B 3 3 T L, 3 C 4 4 U M,4 - D 5 5 V N, 5 E 6 6 W 0, 6 F 7 7 X P, G 8 8 Y Q, 9 9 Z R, 7 8 9 H I :I: ~/ 10 = 11 12 - @ Y , $ ( * ) 13 14 15 §./ Notes: 1. 1 is minus one, etc. 2. :f: is record mark symbol; can be punched only in Dump Numeric mode when tape punched by computer. Becomes EOL (End of Line) char. otherwise (single punch in EOL track). 3. this code (blank or space) contains a punch in parity track. 4. minus or hyphen in alphameric mode; minus zero in numeric mode. 5. J-R and -1 to -9 interpreted as J-R in alphameric mode. -1 to -9 stored as -1 to -9, numerical mode. 6. Tape feed code. 7. minus zero in numeric mode. 8. code for numeric blank in numeric mode. © 1962 by Auerbach Corporation and BNA Incorporated 12/62 412:146.100 .STANDIID II EDP IBM 1620 REPORTS Data Code Table Card Code (Numeric) OAT A CODE TABLE NO. 6 § 146. .23 .1 USE OF CODE: .. card input-output (numeric mode). .2 STRUCTURE· OF CODE .21 Character Size: . . 1 column per character. Character Codes OVERPUNCH UNDERPUNCH None None + 12 11 0 1/ 0 12 11 0 1 + 0 1 - 0 -... 1 - 2 2 3 3 .3 4 4 -4 5 5 6 6 7 7 8 8 9 9 8-2 2 - 5 - 6 7 - 8 - 9 of 3/ 8-3 8-4 '!:/ 8-5 8-6 8-7 Notes: © 1. on input only. 2. read in as "numeric blank"; causes blank column on output. 3. of is record mark symbol. 1962 by Auerbach Corporation and BNA Incorporated 12/62 412: 147.100 • STANDARD EDP • RfPORTS IBM 1620 Data Code Table Card Code (Alphameric) DATA CODE TAI3LE NO.7 § 147. .23 .1 USE OF CODE: .. card input-output (alphameric). .2 STRUCTURE OF CODE .21 Character Size: •. 1 column per character. Character Codes OVERPUNCH UNDERPUNCH None None Blank 12 11 + - 0 12 11 + 0 0 + 0 4/ - 0 1 r A J. 1 2 2 B K, 2 - / S 3 3 C L, 3 4 4 D M,4 U 5 E N, V 5 - 5 - 6 6 F 0, 6 7 7 G P, 7 8 8 H Q, 8 9 9 I R, 9 - - 8-2 T W X Y Z of 1/ 8-3 = 8-4 @ ) $ , * ( 8-5 8-6 8-7 Notes: 1. of is record mark symbol. 2. i is minus one, etc. + 3. 0 is positive zero. 4. input only. © 1962 by Auerbach Corporation and BNA Incorporated 12/62 412: 151.100 .STAND.lRO II EDP IBM 1620 REPORTS P. O. Facilities PROBLEM ORIENTED FACILITIES § 151. .15 .1 lITILITY ROlITINES . 11 Simulators of Other Computers 1620 5-Channel Tape Translation Program Reference: . . File No. 1.6.014 . Date available: currently available. Description: Program reads 5-track punched tape, translates data to legitimate 1620 characters, and punches characters on tape. IBM 650. Reference: File Nos. 2.0.004 (card) and 2.0.005 (tape). currently available. Date available: Description: The simulator program 2.0.004 utilizes card input-output and simulates a 650 card system. The storage required is as follows: To Simulate: . 12 Requires: 1,000 word basic 650 20,000 digit 1620 with Automatic Divide 2,000 word basic 650 40,000 digit 1620 with Automatic Divide 4,000 word basic 650 60,000 digit 1620 with Automatic Divide File Maintenance: . . . none. . 17 Other Library Routines .171 Floating point function subroutines (macros) Note: data given is for 8-digit fixed length operands. Routines are available for variable length operands. Macro: . . . FSQR. Function: • . . . square root. Time, /.L sec 1620 model 1: 120,000. 1620 model 2: 30,000. Storage required, with automatic divide: . 579 digits. Macro: . . . Function: . . Time, /.L sec 1620 model 1: 1620 model 2: Storage required, with automatic divide: . The tape simulator program is very similar to the card simulator program. Either program allows execution of 650 programs on the 1620 without reprogramming. Macro: . . . Function: . . Time, /.L sec 1620 model 1: 1620 model 2: Storage required, with automatic divide: . Simulation by Other Computers Reference: File No. 171O-SI-002. Date available: currently available. Description: This program provides simulation of the IBM 1710 Control System, which uses the 1620 Processor, on an IBM 7090. . 14 .16 Simple modifications are given to simulate a 650 card system by means of the 1620 punched tape and/or typewriter input-output. The Simulator program occupies storage up to location 09021. Execution time on the 1620 Model 1 is approximately 3 . 5 times as long as a very well optimized program run in the 650. IBM 7090. .13 Data Transcription Data Sorting and Merging: . . . none. Report Writing: none. © FSIN. sine. 150,000. 37,500. 843. FCOS. cosine. 155,000. 39,000. 843. Macro: . . . Function: .. Time, /.L sec 1620 model 1: 1620 model 2: Storage required, with automatic divide: . FATN. arctangent. Macro: . . . Function: .. Time, /l sec 1620 model 1: 1620 model 2: Storage required, with automatic divide: . . . FEX. exponential, natural. ... 1962 by Auerbach Corporation and BNA Incorporated 260,000. 65,000. 989. 160,000 (positive power). 40,000 (positive power). 740 . 12/62 412:151.171 § IBM 1620 151. .171 Floating point function subroutines (macros) (cont'd) Macro: . . . • . Function: . . . . Time, Il sec. 1620 model 1: 1620 model 2: . . . Storage required, with automatic divide: . . . FEXT. exponential, base 10. Macro: . . . . . Function: • . . . Time, /J sec 1620 model 1: 1620 model 2: Storage required, with automatic divide: . FLN. logarithm, natural. Macro: . . . Function: .. Time, /J sec 1620 model 1: 1620 model 2: . . . Storage required, with automatic divide: . . . FLOG. logarithm, base 10. 145,000 (positive power). 36,300 (positive power). 740. 290,000. 72,500. 842. 305,000. 76,000. 842. .172 Matrix Inversion (Tape) Reference: • . . . . . File No.5. 0 . 006. Availability: . . • . . currently available. Description: This program will invert any non-singular square matrix of size 22 x 22 or smaller. Provision is made for re -inversion to check accuracy. Output is on typewriter. The program is written in FORTRAN language. .173 Complex FORTRAN (Tape) Reference: . . . . . . ·F. H. Maskiell The Pennsylvania Transformer Division McGraw-Edison Co. Box 330 Canonsburg, Pa. Availability: currently available; IDM File No. 6.0.008. Description: revision to FORTRAN processor allows addition, subtraction, multiplication, and division of complex variables . . 174 SPS to FORTRAN conversion:. • . 2 programs provide for conversion of an SPS object program into form suitable for inclusion in FORTRAN subroutine library . . 175 Format Control Subroutines for 1620 Card FORTRAN Reference: . . . . . . W. M. Fleischman Worthington Corporation 401 Worthington Ave. Harrison, New Jersey. Availability: . . . . . currently available; IDM File No. 1.6.017. Description: These subroutines permit the use of both fixed length, variable point format, the standard FORTRAN print routine; and variable length, fixed point format. Modes may be interchanged within a single program. 12/62 .176 Interpretive systems Interpretive Programming System (Tape, Card) Reference: . File No. 2.0.001, No. 2.0.002. Availability: . . . . currently available. Description: IPS is an interpretive programming system for the 1620. The one-address language includes the commands of the Intercom System, widely used on the Bendix G-15. An Interpretive System for Performing Operations With Complex Numbers (Tape) Reference: . . . . W. D. Glauz and J. O. Hancock School of Aeronautical and Engineering Sciences Purdue University Lafayette, Indiana. Availability:. . . . currently available; mM File No.2. 0.003. Description: The program performs operations interpretively with complex numbers in floating point form. Program uses SPS language. " .177 Other Tracing, Dumping, Debugging: . . . . . 10 programs. Linear Programming, Scheduling, etc.: .. 17 programs. Industry applications: 27 programs. Mathematical routines: 20 programs. Graph plotting: . . . . 4 programs provide off -line and on -line graph plotting with annotations. Fixed-point/iloatingpoint conversion: 1 program for each conversion. "Editing: . . . . . . . . 4 programs, which allow automatic zero suppression and handle all alphameric characters. Floating dollar is not handled. Also 2 programs handle format when FORTRAN typeouts occur. .2 PROBLEM ORIENTED LANGUAGES: none. .3 AUTOMAP .31 Identity: AUTOMAP. Automatic Machining Program. .32 Origin and Maintainer: IDM. .33 Reference: . . . . . . . IDM Application Program Bulletin H20-8097, dated 1962. Machine Tool Controllers: . . . . . 'l .34 PRClBLL::M ORIENTED FACILITIES § 412:151.350 151. .35 .37 Description AUTOMAP is a general-purpose program for the numerical control of machine tools. It consists of three phases of computation: a. Translation from English-type statements, which describe: the outline of the part; holes within the part; control of the cutter location; control of the coolant; and tolerances, cutter radius, etc. ·b. Computation on the output of the first phase, which produces the path of the tool center during the actual cutting. c. A post-processing phase which produces information for direct use by the particular machine tool controller to be used. The language can define circles, lines and angles, and points. The cutter can be commanded to follow pre-defined circular curves or to follow a path defined iIi the statement itself. Detailed information must be obtained from ruM. AUTOMAP Instruction List (Cont'd) TLRAD: ONKUL: OFKUL: FEDRAT: GO (TO): . DLTA: . . . . . . axis. INDR, VECTOR: . GO LFT; GO RGT: . PARLEL: . . • . . . XSMALL, XLARGE: . ATANGL: LINE: . 36 Availability: . . . . . . '! POINT: CIRCLE: . 37 AUTOMAP Instruction List FWD: .. A complete list of instruction statements is not available, but· a number of the representative ones are listed below. TANTO: GO PAST: FINI: . . . FROM: . TOLER: specifies cutter radius. coolant on. coolant off. specified feed rate during cutting. move cutter along a path specified by additional information in the statement. cutter movement along Z specifies a direction of movement. move to left or right in specified path. parallel relation involved. pick condition involved with smaller (or larger) value of x. at an angle of. line passing through specified points. specified point . specifies circle radius and center . move in same general direction. tangency relation. pass by. all parts are completed. specifies starting point with respect to an origin. specifies tolerance on all cuts, including non-linear cuts. © 1962 by Auerbach Corporatian and BNA Incorporated 12/62 412:161.100 • II STANDARD EDP IBM 1620 Process Oriented Language FORTRAN I REPORTS PROCESS ORI ENTED LANGUAGE: FORTRAN I .14 §161. Description (Contd.) Restrictions: (Contd.) .1 GENERAL • 11 Identity: liM 1620 FORTRAN • "FORTRAN I." .12 Origin: liM General Products Division, San Jose, California. • 13 Reference: liM Publication C26-5619-0 . .14 Description IBM: 1620 FORTRAN is basically the FORTRAN I language. FORTRAN II is now available for the 1620 (see Sections :162 and :184), but the FORTRAN II translator requires a 1622 Card Read Punch and at least 40,000 positions of core storage. Therefore, the earlier and considerably less powerful "FORTRAN I" language, which can be compiled on the minimum 1620 configuration using either punched tape or card input-output, will continue to be widely used. The FORTRAN I system does not take full advantage of the 1620's variable word length capability. All integer items are represented internally by fourdigit fields, and all floating point items by ten-digit fields (eight digits for the fixed pOint part and two for the exponent). The initial versions of IBM: 1620 FORTRAN, released in December 1960 and April 1961, did not permit use of the FORMAT statement; instead, a fixed format was used for object program input and output data. The FORMAT statement is available in the October 1961 versions, described here, though there is still considerably less input-output flexibility than in FORTRAN II. Probably the most significant limitation of the FORTRAN I system is its inability to compile subroutines and functions written in the FORTRAN language and to combine separately-compiled subprograms at execution time. Other restrictions and extensions of the liM 1620 FORTRAN I language relative to liM 709/7090 FORTRAN II are summarized below. Restrictions : (1) The following statements are not permitted: ASSIGN Assigned GO TO SENSE LIGHT i IF (SENSE LIGHT i) IF ACCUMULATOR OVERFLOW IF DIVIDE CHECK IF QUOTIENT OVERFLOW READ INPUT TAPE WRITE OUTPUT TAPE READ TAPE WRITE TAPE READ DRUM WRITE DRUM END FILE REWIND BACKSPACE (2) Arrays are limited to two dimensions. (3) Double precision, complex, and logical operations are not permitted. (4) Names are limited to five characters. (5) Values of integer constants and variables cannot exceed + 9999. (6) Subscript expressions are limited (VARIABLE ± CONSTANT). ~o the form (7) Statement length is limited to 66 characters; continuations are not permitted. (8) Alphameric information can be handled only in the form of Hollerith items (FORMAT specification wH), which cannot be named or manipulated in storage; the Aw specification is not available. (9) Implied 00 loops in input-output statements are not permitted. (10) Arithmetic statement functions are not permitted. (11) Numeric displays in connection with PAUSE and STOP statements are not permitted. (12) Statement numbers may not be greater than 9999. (13) Symbolic coding cannot be incorporated into the FORTRAN source program. SUBROUTINE FUNcrION CALL RETURN COMMON EQUIVALENCE FREQUENCY Extensions: (1) The ACCEPT TAPE and PUNCH TAPE statements provide punched tape input and output. © 1962 by Auerbach Corporation and BNA Incorporated 12/62 412:161.140 IBM 1620 §l61. .14 : • 242 Designators Procedures Statement label: Description (Contd.) unsigned integer, 4 digits max. Function name:. Extensions (Contd.) same as variable being defined. Data Integer variables:. Real variables: •. Equipment Card: (2) The ACCEPT and TYPE (or PRINT) statements provide typewriter input and output. (3) Floating point data values from 10- 99 to 10+99 can be accommodated. initial I,}, K, L, M, N. any other initial letter. implied by verbs READ, PUNCH. Paper tape: . 15 Publication Dates IBM 1620 FORTRAN for Paper Tape: • . • . . . . December, 1960. IBM 1620 FORTRAN for Cards: • . . • . . • IBM 1620 FORTRAN with FORMAT for Paper Tape: .• IDM 1620 FORTRAN with FORMAT for Cards: . IBM 1620 FORTRAN Reference Manual, C26-5619-0: • • • •• Typewriter input: •• Typewriter output: . April, 1961. October, 1961. PROGRAM STRUCTURE .21 Divisions Procedure statements: . Data statements: • May, 1962. . algebraic formulae. comparisons and jumps. input and output. • FORMAT: describes the .layout, size, scaling and code of input- output data. DIMENSION: describes the elements in each dimension of an array or s!'!t or arrays. statements. characters; blanks are ignored. Structure of Data Names · 251 Qualified names: • • 252 Subscripts Number per item:. Appllcable to: Class may be Special index variable: • Any variable: Literal: Expression: Form may be Integer only: Signed: •• Truncated fraction: Rounded fraction: • 253 Synonyms:. • 26 Data Entities Arrays: Items: Hollerith item:. • 24 Names .241 Simple name formation Alphabet: • • Size:. • • • .' Avoid key words: Formation rule: . 12/62 floating point or integer variables. floating point variables or constants. integer variables or constants. Hollerith item. alphameric item that can only be used for oupput. A to Z, 0 to 9. 1 to 5 char. yes. first char must be a letter. . none . .0 to 2. · all variables. .no. · only integers. · yes, · at most N + C; where C is a literal. · C and N. . no. .no. . no. . none. Number of Names .261 All entities: • .23 implied by verbs PRINT, TYPE. C in column 1. key wOilCd DIMENSION. October, 1961. Procedure Entities Program: Statement: implied by verb ACCEPT. Comments: Translator control: • 25 .2 '. 22 implied by verbs ACCEPT . TAPE, PUNCH TAPE • • 262 Procedures: .263 Data Files: . Items: • Data levels: · 264 Equipment Card reader:. Card punch: Paper tape reader: Paper tape punch: . Typewriter:. • • symbol table holds up to 238 entries with 20,000 stoJ"- • age positiOns and 2,000 entries with 40,000 or 60,000 positions. An entry is required for each name, fixed or floating pOint number, and statement label in the source program. • see • 261, above. . limited by hardware; • see . 261, above. .1. : 1. .1. .1. • 1. .1. PROCESS ORIENTED LANGUAGE: FORTRAN I §161 . 27 • 346 Choice of external code: .347 Possible external codes: Region of Meaning of Names: • all names are universal with respect to the program in which they are defined, but are not available to separately-compiled programs; i. e., no COMMON statement. .3 DATA DESCRIPTION FACILITIES .31 Methods of Direct Data Description . 311 .312 .313 .314 .315 Concise item picture: . List by kind: Qualify by adjective: Qualify by phrase: Qualify bv code: • 316 . 317 • 318 .319 Hierarchy by list: Level by indenting: . Level by coding: Others Array size: Four-digit integer: Four-digit integers, 5: Floating points items; • 32 Files and Reels: • • 33 Records and mocks .331 . 332 • 333 .334 Variable record size: Variable block size: .• Record size range: Block size range: .335 Choice of record size: • .336 Choice of block size:. · 337 Sequence control: • .338 In-out error control: • 339 Blocking control: • 34 412: 161.270 FORMAT statement. no. no. no. yes; first letter of name • no. no. no. DIMENSION (4,7). FORMAT (14). FORMAT (514). FORMAT (F8. 3, EW. 4) for +999.999 and +.9999E+99. own coding• Logical: • • • • 343 Choice of external radix: . 344 Possible radices:. .345 Justification:. Range Integer numeric: Floating point numeric: .349 Sign provision: • 35 • 351 Constants Possible sizes Integer: • Floating point: Alphameric (Hollerith); • Subscriptable; • Sign provision: .352 Literals:. .353 Figuratives: • 354 Conditional variables: yes. no. yes. no. no. no; Hollerith constants only. . no. none. decimal only• integers automatic right justified. © ±9999. 10- 99 to 10+ 99 . 1 to 49 characters. no. optional. same as constants. own coding; e. g. , TEN = 10.0. computed GO TO. Special Description Facilities .362 Re-definition: • • 363 Table description Subscription: Multi-subscripts: Level of item: . .364 Other subscriptable entities: .4 OPERATION REPERTOIRE .41 Formulae by mUltiple reference to single FORMAT statement. none. yes. 2 max. variables. none. .411 Operator list +: *. I: by name • • fixed; 4 digits. • fixed; 8 digit fixed pOint part, 2 digit exponent. • optional. Data Values .361 Duplicate format: • • preset variable. • preset variable • • no limit. • maximum of 80 char for cards, 87 char for punched tape and typewriter. · input- output and FORMAT statements. • input-output and FORMAT statements. · 1 logical record per input or output statement. • automatic. • none; 1 or more blocks per logical record. fixed. none. .348 Internal item size · 36 Data Items • 341 Designation of class: • 342 Possible classes Integer: • Fixed point: Floating point: • Double precision: • Complex: Alphameric: •.• .348 Internal item size Variable size: Designation: none •. standard IBM 1620 punched tape and card codes; octal or binary codes not permitted. ** : = •• LOG (): SIN ( ): COS ():. EXP (): SQRT (): ATAN (): .412 Operands allowed Classes: Mixed scaling: Mixed classes: Mixed radices: Literals: •• 1962 by Auerbach Corporation and BNA Incorporated addition; also unary. subtraction; also unary. multiplication. division. exponentiation. is replaced by. natural log. sine. cosine. exponential. square root. arctangent. numeric only. yes • only in exponentiation and functions. no. yes. 12/62 412:161.413 IBM 1620 §161 · 45 • 413 Statement structure Parentheses a - b - c means: a + b x c means: a .;. b .;. c means: abC means: Open: • . . . • Close: . • • • • Advance to next record: . (a-b) - c. a + (b x c). (a';' b)';' c. Step back a record: Set restart point: Restart: Start new reel: Start new block: illegal; parentheses must be used. Size limit: . . . • . Multi-results: • • . 414 Rounding of results: 66 char; statements cannot be continued from one line to another. no. truncation of integers at each step in expression. floating .415 Special cases - fixed x = -x: . . . . • K =-K X = -X. .K=K+1 X=X+l. x = x + 1: x = 4.7y: ••• • K = 47*K/10 X = 4.7 * Y. x = 5x107 + y2: · too large X = 5. E7 + Y**2. .416 Typical examples:. X = (-BtSQRT(B*B-4. 0*A*C»/(2. O*A) Search on key: . Rewind: Unload: .46 .421 Matrix operations: • . 422 Logical operations: • .423 Scanning: . . • • • .464 Accept option: Object Program Errors Error Overflow: none. none. none. Discovery automatic In-out: Invalid data: . none. .43 Other Computation: .44 Data Movement and Format .441 . 442 . 443 .444 .445 Data copy example: Levels possible: . Multiple results: . Missing operands: Size of operands Exact match: Alignment rule Numbers:. • 446 . Alpha: Filler rule Numbers: Alpha: Truncating rule Numbers: Alpha: Variable size destination: Editing possible Change class: Change radix: Insert editing symbols Actual point: Suppress zeros: • Insert: . Float: Special moves: Code translation: Character manipulation: . .447 . 448 .449 12/62 . . TYPE or PRINT uses on-line typewriter. same as log. TYPE message and PAUSE. use SENSE SWITCH. .462 Messages to operator: · 463 Offer options: Operations on Arrays hardware checks automatic stop or set indicator. type error code and continue. PROCEDURE SEQUENCE CONTROL .51 Jumps .511 Destinations allowed: . • 512 Unconditional jump: • 513 Switch: implied, except for alpha or input- output. .514 Setting a switch: . . statement . Go to N• Go to (35, 47, 18), 1. (Note that Assigned GO TO is not available. ) 1= 2; causes branch to statement 47. Go to (35, 47, 18), I. . .515 Switch on data: right justified; normalized for floating .52 Conditional Procedures point. left justified. .521 Designators Condition: zeros. Procedure: blanks. .522 Simple conditions: IF. .523 Conditional relations: no . yes. no. automatic. automatic. automatic point. - sign only. none. automatic . none. Special Actions type error code and continue . .5 Y= X. items. none. not possible. truncate at left. truncate at right. own coding• own coding. READ, WRITE, PUNCH, PRINT, ACCEPT. not possible. none. none. own coding. implied in each inputoutput statement. none,. none. none • Operating Communication .461 'Log of progress: · 47 . 42 File Manipulation .524 Variable conditions: .525 Compound conditionals: • .528 Typical example:. . implied. expression or variable against zero. IF (A) nl, n2, n3: if value of expression A is less than, equal to, or greater than zero, go to statement nl, n2, or n3, respectively. always zero. no • IF (X**2.0 - 3.0) 29, 37,18; go to 29, 37 or 18 if x 2 - 3 is respectively less than, equal to or greater than zero. PROCESS ORIENTED LANGUAGE: FORTRAN I §161 .75 .53 Subroutines: not permitted. • 54 Function Definition by Procedure: not permitted. .55 .56 Operand Definition b}': Procedure: . . none. EXTENSION OF THE LANGUAGE: • .7 LIBRARY FACILITIES .71 Identit}':: .72 .751 Insertion of new item: • 752 Language of new item: .753 Method of call: .76 .562 Control by count: • 563 Control by step Parameter Special index: Any variable: . Step: Criteria: Multiple parameters: .564 Control by condition: . 565 Control by list: • 566 Nesting limit: .567 Jump out allowed: • 568 Control variable exit status: . current place to named end; e. g. , 00 173 I = 1, N, 2. none. no. integer only. positive integer. greater than. no. no. no • about 90. yes. .73 Storage Form: • 74 ,varieties of Contents: separate run . SPS o+", machine . functions by name in procedures; arithmetic and input-output routines are inserted automatically. T}':pes of Routine .761 Open routines exist: . 762 Closed routines exist: .763 Open-closed is variable: no • yes. no. .8 TRANSLATOR CONTROL .81 Transfer to Another Language: no • Optimizing Information Statements: none. .83 Translator Environment: no. .84 Target Computer Environment: no • .82 .85 Program Documentation Control: • -. no • available. can write new function in library (in SPS or .9 machine language). .91 FORTRAN subroutine library. Kinds of Libraries .721 Fixed master: • • 722 Expandable master: Mechanism none • Loop Control .561 Designation of loop Single procedure: First and last procedures: .6 412: 161.530 TARGET COMPUTER ALLOCATION CONTROL Choice of Storage Level: none. .92 Address Allocation: none • • 93 Arrangement of Items in Word in Unpacked Form: no. yes. paper tape or punched .94 cards. subroutines (25 standard). functions (6 standard, up to 19 user- defined). © .95 1 item per field is standard for numerics • Assi~ment of InputOutput Devices: InEut-OutEut Areas: 1962 by Auerbach Corporation and BNA Incorporated implied by input-output verbs • automatic; but overlapping operations are not possible. 12/62 , I 412: 162.100 • STANDARD EDP • IBM 1620 REPORTS Process Oriented Language FORTRAN II PROCESS ORI ENTED LANGUAGE: FORTRAN II § Restrictions: 162. (1) The following statements are not permitted: .1 GENERAL .11 Identity: mM 1620 FORTRAN II .12 Origin: . mM General Products Division, San Jose, California. .13 Reference: . mM Publication J26-5602-1. .14 Description ASSIGN Assigned GO TO SENSE LIGHT i IF (SENSE LIGHT i) IF ACCUMULATOR OVERFLOW IF DIVIDE CHECK IF QUOTIENT OVERFLOW READ INPUT TAPE WRITE OUTPUT TAPE READ TAPE WRITE TAPE READ DRUM WRITE DRUM END FILE REWIND BACKSPACE Compilation of source programs written in mM 1620 FORTRAN II requires a 1620 system with a 1622 Card Read Punch, at least 40,000 positions of core storage, Automatic Divide and Indirect Addressing. The FORTRAN II system offers the following major advantages over the earlier mM 1620 FORTRAN system described in Sections :161 and :183. (2) Double preCision, complex, and logical operations are not permitted. (1) Subroutines and functions can be written in the FORTRAN language and compiled independently of the main program whith which they will be used. (3) Statement length is limited to 330 characters on up to five cards. (4) Only seven standard library functions are provided (see Paragraph .411). (2) The COMMON and EQUIVALENCE statements can be used to reduce object program data storage space requirements. (5) Symbolic coding cannot be incorporated into the FORTRAN source program. (3) More flexibility is permitted in the FORMAT statement, including the use of implied DO loops. Extensions: (1) Internal item size is preset variable: 4 to 10 digits for all integers and 4 to 30 digits (including a 2-digit exponent) for all floating pOint items within a program. (4) The FORMAT specification Aw permits w alphameric characters to be read into or written from a named location and manipulated internally. (2) The ACCEPT TAPE and PUNCH TAPE statements provide punched tape input and output. (5) Arrays may have up to three dimensions. (6) Names may be up to six characters long. (3) The ACCEPT and TYPE (or PRINT) statements provide typewriter input and output. (7) Continuation cards can be used to handle source statements of more than 66 characters. (8) Internal item sizes can be preset to any value from 4 to 10 digits for integers and from 4 to 30 digits (including a 2-digit exponent) for floating point items. Restrictions and extensions of the mM 1620 FORTRAN II language relative to mM 709/7090 FORTRAN II are summarized below. © (4) Floating point data values from 10- 99 to 10+99 can be accomodated. .15 Publication Date: . . . June, 1962. .2 PROGRAM STRUCTURE .21 Divisions Procedure statements: 1962 by Auerbach Corporation and BNA Incorporated algebraic formulae. comparisons and jumps. input and output. 12/62 412:162.210 § IBM 1620 162. Divisions (Contd.) .21 Data statements: .22 Procedure Entities Program: Subroutine: FUnction: Statement: . 23 statements. subroutines. functions. statements. statements. characters; blanks are ignored. Data Entities Arrays: Items: . Hollerith item: Alphameric: .24 FORMAT: describes the layout, size, scaling and code of input-output data. EQUIVALENCE: used to cause two variables to have a common location or to specify synonyms. COMMON: used to cause a name to be common to more than one segment rather than local to each. DIMENSION: describes the elements in each dimension of an array or set of arrays. floating point or integer variables. floating point variables or constants. integer variables or constants. Hollerith item. alphameri~ item. alphameric item that can only be used for output. alphameric item that can only be input during a run. It can be used for output, or as a format statement. .242 Designators (Contd.) Typewriter input: Typewriter output: Comments: Translator control: . .25 Form may be Integer only: Signed: Truncated fraction: Rounded fraction: .253 Synonyms Preset: Dynamically set: Function name: Subroutine name: Data Integer variables: Floating point variables: Equipment Card: Paper tape: 12/62 A to Z, 0 to 9. 1 to 6 char. yes. first char must be a letter . unsigned integer, 5 digits max. same as variable being defined. no designator. none. o to 3. all variables. no. only integers. yes. at most C * N + C'; where C and C' are literals. C, C', andN. no. no . no. EQUIVALENCE statement. no. Numer of Names .261 All entities: Names .241 Simple name formation Alphabet: . Size: . Avoid key words: Formation rule: . 242 Designators Procedures Statement label: implied by verbs PRINT, TYPE. C in column 1. key words DIMENSION, EQUIVALENCE, COMMON. Structure of Data Names .251 Qualified names: .252 Subscripts Number per item: Applicable to: Class may be Special index variable: Any variable: Literal: Expression: .26 implied by verb ACCEPT. .262 Procedures: .263 Data Files: Items: Data levels: .264 Equipment Card reader: Card punch: Paper tape reader: Paper tape punch: Typewriter: symbol table holds up to about 500 entries with 40, 000 storage positions and about 900 entries with 60, 000 storage positions. An entry is required for each name, fixed or floating point number, and statement label in the source program. see .261, above. limited by hardware. see .261, above. 1. 1. 1. 1. 1. 1. initial I,J,K, L, M, N. any other initial letter . . 27 Region of Meaning of Names: implied by verbs READ, PUNCH. implied by verbs ACCEPT TAPE, PUNCH TAPE. • Ir-A-U-ER-BA-CH-.L~~ all names are local to the program, subroutine, or function in which they are defined unless specified in a COMMON statement . PROCESS ORIENTED LANGUAGE: FORTRAN II § 162. .346 Choice of external code: . 347 Possible external codes: .3 DATA DESCRIPTION FACILITIES .31 Methods of Direct Data Description .311 Concise item picture: ,312 List by kind: . 313 Qualify by adjective: .314 Qualify by phrase: . 315 Qualify by code: .316 Hierarchy by list: .317 Level by indenting: .318 Level by coding: .319 Others Array size: Four-digit integer: Four-digit integers,S: . Floating point items: .32 Files and Reels: . 33 Records and Blocks .331 Variable record size: .332 Variable block size: . 333 Record size range: .334 Block size range: . . 335 Choice of record size: . 336 Choice of block size: .337 Sequence control: .338 In -out error control: . 339 Blocking control: .34 FORMAT statement. no . no. no . yes; first letter of name. no. no. no. . 343 Choice of external radix: . 344 Possible radices: . 345 Justification: . .348 Internal item size Variable size: Designation: Range Fixed point numeric: Floating point numeric: DIMENSION (4, 7). FORMAT (14). Alphameric: FORMAT (514). FORMAT (F8.3, ElO.4) for +999.999 and +9999E+99. own coding. dynamic. dynamic. no limit. Maximum of 80 char for cards, 87 char for punched tape and typewriter • input-output and FORMAT statements . .349 Sign provision: .35 .351 Constants Possible sizes Integer: Floating point: Alphameric (Hollerith); Subscriptable: Sign provision: .352 Literals: .353 Figuratives: .354 Conditional variables: .36 automatic. none; 1 or more blocks per logical record. none . standard IBM 1620 punched tape and card codes; octal or binary codes not permitted. preset variable. by parameter card. 4 to 10 digits. 2 to 28 digits for fixed point part, 2 for exponent. 1 to 14 characters; maximum of 5 char if name begins with I,J,K,L,M, or N. optional. Data Values ±lOk , where k is a preset value between 4 and 10. 10-99 to 10+ 99. 1 to 87 characters (1 line). no . optional. same as constants. own coding; e. g., TEN = 10.0. computed GO TO. Special Description Facilities .361 Duplicate format: input-output and FORMAT statements. 1 logical record per input or output statement. Data Items .341 Designation of class: . 342 Possible classes Integer: Fixed point: Floating point: Double precision: Complex: Alphameric: Logical: 412: 162.300 .362 Redefinition: .363 Table description Subscription: Multi - subscripts: Level of item: . 364 Other subscriptable entities: by multiple references to single FORMAT statement. COMMON statement. EQUIVALENT statement. yes . 1 to 3. variables . none • .4 OPERATION REPERTOIRE .41 Formulae by name . yes. no. yes. no. no. yes. no. .411 Operator list +: *. I: **. none . decimal only. alpha automatic left justified. integers automatic right justified. © ABSF( ): LOGF ( ): SINF ( ): COSF ( ): EXPF ( ): SQRTF ( ): ATANF ( ): 1962 by Auerbach Corporation and BNA Incorporated addition; also unary. subtraction; also unary. multiplication. division. exponentiation. is replaced by . absolute' value. natural log. sine • cosine. exponential. square root. arctangent. 12/62 412: 162.412 § IBM 1620 162. .45 . 412 Operands allowed Classes: . . . Mixed scaling: Mixed classes: Mixed radices: Literals: . . . . 413 Statement structure Parentheses a - b - c means: a + b x c means: a ~ b ~ c means: abC means: Size limit: • Multi-results: .414 Rounding of results: . .415 Special cases fixed x = -x:.. K =- K X = -X. x=x+1: K=K+1 X=X+l. x=4.7y: •. K=47*L/10 X=4.7*Y. x = 5x107 + y2. 50000000 + L**2 X = 5.E7 + Y**2. . 416 Typical examples:. X = (-BtSQRTF(B*B-4.0*A*C»/(2.0*A) .42 Operations on Arrals none . none. none. .43 Other ComEutation: none. . 44 Data Movement and Format .441 . 442 .443 . 444 .445 Data copy example: Levels possible: Multiple results: . Missing operands: Size of operands Exact match: • Alignment rule Numbers: .446 . 447 . 448 .449 Alpha: Filler rule Numbers: Alpha: Truncating rule Numbers: . . Alpha: Variable size destination: Editing possible Change clas s: Change radix: Insert editing symbols Actual point: . . Suppress zeros: Insert: Float: . . . . Special moves: Code translation: Character manipulation: . 12/62 Step back a record: Set restart point: Restart: . . . Start new reel: Start new block: Search on key: Rewind: Unload: . . • . .46 Y=X . items . none. not possible . implied, except for alpha or input-output. right justified; normalized for floating point. left justified. same as log. PAUSE and decimal display, or TYPE message and PAUSE • use SENSE SWITCH • •464 Accept option: Object Program Errors Error Overflow: In-out: Invalid data: Discovery automatic hardware checks automatic PROCEDURE SEQUENCE CONTROL .51 Jumps .511 Destinations allowed: .512 Unconditional jump: . 513 Switch: • .514 Setting a switch: truncate at left. truncate at right. .52 none. statement. GOTON. GO TO (35,47,18), 1. (Note that Assigned GO TO is not available. ) I = 2; causes branch to statement 47 . GO TO (35,47,18), 1. Conditional Procedures .521 Designators Condition: Procedure: .522 Simple conditions: .523 Conditional relations: . automatic. automatic. automatic point. - sign only. none. automatic • Special Actions type error code and continue. stop or set indicator. type error code and continue . .5 .515 Switch on data: yes. no. TYPE or PRINT uses online typewriter. .462 Messages to operator: . .463 Offer options: zeros. blanks. no. READ, WRITE, PUNCH, PRINT, ACCEPT. not possible. none . none. own coding. implied in each inputoutput statement. none. none. none. Operating Communication .461 Log of progress: .47 . 421 Matrix operations: .422 Logical operations: .423 Scanning: own coding . own coding. Open: Close: Advance to next record: . . . numeric only. yes. only in exponentiation and functions. no. yes. (a-b) - c. a+(bxc). (a .;. b) ~ c. illegal; parentheses must be used. 330 char, on up to 5 cards. no. truncation of integers at each step in expression. floating File Manipulation . 524 Variable conditions:. .525 Compound conditionals: . . . IF. implied. expression or variable against zero. IF (A) nl, n2, n3: if value of expression A is less than, equal to, or greater than zero, go to statement n1, n2, or n3, respectively . always zero • no. PROCESS ORIENTED LANGUAGE: FORTRAN" § 412:.162.528 162. . 56 .528 Typical example: . 53 Subroutines .531 Designation Single statement: Set of statements First: Last: .532 Possible subroutines: . 533 Use in-line in program: .534 Mechanism Cue with parameters: Number of parameters: Cue without parameter: Formal return: . . Alternative return: . 535 Names Parameter call by value: . . . • . Parameter call by name: Non-local names: Local names: Preserved own variables: . 536 Nesting limit: . . 537 Automatic recursion allowed: .54 not possible. SUBROUTINE. END. any number of statements. no. CALL XXX (X, Y, Z). .561 Designation of loop Single procedure: First and last procedures: . . . 562 Control by count: .563 Control by step Parameter Special index: Any variable: Step: . . Criteria: Multiple parameters: .564 Control by condition: .565 Control by list: .566 Nesting limit: . . . .567 Jump out allowed: .568 Control variable exit status: limited only by statement length (330 char). .6 CALL XXX. RETURN at least once. none . .7 LIBRARY FACILITIES .71 Identity: .72 Kinds of Libraries EXTENSION OF THE LANGUAGE: . . . . Set of statements First: Last: .542 Level of procedure: .543 Mechanism Cue: . . . . . Formal return: . 544 Names Parameter call by value: . . . . . Parameter call by name: . • . . . Non-local names: Local names: Preserved own variables: . . Operand Definition by Procedure: none. current place to named end; e.g., DO 173 I = 1, N, 2 • none . no. integer only. positive integer. greater than. no. no . no. at least 80. yes. available. can write new function in library. FORTRAN II subroutine library. none. yes. use COMMON. all. all. no limit. no. .721 Fixed master: . . .722 Expandable master: no. yes. .73 Storage Form: punched cards . .74 Varieties of Contents: . Function Definition by Procedure . 541 Designation Single statement: . 55 IF (X**2.0 - 3.0) 29,37,18; ~ to 29, 37 or 18 if x 2 -3 is respectively less than, equal to or greater than zero. Loop Control "arithmetic statement function" preceding first executable statement; e.g., FIRSTF (X) = A*X+B. .75 Mechanism .751 Insertion of new item: .752 Language of new item: .753 Method of call: FUNCTlON. END. any number of statements. by name in expression. RETURN . none. yes. use COMMON. all. all. none. © 1962 by Auerbach subroutines (27 standard). functions (7 standard, up to 43 user-defined) . .76 separate run. SPS or machine. functions by name in procedures; arithmetic and input-output routines are inserted automatically. Types of Routine .761 Open routines exist: .762 Closed routines exist: . . . . . 763 Open-closed is variable: no. yes . no. .8 TRANSLATOR CONTROL .81 Transfer to Another Language: Corporation and BNA Incorporated no. 12/62 412: 162.820 IBM 1620 162. .82 Optimizing Infonnation Statements § .821 Process usage statements: .822 Data usage statements: .83 .84 . 85 12/62 none. COMMON. EQUIVALENCE. Translator Environment: no. Target Computer Environment: no. .9 TARGET COMPUTER ALLOCATION CONTROL ".91 Choice of Storage Level: no. .92 Address Allocation: none. .93 Arrangement of Items in Word in Unpacked Form: • . . . . .- .94 Program Documentation . • . . . no. Control: .95 Assignment of InputOutput Devices: Input-output Areas: 1 item per field is standard. implied by input-output verbs . automatic. PROCESS ORIENTED LANGUAGE: FORTRAN" § 162. . 56 .528 Typical example: . 53 Cue without parameter: Formal return: . Alternative return: . 535 Names Parameter call by value: Parameter call by name: Non -local names: Local names: Preserved own variables: . 536 Nesting limit: .537 Automatic recursion allowed: . not possible. SUBROUTINE. END. any number of statements. no. CALL XXX (X, Y, Z). limited only by statement length (330 char). CALL XXX. RETURN at least once. none . Loop Control .561 Designation of loop Single procedure: First and last procedures: • . . 562 Control by count: .563 Control by step Parameter Special index: Any variable: Step: . . Criteria: Multiple parameters: .564 Control by condition: .565 Control by list: .566 Nesting limit: . • . .567 Jump out allowed: .568 Control variable exit status: .6 EXTENSION OF THE LANGUAGE: . . . . .7 LIBRARY FACILITIES .71 Identity: . 72 Kinds of Libraries Set of statements First: Last: .542 Level of procedure: .543 Mechanism Cue: . . . . . Formal return: .544 Names Parameter call by value: . . . . . Parameter call by name: . . . . . Non-local names: Local names: Preserved own variables: • . Operand Definition by Procedure: none. current place to named end; e.g., DO 173 I = 1, N, 2 • none . no. integer only. positive integer. greater than. no. no . no. at least 80 . yes. available. can write new function in library. FORTRAN n subroutine library. none . yes. use COMMON. all. all. no limit. no. .721 Fixed master:. . .722 Expandable master: no. yes. .73 Storage Form: punched cards . .74 Varieties of Contents: . Function Definition b,y Procedure . 541 Designation Single statement: . 55 IF (X**2.0 - 3.0) 29,37,18; ~ to 29, 37 or 18 if x 2 -3 is respectively less than, equal to or greater than zero. Subroutines .531 Designation Single statement: Set of statements First: Last: .532 Possible subroutines: . 533 Use in-line in program: . 534 Mechanism Cue with parameters: Number of parameters: .54 412:·162.528 "arithmetic statement function" preceding first executable statement; e.g., FIRSTF (X) = A*X+B. FUNC'qON. END. .75 Mechanism .751 Insertion of new item: .752 Language of new item: . . . .753 Method of call: any number of statements. by name in expression. RETURN. none. yes. use COMMON. all. all. none. © subroutines (27 standard). functions (7 standard, up to 43 user-defined) • .76 separate run. SPS or machine. functions by name in procedures; arithmetic and input-output routines are inserted automatically. Types of Routine .761 Open routines exist: .762 Closed routines exist: . . . . . 763 Open-closed is variable: no. yes . no. .8 TRANSLATOR CONTROL .81 Transfer to Another Language: 1962 by Auerbach Corporation and BNA Incorporated no. 12/62 412:162.820 IBM 1620 § 162. .82 Optimizing Infonnation Statements .821 Process usage statements: .822 Data usage statements: .83 .84 .85 12/62 none. COMMON. EQUIVALENCE. Translator Environment: no. Tar&!:t Computer Environment: no. .9 TARGET COMPUTER ALLOCATION CONTROL ".91 Choice of Storage Level: no. .92 Address Allocation: none. .93 Arrangement of Items in Word in Unpacked_ Form: .94 Program Documentation Control: no. .95 Assignment of InEutOutEut Devices: Input-output Areas: 1 item per field is standard. implied by input-output verbs. automatic. .- 412: 163.100 II • STANDARD EDP IBM 1620 REI'ORTS Process Oriented Language GOTRAN PROCESS ORI ENTED LANGUAGE: GOT RAN § 163. • 14 .1 GENERAL • 11 Identity: GOTRAN . .12 Origin: IBM General Products Division, San Jose, California. .13 Reference: • .14 Description: IBM Publication C26-5594-0.' The GOTRAN language is a severely restricted version of FORTRAN that serves as the source language for IBM 1620 GOT RAN, a TTload-and-go" algebraic programming system. The GOTRAN program (Section :192) accepts source statements from punched tape, cards, or keyboard; compresses and loads them into core storage; and then executes them interpretively. The GOTRAN language is so limited in scope and flexibility that it has been found inadequate even for use as an educational tool by a number of universities. These limitations are summarized in the following list of significant restrictions and extensions of the GOT RAN language relative to IBM 709/7090 FORTRAN. Description: (Contd. ) Restrictions (Contd.) (3) Arrays are limited to one dimension, and integer arrays are not permitted. (4) Subscripts must be single integer variables; no subscript arithmetic is permitted. (5) The only integer variable names permitted are I, J, K, L, M, and N, so no more than six different integer variables can be used in a program. (6) Nested DO loops are limited to six levels. (7) Floating point variable names are limited to four characters. (8) Values of integer constants and variables cannot exceed 999. (9) Integer multiplication, division, exponentiation and functions are not permitted. (10) The only functions available are LOG, EXP, SQR, SIN, COS, and ATN. (11) Statement numbers may not be greater than 999. Restrictions (1) The following statements are not permitted: SUBROUTINE CALL RETURN FUNCTION COMMON EQUIVALENCE FREQUENCY ASSIGN Assigned GO TO Computed GO TO SENSE LIGHT i IF (SENSE LIGHT i) IF (SENSE SWITCH i) IF ACCUMULATOR OVERFLOW IF DMDE CHECK IF QUOTIENT OVERFLOW FORMAT READ INPUT TAPE WRITE OUTPUT TAPE READ TAPE WRITE TAPE READ DRUM WRITE DRUM END FILE REWIND BACKSPACE (2) Each arithmetic statement may contain only one operation symbol; e. g., C = A + B is permitted, but C = A + B - D is not. © (12) No continuation cards are permitted; statement length cannot exceed 72 characters. (13) Input and output formats are fixed: each READ statement inputs one to five variables (one per card or tape record); each PUNCH statement outputs one to five variables (one per card or tape record); and each PRINT statement types one to five variables on a single line. (14) Implied 00 loops in input-output statements are not permitted. (15) Hollerith constants and alphameric items are not permitted. (16) Double preCision, complex, and logical operations are not permitted. (17) Symbolic coding cannot be incorporated into the source program. Extensions (1) The PLOT statement can plot curves on the console typewriter, using any typewriter character. Maximum width of the plotting field is 66 characters, and the variable(s) to be plotted must be scaled between 0 and 66. (2) Floating point quantities from 10- 50 to 10+4 9 can be represented. 1962 by Auerbach Corporation and BNA Incorporated 12/62 412: 164.100 • • STANDARD EDP IBM 1620 REPORTS Process Oriented Language FORGO PROCESS ORI ENTED LANGUAGE: FORGO Restrictions: §l64 (1) The following statements are not permitted: .1 GENERAL .11 Identity: FORGO .12 Origin: Charles W. McClure, Kenneth R. Sanderson, and Joel Davis; Engineering Computing Laboratory, University of Wisconsin. Source of information: . C. H. Davidson, Associate Professor, University of Wisconsin. .13 Reference: • . . . . . 1620 General Program Library No.2. O. 008 and 2. O. 009. .14 Description The FORGO language is a dialect of FORTRAN that is used in writing source programs for the FORGO and FOR-TO-GO systems. FORGO is a "load and go" algebraic programming system developed primarily for educational purposes at the University of Wisconsin. FOR-TO-GO is a closely related system that uses virtually the same source language, but in order to accommodate larger object programs, the FOR-TO-GO translator is overwritten by the subroutine package before the object program is exe~ cuted. The FORGO and FOR-TO-GO programs and their configuration requirements are described in Section :193. The FORGO source language can best be described as a restricted version of IBM 709/7090 FORTRAN. Though there are certain incompatibilities, the compatible subset of the two languages will be adequate for defining many routines. In general, only minor changes will be required to convert a working FORGO source program into 709/7090 FORTRAN or 1620 FORTRAN I or II. The use of FORMAT statements for input and output data is optional. When used, all the fleXibility of the 709/7090 FORMAT statement is available. When FORMAT numbers are omitted from input statements, a free style of input is permitted, and "almost any number recognizable to a human being" will be correctly handled. A comma or one or more blanks are used to separate numerical fields. Output statements without FORMAT numbers result in a fixed output format with up to ten items per line. It is assumed that input and output will be on punched cards and that the output cards will be listed on an IBM 407. The only alternative input-output device is the console typewriter; no paper tape version is available. The restrictions and extensions of the FORGO language relative to mM 709/7090 FORTRAN are summarized below. © FUNCTION COMMON EQUN.ALENCE FREQUENCY ASSIGN Assigned GO TO SENSE LIGHT i IF (SENSE LIGHT i) IF ACCUMULATOR OVERFLOW IF DNIDE CHECK IF QUOTIENT OVERFLOW READ INPUT TAPE WRITE OUTPUT TAPE READ TAPE WRITE TAPE READ DRUM WRITE DRUM END FILE REWIND BACKSPACE (2) Arrays are limited to two dimensions. (3) Double precision, complex, and logical operations are not permitted. (4) Names are limited to five characters. (5) Values of integer constants and variables cannot exceed 99, 999. (6) No continuation cards are permitted in FORGO; one is permitted in FOR-TO-GO. (7) Arithmetic statement functions are not permitted. (8) Statement numbers may not be greater than 9999. (9) Symbolic coding cannot be incorporated into the source program. (10) No subroutine arguments can be specified in the SUBROUTINE or CALL statements; all names are universal to the main program and all subroutines compiled with it. (11) In raising a floating point quantity to a fixed point power, the power term may not involve fixed point operations; e. g., A**(I+J) is not permitted. (12) IF (SENSE SWITCH i) tests one of ten internal pseudo switches that can be set or reset only via the typewriter; the console Program Switches are used to control the FORGO system. (13) No more than eleven statement numbers may appear in the list of a Computed GO TO statement. 1962 by Auerbach Corporation and BNA Incorporated 12/62 412: 164.140 § IBM 1620 .14 164 . . 14 r:fescription (Contd.) Description (Contd. ) Extensions (Contd.) Restrictions: and up to 10 items per line. Output format 112 or IPEI2.4 is automatically supplied, depending on whether the variable has a fixed or floating point name. (Contd.) (14) The only functions available are SIN, COS, ATAN, EXP, LOG, SQRT, and ABS. (15) It is not possible to ·read in all the elements of an array by simply specifying the array name (which has previously been listed in a DIMENSION statement) in a READ statement. Extensions: (1) Use of FORMAT statements is optional; when not used, input format is virtually unrestricted, and output format is fixed at 12 positions per item 12/62 (2) Floating point quantities from 10- 51 to 10+ 49 can be represented. (3) Use of the terminal F is optional in all function names, and other variations in function naming are permitted; e.g., SQR, SQRF, SQRT, and ~QRTF are all acceptable names for the square root function. (4) Subscripts may be of the form: 1* J ± K. 412:171.100 • STANDARD EDP • REf'{JRTS IBM 1620 M. O. Language SPS MACHINE-ORIENTED LANGUAGE: SPS § 171. .14 .1 GENERAL .11 Identity: mM 1620/1710 Symbolic Programming System. . 12 Origin: . mM General Products Division' Applied Programming. San Jose, California. . 13 Reference: . . . . . . . IBM Reference Manual C265600-0; IBM 1620/1710 Symbolic Programming System. .14 Description 1620/17l0 SPS is an extension of 1620 SPS, which has been in use since late 1960. 1620/1710 SPS is available for punched tape or card oriented systems. Card systems have a speed advantage because data transfer is buffered. The name SPS in this section refers to 1620/1710 SPS. SPS translates codes used for the 1710 Control System, but these are not described here_ The 1710 Control System is designed to control industrial processes and is described in appropriate mM manuals. It uses the 1620 system as a digital computer. The number of labels permissible in a basic card system (20, 000 digits store) is limited to 176 threecharacter symbols (fewer if larger symbols are used). The larger storage configurations are useful in increasing the symbol table size to 1,610 or 3, 020 three-character symbols, using additional storage of 20, 000 and 40, 000 digits. 1710 SPS II language permits an unlimited number of labels by employing repeated-pass assembly; see 1710 Control System Bulletin, mM Form J26-5643-0 . It may be noted that there is little similarity between SPS for the 1620 and SPS for the mM 1401. .15 Publication Date:. . .• 1962. .2 LANGUAGE FORMAT .21 Diagram: • BPS is a straightforward language allowing symbols to name procedures, operands, and constants. It has a number of pseudo operations for defining symboIs, areas, and tables, and two which provide control of object program segmentation. BPS has the facility of providing identifying header characters which modify labels of procedures following the heading statement. In this manner groups of labels containing some identical labels can be differentiated from each other. Addl:-ess adjustment (i. e., relative addressing) may be performed using actual or symbolic bases and adjustment values. Adjustment operations allow several adjustments to one base; each adjustment can be an add, subtract, or multiplication operation. A flag indicator operand allows simple specification of locations where flags are to be set in instructions. © refer to SPS Coding Sheet. 412: 131. 2. • 22 Page No.: Line: . sheet identification. line identification; every tenth number used. Label: names the location of an instruction or data item. actual or mnemonic operaOperation: tion code, or mnemonic representation of a pseudo operation or macro code. Operands & Remarks: . contains actual or symbolic operands, flag indicator operand, and comments. Number of operands varies depending on machine instruction, pseudo or macro code. BPS provides macro codes which call subroutines for 16 floating point arithmetic and mathematical functions, and one fixed point divide function. Up to 12 additional macros may be specified for each installation, calling available subroutines or ones written at the installation. The subroutine library is available in five forms, to handle the following conditions: Fixed or variable length mantissa floating point numbers; 1620 with or without Automatic Divide special feature; and variable length mantissa floating point operations using the Automatic Floating Point special feature. Description (Contd.) • 23 Corrections: • . • . . . spare lines at bottom, of coding sheet, and gaps in line number sequence. .24 Special Conventions .241 Compound addresses: .242 Multi -addresses: . 243 Literals: . . . • • 1962 by Auerbach Corporation and BNA Incorporated BASE + ADJUSTMENT. BASE - ADJUSTMENT. BASE * ADJUSTMENT (multiplication). Form is BASE (op) ADJI (op) ADJ2 (op) ADJ3 ••.. ; limited by Operands and Remarks field length (59 char). none. only occur in address fields of specific instruction codes, 12/62 412:171.244 § IBM 1620 171. .244 Special coded addresses: .245 Other Actual core storage address: . . Flag indicator operand: . . 1 to 5 decimal digits. specifies digit locations for flags in instructions. Flag in literal to delimit field: . • automatically set at 5 decimal digits unless flag indicator operand is used for flag control. $ sign used in label. Heading indication: . Record mark insertion: • . . . . Comment insertion: Flag for indirect addressing: . .3 LABELS . 31 General refers to this address in machine instructions. 01< refers to storage address last allocated when used in pseudo operation. 01< @sign used. in label, column 6. 01< may use minus sign preceding operand. . 311 Maximum number of labels Labels are used for addresses of constants, data items, procedures. Number depends on size of core store and size of label according to table shown below: LABEL SIZE 2 3 4 5 6 Char. Char. Char. Char. Char. STORE SIZE (DECIMAL DIGITS) 20,000 40,000 60,000 Card Tape Card Tape Card Tape 205 176 154 137 137 304 261 228 203 203 1880 1610 1410 1250 1250 1970 1690 1480 1310 1310 3540 3020 2650 2360 2360 3630 3120 2730 2420 2420 · 322 Labels for library routines: . . . . . . 323 Labels for constants: · 325 Labels for records: . .326 Labels for variables: new macro code mnemonics must be written for added subroutines; these must be alphabetic, and 1 to 4 char long. same as Procedures • same as Procedures. same as Procedures. • 33 Local Labels: none. .4 DATA .41 Constants .411 Maximum size constants Machine Form External Form Integer Decimal: 50 decimal digits. Octal: . . . none. Hexadecimal: none. Fixed numeric: . none as such; decimal point is implicit. Floating numeric Decimal: by programming, using DC pseudo op twice. Octal: •. none . Hexadecimal: none. Alphabetic: 50 char max . Alphameric: 50 char max. .412 Maximum size literals Machine Form External Form Integer limited to 5 decimal digits Decimal: for practical use. Octal: . . none. Hexadecimal: none. none as such; decimal point Fixed numeric: . is implicit. none. Floating numeric: Alphabetic: . none. Alphameric: none. .. .42 Worki!!& Areas Number of Labels .421 Data layout: .312 Common label formation rule: . . . . . . . . 313 Reserved labels: . . . 314 Other restrictions: • 315 Designators: • . . . • 316 Synonyms permitted: . 32 yes. none . none . none . yes; 2 or more labels may refer to same storage area address if assigned by a defined symbol or an actual value. .422 Data type: .423 Redefinition: • .43 Input-Output Areas .431 Data layout: Universal Labels • 321 Labels for procedures Existence: . . . . Formation rule First character: Others: • . . Number of characters: 12/62 specified in program by pseudos. tabulated in program by pseudos. more than 1 label may have same address. Address should be defined symbol or actual value. .432 Data type: .433 Copy layout: specified in program by pseudos . impliCit by layout. no. optional. numeric, alphabetic, or special; specials are equal sign (=), slash (/), at sign (@), and period (.). same as first. 1 to 6; at least one of them must be an alphabetic or special char. .5 PROCEDURES .51 Direct 0eeration Codes .511 Mnemonic Existence: Number: Example: . Comment: optional. 93. A= Add. includes all instruction variations. MACHINE·ORIENTED LANGUAGE: SPS § 412:171.512 171. .64 . 512 Absolute Existence: Number: Example: . Comment: . 52 area of library . optional. 47. 21 = Add. variations specified by values in operand fields. Macro-Codes • 521 Number available Input-output: . . Arithmetic: . . . Math functions: . Error control: . Restarts: . . . . Data movement: · 522 Examples: . . .523 New macros:. . . .53 Interludes: . . . . . · 54 Translator Control . 541 Method of control Allocation counter: • Label adjustment: Annotation: . . . . .542 Allocation counter Set to absolute: . Set to label: .• Step forward:. . Step backward: . Reserve area: · 543 Label adjustment Set labels equal: Set absolute value: • Clear label table: . 544 Annotation Comment phrase: O. 7. .. 8. O. O. 2. FA = Floating Add. up to 12; into library after separate assembly. .65 psuedo operation. pseudo operations. see.544. DORG pseudo. DORG pseudo. by address adjustment. by address adjustment. no. only by assignment of actual address to each. by pseudos. not possible. * in label column, .6 SPECIAL ROUTINES AVAILABLE · 61 Special Arithmetic Input-Output Control: .66 Sorting: . . . . . . . . by insertion into expandable area of library . .67 Diagnostics: . . . . . . by insertion into expandable area of library • .7 LffiRARY FACILITIES . 71 Identity: . . . . . . . 72 Kinds of Libraries: . . fixed master of 17 subroutines and expandable master of up to 12 subroutines. Expandable master may be standard in installation, or private. . 73 Storage Form: . . . . . 74 Varieties of Contents: . floating point arithmetic and mathematical functions; fixed point divide. See Paragraph. 52. ,.75 . 612 Method of call: . . · 62 Special Functions · 621 Facilities: . . . · 622 Method of call: . . 63 .631 Facilities: . . . .76 Types of Routines .761 .762 .763 . 764 Open routines exist: . . Closed routines exist:. Open-closed is optional: Closed routines appear once: . . . . . • . . . . 632 Method of call: • © no. yes; all macros . no. yes. .8 MACRO AND PSEUDO TABLES .81 Macros Description FA (Floating Add): . . FS (Floating Subtract): FM (Floating Multiply): . . .•• • . FD (Floating Divide): DIY (Fixed Point Divide): . • . . . . FSRS (Floating Shift Right): . . . . . . read and execute segment of object language. use TCD and TRA pseudos . cards . punched tape. .751 Insertion of new item: . special assembly run, and insertion into subroutine deck or punched tape. .752 Language of new item:. machine language assembled from SPS. • 753 Method of call: •. macro code . 8 floating point functions. macro codes. Overlay Control subroutine group for 1620/1710 SPS. Mechanism Code floating point operations, fixed point divide, floating shifts and mantissa length adjustment. macro codes . by insertion into expandable area of library. none. or following operands in operand and remarks field. Title phrase: . . . • . none (use comments). . 545 Other Ignore a label'following Heading statement: . • . . • $ sign prefixed to label concerned. .611 Facilities: . . . . • by insertion into expandable Data Editing:. . . . . FSLS (Floating Shift Left): . . . . 1962 by Auerbach Corporation and BNA Incorporated (A) + (B) -;:,A. (A) - (B) ~A. (A) x (B) -':>A. (A) 7 (B) -">-A. (A) 7 (B)---:;" standard area. Positioning control of operands included. specified significant portion of mantissa shifted right. specified significant portion of mantissa shifted left. 12/62 412:171.810 IBM. 1620 § 171 • • 81 .82 Macros (Contd.) Code TFLS (Transmit Floating): . . . BTFS (Branch and Transmit Floating): (B)~A. address of next instructions stored; (B) ~A-1; branch to A. FSQR (Floating Square Root): . . FSIN (Floating Sine):. FCOS (Floating Cosine): . . . . • . . FATN (Floating Arctangent): . . . . FEX (Floating Exponential (Natural»: • FEXT (Floating Exponential (Base 10»: • FLN (Floating Logarithm (Natural»: . FLOG (Floating Logarithm (Base 10»: .82 {(B)~A. sin(B) ~A. cos(B)-?>-A. arctan(B) e ~A. exp(B)~A. 10 exp(B) ~ A. naturallog(B) ~A. common 10garithm(B) ~A. Pseudos Code DS (Define Symbol (Numerical»: • . Description assigns address (also considered a value) and field length, at low-order end of field. * DSS (Define Special Symbol (Numerical»: like DS, but assigns address to high-order end of field. DAS (Define Alphalike DS, but allows twue meric Symbol): . . field length specified because of alphameric field. DC (Define Constant assigns field length, con(Numerical»: . . . stant, and address at loworder end of field. * Field is flagged. DSC (Define Special Constant like DC, but assigns ad(Numerical»: . . . dress to high-order end of field. Field is not flagged. DAC (Define Alphaassigns field length, alphameric Constant): . meric constant, and address at left-hand end of field plus I position. Specified field length is doubled. * 12/62 Pseudos (Cont'd) Description DSA (Define Symbolic Address): • . • . • . assigns table of up to 10 actual addresses of symbolic or actual addresses in pseudo. Address is location of left-most address in table. Address is assigned by processor. DSB (Define Symbolic Block): . . . . • . • assigns left-most address of array of numbers, with element size and number of elements speCified. * DNB (Define Numerical Blank): . . • . • • • defines field of blanks, specifying number of blanks. Field is not flagged. * DORG (Define Origin): sets a value into location assignment counter, defined by symbolic or actual address. DEND (Define End): . halts computer after object program is loaded. If symbolic or actual address is specified, computer jumps to address (start) and starts execution, when start key is hit. SEND (Special End) (Tape system only): halts assembly until start key is hit. HEAD (Heading): . . . precede following labels of 5 char or fewer with the specified symbol. TCD (Transfer Control and Load): . . causes loading of object. program intO object computer,to halt, and a branch to occur to start ·of program after arithmetic tables are loaded. TRA (Transfer to Return Address): • causes a) stop of object computer program execution, b) reading of loader routine, and c) loading of next segment of object program. * address may be actual or symbolic. If address is left blank, it is assigned by processor. 412:172.100 • II STANDARD EDP IBM 1620 M. O. Language One-Pass Tape SPS "l'ORTS MACHINE ORIENTED LANGUAGE: ONE-PASS TAPE SPS § 172. .14 .1 GENERAL .11 Identity: IBM 1620 One-Pass Tape Symbolic Programming System (Punched Tape). .12 Origin: IBM. . 13 Reference: . IBM 1620/1710 Symbolic Programming System (1962); IBM Reference Manual C26-5600-0. Description (Contd. ) Numerical Constant, and Define Symbolic Address); and using the control pseudos DORG, DEND, and HEAD, for allocation counter control. The restrictions on the pseudo operations prevent easy program segmentation. Automatic floating point operations and automatic divide operations are not permitted. Indirect addressing (special feature) may be used with the system. Additional restrictions are listed below: (1) Numeric operation codes are not allowed. SPS One -Pass for Paper Tape; Program 1620-SP007 (December, 1960). .14 Description (2) Address adjustment is limited to addition and subtraction. (3) An instruction operand may contain at the most one previously undefined symbolic term. The 1620 One-Pass SPS program has been withdrawn by IBM, but is still used at a number of installations. The One-Pass SPS language is designed for the punched tape 1620 system, and reduces tape handling requirements and assembly time from that of the full two-pass SPS system (described in section: 171). It operates on a restricted language format and a restricted set of pseudo operations, compared to the 1620/1710 two-pass SPS; otherwise, the two languages are essentially the same. No macro codes and their corresponding subroutines may be used. These restrictions limit the language to specifying standard 1620 machine operations; using the pseudos DS, DC, and DSA (Define Numerical Symbol, Define © (4) In area definition operands, all symbols must have been previously defined. (5) The flag indicator operand may specify only one flag position in an instruction. However, a negative operand will receive a flag in the least significant position, as usual. (6) The maximum number of labels permitted is 199. (7) The first character of a label must be alphabetic; no special characters are allowed in the label. 1962 by Auerbach Corporation and BNA Incorporated 12/62 412:181.100 .STANDAAD II EDP IBM 1620 REPORTS Program Translator SPS PROGRAM TRANSLATOR: SYMBOLIC PROGRAMMING SYSTEM § 181. .12 .1 GENERAL . 11 Identity: • . . . . . . . 1620/1710 SPS, Card System. 1620-SP-020. There is no check on overflow of the storage allocation counter. The translator cannot allocate storage greater in capacity than that of the translating computer. 1620/1710 SPS, Tape System (punched tape). 1620- SP- 021. . 12 Description (Cont'd) The translator program can be modified easily to run on a computer with increased storage capacity; a translator program so modified may not be run on a system with the smaller amount of storage . Description Up to 12 additional subroutines may be written for insertion into the translator library. A macro code and number must be assigned, and the subroutine written in SPS language and assembled. The assembled program is added to the macro operation library (card or punched tape). This is a two-pass translator. A restricted version of it, now withdrawn, is known as the 1620 One-Pass Tape Processor and is described in section : 182. The first pass of the source punched tape or cards provides information for setting up a symbol table, and for certain checking and error typeouts. Input to the first pass can be from the typewriter, in which case punched tape or cards are output. Errors in either pass may be corrected as they occur, or after the pass, which is re-run. On the second pass assembly, listing, and error checking is per formed. Subroutines used in the program (macro operations) are automatically read, relocated, and punched out. Assembled output includes a loader routine, arithmetic tables, and the relocated machine-language subroutines used by the program. Also included is the PICK subroutine, a supervisory subroutine which coordinates the use of the other subroutines at run time. PICK is used once per macro, requiring nine milliseconds per use. Once the object program is loaded, it may be executed immediately when the start key is depressed. In a card system, object language output can be in uncondensed or condensed form, selected by the setting of a sense switch. In condensed form, one card contains five machine language instructions. In uncondensed form, procedures are punched in the form of two cards per symbolic instruction, including comments. Pseudos require two or three cards, except for the TCD pseudo (11 cards). Each macro requires several cards. In a punched tape system, a machine language tape is produced. Full listing on the typewriter is optional. An adjunct to the translator program can provide a condensed card deck from an uncondensed one in a separate pass. The uncondensed deck can be listed off-line on a 407 printer. The maximum size of the symbol table (card system) is 176 three-character labels; this may be increased to I, 610 and 3, 020 labels in machines with 40,000 and 60, 000 digits of storage, respectively. Maximum label size is six characters. Note that 1710 SPS II translator permits an unlimited number of labels by employing repeated-pass assembly; see 1710 Control System Bulletin, Form J26-5643-0. Translating may be done alternatively on an IBM 700/7090 system at a speed of approximately 1,000 source statements per minute. The source program must be transcribed off-line to magnetic tape. . 13 Originator:. • . . . . . IBM General Products Division, Applied Programming. San Jose, California. . 14 Maintainer: as above. .15 Availability: spring, 1962. .2 INPUT .21 Language .211 Name: .212 Exemptions: .22 The translator keeps track of object computer addresses, and allocates the start of the subroutine area following the program area. However, no check is 'made that there will be sufficient room to store the program and subroutines in the object 7omputer; this is the programmer's responsibility. © 1620/1710 Symbolic Programming System (SPS). none. Porm .221 Input media: .222 Obligatory ordering: . . 223 Obligatory grouping: . 1962 by Auerbach Corporation and BNA Incorporated punched cards, punched tape, typewriter, depending on processor. none. none. 12/62 IBM 1620 412:181.230 § 181. · 23 Size Limitations .231 Maximum number of source statements:. · 232 Maximum size source statements: . • . . . · 233 Maximum number of data items: . .234 Others Maximum size of symbol table: . . .4 TRANSLATING PROCEDURE .41 Phases and Passes Pass 1: . . . . . . • checks for valid mnemonic operation codes. forms symbol table. assigns storage locations to instructions, work areas, constants. performs checking for producing error messages. punches tape or cards If input was from the typewriter. Pass 2: . . . . . . . . . punches loader. forms numeric operation codes. forms numeric operands, adjusts operands, sets flags. performs checking for producing error messages. punches (and types) listing. reads, assigns and punches subroutines called for. punches arithmetic tables. no prat:ticallimit if overlays are used in object program. 75 char. depends on space available in symbol table. see table below. STORE SIZE (DECIMAL DIGITS) LABEL SIZE 2 3 4 5 6 Char. Char. Char. Char. Char. 20,000 40,000 60,000 Card Tape Card Tape Card Tape 205 304 261 228 1880 1610 1410 1970 1690 1480 203 203 1250 1310 1250 1310 3540 3020 2650 2360 2360· 3630 3120 2730 2420 2420 176 154 137 137 Number of Labels .42 Optional Modes .421 Translate: • . . . 422 Translate and run: . · 423 Check only: • . • • .3 OUTPUT · 31 Object Program . 311 Language name: . 312 Language style: . 313 Output media: · 32 mM 1620 machine code. card deck or punched tape is in numeric machine code. Card deck is in condensed or uncondensed form. Usually contains loader, program, followed by storage assignments, subroutine linkages, subroutines, and arithmetic tables. cards or punched tape . Conventions · 321 Standard inclusions: loader routine and arithmetic tables. Also TCD, TRA control instructions if overlays are used. PICK subroutine included if macros are used. yes . no. yes; translation with error type outs but no punching of object language . • 424 Patching:. . . . . . . . no; correct individual statements as error occurs, or reassemble after a number of corrected statements are collected . .425 Updating:. . • . . no. .43 Special Features .431 Alter to check 'only: .432 Fast unoptimized translate:. . . . . · 433 Short translate on restricted program: no. .44 Bulk Translating: . . yes . . 45 Program Diagnostics: none in fixed master library; may be incorporated as user wishes. · 46 Translator Library .461 Identity: . . . . . . 462 User restriction: .33 Documentation Subject Source program: • Object program: . Provision optional typeout. optional typeout and optional punching. Storage map (symbol table):. . . . • . optional typeout. Language errors: • . typeout. 12/62 . 463 Form Storage medium: . Organization: . · 464 Contents Routines: . Functions: Data descriptions: see.423. no. subroutine group for 1620/ 1710 SPS . 17 fixed master routines and up to 12 additional picked or written by user • cards or punched tape. fixed order, by call numbers. closed. yes. no. PROGRAM TRANSLATOR: SYMBOLIC PROGRAMMING SYSTEM § 181. 412:181.465 .612 Larger configuration advantages:. . . . . · 465 Librarianship Insertion:. . Amendment: Call procedure: assembly run. assembly run. macro codes used by subroutine processor program. ·5 TRANSLATOR PERFORMANCE . 51 Object Program Space .511 Fixed overhead Name: . . . . Space: . . . . .512 Space required for each input-output file: . . . .513 Approximate expansion of procedures: . . 62 PICK subroutine supervisor. approx. 900 decimal digits. .7 Error 1. 0 (exclusive of macros, Missing entries: Unsequenced entries: Duplicate names: Improper format: Incomplete entries: Target computer overflow: Inconsistent program: Symbol table full: 3 + O. 029S minutes; no listing and uncondensed deck (*). This is approximately 70% of card punch speed; no macros used. Translation with a condensed deck output would proceed at reader speed, 250 cards per minute input for each pass (**). 7 + O. 029S minutes (*). Punched tape system: .522 Checking only Card system: . . • . . 3 + O. 004S minutes (*). Punched tape system: 7 + 0.0048 minutes (*). .53 Optimizing Data: . · 54 Object Program Performance: . ERRORS, CHECKS AND ACTION as coded. Translation Time · 521 Normal translating Card system: . . . Target Computer . 621 Minimum configuration: same as translating computer . . 622 Usable extra facilities: cards, larger core storage . which vary). · 52 none. essentially unaffected when few macros are used. increased if many macros are used; each macro utilizes PICK subroutine, which requires approximately 9 m. sec to execute. .6 COMPUTER CONFIGURATIONS .61 Translating Computer . 611 Minimum configuration: 1620 with punched tape input and output, and 20, 000 decimal digits of storage. © cards give faster assembly because of buffered inputoutput. larger storage holds larger symbol table. t .8 Check or Interlock Action not applicable. none. check check check t none. none. check t t t immediate halt and typeout of error type and reference to location of statement; or typeout with no halt: selected by sense switch setting. ALTERNATIVE TRANSLATORS Computer: Identity: mM 709; mM 7090. 7090 Processor for Assembling 1620/1710 Programs. Date: • . . . • • . . . . April, 1962. Description The 709 or 7090 requires a minimum of 32, 768 storage positions, two channels and ten magnetic tapes. Processor runs are under the control of the m SOS Monitor. Different diagnostic messages are printed than on the 1620. Input can only be from magnetic tape, prepared off-line. It is a two-pass processor, and allows a symbol table of 3, 000 names. Output is on two magnetic tapes; one for listing, and one for punching cards. If a punched tape object program is required, these cards may be converted to punched tape . The 7090 Processor will assemble approximately 1, 000 SPS statements per minute (*). 1962 by Auerbach Corporation and BNA Incorporated 12/62 412:182.100 IBM 1620 Program Translator One-Pass Processor (SPS) PROGRAM TRANSLATOR: ONE·PASS TAPE SPS § .1 GENERAL . 11 Identity:.. .12 Description 1620/1710 Symbolic Programming System. all macros, some pseudos, automatic floating point instructions, automatic divide, See description in Section :172, One-Pass Tape SPS. .211 Name: 182. .212 Exemptions: SPS One-Pass Processor for Paper Tape; Program 1620-SP-007 (December, 1960) . .22 The Otie-Pass SPS program has been withdrawn by IBM, but is still used at a number of installations. The program translator is a one-pass system which operates within the restricted language input of the one-pass SPS language; otherwise it is similar to the translator for the two-pass SPS language (section : 181). It assembles as the source statements are read in; any statements which are correct but which are not able to be completely assembled at that time are placed in "suspense" until more complete information is available. The maximum number of labels allowed is 199. There may be an undefined symbol in an instruction; therefore, the instruction cannot be assembled completel)! as it is read. In such a .case, the instruction is assembled as completely as possible and placed in temporary storage, and a note is made of the undefined symbol. The typewriter listing contains the symbolic and incomplete machine coding of the instruction, with a reference number assigned to the symbol. When the symbol is defined, the instructions in temporary storage containing it are completely assembled, and immediately punched out. Although the object program instructions will not be in correct sequence on the output tape, the loading process will place the instructions into their proper locations. The end of the program listing will contain each undefined symbol, its reference number, and its defined address. When writing the source program, care must be taken that an assembled instruction. if loaded out of order, will not modify any locations improperly. Form .221 Input media: .222 Obligatory ordering: .223 Obligatory grouping: .23 Size Limitations .231 Maximum number of source statements: .232 Maximum size source statements: .233 Maximum number of data items: .3 OUTPUT .31 Object Program .311 Language name: .312 Language style: 199 labels. loader routine and arithmetic tables. Documentation Subject The number of instructions that can be in temporary storage at any time is equal to 454 - O. 77N, where N is the number of instructions having undefined symbols. 75 char. Conventions .321 Standard inc1usions: .33 limited by size of object computer, unless overlay control is coded. IBM 1620 machine code. loader. instructions with storage address, arithmetic tables. punched tape. .313 Output media: .32 punched tape or typewriter. according to coding sheet page and line numbers. none. Provision Source program: Object program: Storage map (symbol table):. . . . Language errors: . optional typeout. optional typeout and optional punching. optional typeout. typeout. . 13 Originator: IBM . . 14 Maintainer: none; withdrawn by IBM . .4 TRANSLATING PROCEDURE .15 Availabili!i':: December, 1960. . 41 Phases and Passes: .2 INPUT .42 Optional Modes . 21 Language .421 Translate: © 1962 by Auerbach Corporation and BNA Incorporated 1 pass . . . . . yes . 12/62 412:182.422 § IBM 1620 182. .611 Minimum configuration: . . 422 Translate and run: .423 Check only: . .424 Patching: .425 Updating: no . yes; translation with error typeouts but no punching of object language. . 62 Target Computer no; correct individual statements as error occurs, or reassemble after .621 Minimum configuration: . a number of corrected statements are collected. .622 Usable extra facilino. ties: . none . same as translating computer. 1622 Card Read Punch. Special Features .43 .7 .431 Alter to check only: . .432 Fast unoptimized translate: .433 Short translate on restricted program: no . .44 Bulk Translating: yes. .45 Program Diagnostics: none. . 46 Translator Library: . none. .5 TRANSLATOR PERFORMANCE .51 Object Program Space .511 Fixed overhead: . . 512 Space required for each input-output file: .513 Approximate expansion of procedures: . .52 .612 Larger configuration advantages: . basic 1620 with punched tape I/O; 20,000 decimal digits of core storage. see .423. Missing entries: Un sequenced entries: Duplicate names: Improper format: Incomplete entries: Target computer overflow: Inconsistent program: Invalid character present: More than 1 symbol in instruction has not been defined: Symbol in declarative statement not previously defined: Symbol table full: Area for temporary storage of instructions has been exceeded: no. none . as coded. 1.0. Translation Time .521 Normal translating: .522 Checking only: .54 Object Program Performance: 'l 'l Action not applicable: none. check check t t none . none . none. check t check t check check t t check t t immediate halt and typeout of error type and reference to location of statement; or typeout with no halt: selected by sense switch settings. unaffected. .8 .6 COMPUTER CONFIGURATIONS .61 Translating Computer 12/62 ERRORS, CHECKS AND ACTION Check or Error Interlock ALTERNATIVE TRANSLATORS: . IDM 709/7090. See section :181.8, program translator for full SPS language. 412:183.100 .ST""RD tl EDP REPORTS IBM 1620 Program Translator FORTRAN I PROGRAM TRANSLATOR: FORTRAN I § .13 Originator: IBM General Products Division, San Jose, California . .14 Maintainer:. as above . .15 AVailability: October, 1961 (Versions without FORMAT were released in November 1960 for paper tape and April 1961 for cards). Description .2 INPUT These translators convert IBM 1620 FORTRAN source programs into machine language object programs in a single pass. The paper tape version can be run on a minimwn IBM 1620 system; the card version provides higher input and output speeds in systems that include the 1622 Card Read Punch. Bulk: translating is not possible because two segments of the translating program partially overlay one another. .21 Language 183. .1 GENERAL . 11 Identity: FORTRAN with FORMAT for Paper Tape. Program 1620-FO-003. FORTRAN with FORMAT for Cards. Program 1620-FO-004. "FORTRAN 1." .12 .211 Name: .212 Exemptions: .22 Form .221 Input media: The object tape or deck consists of a loading routine that loads the compiled instructions in the proper order to form the object program, the compiled instructions themselves, and the symbol table, which is modified to form a data table. The subroutines necessary for executing the object program (described in Paragraph .46) can either be punched into the object tape or deck during compilation or loaded separately before execution. The "trace feature" facilitates debugging by inserting instructions that can cause the result of each executed arithmetic statement to be typed. Insertion and execution of the "tracers" is controlled by Program Switch settings. Each arithmetic statement in a trace-compiled program requires 12 additional digits of storage and l. 2 milliseconds additional execution time when tracing is not elected. The IBM 1620 FORTRAN Pre-Compiler is a useful independent diagnostic routine that checks FORTRAN source programs for 51 different format and logical errors in a pre-compilation run. When an error is detected, the error code and the statement containing the error are typed. The statement can then be typed in correctly, and a corrected source program tape or card deck can be produced. A swnmary lists all undefined and unreferenced statement numbers and all relocatable subroutines called. The Pre-Compiler is available in paper tape and punched card versions; program nwnbers are 1620- FO-005 and 1620-FO-006, respectively. Use of the PreCompiler is optional. © .222 Obligatory ordering: · 223 Obligatory grouping: • 23 paper tape, punched cards, or typewriter keyboard. all statements in logical sequence. none. Size Limitations .231 Maximum nwnber of source statements: .232 Maximum size source statements: · 233 Maximum nwnber of data items: .3 OUTPUT .31 Object Program . 311 Language name: .312 Language style: . 313 Output media: .32 IBM 1620 FORTRAN. none, but note language limitations in Section: 161.14. limited by target computer storage. 72 characters. see 412:161.261. IBM 1620 machine code . condensed - 2 to 5 instructions. per card . paper tape or punched card. Conventions .321 Standard inclusions: 1962 by Auerbach Corporation and BNA Incorporated loading routine, arithmetic and input-output subroutines (both may be loaded separately at execution time). 12/62 412: 183.330 § IBM 1620 183. . 33 .465 Librarianship Insertion: . Documentation Subject Source program: Object program: Symbol table: Restart point list: Language errors: Provision typed listing (optional). none. typed listing (optional). none. typed messages. .4 TRANSLATING PROCEDURE .41 Phases and Passes: .42 0Etional Mode . .421 Translate: .422 Translate and run: .423 Check only: .424 Patching: .425 Updating: .43 . 44 Amendment: . . Call procedure: one-pass compiler . Note: The 1620 FORTRAN subroutine library contains 31 standard routines. Twenty-five are used by the FORTRAN system only and are not available to the programmer (arithmetic, input, output, fix, float). Two are available to either the FORTRAN system or the programmer (LOG, EXP). Four are available only to the programmer as functions (SQRT, SIN, COS, ATAN). Up to 19 additional functions can be added by the user. The functions are in relocatable form and are inserted only if used in the source program . All subroutines can either be punched into the object deck or tape at compile time or loaded separately at execution time. yes. no. yes, using IDM 1620 FORTRAN Pre-Compiler. no. no. SEecial Features .431 Alter to check only: .432 Fast unoptimized translate: . 433 Short translate on restricted program: Bulk Translating: .45 no • no . .5 TRANSLATOR PERFORMANCE not possible; the translating program consists of two segments which partially overlay one another, so reloading is necessary before each source program. .51 Object Program Space instructions that will cause optional printing of results of each executed arithmetic statement can be automatically inserted at compile time. The· trace facility is controll6i by Program Switch .settings. .452 Snapshots: .453 Dumps: Translator none . none. .511 Fixed overhead Name Space Comment Multip~y-add tables: Standard subroutines: Relocatable subroutines: 300 digits. 7,200 to 8,000 digits. varies arithmetic, input, output, fix, float. called by function names in source program. .512 Space required for each input-output field: single I/O area serves all files. .513 Approximate expansion of procedures: averages 5 to 6 machine instructions per FORTRAN statement. (**) • Libra~ .461 Identity: .462 User restriction: . 463 Form Storage medium: Organization: .464 Contents Routines: Functions: Data descriptions: 12/62 no. Program Diagnostics .451 Tracers: • 46 assemble and manually insert into subroutine tape or deck. manually insert amended records. use of a function name in an arithmetic statement causes insertion of the appropriate routine; arithmetic and inputoutput subroutines are inserted automatically. .52 FORTRAN subroutine tape or deck. none • paper tape or punched cards. machine code (written in mM 1620 SPS language) . yes; 25 standard closed subroutines. yes; 6 standard, up to 19 user-defined. no. Translation Time (**) .521 Normal translating Card input-output: PUnched tape input-output: .522 Checking only (FORTRAN Pre-Compiler): 2+ 0.025S to 3 + 0.125S minutes, depending upon statement complexity. 5 + O.OSS to 6 + 0.25S minutes, depending upon statement complexity. maximum of about 35 statements per minute. PROGRAM TRANSLATOR: FORTRAN I § 412:183.530 .62 183. .53 Optimizing Data: .54 Object Program Performance (**) Type Elementary algebra: Complex formulae: Deep nesting: Heavy branching: Complex subscripts: Data editing (FORMAT): Overlapping operations: none. Space Time unaffected unaffected. increased increased increased. increased. unaffected unaffected. Target Computer .621 Minimum configuration: .622 Usable extra facilities: . . .7 increased. increased unaffected. COMPUTER CONFIGURATIONS .61 Translating Computer . 611 Minimum configuration Paper tape version: . Card version: . 612 Larger configuration advantages: 1620 Processing Unit, 1621 Paper Tape Reader, 1624 Tape Punch, Typewriter. 1620 Processing Unit, 1622 Card Read Punch, Typewriter. 1623 Core Storage unit permits larger symbol tables. © Check or Interlock Missing entries: Unsequenced entries: Duplicate statement numbers: Improper format: Incomplete entries: Target computer overflow: Inconsistent program: Symbol table overflow: Mixed mode expression: Excessive record length: not possible. .6 all. (Special subroutine tape or deck is available for systems with floating point hardware.) ERRORS, CHECKS AND ACTION Error increased any mM 1620 system. Action none. none. various checks various checks type error message. type error message. check none • type error message. check type error message. check type error message. check type error message. Note: See also the FORTRAN Pre-Compiler description in Paragraph 12 . .8 ALTERNATIVE TRANSLATORS: 1962 by Auerbach Corporation and BNA Incorporated none. 12/62 412:184.100 _STANDARD II EDP IBM 1620 REPORTS Program Translator FORTRAN II PROGRAM TRANSLATOR: FORTRAN II .§ 184. .1 GENERAL . 11 Identity: . .12 Description .22 Form .221 Input media: IBM 1620 FORTRAN II. Program 1620-FO-019. .222 Obligatory ordering: This translator converts IBM 1620 FORTRAN II source programs into machine language object programs in two card passes. The first pass translates the source program into an abbreviated intermediate form, assigns storage locations for variable and constants, and checks for 50 types of source program errors. The second pass completes the translation process and punches a selfloading object deck. The subroutines necessary for executing the object program (described in Paragraph .46),can either be included in the object deck during compilation or loaded separately before execution. .223 Obligatory grouping: .3 OUTPUT Compilation of FORTRAN II source programs requires a 1620 system with at least 40,000 positions of core storage, a 1622 Card Read Punch, and the Automatic Divide and Indirect Addressing special features. The same configuration requirements apply to execution of FORTRAN II object programs, except that only 20,000 storage positions may be required. A special subroutine deck is available to take advantage of the Automatic Floating Point feature. .31 Object Program The "trace feature" facilitates debugging by inserting instructions that cause typing of the result of each executed arithmetic statement and/or the expression calculated in each IF statement. Insertion and execution of the "tracers" is controlled by Program Switch settings. .23 .232 Maximum size source statements: . .233 Maximum number of data items: .311 Language name: .312 Language style: .313 Output media: .33 Originator: IBM General Products Division, San Jose, California. . 14 Maintainer: . as above. .15 Availability: . June, 1962. .2 INPUT .21 Language .211 Name: .212 Exemptions: IBM 1620 FORTRAN II. none, but note language limitations in Section :162.14. © limited by target computer storage. 330 characters. see 412:162.261. IBM 1620 machine code. relocatable. punched cards. Conventions .321 Standard inclusions: loading routine, arithmetic and input-output subroutines (both may be loaded separately at execution time). Documentation Subject Source program: Object program: Symbol table: . Restart point list: Language errors: Compared to the "FORTRAN I" translator described in Section :183, the FORTRAN II translator offers expanded language facilities, lower compiling speeds, and essentially unchanged object program execution speeds and object program storage utilization. .13 Size Limitations .231 Maximum number of source statements: .32 punched cards or typewriter keyboard. all statements in logical sequence; arithmetic statement functions must precede the first executable statement. none. Provision typed listing (optional). none. typed listing (optional). none. typed messages. .4 TRANS LATING PROCEDURE .41 Phases and Passes Pass 1: Pass 2: 1962 by Auerbach Corporation and BNA Incorporated translates source program to an abbreviated form, assigns locations for variabIes and constants, checks for certain errors, and punches intermediate output deck. translates output from Pass 1 into a machine code object program and punches a self-loading object deck. 12/62 412:184.420 § IBM 1620 184. .465 Librarianship (Contd. ) .42 Optional Mode .421 .422 .423 .424 .425 Translate:. . Translate and run: Check only: Patching: Updating: .43 Special Features .431 Alter to check only: .432 Fast unoptimized translate: .433 Short translate on restricted program: .44 . 45 Bulk Translating:: .452 Snapshots: . .453 Dumps: .46 no. .462 User restriction: .463 Form Storage medium: Organization: .464 Contents Routines: Functions: Data descriptions: . .465 Librarianship Insertion: Amendment: Call procedure: .5 TRANSLATOR PERFORMANCE .51 Object Program Space no. yes, in both Pass 1 and Pass 2. Symbol table must be punched out after Pass 1 when bulk translating; otherwise, this is unnecessary. instructions that will cause optional printing of the result of each executed arithmetic statement can be automatically inserted at compile time; the trace facility is controlled by Program Switch settings. none. none. Translator Library .461 Identity: . 12/62 no. Program Diagnostics .451 Tracers: Note: The 1620 FORTRAN II subroutine deck contains 27 standard subroutines which are needed for proper execution of the object program (arithmetic, input, output, fix, and float) and seven relocatable subroutines which are inserted in the object program only if the functions they implement are used in the source program (LOGF, EXPF, COSF, SINF, ATANF, SQRTF, and ABSF). Up to 43 additional functions can be added by the user. All subroutines can either be punched into the object deck at compile time or loaded separately at execution time. yes. no. yes, by halting after Pass 1. no. no. FORTRAN II subroutine library. none. .511 Fixed overhead Name Space Comment Multiply-add tables: 300 digits. Standard subroutines: approx. arithmetic, input, 12,000 output, fix, float . digits Relocatable subroutines: varies called by function names in source program . . 512 Space required for each input-output file: . . . . . . single I/O area serves all files. .513 Approximate expansion of procedures: averages 5 to 6 machine instructions per FORTRAN statement . . 52 .521 Normal translating Card input-output: . punched cards. machine code (written in illM 1620 SPS language). yes; 27 standard closed subroutines. yes; 7 standard, up to 43 user-defined. no . Translation Time (* * ) O. 05S to O. 25S minutes, depending upon statement complexity . Punched tape inputoutput: . . . . . O.lOS to O. 50S minutes, depending upon statement complexity. .522 Checking only: . . . • above translating times are roughly halved when compilation is halted after Pass 1. assemble and manually insert into subroutine deck. manually insert amended cards. use of a function name in an arithmetic statement causes insertion of the appropriate routine; arithmetic and input-output subroutines are inserted automatically. . 53 Note: FORTRAN II translation times for a single program are about twice as long as FORTRAN I times (412:184.521), but bulk translating is not possible in FORTRAN I. Therefore, a "break-even" point between the 2 systems will be reached at about 3 programs. When more than 3 programs are compiled at one time, FORTRAN II will generally be faster. Optimizing Data: . . . none. PROGRAM TRANSLATOR: FORTRAN II § 412:184.540 184. .54 .62 . 621 Minimum configuration: Object Program Performance (* *) Type Time Space Elementary algebra: unaffected unaffected. Complex formulae: increased increased. Deep nesting: increased increased. Heavy branching: unaffected unaffected. Complex subscripts: increased increased. Data editing (FORMAT): increased unaffected. Overlapping operations: not possible. .6 COMPUTER CONFIGURATIONS . 61 Translating Computer . 611 Minimum configuration: ..... . . 612 Larger configuration advantages: 60,000 core storage positions permit extension of symbol and name tables. 1620 Processing Unit, 1622 • Card Read Punch, Automatic Divide, Indirect Addressing. .622 Usable extra facilities: . . . . . . . .7 1621 Paper Tape Reader, 1624 Paper Tape Punch, 1623 Core Storage Unit, Automatic Floating Point Operations (with special subroutine deck). ERRORS, CHECKS AND ACTION Check or Error Interlock Missing entries: Unsequenced enuies: Duplicate statement numbers: Improper format: Incomplete enuies: Target computer overflow: Inconsistent program: Symbol table overflow: Mixed mode expression: Invalid literal: 1620 Processing Unit with 1623 Core Storage Unit (total of 40, 000 core storage positions), 1622 Card Read Punch, Automatic Divide, Indirect Addressing. © Target Computer Action limited checks none. type error message. check various checks various checks type error message. type error message. type error message • check (Pass 2) limited checks check checks (Pass 2) check type type type type type error error error error error message • message. message • message. message. Note: All the above checks except "target computer overflow" and "mixed mode" are made in Pass 1. In most cases, detection of an error halts punching of the intermediate output; but compilation continues to check for additional errors . .8 ALTERNATIVE TRANSLATORS: . . . . . . none. 1962 by Auerbach Corporation and BNA Incorporated 12/62 412:191.100 • IJ STANDARD ElDP IBM 1620 Operating Environment General "PORTS OPERATING ENVIRONMENT: GENERAL § 191. .1 GENERAL .11 Identity: .12 Description .511 Tracing All routines used in a program are called by standard or new macro codes and are incorporated into the program at translation time. .13 Availability: library routines described are available now. , .14 Originator: IDM Corporation and individual users. PROGRAM LOADING .21 Source of Programs . 211 Programs from on-line libraries: • .212 Independent programs: .22 those areas, address of each instruction and complete instruction is typed out, as well as addressed operands. No alternative operation. no integrated supervisor available. No comprehensive supervisor routine has been announced for the 1620 system. The facilities covered in this section, therefore, must be provided by the incorporation in each program of specific routines, either library routines or individually written routines. .2 (Contd. ) Note: additional traCing routines exist in the IDM Program Library, both more complex and simpler. .512 Snapshots: • . . . . . none as such; can use Selective Trace and run program less efficiently. .52 Post Mortem:. . . . . Post Mortem Dump for Card 1620 (Card), File No. 1. 5. 004. It is loaded after the running of the main program. The specified area of storage is punched on cards at punch speed and listed off-line . .6 OPERATOR CONTROL: 1.7 none. punched tape, punched cards, or typewriter keyboard. .8 LOGGING: . . . . . . as incorporated in user's program. PERFORMANCE Library Subroutines: punched tape or cards. .81 .23 Loading Sequence: manually controlled. .811 Minimum configuration: .3 HARDWARE ALLOCATION: fixed. .812 Usable extra facilities: . console alarms; typeouts as incorporated in user's program. .813 Reserved equipment: .4 .5 .51 RUNNING SUPE RVISION: PROGRAM DIAGNOSTICS: .82 S},:stem Requirements Dynamic . 822 Reloading frequency: . 511 Tracing Flow Trace, program 1620-AT-013: . . . typeout of addresses of :.83 branch instructions and the addresses branched to. No alternative operation. [.84 Selective Trace, program 1620-AT-0l4: operator specifies which group or groups of instructions are to be traced. In © 1620 with Console I/O Typewriter . paper tape, card input-output . none. System Overhead .821 Loading time: called in at translation time if incorporated. as incorporated in user's program . Program Space Available: Program Loading Time: 1962 by Auerbach Corporation and BNA Incorporated cards: at reader speed. punched tape: at reader speed. must be reloaded for each new routine if routines are long. C-402 decimal digits. at reader speed: 250 cards/ minute for cards; average of 148 char/sec. for punched tape. 12/62 412:192.100 • STANDARD EDP • REPORTS IBM 1620 Operating Environment GOTRAN OPERATING ENVIRONMENT: GOTRAN § 192. .23 Loading Sequence: . . . manually controlled. Interpreter Input .1 GENERAL . 24 .11 Identity: . . . . . . . . GOTRAN for Cards. Program 1620-PR - 011. . 241 Language Name: . Exemptions: GOTRAN for Paper Tape. Program 1620-PR-01O. .12 Description GOTRAN. none (but note severe language restrictions in Section :163). .242 Form: . . . • . . . . . paper tape, punched cards, or typewriter keyboard. GOTRAN is a "load-and-go" algebraic programming system that was developed to minimize the overall .3 time required for program compilation and testing. It uses a severely restricted subset of the FORTRAN .31 language, as described in Section :163. GOTRAN is available in two versions for mM 1620 systems with either paper tape or punched card input-output, and .32 it can be used on a minimum 1620 system with 20, 000 core storage positions and no optional features. .4 The GOTRAN compiler/interpreter program and subroutines remain in core storage continuously and occupy 14,470 digit positions. Source programs are read, compressed, and loaded into core storage. A typed listing of the source statements is optional. Source programs can also be entered manually via the typewriter keyboard. Interpretive execution of the program can begin as soon as the last source statement has been processed. Availability : February, 1961. .14 Originator: mM General Products Division' San Jose, California. . 15 Maintainer: .2 PROGRAM LOADING .21 Source of Programs .211 Programs from on-line libraries: . .212 Independent programs: . 213 Data: . . 214 Master routines: . I.22 Librarr Subroutines: as above . none; standard subroutines for floating point arithmetic and functions are part of the GOTRAN system. © 1962 no choice of level; core storage is always used. Input-Output Units: . . specified in source program. RUNNING SUPERVISION Simultaneous Working:. none. . 42 Multi-prog!:amming: . not possible. .43 Multi - sequencing: . . not possible. .44 Errors, Checks, and Action Error Loading input error: In-out error: Symbol table overflow: Storage overflow: Any indicator on: Arithmetic overflow: Underflow: Invalid operation: Improper format: Mixed mode arithmetic: 45 none. paper tape, punched cards, or typewriter keyboard. paper tape, punched cards, or typewriter keyboard. paper tape or punched cards. Storage: . . . . . . .41 Error checking of the source program is limited, but fairly thorough arithmetic checks are made during program execution. There are no built- in facilities for diagnostic aids such as tracing, snapshots, or dumps. .13 HARDWARE ALLOCATION !.5 Restarts: • . . . . . PROGRAM DIAGNOSTICS: . by Auerbach Corporation and BNA Incorparated Check or Interlock parity check parity check check nane. check check check check none. Action halt or set indicator. halt or set indicator. type message & halt. type type type type message message message message &halt. & halt. & halt. & halt. none. can be restarted at any time by the console operations STOP, RESET, INSERT, RELEASE, START. Depending upon Program Switch 3 setting, a new source program can be accepted or the object program currently in storage can be re-run from the beginning. none, except for the builtin error messages described in Paragraph .44. 12/62 412:192.600 § IBM 1620 192. none; i. e., optional features and expanded core storage cannot be used without program modification. .813 Reserved eqUipment: . 14,470 core storage locations for GOTRAN system, including subroutine package . .812 Usable extra facilities: ·6 OPERATOR CONTROL .61 Signals to Operator:. . 62 Operator's Decisions:. program switches or console typewriter. .82 Operator's Signals .821 Loading time: . . · 63 · 631 Inquiry: . . . . . · 632 Change of normal progress: . . . . typed messages, provided automatically for errors, or incorporated into source program. none. LOGGING: . . . . • . . as incorporated into source program. .8 PERFORMANCE .81 S},:stem Reguirements .811 Minimum configuration: basic mM 1620 system with either paper tape or card input- output. I 12/62 .822 Reloading frequency: approx. 2 minutes (for the GOTRAN system). can be maintained in core storage continuously. by restarting (Paragraph .45) and/or manually interchanging source programs. .7 S},:stem Overhead . 83 Program Space Available: . . .84 Program Loading Time: not available. (Note that loading indudes translation to compressed form.) .85 Program Performance in m. secs: •. . . . . . overall execution times average 2 to 3 times as long as for routines compiled by mM 1620 FORTRAN. (***) 14S + 100L + C) .:5 4953, for typical program of S source statements, L labels, and C constants. 412:193.100 II • STANDARD EDE» "'D.1S IBM 1620 Operating Environment FORGO OPERATING ENVIRONMENT: FORGO § 193. .12 .1 GENERAL • 11 Identity: . each IF statement. Seven oilier modes of operation are available for diagnostic and restart purposes . FORGO. 1620 General Program Library No.2. O. 008. When the FORGO system is used in a 1620 with 40,000 storage positions, object program size limitations are rather sever.e: It is estimated that a typical program with 50 source statements and a total of 100 variables and constants will fill the 5, i40 available storage locations. Using either the FOR-TO-GO system in a 40K 1620 or the FORGO system in a 60K 1620, a program four to five times as large can be accommodated. FOR-TO-GO. 1620 General Program Library No. 2.0.009. .12 Description (Cont'd) Description The FORGO system was developed to serve as an educational programming system and as a debugging tool for testing FORTRAN-coded routines before running them on larger computers. The primary objects were to minimize the overall time required for program compilation and testing, and to provide comprehensive error checks and diagnostic facilities. The result is a "load-and-go" system. The FORGO program remains in core storage continuously and occupies 34,860 digit positions. Source programs, in the FORTRAN-like language described in Section :164, are read from punched cards at the rate of around 100 statements per minute and simultaneously translated into object program pseudo instructions which are loaded into core storage. As soon as the last source statement has been translated, interpretive execution of the object program begins. Execution speeds average about one-half to two thirds as fast as those of object programs compiled by the ffiM 1620 FORTRAN system. The FOR-TO-GO system uses virtually the same language as FORGO, but in order to accommodate larger object programs, the FOR-TO-GO translator is ov!'!rwritten by the subroutine package before the object program is executed. Operation of the FORTO-GO system is therefore less straightforward and rapid, and batch compiling (a feature of FORGO) is not possible in FOR-TO-GO. A 1620 system with Card Read Punch, at least 40, 000 positions of Core Storage, Automatic Divide, and Indirect Addressing is required to use the FORGO and FOR-TO-GO systems. No provision has been made for paper tape input and output. Normal input and output are on punched cards, and it is assumed that an ffiM 407 is available for listing the output cards. The console typewriter can serve as an alternate input device. A wide variety of error checks is made during source program translation and object program execution. When any source program error is detected, compilation is terminated but the remainder of the program is checked for additional errors. In the optional "full trace" mode, the number of every statement executed is typed, together with the result of each arithmetic statement, the index value for each DO loop, and the value of the expression in © .13 Availability: released for general distribution December, 1961. . 14 Originator: • Charles W. McClure, Keneth R. Sanderson, and Joel Davis; Engineering Computing Laboratory, University of Wisconsin. Source of information: . C. H. DaVidson, Associate Professor, University of Wisconsin. .15 Maintainer: Engineering Computing Laboratory, University of Wisconsin. .16 First Use: October, 1961. .2 PROGRAM LOADING .21 Source of Programs .211 Programs from on-line libraries: . .212 Independent programs: • 213 Data: • . 214 Master routines: .22 Library Subroutines:. • 23 Loading Sequence FORGO: . . . . . 1962 by Auerbach Corporation and BNA Incorporated none. punched cards. punched cards (typewriter keyboard only if control digit set in memory) . punched cards. standard subroutine package is loaded along with translator in FORGO and overwrites the translator in FOR-TO-GO; addition of machine language library functions is possible but inconvenient. FORGO deck. Program 1 source deck. Program 1 data. Program 2 source deck. Program 2 data. etc. 12/62 412:193.230 § IBM 1620 193. .45 .23 Restarts: (Contd.) Loading Sequence (Contd.) FOR-TO-GO A deck (translator). Program 1 source deck. FOR-TO-GO B deck (subroutines). Program 1 data. (batch operation not possible). FOR-TO-GO: . . • 24 Interpreter Input .241 Language Name: . Exemptions: FORGO. none (but note restrictions relative to mM 709/7090 FORTRAN in Section 412:164). • 242 Form: . . . . . • . . . punched cards; 1 statement per card . .3 HARDWARE ALLOCATION .31 Storage: . . . . . . no choice of level; core storage is always used. . Card Read Punch or console typewriter; specified in source program. Object program can be dumped on punched cards at any time and restarted from the point at which it was halted. ·5 PROGRAM DIAGNOSTICS .51 Dynamic • 511 Tracing: . . . . . . . . several optional traCing modes are controlled by Program Switches and the typewriter; unusually comprehensive diagnostic information can be obtained. none. .512 Snapshots: . . . . .52 Post Mortem: . • .6 OPERA TOR CONTROL .61 Signals to Operator: . . typed messages, provided automatically by the system or incorporated into sOllrce program. .62 Operator's Decisions:. Program Switches or console typewriter. Operator's Signals .32 Input-Output Units: .4 RUNNING SUPERVISION .41 Simultaneous Working: none. . 42 Multi-programming: . not possible. .63 .43 Multi - seguencing: not possible. .44 Errors, Checks, and Action .631 Inquiry: . . . . . .632 Change of normal progress: . . . . . Error Check or Interlock Action Loading input error: Statement too complex: Storage overflow: Invalid statement: Undefined variable: Mixed mode arithmetic: Improper format: Arithmetic overflow: Underflow: In -out error: sequence check check check check check check various checks check check check type message & halt. f punch message. punch message. • punch message. • punch message. • punch message. • punch messa ge. • type message & halt. set to zero. type message 8. halt. t May resume loading from check point when sequencing is none . by restarting (Paragraph .45) and/or manually interchanging card decks. ·7 LOGGING:....... typed messages and punched card records, produced automatically by the system. .8 PERFORMANCE .81 System Reguirements • • Detection of any of these errors terminates compilation, but remainder of source program is checked for other errors. none, but see . 45 above . · 811 Minimum configuration: 1622 Card Read Punch, 40, 000 core storage positions' Indirect Addressing, Automatic Divide. corrected. .45 Restarts:. . . . . . . FORGO and FOR-TO-GO can be restarted at any time by the console operations STOP, RESET, INSERT, RELEASE, START. Depending upon Program Switch 3 setting, a new source deck can be read or the object program currently in storage can be re-run from the beginning. 12/62 .812 Usable extra facilities: .813 Reserved equipment FORGO: I AUERBACH I FOR-TO-GO: tl 60, 000 core storage pos i tions accommodate larger object programs. FORGO and FOR-TO-GO are selfadapting, and can use 80,000 or 100,000 pos itions if they are available. 34,860 core storage positions. 18, 280 core storage positions. OPERATING ENVIRONMENT: FORGO § 412: 193.820 193. .82 System Overhead . 821 Loading time: . . . 822 R,eloading frequency FORGO: ••. FOR-TO-GO: • . . . . 83 2 minutes. (*) • (Based on 470 program cards at 250 cards/min. Ready to go immediately if first program deck loaded behind FORGO deck. can be maintained in core storage continuously. must be reloaded for each program: A deck before source program and B deck before data. Program Space Available FORGO: . • . FOR-TO-GO: 80S + 100 :::: C - 34, 860. 80S + 100 :::: C - 18, 280. Note: These are estimates for typical programs of 5 simple source statements and 0 data items, where C is total number of core storage locations (40,000 or 60,000). . 84 Program Loading Time: approx. 100 statements per minute, including translation. (*). .85 Program Performance in m. secs(*): . . • overall execution times average 1. 5 to 2 times as long as for routines compiled by IBM 1620 FORTRAN. (*). © .851 Conditions:. . . . . • none. .852 For random address (floating point data) c =a + b: . . 14 b =a + b: . . 19. Sum N items: 19 + (N-2)4.5. c = ab: . 26. c=a/b:. 55. b = fa:. 530. b=loga: 340. b = ea : . 180. b = sin a: 340 . .853 For arrays of data Ci = ai + br . . . 127. c =C+aiOr . . . . . 122. . 855 Moving, per item (X=Y): 18 . .856 Data input, per item Free format Overhead: 300. Time: . . 125. F format Overhead: 450. Time: . . 200. E format Overhead: 450. Time: : . 200. . 857 Data output, per item Free format Overhead: 490. Time: . . O. F format Overhead: 490. Time: • . O. E format Overhead: 490. Time: • . O. 1962 by Auerbach Corporation and BNA Incorporated 12/62 412:201.001 IBM 1620 Model 1 System Performance NOTES ON SYSTEM PERFORMANCE § 201 . .1 GENERALIZED FILE PROCESSING Because the IDM 1620's output speed is low on punching and typing alphanumeric data, it was considered unsuitable for this type of data pr·ocessing application at this.time. (Where the master file is small enough to be held in internal storage, the 1620 can be quite useful.) .2 SORTING· Magnetic tape is not generally used with the IDM 1620 system . .3 MATRIX INVERSION The standard problem estimate of the Users' Guide was used, which is based on the time for floating point cumulative multiplication . .4 GENERALIZED MATHEMATICAL PROCESSING Both fixed point coding and floating point subroutines are timed for Configuration IX. Floating point calculations are performed by the Automatic Floating Point Operations special feature in Configuration X. Input is read by the 1621 Paper Tape Reader for Configuration IX and by the 1622 Card Read Punch for Configuration X. Results are printed on the on-line typewriter for Configuration IX, and punched on the 1622 Card Read Punch for Configuration X . .5 GENERALIZED STATISTICAL PROCESSING Fixed point machine coding is used. Input is read by the 1621 Paper Tape Reader for Configuration IX and by the 1622 Card Read Punch for Configuration X. © 1962 by Auerbach Corporation ond BNA Incorporated 12/62 412:201.011 IIS"'' "D II EDP WIlR!S IBM 1620 Modell System Performance IBM 1620 MODEL 1 SYSTEM PERFORMANCE © 1962 by Auerbach Corporation and BNA Incorporated 12/62 IBM 1620 MODEL 1 412:201.012 IBM 1620 MODEL 1 SYSTEM PERFORMANCE WORKSHEET DATA TABLE 2 Configuration -, Item Worksheet Reference IX 5 Fixed/Floating point Fixed Point X Floating Point-. Floating Point •• input 1621 P.T. Reader 1622, Card R'eader Punch output I/O Typewriter 1622 Card Reader Punch input 100 digits 100 digits input 100 digits 100 digits Unit name Size of record Standard Mathematical Problem A input Tl 667 307 output T2 12,000 483 input T3 667 307 output T4 12,000 240 m. sec/record T5 0 0 m.sec/5 loops T6 m. sec/report T7 m.sec/block 4:200.413 m.sec penalty 7 Unit name 1,867 0 1621 P.T. Reader Size of block Standard Stati sti cal Problem A 678 3 1622 Card Reader Punch 60 digits 60 digits 1 1 Records/block B m.sec/block Tl 400 3.4 m.sec penalty T3 400 3.4·· m. sec;block T5 0 0 m.sec/record T6 1.92 1.92 m.sedtable T7 7.71 7.71 4:200.512 C.P•. .By subroutines. I 12/62 706 I AUERBAC@ .*By Automatic Floating Point Special Feature. * •• N greater than 31. 412:201.300 • II STANDARD EDP IBM 1620 System Performance REI'ORfS SYSTEM PERFORMANCE § .312 Timing Basis:. 201. .3 MATRIX INVERSION •31 Standard Problem Estimates using estimated procedure outlined in User's Guide, 4:200.312 . see graph below . . 313 Graph:. . . . . . • . .311 Basic Parameters:. . . general, non-symmetric matrices, using floating point to at lea st 8 decimal digits. 100.00 9 7 If 4 I A II !. If 2 II 10.00 I 7 I 4 6 ~I ..., :::t fJ~ ~§ CIo t/j .$ t5 2 :J"& Time in Minutes for Complete Inversion .<:l; 1.00 Q) § r; lr.,Qi .~..... fi·.!g ~Jj lr.,~ urdi ctI r::: gos3 ctI &) 7 '{I 4 J J 2 I , ., I , 0.10 7 IJ 1/.8 td ;}ot:J. -!.t5 ;:j:f ~ II J 4 I If I 2 / J" 0.01 1 2 4 7 10 2 4 7 100 2 4 7 1,000 Size of Matrix © 1963 by Auerbach Corporation and BNA Incorporated 1/63 IBM 1620 412:201.400 § 201. 5 fifth -order polynomials • 5 divisions . 1 square root • using estimating procedure outlined in User's Guide, 4:200.413 see graph below . •412 Computation:. .4 GENERALIZED MATHEMATICAL PROCESSING .41 Standard Mathematical Problem A Estimates • 413 Timing hasis:. .411 Record sizes:. . • • . .414 Graph: • . • . 10 signed numbers, avg. size 5 digits, max. size 8 digits. Configuration IX; Single Length (8 digit precision); Fixed point. R =Number of Output Records per Input Record 1,000,000 7 4 2 100, 000 7 l..iIlI 4 -- / , ...... 2 1.0 R Time in Milliseconds 10, 000 per Input Record ~ ~ , ~ ~ 11""1' ~ I~ ~ 7 ~ l.' 4 2 1,000 .JI' ~ R =0.1 - _ - I- R - O. 01 "- I 7 ... ~ . "" /' ~ I-" 1/ V j.- -.100 """" 4 2 100 0.1 2 4 7 1.0 2 4 7 10.0 2 C, Number of Computations per Input Record 1/63 4 7 100.0 412:201.415 SYSTEM PERFORMANCE § 201. .415 Graph: . . . . . . . . see graph below. Configuration IX; Single Length (8 digit precision); Floating point. R = Nwnber of Output Records per Input Record 1,000,000 7 4 2 ~ 100,000 7 'I ~ 4 2 R Time in Milliseconds per Input Record ~~ .---- 1.0 - JI ~ 10, 000 7 .A ~ -' "./ V~ V ..... "" f~ -- /"~ 4 /'" .,,--- 2 ~ 1,000 .-- ~~ R = O.O~jIIII fI' -- 7 4 2 100 0.1 2 4 7 1.0 2 4 7 10.0 2 4 7 100.0 C, Number of Computations per Input Record © 1963 by Auerbach Corporation and BNA Incorporated 1/63 IBM 1620 412:201.416 § 201. .416 Graph: • . . . . . . . see graph below. Configuration X; Single Length (8 digit precision); Floadng point. R =Number of Output Records per Input Record 1,000,000 7 4 2 100,000 7 1;1 4 IJ 2 / Time in Milliseconds per Input Record 10,000 7 2 ~ 1,000 4 V , 1.iII" 4 7 , V " - ~",~,.... f\,0.0l,.. ~ ,~ ~ f - ~'" O· "" ~.- 2 100 0.1 2 4 7 1.0 2 4 7 10.0 2 C, Number of Computations per Input Record 1/63 4 7 100.0 412: 201.500 SYSTEM PERFORMANCE § 20l. augment T elements in cross -tabulation tables . using estimating procedure .513 Timing basis:. outlined in User's Guide, 4:200.513 • . 514 Graph:. . . • . . . . see below . .512 Computation:. .5 GENERALIZED STATISTICAL PROCESSING .51 Standard Statistical Problem A Estimates . 511 Record size: . . . . . thirty 2-digit integral numbers. 10,000 7 I..! Ii'!! ~ 4 ~~ 2 ~ 1,000 ~V V ~ 7 I",0Il' --- IX 4 IIii"" I~ X / ~ 2 Time in Milliseconds per Record 100 7 4 2 10 7 4 2 1 1 2 4 7 10 2 4 7 100 2 4 7 1,000 T, Number of Augmented Elements Roman numerals denote Standard Configurations © 1963 by Auerbach Corporation and BNA Incorporated 1/63 412:211.101 IBM 1620 Modell Physical Characteristics IBM 1620 MODEL 1 PHYSICAL CHARACTERISTICS © 1962 by Auerbach Corporation and BNA Incorporated 12/62 412:211.102 IBM 1620 MODEL 1 IBM 1620 MODEL 1 PHYSICAL CHARACTERISTICS Central Processing Unit Care Storage Core Storage Pa~er Tape eader Tape Punch- Card Read Punch 1620 model 1 1623-1 1623-2 1621 1624 1622 44x63x44* 44x 60x 27 44x 69)(h 44X :tilc 26 * 45x57x30 1,165 810 max. 915 max. 350 ? 1,225 --- 20 20 10 10 20 Temperature, of. ? ? ? ? ? ? Humidity, '7. ? ? ? ? ? ? Temperature, of. 60 to 90 60 to 90 60 to 90 60 to 90 60 to 90 60 to 90 Humidity, '7. 20 to 80 20 to 80 20 to 80 20 to 80 20 to 80 20 to 80 10,000 3,000 4,500 .(1) (1 ) 5,500 Air Flow, cfm. 840 420 700 (1 ) (1) 280 Internal Filters ? ? ? ? ? ? 208/230 ,. ,. ,. ,. * ± 10'1. ,. ,. ,. ,. ,. 60 ,. ,. ,. ,. ,. ±0.5 * * ,. ,. * Up, 3 wire ,. ,. • • 1.87 .85 1.25 (1) ? Unit Name IDENTITY Model Number Height x- Width X Depth, I in. Weight, Ibs. PHYSICAL. Maximum Cable Lengths, Ft. Storage Ranges Working Ranges ATMOS. PHERE Heat Dissipated, BTU/hr. Nominal Voltage Tolerance Nominal ELECTRICAL Cycles Tolerance Phases and Lines Load KVA *Inciudes work *From 1620. shelf. *From 1620. NOTES 12/62 I AUERBACH I ~ ,. 1.46 • Installed • From ..1.1,20. *From 1670 (1) Included in within 1621 1620. Reader. (1) Included in 1620. PHYSICAL CHARACTERISTICS 412:211.103 IBM 1620 MODEL 1 PHYSICAL CHARACTERISTICS-Contd. Disk Storage Drive Unit Name IDENTITY Disk Storag e Dri ve \ \ Model Number 1311- 3 1311- 2 38X43X24 38X30X24 700 350 \ Height X Width XDepth, in. Weight, lbs. PHYSICAL Maximum Cable Lengths, Ft. 20 to 1620; 10 to power receptacle Temperature, of. ?t ?t ?t ?t Storage Ranges Humidity, or. Temperature, of. 60 to 90 60 to 90 20 to SO 20 to SO 4,000 2,000 Working Ranges ATMOSPHERE Humidity, or. Heat Dissipated, BTU/hr. Air Flow, cfm. ? ? Internal Filters ? ? Nominal 20S/230 from 1311- 3 Voltage ± 10or. Tolerance Nominal ELECTRI· CAL 60 Cycles ±0.5 Tolerance Phases and Linea Load KVA t NOTES from 1311- 3 HP, 3 wire 1cp, 3 wire 1.4 0.75 disk pack: 40-12a'F 10-S0or. © t disk pack: 40-l20oF 10-S0or. 1962 by Auerbach Corporation and BNA Incorporated 12/62 412:221.101 • STANDARD EDP • IBM 1620 Modell "'ORTS Price Data PRICE DATA § 221. IDENTITY OF UNIT PRICES CLASS Name No. CENTRAL PROCESSOR 1620 1623 $ Purchase $ 76.75 64,000 2.75 1. 00 2,400 670 135 8.50 1. 50 1. 75 .50 .75 1.00 6.75 12,400 1,150 2,400 1,300 450 500 6,400 750 1,200 27.25 33.50 37,100 58,700 375 665 29.00 55.50 17,000 29,250 490 190 25 615 13.75 4.75 50.00 8,650 1,400 30,000 Core Storage 20,000 digits 40,000 digits Disk Storage Disk Storage Drive Disk Storage Drive Disk Pack Modell Model 2 1311 Model 2 Model 3 1621 1624 1622 Raper Tape Reader Tape Punch Card Reader Punch Calcomp 560- R Digital Recorder - NOTE: $ Optional Features Automatic Divide Additional Instructions Automatic Floating· Point Operations Indirect Addressing Core Storage Adapter Core Storage Adapter Paper Tape Reader Adapter Card Read Pun'ch Adapter Disk Storage Drive Adapter 4650 2301 2302 5514 1632 3339 INPUT-OUTPUT Monthly Maintenance Central Processing Unit, including basic storage, Console and Input/ Output Typewriter. 1285 1021 1288 STORAGE Monthly Rental Y 176 hours per month usage. * See manufacturer (California Computer Products, Inc.). Price is approximately $3,300 purchase. © 1962 by Auerbach Corporation and BNA Incorporated y 1,375 55 30· 225 25 50 25 10 10 * * 12/62 IBM 1620 Model 2 International Business Machines Corp~ '.-- .. -,' ,/'- ( ~- AUERBACH INFO, INC. PRINTED IN U. S. A. IBM 1620 Model 2 International Business Machines Corp. / AUERBACH INFO, INC. PRINTED IN U. S. A. 413:001.001 IBM 1620 Model 2 Contents CONTENTS 1. 2. 3. 4. 5. 6. 7. 8. 10. 11. 12. 13. 14. 15. Introduction . • Data Structure • • System Configuration Configuration IX; Desk Size Scientific Configuration X; Punched Card Scientific Internal Storage 1625 Core Storage. Auxiliary Storage 1311 Model 3 Disk Storage Drive 1311 Model 2 Disk Storage Drive Central Processor. • Console. ••• . • Input-Output; Punched Tape and Card 1621 Paper Tape Reader 5515 Paper Tape Reader Adapter 1624 Tape Punch 5515 Adapter. • 1622 Card Read Punch (Reader) 1633 Card Read Punch Adapter 1622 Card Read Punch (punch) 1633 Card Read Punch Adapter Input~Output; Printers 731 I/O Console Typewriter Input-Output; Other Calcomp 560-R Digital Recorder Sim ultaneous Operations Instruction List . • Instruction List Addendum Coding Specimens SPS • FORTRAN I FORTRAN II GOTRAN Data Codes Internal Numeric Internal Alphameric . I/O Console Typewriter (numeric) I/O Console Typewriter (alphameric) Paper Tape Input-Output . . Card Input-Output (numeric) •• Card Input-Output (alphameric) . Problem Oriented Facilities IBM 650 Simulator Program 1710 Simulator /7090 1620 5-Channel Tape Translation Program. Floating point function subroutines Matrix Inversion (Tape) • . •• © 1962 by Auerbach Corporation and BNA Incorporated 413:011 412:021 t 413:031 413:031 413:041 412:042 412:042 413:051 412:061 t 412:071 412:071.4 412:072 412:072.4 412:073 412:073.4 412:074 412:074.4 t t t t t t t t t t 413:081 412:101 412:111 412:121 413:121 t 412:131 412:132 412:133 412:134 t 412:141 412:142 412:143 412:144 412:145 412:146 412:147 t t 412:151. 11 412:151. 12 412:151. 15 412: 151. 171 412:151.172 t t t t t t t t t t t t t t t 12/62 413:001.002 IBM 1620 MODEL 2 CONTENTS-Contd. 15. 16. 17. 18. 19. 20. 21. 22. Problem Oriented Facilities (Contd.) Complex FORTRAN (Tape) . SPS to FORTRAN conversion Format Control Subroutines for 1620 Card FORTRAN Interpretive systems • • . Other •• AUTOMAP . Process Oriented Languages FORTRAN I FORTRAN II GOTRAN . . • FORGO • Machine Oriented Languages SPS SPS I-Pass Program Translators SPS • . • . SPS I-Pass FORTRAN I FORTRAN II Operating Environment General • GOTRAN FORGO • System Performance Notes on System Performance Worksheet Data • • • • • • Matrix Inversion • • • • . • Generalized Mathematical Processing • Generalized Statistical Processing Physical Characteristics Price Data • • • • • • • • . • • • • • • . • • . 412:151.173 t 412:151.174 t 412:151.175 412:151.176 412:151.177 412:151. 3 t t t t 412:161 412:162 412:163 412:164 t t t t 412:171 412:172 t t 412:181 412:182 412:183 412:184 t t t t 412:191 412:192 t 41~:193 413:201. 001 413:201. 011 413:201. 3 413:201.4 413:201. 5 413:211 413:221 t Refer to indicated section of computer System Report 412: IBM 1620 ModelL 12/62 t t 413:011.100 IBM 1620 Model 2 Introduction INTRODUCTION §Oll. The IBM 1620 Model 2 is a faster version of the IBM 1620. Processing Unit times to do fixed and floating point operations and floating point subroutines have been reduced to one-fourth of the time required in model 1. The higher speed is found in the Processing Unit, Core Storage, and Console I/O Typewriter; other input-output equipment remains unchanged. Some of the optional Special Features available to the 1620 Modell are standard inclusions on model 2. Model 2 can perform all programs written for model 1 without reprogramming. A list of specific changes from model 1 is given at the end of this Introduction. The 1620 Model 2 is a solid-state desk size computer oriented toward scientific applications. The basic system consists of the 1620 Model 2 Central Processing Unit and Console, and the Input-Output Console Typewriter, used for input with hard copy and for output. Typewriter output occurs at about fifteen characters per second. This minimum configuration, including core storage of 20,000 decimal digits, rents for $2,200 per month. The processor performs the two-address instructions sequentially. Data processing is performed serially by digit on variable length decimal fields; no input-output radix conversion is required. Alphameric data may be input and output; each alphameric character is stored internally as a pair of decimal digits. Instructions are fixed in length at twelve digits. A digit consists of four numeric bits, one check bit, and one flag bit used for storing the Sign of a numeric field and for delimiting a field. The core store has a 10 microsecond read-restore cycle. Fixed-point addition of two fields is performed at 15 microseconds per digit; field movement also requires 15 microseconds per digit. Each digit in storage is individually addressable. Core storage is expandable to a total size of 40,000 or 60,000 digits. Punched tape and card equipment can be used with the 1620. Paper tape may be input at 150 rows per second or output at 15 rows per second; no buffering is available. Two independent buffered card channels are available, permitting reading at 250 cards per minute and punching at 125 cards per minute. A few 1620 Modell installations have installed Model 7330 Magnetic Tape Units and Model 1403 Line Printers on an RPQ basis. A new disc storage system has been announced for the IBM 1620, 1401, 1440, and 1710 systems. This system is the 1311 Disk Storage Drive, and features interchangeable Disk Pack units as a replaceable storage medium. The peak transfer rate is 50,000 digits per second when used in the 1620 system. Each 1311 Disk Storage Drive holds one Disk Pack at a time, providing on-line storage for 2,000,000 digits per drive in addressable sectors of 100 digits each. A maximum of four drives can be connected. Up to 20,000 digits can be read or recorded without movement of the access mechanism, so the system is suitable for sequential as well as random processing. Total waiting time for access to a randomly placed record averages 270 milliseconds. Disk Storage seek operations (but not read -write operations) can be overlapped with other system functions. IBM has announced programs utilizing the disc file for SPS and FORTRAN II, and alsoadisk Utility Program to aid in the maintenance of programs or data in disc storage. Each Disk Pack consists of a stack of six discs with ten magnetiC recording surfaces and a cover that forms a sealed container when the Disk Pack is not mounted on a drive. Diameter is 14 inches, height is 4 inches, weight is less than 10 pounds, and time to interchange two Disk Packs is about one minute. © 1962 by Auerbach Corporation and BNA Incorporated 12/62 413:011.101 IBM 1620 MODEL 2. INTRODUCTION-Contd. The basic 1620 Model 2 includes 42 instructions, many of which allow the use of literals (the "Immediate" instructions, as Add Immediate). Fixed point multiply and divide are provided. Floating point operations are performed by subroutines, or by extra cost floating point instructions. The input-output operations transfer groups of characters rather than a sing'le character or word, and no radix conversion is needed since data is stored in decimal form. Punched tape operations are terminated by a delimiter code, and card operations are stopped after 80 characters are transferred. Card operations are checked by comparing the buffer contents to information read at a checking station. The assembly language for the 1620 is the 1620/1710 Symbolic Programming System, which includes macros for floating point subroutines for arithmetic and mathematical functions. The translation may be performed on the 1620 or on the 709/7090 system. Problem oriented facilities are oriented towards industrial design applications, mathematical applications, and linear programming. They include AUTOMAP, a program for machine tool control. FORTRAN I and II are available for mathematical program writing. The languages have some restrictions relative to 709/7090 FORTRAN II; see sections :161 and :162. With minor changes, 1620 FORTRAN source programs can be compiled and executed on the IBM 7070, 704, and 709/7090 systems. FORTRAN I compiling should be faster on Model 2 1620 than on Model '1, since compiling was generally processor bound on Modell. IBM provides the GOTRAN interpretive system based on restricted FORTRAN language statements. The number of arithmetic operations allowable in single statement is one. The FORGO interpretive system, developed at the University of Wisconsin Engineering Computing Laboratory, is more useful than GOT RAN . See Sections: 163 and: 164 and the associated Operating Environment sections for descriptions of these two systems. The 1620 Modell Processor is used as the digital computer in the IBM 1710 Control System, used in process control and data collection applications. 1620 Model 2 is not available for the 1710 system. Changes from 1620 Modell Core Storage read-restore cycle changed from 20 to 10 microseconds. Add table replaced by decimal adder. Digits transferred in fewer memory cycles. I/O Console Typewriter replaced by Model 731 typewriter, a modified IBM Selectric. Standard inclusions: Indirect Addressing feature Automatic Divide feature Additional Instructions (Transfer Numerical Fill, Transfer Numerical Strip, Move Flag). Transmit Floating instruction. New Instructions: Transmit Record No Record Mark (record mark not transferred). Branch and Select (makes Indirect Addressing feature active or inactive). 12/62 /' 413:031.100 IBM 1620 Model 2 System Configuration SYSTEM CONFIGURATION § 031. .1 DESK SIZE SCIENTIFIC SYSTEM; CONFIGURATION IX Deviations from Standard Configuration: . . . . . . . Rental: core storage larger by 8,000 decimal digits. printer faster by 2.5 lines/minute. paper tape input faster by 140 rows/sec. paper tape output faster by 5 rows/sec . . . . . . . . . . . . . . . . . . • . . . . . . $ 3,090 per month. Core Storage, Model 1625- 2 (40,000 digits). Processor, Console, and Input- Output Typewriter. Punched Tape Reader and Controller. Tape Punch and Controller. Optional Features Included: . . . . . . . . . . . . . . . . Paper Tape Reader Adapter. © 1962 by Auerbach Corporation and BNA Incorporated 12/62 IBM 1620 MODEL 2 413:031.200 § 031 . .2 PUNCHED TAPE/CARD SCIENTIFIC SYSTEM; CONFIGURATION X Deviations from Standard Configuration: no index register. printer faster by 2.5 lines/minute. Rental: $ 4,275 per month. Core Storage, Model 1625-3 (60,000 digits). Processor, Console and InputOutput Typewriter. Card Read Punch and Controller. Optional Features Included: . . . . . . . . .• . . . . . . . Automatic Floating Point Feature. Card Read Punch Adapter. 12/62 413:041.100 IBIA 1620 Model 2 Internal Storage Core Storage ItHERNAL STORAGE: CORE STORAGE § 041. .1 .16 Reserved Storage GENERAL Purpose .11 Identity: .12 Basic Use: . .13 Description Core Storage. Model 1625-1, 1625- 2, 1625-3. Number of locations Multiply table: Product or Dividend working area: 200 20** working storage. Card Load area: Core Storage for the 1620 Model 2 system is very similar to storage for Model 1. However, its readrestore cycle time has been halved, and the previous add table area is available for general storage. All core storage is now externalto the 1620 Processor cabinet. Core storage is located in a separate cabinet which can contain any of the three models. Model 1625-1 contains 20, 000 decimal digits of storage; model 1625- 2 contains ·kO, 000, and model 1625-3 contains 60, 000. One of the three models must be specified for any 1620 Model 2 system. Each location stores one decimal digit and is individually addressable by a five-decimal-digit address code. In the computer numeric mode, one location stores one decimal digit; and in the alphameric mode, two digit locations are used to represent either an alphabetic character, special character, or decimal digit. One digit consists of four BCD numeric bits, one odd parity check bit, and one flag bit. Storage cycle time is 10 microseconds. Core storage uses "wraparound" addressing: address 00000 follows the highest-numbered address when incrementing addresses; the highest-numbered address (19999 for example) follows 00000 when decrementing addresses. Core storage is used for all input-output areas, instructions, and working storage. Instructions require 12 digits of storage. Basic storage includes a 200-digit reserved area for a multiplication table. No lock is provided to protect this area; it is used for storing the loader routines when a program is being loaded. Power may be turned on and off without loss of information in storage when following normal operating procedures. Operands (fields and records) may be any length desired. Numeric fields are delimited by a flag bit in the most significant digit position, while complete records are delimited by a record mark code. .14 AVailability: . 4th Qtr., 1963 . 15 First Delivery: see above. CD 80 Locks no.* no; may also be used as working storage. no; used with card reader Load key; may be used as working storage. * Used for loader routine before table is inserted. ** With Automatic Divide. .2 PHYSICAL FORM .21 Storage Medium: • . 22 Physical Dimensions . . magnetic core. .221 MagnetiC core storage Array size:. . . . 100 by 100 by 12 bits. .23 Storage Phenomenon: . direction of magnetization. .24 Recording Permanence .241 Data erasable by instructions: . 242 Data regenerated constantly: . 243 Data volatile: .244 Data permanent: . 245 Storage changeable: . .28 coincident current. same as recording . uniform. Potential Transfer Rates .292 Peak data rates Cycling rate: . Unit of data: Conversion factor: Data rate: Compound data rate: . • .3 no . no (with normal power on/off procedures). no . no. Access Technigues .281 Recording method: .282 Reading method: . 283 Type of access: .29 yes . 100; 000 cycles/sec. 2 digits. 6 bits per digit. 200, 000 digits/sec. 200, 000 digits/sec . DATA CAPACITY 1962 by Auerbach Corporation and BNA Incorporated 12/62 413:041.310 § IBM 1620 MODEL.2 041. .53 Maximum Storage Mininum Storage Identity: Characters: Instructions: Digits: Modules: .32 Model 1625-1 10,000 1,666 20,000 1 Rule for Combining Modules: . . . . Model 1625-2 20,000 3,333 40,000 2 Model 1625-3 30,000. 5,000. 60,000. 3. Access Time Parameters and Variations .531 For uniform access Access time: Cycle timc: . . For data unit of: .6 CHANGEABLE STORAGE: .7 PERFORMANCE .71 Data Transfer CONTROLLER .41 Identity: . . . ") •...l:"'- Transfer Load Size With self: . . . . . no separate controller. .73 With self: . . . . . . .8 Error Check or Interlock Invalid address: parity and limit check In valid code: Receipt of data: parity only . ~arity check Recording of data: Recovery of data: records parity bit. parity check Dispatch of data: Timing conflicts: Reference to locked transmits parity bit. no conflicts. Connection to Device Data Transfer Control: . . . .5 ACCESS TIMING .51 Arrangement of Heads: . . .52 by processor. . . . 1 access device. Simultaneous Operations: . . . . . none. area: I 12/62 66, 667 digits/sec. ERRORS, CHECKS AND ACTION .431 Devices per controller:. 1. .432 Restrictions: . 1 module type. • 44 one -half of storage. Effective Transfer Rate Connection to System .422 Off-line: . . . . . . . none. . i3 . . . none. Pair of storage units possibilities With self: . . . . . . yes all combinations are listed above. .72 .4 lOp sec. 10 I.' sec. 1 digit. I. . .A-U-ER-BA-CH--L-.~ none. Action indicator, alarm, halt. indicator, alarm, system halt optional. indicator. alarm, system halt optional. 413:051.100 • III STANDARD ElDP IBM 1620 Model 2 Central Processor REPORTS CENTRAL PROCESSOR § .12 051. .1 GENERAL . 11 Identity: . .12 Description Computer. 1620 Model 2 The 1620 Model 2 Computer is a two-address sequential processor oriented towards scientific applications, and is offered as an optional version of the 1620. It is a faster processor than 1620 Model 1, and offers programming compatibility with model 1 programs. Functionally, model 2 is almost identical to model 1. Computation speed has been improved by a factor of four over model 1. A number of optional Special Features for model 1 are standard on model 2; other Special Features available for model 1 are also available with model 2. A list of changes in model 2 is given at the end of this description. Operands are held as variable-length strings of decimal digits, delimited by a flag bit in the six-bit code of the most significant digit of the field. Data may also be stored in alphameric fields, two digits per character. Instructions are twelve digits long and are performed sequentially. Data operations are performed serially by digit upon the operands, which may be any length. The Central Processor cabinet includes the Console, desk work area with Console I/O Typewriter, and space for adapters used with input-output devices. Internal records are defined by the presence of a record mark code digit. Records, as well as fields, may be moved within core storage. The record mark terminates a write operation on punched tape. Record marks are generated in storage by the following: end of record on punched tape; Record Mark key on Console I/O Typewriter; record mark as data on cards or punched tape. Although the core storage cycle is 10 microseconds, instruction times are a good deal longer because of the serial operation. Add-Subtract-Compare-Move operations all require 140 microseconds for fivedigit operands. Fixed point Add, Subtract, Multiply, and Divide are standard instructions in the Central Processor. Automatic Floating Point Operations Special Feature, available at extra cost, provides fast floating point arithmetic. A complete set of conditional branch instructions is standard, and allows branching on .13 presence or absence of the condition specified. Four sense switches are available for interrogation. The .14 © Description (Cont'd) Branch and'Transmit instruction provides a jump to the P-address, and also transmits the field specified by the Q-address to the storage area immediately preceding the P-field. This field may contain parameters needed by the subroutine starting at P. Note that the optional features listed in the description of the Central Processor of the 1620 Modell are all standard inclusions in model 2, except the Autom'atic Floating Point Operations. These features, now standard, are Automatic Divide, Indirect Addressing, Transfer Numerical Fill, Transfer Numerical Strip, and Move Flag. Transmit Floating is also standard in model 2. The set of arithmetic, comparison, and data movement instructions includes instructions for handling literals. For example, there is Add, and Add Immediate. The Add Immediate instruction is helpful in address modification, since there is no index address modification in the 1620. The normal Add instruction could be used, however, to add a constant to an address since the operating time of Immediate instructions is no faster than the operating time of the normal instructions. No editing instruction exists, but the typewriter can be commanded to space, tabulate, or perform a carriage return. Normally, carriage return occurs automatically at the end of each line. Comparisons are performed digit-bydigit, whether the field is numeric or alphameric. Two new instructions are included in the repertoire, Branch and Select, and Transmit Record No Record Mark. Branch anti Select allows the Indirect Addressing feature to be made operative or inoperative; a normal power-on operation causes Indirect AddreSSing to be operative. Use of this instruction also causes an unconditional transfer to the P address of the instruction. The Transmit Record No Record Mark instruction moves a record in storage, but the terminal record mark delimiter digit is not moved. Changes from 1620 Modell Add tables replaced by decimal adder. ,Core storage placed in separate cabinet. Optional features made standard as described above. Transmit Floating instruction is standard. Data movement requires fewer memory cycle times than previously. AVailability: . . 4th quarter 1963. First Delivery: see above. 1962 by Auerbach Corporation and BNA Incorporated 12/62 IBM 1620 MODEL 2 413:051.200 § 051. .2 PROCESSING FACILITIES . 21 Operations and Operands Operation and Variation .211 Fixed point Add -subtract: Multiply Short: Long: Divide No remainder: Remainder: Provision Radix Size automatic decimal 2 to N digits, limited by core storage. none. automatic decimal 2 to N digits. none. automatic decimal 2 to N digits. subroutine optional feature subroutine optional feature subroutine optional feature subroutine optional feature decimal decimal decimal decimal decimal decimal decimal decimal 2 2 2 2 2 2 2 2 .212 Floating point Add-subtract: Multiply: Divide: Shift: .213 Boolean: . 214 Comparison Numbers: Absolute: Letters: Mixed: none. 2 to N digits. automatic Done. 1 to N char. 1 to N char. automatic automatic Collating sequence: special symbols, A to I, .215 Code translation: . 216. Radix conversion: · 217 Edit format: . .218 Table look-up: .22 to 45 digits. to 100 digits. to 45 digits. to 100 digits. to 45 digits. to 100 digits. to 45 digits. to 100 digits. 0, J to z, 0 to 9. none . none. alter size by set flag command. none. Special Cases of Operands .221 Negative numbers: . . . flag bit over least significant digit of decimal field. .222 Zero: . . . • . . . . . . both + and - zero. Signs ignored when comparing 2 all-zero fields. .223 Operand size determination: flag bit over most Significant digit of decimal field. .23 Instruction Formats · 231 Instruction structure: • 23 2 Instruction layout: Part Size (digits) · 233 Instruction parts Name Operation: .P-Address: 12/62 12 digits. Q-Address .233 Instruction parts (Contd.) Name Purpose P-Address (Contd.) 4. address for transfer; ot" 5. input-output starting address . Q-Address: . . . . . 1. operand adc\ress; .2. operand literal; 3. starting address for transfer; 4. address of testable indicators; 5. typewriter control function; or 6. select input-output device. . . 234 Basic address structure: . 2-address. .235 Literals Arithmetic: . any; 5 practically. Comparisons and tests: . . . . any; 5 practically. Incrementing modifiers: no modifiers (no indexing); however, use of literals in arithmetic useful for incrementing addresses . . 236 Directly addressed operands .2361 Internal storage type: core storage . Minimum. size: . .. 2 digits. Maximum size: . . . complete store. Volume accessible: . complete store. .2362 Increased address capacity: none. .237 Address indexing: . none; use of literals in arithmetic useful for incrementing addresses. .238 Indirect addressing .2381 Recursive: . yes. .2382 Designation: flag bit in least significant digit of address . . 2383 Control: . . . absolute address has no flag bit . . 2384 Indexing with indirect addressing: . . not possible (no indexing). .239 Stepping: . . . . . none. .24 Special Processor Storage: . . . none. .3 SEQUENCE CONTROL FEATURES .31 Instruction Sequencing .311 Number of sequence control facilities: .314 Special sub-sequence counters: . . . . . 315 Sequence control step-size: .316 Accessibility to routines: . . . 5 Purpose specifies operation to be performed. 1. operand address in core storage; 2. address of result of addition or subtraction; 3. jump address; 1. none . 1 instruction (12 digits). by BT instruction; can store next address in sequence; address used by BB instruction. .317 Permanent or optional modifier: . none. .32 Look-Ahead: none. .33 Interruption: none. .34 Multi -running: none. 413:051.350 CENTRAL PROCESSOR § .422 For arrays of data (Contd.) 051. .35 Multi - sequencing: .4 PROCESSOR SPEEDS . 41 Instruction Times in IJ secs .428 Floating point subroutines called by macros; 8 decimal digits ci =ai + bf . 10,200 (*) . 6, SOO (*) . bj = ai + bf . Sum N items: 6,700 (*). c=c+aibj: . . . . . 15,SOO(*) . Floating point using Automatic Floating Point Operations special feature; S decimal digits ci = ai + bj : . 961. 756 . bj = ai + bf . Sum N items: 661. c = c + aibf . . . . . 4,050. Branch based on comparison Numeric data: . 615 + 15D; D = no. digits in key. Alphabetic data: 615 + 30C; C = no. alpha char in key. Switching Unchecked: 260. Checked: . 590. List search: . 535N + 210. Format control per character Unpack Scientific:. . . . . . 0; usable in input area. Compose Scientific Fixed point: . . . . 23; for moVing data. Floating point: . . 27; for moving data. Table look up per comparison For a match: . . . . . 535. For least or greatest: 740. For interpolation point: . . . . . . 535. Bit indicators Set bit in separate location: so. Test bit in separate location: 70 . 65 + 15D. Moving: . . . . . . . .5 ERRORS, CHECKS, AND ACTION . none. .411 Fixed point Add - subtract: 65 + 15D. Multiply: . . . 160 + 10D + 40~. Divide: . . . . 60 + 135D + 9SD .412 Floating point Using subroutines called by macros; S digits Add-subtract (FA, FS): . . . . . 2,400 (*). 4,500 (*). Multiply (FM): Divide (FD): . . 11,000 (*). Using Automatic Floating Point Operations special feature Add-subtract (FADD, FSUB): 150 + 22D. Multiply (FMUL): 2S0 + 30D + 40D2. Divide (FOIV): . . 345 + 2700 + 9SD2. .413 Additional allowance for Indirect addressing: 30. Re-complementing: 100 (fixed or floating point) . . 414 Control Compare: . 65 + 15D. Branch: .. 60 . . 415 Counter control: no counters . .416 Edit: . . no edit instruction . . 417 Convert: no convert instruction . . 41S Shift: .. no shift instruction. .423 .424 .425 .426 .427 .42 Processor Performance in J.t secs .421 For random addresses Fixed point c = a+ b: . . 130+ 30D. b = a + b: . . 65 + 15D. Sum N items: 65 + 15D. c = ab: 225 + 25D + 40D2 c = alb: . . . 300 + lS0D + 9s02 . Floating point subroutines called by macros; 8 decimal digits c = a + b: . . 10,000 (*). b=a+b: . . 6,300(*). Sum N items: 6,300 (*). c = ab: 12,300 (*). c = alb: . . . . . . . 24,600 (*). Floating point using Automatic Floating Point Operations special feature; S decimal digits c = a + b: . . 541. b = a + b: . . 326. Sum N items: 326. c = ab: 3, 295. c = alb: . . . 8,960. . 422 For .arrays of data Fixed point 750+ 30D. ci = ai + bf . 590+ 15D. bj = ai + bj: . Sum N items: 400+ 15D. 730 + 180D + 9802 c = c+ aibf. © 1963 Error Check or Interlock Overflow: check indicator, alarm: halt or programmed action. Exponent underflow and overflow (float-pt): check indicator, alarm: halt or programmed action. Zero divisor: Invalid data: overflow check. parity check Invalid operation: Arithmetic error: Invalid address: none. parity check Receipt of data: parity check Dispatch of data: parity check Incorrect operand lengrh: Mispositioned divisor: overflow check. overflow check, by Auerbach Corporation and BNA Incorporated Action alarm, indicator: halt or programmed action. alarm, indicator: halt or programmed action • alarm, indicator: halt or programmed action. alarm, indicator: halt or programmed action. 3/63 413:081.100 .SIANDARD II EDP ' ' ' IS IBM 1620 Model 2 Input-Output I/O Typewriter INPUT-OUTPUT: CONSOLE I/O TYPEWRITER § 081. • 24 •1 GENERAL • 11 Identity: .12 Use of station: . Stacks: . • . . Heads/stack: Method of use: • . . . • . • I/O Typewriter, Model 731. Part of 1620 Console. . 24 Description The Console I/O Typewriter is a modified IDM Selectric typewriter which stands upon the console desk. It is usable only with the 1620; no off-line use is possible. It types output data under program control, and provides input under program request or by operator initiation (console Insert key). Up to 100 characters may be inserted into storage by operator initiation, and any number of characters by program request for typewriter data. The record mark may be inserted in storage by a typewriter key but is treated only as a data character. The decimal pOint (period) can be inserted correctly into storage only with the use of a Read Alphamerically instruction. A flag key is used to indicate a negative number, or a flag bit, during numeric output. An output command transfers any number of characters to the typewriter from storage, terminated by a record mark. Both input and output data transfers are parity-checked by the 1620. Incorrect characters (parity or invalid codes) are marked specially as they are typed. . 13 Availability:. . • 14 First Delivery: . 4th Qtr., 1963 • printing. 1. 1. 1 character at a t_ime • Arrangement of Heads (Cont'd) Use of station: . Stacks: . . • . Heads/ stack: Method of use: . _25 keyboard input. 1. 44 keys. 1 character at a time. Range of Symbols Numerals: Letters: . . Special: •. Alternatives: . FORTRAN set: Req. COBOL set: _ Total: • • . • . * PHYSICAL FORM • 21 Drive Mechanism . 211 Drive past the head: . • 212 Reservoirs: • . • • • • 22 Sensing and Recording Systems .221 Recording system: • 222 Sensing system: . 223 Common system: . 23 friction drive . none. . 231 Maximum number Interleaved carbon: .233 Types of master Multilith: Spirit: . Form of Storage .311 Medium: . . . 312 Phenomenon: . . continuous fanfold stationery . typeface impression . Positional Arrangement .33 Coding: , .34 Format Compatibili~: .35 Phlsical Demensions .352 Length: • • • • • • .353 Maximum margins:. CONTROLLER .41 Identity: . • . depends on stationery. · 42 Connection to Slstem yes. yes. · 421 On-line: .' 422 Off-line: © 1962 52 .31 .4 Multiple Copies none. yes. no. EXTERNAL STORAGE • 351 Overall width: . . . engraved rotating moving typing element. typewriter keyboard for manual input . no • * 0-9. A- Z. including control codes not used as data. .321 Serial by: . . 324 Track use Data: . 325 Row use: •2 10 26 16. .3 . 32 see above. Arrangement of Heads by Auerbach Corporation and BNA Incorporated character at 10 per inch . 85 print pOSitions • all for data. as in Data Code Table No. 5. . none • 8. 5 inch line of print; platen size may be 9.375 or 10. 875 inches. no limit • no limits. no separate controller; part of 1620 Console . 1. not usable off-line • 12/62 IBM 1620 MODEL 2 413:081.430 § .55 081. · 43 Connection to Device Control Operations Disable: Request interrupt: no. no . none . • 431 Devices per controller:. 1. . 432 Restrictions: • . . • . none. .56 Testable Conditions: . • 44 .6 PERFORMANCE .61 Conditions: . .62 Speeds Data Transfer Control · 441 Size of load Input: . • . .442 • 443 • 444 • 445 • 446 no limit when requested by program; 100 char when manually initiated by Insert key. Output: • • . . • • . any size up to limit of storage; terminated by record mark. Input-output areas: . . core storage. Input- output area char. access: . • • . Input- output area lockout: . • . yes. Table control: . no. Synchronization: automatic. .5 PROGRAM FACILITIES.AVAILABLE ;51 "mocks .511 Size of block: console Release and Stan key, or 100th char. record mark in storage. Output: • 52 Input-Output Operations .521 Input: • 522 Output: . .523 Stepping: • . • 524 Skipping: . .525 Marking: • .526 Searching: • 53 .54 12/62 Code Translation: . .621 Nominal or peak speed: .624 Effective speeds: .63 . 15.5 char/sec for output; manual typing speed for input. same as peak speeds, less allowance for carriage returns. Demands on System m.sec per char or Percentage 100 or 100 . Component Processor: .7 EXTERNAL FACILITIES .71 Adjustments: • • • . • typical typewriter adjustments. .72 Other Controls same as load size; see. 441 above. • 512 Block demarcation Input: • none. Function: Form: • • • Comment: .73 end input and sgtrt computer• momentary key. R-S key. Loading and Unloading .731 Volumes handled: • . • depends on feed facilities . input 1 block into core storage • output 1 block from core storage, with automatic carriage returns. step 1 or 2 lines at end of printed line; set by operator. none. none. none. automatic; data stored dependent on mode of operation (numeric or alphameric) . Format Control: . . . . fixed format; automatic carriage return at end of each line. Carriage return may also be programmed. •8 ERRORS, CHECKS AND ACTION Error Check or Interlock Action Recording: parity check at 1620 Reading: lnput area overflow: parity check at 1620 indicator. alarm; overprints a bar thru character. indicator. alarm • Output block size: Invalid code: Exhausted medium: Imperfect medium: Timing conflicts: Dispatch of data: count of 100 max. char on manual Insert operation. any size possible. check when printing special char printed. none. none. interlock attach parity bit. wait. 413: 121.1 00 IBM 1620 Model 2 Instruction List INSTRUCTION LIST: ADDENDUM § 121. GENERAL .1 The 1620 Model 2 contains all the instructions for the 1620 Modell (see Section 412:121) and has two new ones in addition. They are given below. OPCODE Numeric Mnemonic .2 BS 60 TRNM 30 Branch and Select. Makes Indirect addressing feature active or inactive, under program control, using this BS instruction. Transmit Record No Record Mark. Record moved internally as in Transmit Record except that the delimiting Record Mark is not transmitted . A number of optional instructions available to the 1620 Modell are now standard inclusions. They are D DM LD LDM MF TFL TNF TNS .3 Description Divide Divide Immediate Load Dividend Load Dividend Immediate Move Flag Transmit Floating Transmit Numerical Fill Transmit Numerical Strip The optional instructions for the 1620 Modell which remain optional for model 2 are listed here for convenience. FADD Floating Add FSUB Floating Subtract FMUL Floating Multiply FDIV Floating Divide FSL Floating Shift Left FSR Floating Shift Right BTFL Branch and Transmit Floating © 1962 by Auerbach Corporation and BNA Incorporated 12/62 413:201.001 STANDARD IBM 1620 Model 2 REPORTS System Performance NOTES ON SYSTEM PERFORMANCE § 201. •1 GENERALIZED FILE PROCESSING Because the IBM 1620's output speed is low on punching and typing alphanumeric data, it was considered unsuitable for this type of data processing application at this time. (Where the master file is small enough to be held in internal storage, the 1620 can be quite useful. ) .2 SORTING Magnetic tape is not generally used with the IBM 1620 system • .3 MATRIX INVERSION The standard problem estimate of the Users' Guide was used, which is based on the time for floating point cumulative multiplication . •4 GENERALIZED MATHEMATICAL PROCESSING Both fixed point coding and floating point subroutines are timed for Configuration IX. Floating point calculations are performed by the Automatic Floating Point Operations special feature in Configuration X. Input is read by the 1621 Paper Tape Reader for Configuration IX and by the 1622 Card Read Punch for Configuration X. Results are printed on the on-line typewriter for Configuration IX, and punched on the 1622 Card Read Punch for Configuration X. .5 GENERALIZED STATISTICAL PROCESSING Fixed point machine coding is used. Input is read by the 1621 Paper Tape Reader for Configuration IX and by the 1622 Card Read Punch for Configuration X. © 1962 by Auerbach Corporation and BNA Incorporated 12/62 413:201.011 IBM 1620 Model 2 System Perfonnance IBM 1620 MODEL 2 SYSTEM PERFORMANCE © 1962 by Auerbach Corporation and BNA Incorporated 12/62 413:201.012 IBM 1620 MODEL 2 IBM 1620 MODEL 2 SYSTEM PERFORMANCE WORKSHEET DATA TABLE 2 Configuration Item Worksheet Reference X IX 5 F.ixed/Floating point Fixed Point Floating Point ** Floating Point *** input 1621 P.T. Reader 1621P.T. Reader 1622 Card Reader P.unch output I/O Typewriter I/O Typewriter 1622 Card Reader Punch input 100 digits 100 digits 100 digits output 100 digits 100 digits 100 digits Unit name Size of record Standard Mathematical Problem A input T1 667 667 480 8,000 8,000 960 667 667 7 8,000 8,000 7 m.sec/block 4:200.413 output T2 input T3 m. sec penalty output T4 7 m.sec/record TS 0 0 0 m. see/5 loops T6 170 290 181 m.sec/report T7 0 0 1 Unit name 1621 P.T.• Reader 60 digits Size of block Standard Stati sti cal Problem A 60 digits 1 1 T1 400 3.4 T3 400 3.4* m.sec!b1ock T5 0 0 m. sec/record T6 0.740 0.740 m. sec/table T7 2.255 2.255 subroutines. * N greater than 104. *** By Automatic Floating Point Special Feature. Records/block B m.sec/block m.sec penalty 4:200.512 C.P. ** By I 12/62 1622 Card Reader Punch IAUERBAC~ 413:201.300 IISTAN"RD II EDP IBM 1620 Model 2 System Performance REPORTS SYSTEM PERFORMANCE .312 Timing Basis:. . . • . 201. § .3 MATRIX INVERSION • 31 Standard Problem Estimates .311 Basic Parameters:. . . using estimated procedure outlined in User's Guide, 4:200.312 see graph below . .313 Graph:. . . • . . . . general, non -symmetric matrices, using floating point to at least 8 decimal digits. 100.00 7 I 4 J J IA 2 ~ J 10.00 I.... .$ I 7 '( 18~ II~ 4 ~b JJ JJ 'tt~' ~ Q; Ce.$ tI :;:: I<:, fQ j/:> 2 §Jj ,$;-C;i Time in Minutes for Complete Inversion § I f<.,~ 1.00 ~c8-- II 7 III I I I 4 I I I J I 2 J 0.10 7 , I 4 A If 2 ~ / IIIf 0.01 2 1 7 2 4 7 10 2 100 4 7 1,000 Size of Matrix © 1963 by Auerbach Corporation and BNA Incorporated 1/63 IBM 1620 MODEL 2 413:201.400 § 201. .4 . 41 . 412 Computation:. 5 fifth -order polynomials . 5 divisions . 1 square root. using estimating procedure outlined in User's Guide, 4:200.413 see graph below • . GENERAl.JZED MATHEMATICAL PROCESSING .413 Timing basis: . Standard Mathematical Problem A Estimates .411 Record sizes:. . . . • 10 signed numbers, avg. size 5 digits, max. size 8 digits. .414 Graph: • • • . Configuration IX; Single Length (8 digit precision); Fixed point. R =Number of Output Records per Input Record .1,000,000 7 4 2 100,000 7 4 2 R Time in Milliseconds 10,000 per Input Record 7 = 1.0 ----- ~ ~ ~ ""~~~ " ~.J I/~ /. ~ 4 --" 2 1,000 R 0.1 R 0.0 ~ 7 l....oo iI'" ~ ~ ~~~ V/ V ~i"" 4 2 100 2 0.1 4 2 7 1.0 4 7 2 10.0 C, Number of Computations per Input Record 1/63 4 7 100.0 SYSTEM PERFORMANCE § 413:201.415 201. .415 Graph: . . . . . . . . see graph below. Configuration IX; Single Length (8 & 2 digit precision); Floating point. R = Number of Output Records per Input Record 1,000,000 7 4 2 100,000 7 4 2 Time in Milliseconds per Input Record 10,000 R / V 1.0 -,' ',; ~ If 1..1 'I 7 Ai .AT W 4 2 1,000 o. -'o.t .",.". R - ~ R ~ ,." ..,. io"~ ~ ~~ " 7 4 2 100 2 0.1 4 2 7 1.0 4 7 2 10.0 4 7 100.0 C, Number of Computations per Input Record © 1963 by Auerbach Corporation and BNA Incorporated 1/63 413:201.416 § IBM 1620 MODEL 2 201. .416 Graph: • . . . . • . . see graph below. Configuration X; Single Length (8 & 2 digit precision); Floating pOint. R = Number of Output Records per Input Record 1,000,000 7 4 100,000 7 4 2 " 10,000 Time in Milliseconds per Input Record 7 I / 4 ~ / 2 IfIf R=1.0 1,000 7 I R =1 0• 1, 0.01 4 2 100 2 0.1 4 7 2 1.0 4 7 2 10.0 C, Number of Computations per Input Record 1/63 4 7 100.0 SYSTEM PERFORMANCE § 413: 20 1.500 201. .512 Computation: . .5 GENERAliZED STATISTICAL PROCESSING .51 Standard Statistical Problem A Estimates . 511 Record size: . . • . . augment T elements in cross-tabulation tables. using estimating procedure outlined in User's Guide, 4:200.513 see below . .513 Timing basis: . .514 Graph: . • . . . . . thirty 2-digit integral numbers. 10,000 7 4 2 ~~, ~ 1,000 ,,- 7 ~ ~ f 1..00 IX ~ ~' .J 4 / /' X 2 Time in Milliseconds per Record 100 7 4 2 10 7 4 II> 2 1 1 2 4 7 10 2 4 100 2 4 7 1,000 T, Number of Augmented Elements Roman numerals denote Standard Configurations © 1963 by Auerbach Corporation and BNA Incorporated 1/63 413:211.101 IBM 1620 Model 2 Physical Characteristics IBM 1620 MODEL 2 PHYSICAL CHARACTERISTICS © 1962 by Auerbach Corporation Qnd BNA Incorporoted 12/62 413:211.102 IBM 1620 MODEL.2 IBM 1620 MODEL 2 PHYSICAL CHARACTERISTICS Unit Name Central Processing Unit Core Storage Core Storage Core Storage Paper Tape Reader Tape Punch Card Read Punch Disk Storage Drive Disk Storage Drive Model Number 1620 Mode12 1625-1 1625-2 1625-3 1621 1624 1622 1311-3 1311-2 44x60X27 44X60x27 44X60X27 44X31x26 * 45x57x30 38x43X24 38X30x24 1,115 1,200 max. 350 ? 1,125 700 ? ? 10 10 20 20 to 1620; 10 to power receptacle IDENTITY Height x Width X Depth, in. 44x63x44* Weight, Ibs. 1,200 985 Maximum Cable Lengths --- ? 350 PHYSICAL Temperature,oF. ? ? ? ? ? ? ? ?t ?t Humidity, % ? ? ? ? ? ? ? ?t ?t Temperature, of. 60 to 90 60 to 90 60 to 90 60 to 90 60 to 90 60 to 90 60 to 90 60 to 90 60 to 90 Humidity, % 20 to 80 20 to 80 20 to 80 20 to 80 20 to 80 20 to 80 20 to',80 20 to 80 20 to 80 10,000 4,200 5,200 6,200 .. t 5,500 4,000 2,000 Air Flow, efm. 840 ? ? ? * t 280 ? ? Intemel Filters ? ? ? ? ? ? ? ? ? 208/230 * * * t * .. 208/230 From 1311-3 ± 10'7. * * .. t * .. ± 10'7. Storage Ranges Working Ranges ATMOSPHERE HeatDissipated, BTU/hr. Nominal Voltage Tolerance Nominal ELECTRICAL Phases and Lines Load KVA 12/62 .. * * t * * 60 ±0.5 .. * * t * * ±0.5 1CP, 3 wire .. * * t * * 1.5 0.6 0.8 1.0 * ? 1.46 * From * From * From * Included 1620. 1620. * Installed within 1621 Reader. t Included in 1620. From 1311-3 Cycles Tolerance NOTES 60 * Includes work shelf. 1620. in 1620. tFrom 1620. * From 1620. 1CP, 3 wire 1CP, 3 wire 1.4 0.75 t diBkpack: tdiskpack: 40-120oF 40-120oF 10-80'7. 10-80'7. 413:221.101 .SI"DARD EDP _ IBM 1620 Model 2 Price Data R£PORIS § 221. PRICE DATA PRICES IDENTITY OF UNIT CLASS Nc. CENTRAL PROCESSOR 1620 Model 2 Name Central Processing unit" Console and Input/Output Type\triter . Monthly Rental $ Monthly Maintenance $ Purchase $ 1,200 53.75 52,600 250 25 10 135 9.00 1.50 1. 25 6.75 13, 750 1,250 500 6,400 1,000 1,650 2,200 25.00 32.00 38.50 46,500 79,000 106,500 665 375 55.50 29.00 29,250 17,000 490 190 25 615 13.75 4.75 50.00 8,650 1,400 30,000 Optional Features 1289 5515 1633 3340 STORAGE 1625 Modell Model 2 Model 3 1311 Model 3 Model 2 1621 1624 1622 INPUTOUTPUT - NOTE: Automatic Floating Poillt Operations Paper Tape Reader Aclli.pter Card Read Punch AQaPQer Disk Storage Drive Adapter Core Storage 20,000 digits 40,000 digits 60,000 digits Disk Storage Disk Storage Drive Disk Storage Drive Disk Pack Paper Tape Reader Tape Punch Card Reader Punch Calcomp 560-R Digitill\ecorder .!I 176 hourEj Pe!r month usage. * See Manufacturer (California Com puter Products, Inc.). Price is I'4PPIloximately $3,300 purchase. © 1962 by Auerbach Corporation and BNA Incorporated * * 12/62 IBM 1440 International Business Machines Corp. ~ .. ( ( ( AUERBACH INFO, INC. PRINTED IN U. S. A. .. IBM 1440 International Business Machines Corp. AUERBACH INFO, INC. PRINTED IN U. S. A. 414:001.001 IBM 1440 Contents CONTENTS 001. § 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 14. 15. 16. Introduction................... Data Structure • . . • • . . . . • . . • • . • . System Configuration • • . . . . . • . . • . . . Table of System Configurations I Typical Card System • . . • • . 4-Tape Business System . . • . IID 6-Tape Business System • . . • IIID 6-Tape Auxiliary Storage System VD Internal Storage 1441 Core Storage 1311 Disk Storage 1301 Disk Storage Central Processor 1441 Processing Unit Console 1447 Console.. . • • Console Printer Input-Output; Punched Tape and Card 1442 Card Read Punch 1442 Card Reader 1444 Card Punch Input-Output; Printers 1443 Printer.. Input-Output; Magnetic Tape 7335 Magnetic Tape Unit Input-Output; other 7080 Serial Input-Output Adapter 1009 Data Transmission Unit 1011 Paper Tape Reader . . • . • 1012 Tape Punch • • • • • • • . 1412 Magnetic Character Reader 3271 Direct Data Transfer • . . 3845 Expanded Serial Input-Output Adapter 1062 Teller Terminal • • • . . . 1448 Transmission Control Unit 357 Data Collection System 1031 Data Collection System 1050 Data Communication System 1060 Data Communication System 1231 Optical Mark Page Reader . 7770 Audio Response Unit . . • • Communication Control System 7740 Simultaneous Operations •. Instruction List . • • . • . Data Codes • . • • • • • • • Problem Oriented Facilities Sort 5 Basic Report Program Generator Report Program Generator Disk Utility Programs . • • • . . Tape Utility Programs • . • • . • Disk File Organization Programs Auto-Test • • • . . • • Application Programs Process Oriented Languages COBOL-61 " FORTRAN IV • © 1964 Auerbach Corporation and Info. Inc. 414:011 414:021 414:031 414:031. 011 414.031.1 414:031. 2 414:031. 3 414:031.4 414:041 414:042 414:043 414:051 414:061 414:061.13 414:071 414:071 414:072 414:081 414:091 414:101 414:101. 121 414:101.122 414:101. 123 414:101.125 414:101. 127 414:101. 128 414:102 414:103 414:103.121 . 414:103.122 414:103.123 414:103.124 414:104 414:105 414:106 414:111 414:121 414:141 414:151.13 414:151.14 414:151.14 414:151.15 414:151.15 414:151.16 414:151.17 414:151.17 414:161 414:162 4/64 414:001.002 IBM 1440 CONTENTS (Contd.) § 001. 17. 20. 21. 22. Machine Oriented Languages Basic Autocoder • . . . . . Autocoder •..... Input-Output Control System System Performance Physical Characteristics Price Data • • . . . . . • • RIP = Report in process. 4/64 414:171 414:171 414:171 RIP 414:211 414:221 414:011.100 IBM 1440 Introduction INTRODUCTION !i 011. The IBM 1440 is a small-scale, stored-program data processing system that is adaptable to a wide range of business applications. It features the 1311 Disk Storage Drive with interchangeable Disk Packs. The 1440 was announced in October, 1962, and the first customer deliveries were made in April, 1963. Monthly system rentals range from about $1,800 to $10,000, with most installations falling within the $2,000 to $5,000 range. Compatibility The 1440 is the lowest-priced member of the IBM 1400 series of business-oriented data processing systems. It is program-compatible with (and 3. 5% faster than) the widelyused IBM 1401 with respect to internal processing, but the 1440 uses slower card readers, card punches, and printers than the 1401 and different instructions to control them. Whereas the 1401 has fixed input-output areas in core storage that must be used for all printer and card input-out, the 1440 can initiate direct transfers of data between any area of core storage and any peripheral device. Through the use of the new 7335 Magnetic Tape Unit, the 1440 can be made tape-compatible with other IBM and competitive computers that use one-half inch tape at a recording density of 556 characters per inch. Hardware An IBM 1440 system can have from 2,000 to 16,000 alphameric character positions of core storage. Each core position contains six data bits, a parity bit, and a word mark bit that is used to denote the end of a variable-length field. Core storage cycle time is 11.1 microseconds (compared to 11.5 microseconds in the IBM 1401, 6.0 in the 1460, and 4. 5 in the basic 1410). The 1441 Processing Unit uses add-to-storage logic and has no accumulator. All operations are performed serially by character, and both data fields and instructions can be of variable length. The basic instruction format consists of a 1-character operation code and two 3-character addresses. Operand length is not specified in 1440 instructions; instead, most operations are terminated when a word mark bit is sensed in the operand itself. Facilities for editing, high-loW-equal comparisons, and full-record internal transfers are standard, but multiplication, diviSion, indexing, and sense switches are extra-cost options. Instructions are executed at the rate of about 4, 000 per second in typical 1440 routines. Operation of the 1440 system is basically serial in nature (i. e., one operation at a time). Little overlapping of input-output operations with one another or with internal processing is possible, except that printing is buffered if the optional Print Storage feature is installed. Available computing time per card read on the 1442 Card Read Punch is increased if less than the full 80 columns are read. Disk Storage seek operations (but not read-write operations) can be overlapped with one another and with other system functions. Each 1311 Disk Storage Drive holds one Disk Pack at a time, providing on-line storage for 2,000,000 alphameric characters in addressable sectors of 100 characters each. A maximum of five drives can be connected. Up to 20, 000 characters per drive can be read or recorded without movement of the access mechanism, so the system is suitable for sequential as well as random processing. Total waiting time for access to a randomly-placed record averages 270 milliseconds; with the optional Direct Seek feature, the figure is reduced to 170 milliseconds. With the optional Track Record feature, a single 2, 980-character record can be recorded on each track, increasing the capacity of a Disk Pack to 2,980, 000 characters. Each Disk Pack consists of a stack of six discs with ten magnetic recording surfaces and a cover that forms a sealed container when the Disk Pack is not mounted on a drive. Diameter is 14 inches, height is 4 inches, weight is less than 10 pounds, and time to interchange two Disk Packs is about one minute. @1964 Auerbach Corporation and Info, Inc. 4/64 IBM 1440 414:011.1 01 § 011. INTRODUCTION (Contd.) In addition to the 1311 Disk Storage Drives, up to five arrays of 1301 Disk Storage can now be attached to a 1440. The 1301 discs are not interchangeable, but they use the same record formats as the 1311: each track can hold twenty addressable 100-character sectors or (with the optional Track Record Feature) a single 2, 543-character record. There are four models of 1301 Disk Storage: Model 11 or 21 has one disc array and one access mechanism, and stores up to 25.43 million characters. Model 12 or 22 has two disc arrays, each with an independent access mechanism, and stores up to 50.86 million characters. Total waiting time for access to a randomly placed record averages 177 milliseconds; up to 80,000 characters per disc array can be read or recorded without movement of the comb-like access mechanism, with an average waiting time of only 17 milliseconds. A 1440 system with the maximum complement of five 1311 drives and five 1301 arrays would have a total of 142 million character positions of random access storage. The basic card input-output unit is the 1442 Card Read Punch, which has a photoelectric read station followed by a punch station on a single card feed path. Models 1 and 2 have rated'speeds of 300 or 400 cards per minute for reading and 80 or 160 columns per second for punching, respectively. Results can be punched into the same cards from which the input data was read, but a single 1442 cannot handle separate input and output card files at the same time. The 1442 Model 4 Card Reader provides read-only ability at 400 cards per minute, while the 1444 Card Punch has an output speed of 250 full 80-column cards per minute. The 1443 Printer uses a horizontal typebar that permits rapid interchangeability of character sets. Two models are available, which differ only in speed. Peak speeds are 150 or 240 lines per minute with the standard 52-character set and 430 or 600 lines per minute with an optional 13-character set. The optional Print Storage feature provides virtually complete overlapping of printing with other system functions. The 7335 Magnetic Tape Unit is a recent addition to the IBM line that expands the range of applications for the 1440 by giving it a limited capability for magnetic tape operations. Only one 7335, consisting of a tape control and either one or two tape transports, can be used in a 1440 system. The 7335 is similar to the 7330 Magnetic Tape Units used in other IBM systems but has only one recording density (556 characters per inch) and one speed (20,016 characters per second). The 1447 Console houses the operating controls and displays and, optionally, a console typewriter rated at 14. 8 characters per second. Anyone of the following peripheral devices can be connected to a 1440 through the Serial Input/Output Adapter: a 500 characterper-second paper tape reader, a 150 character-per-second tape punch, a 950 document-perminute magnetic character reader, a 75 to 300 character-per-second data transmission unit, an optical mark page reader, or a 7740 Communication Control System. A 1448 Transmission Control Unit can be attached to the 1447 Console, and the 1448 can control a large network of remote data communication or data collection units. The new 7770 Audio Response Unit, which provides human-voice replies to telephoned inquiries, can be connected through the 1311 Disk Storage Drive, Model 2. Software The programs and programming systems supplied by IBM for the 1440 include: 4/64 • 1440 Basic Autocoder: the basic symbolic assembly system, usable on card-only 1440 systems with 4, 000 core storage positions, 1442 Card Read Punch, and 1443 Printer. Two special versions of the Basic Autocoder system are available; one uses the 1444 Card Punch for object pro~ gram output and the other uses a restricted form of the language and requires only 2,000 core positions for assembly. • 1440 Autocoder: a more advanced symbolic assembly system that provides macro instruction facilities and is similar to (but not program-compatible with) the Autocoder languages available for the other IBM 1400 series systems. A 1440 with at least 4, 000 core positions, one 1311 or 1301 Disk Storage Unit, a card read punch, and a printer is required. (Programs written in 1440 Autocoder can alternatively be assembled on a 6-tape IBM 1401 system by means of a special version of the 1440 Autocoder translator. ) • 1440 Input-Output Control System (lOCS): macro instructions and corresponding generalized routines which can be used in Autocoder programs to factilitate the coding of input-output operations. Individual versions of 1440 lOCS are available for systems using 1311 Disk Storage, the 1448 Transmission Control, and the Direct Data Channel, and for 1440 systems connected on-line to an IBM 1410 or 7010. 414:011.1 02 INTRODUCTION § INTRODUCTION (Conld.) 011. • 1440 COBOL: translates programs coded in a restricted version of COBOL61 into symbolic form for Autocoder assembly. IBM 1311 Disk Storage is. utilized as the primary file storage medium instead of magnetic tape, requiring several additions to the COBOL-61 language. Required are 4,000 core positions, one 1311 drive, a 1442 Card Read Punch, a 1443 Printer, and the Indexing and Store Address Register feature. • 1440 FORTRAN IV: compiles engineering and scientific programs written in FORTRAN IV. The only important FORTRAN IV language facilities not implemented in the 1440 version are complex and double precision operations and the Assigned GO TO statement. Precision is variable; operand lengths can be preset at up to 20 digits. Machine requirements are 8, 000 core positions, one 1311 Disk Storage Drive, a 1442 Card Read Punch, a 1443 Printer, and several optional features. Magnetic tape units can be used by the object program but are not required. • 1440 Basic Report Program Generator: a "load-and-go"generator for card-only 1440 systems that facilitates the preparation of printed reports from data in punched cards . . ' 1440 Report Program Generator: uses 1311 Disk Storage to generate programs to produce reports from input files in punched cards or Disk Storage. • 1440 Sort 5: generates routines that utilize 1311 Disk Storage to sort blocked, fixed-length records. • Auto-Test: an intElgratEld set of utility programs designed to expedite the testing and debugging of programs coded in 1440 Autocoder. At least one 1311 Disk Storage Drive and 8,000 core storage positions are required. • 1440 Disk File Organization Programs: thirteen programs designed to assist in establishing and maintainmg data files in 1311 Disk Storage, in either random or sequential arrangements. • Disk and Tape Utility Programs: a variety of routines to perform frequentlyneeded functions such as data transcription and label handling. • Application Programs: documented programs to perform specific industry applications, which can be modified to fit individual users' requirements. Included are programs for Demand Deposit Accounting, Mortgage Loan Accounting, File and Casualty Insurance, Weekly Premium Insurance, Secondary School Systems, Hospitals, Motor Freight Accounting, On-Line Savings Accounting, Retail Accounts Receivable, Retail Fashion Inventory Control, and Chain and Wholesale Grocery Billing. © 1964 Auerbach Carporation and Info, Inc. 4/64 414:021.1 00 IBM 1440 Data Structure DATA STRUCTURE § 021. .1 STORAGE LOCATIONS Name of Location Size Purpose or Use Character position: 8 bits (6 data, 1 parity, 1 word mark) 100 characters 20,000 characters basic addressable location; holds 1 character. Sector Cylinder: (1311) Cylinder: (1301) Column: .2 80,000 characters 12 hole positions record location in Disk Storage. volume accessible without repositioning in 1311 Disk Storage. volume accessible without repositioning in 1301 Disk storage. punched cards. INFORMATION FORMATS TyPe of InformatIon Representation Numeral: . • • . . . . . . . . • . . . • . . . Letter: • . . • . . . . • . . • . . . . . . . . . mstruction: . . . . . . . . . . . • . . . . . . Number (field): • . . . . . • . . .- .••.. Block: • . • . . . . . • • . • . . . • . . . . . 1 1 1 1 1 character or 1 card column. character or 1 card column. to 8 characters, delimited by word mark bit. to N characters, delimited by word mark bit. to N characters, delimited by record or group mark. where N is limited by size of core storage. @1964 Auerbach Corporation and Info, Inc. 4/64 414:031.011 IBM 1440 System Configuration SYSTEM CONFIGURATION § 031. Table of Permissible Configurations Model A2 Model A3 Model A4 Model A5 Model A6 2,000 1 4,000 1 8,000 1 12,000 1 16,000 1 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 1443 Printer, Model 1 t 1443 Printer, Model 2 t 1 1 1 1 1 1 1 1 1 1 1311 Disk Storage Drive @ 1301 Disk Storage (arrays)@ 0 0 5 5 5 5 5 5 5 5 1447 1051 1448 7335 7770 Console, Model 2 or 4 Control Unit Transmission Control Magnetic Tape Unit, Modell or 2 Audio Response Urtit 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1009 1011 1012 1231 1412 7740 3271 Data Transmission Unit, or Paper Tape Reader,' or Tape Punch, or Optical Mark Page Reader, or Magnetic Character Reader, or Communication Control, or Direct Data Channel 0 1 1 1 1 Bit Test Expanded Print Edit Indexing Multiply-Divide Sense Switches yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes Card Image Punch Column Skip Add'l Print Positions (24) Print Storage Selective Character Set yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes Direct Seek Scan Disk Seek Overlap Track Record Buffer Feature (1447-2/4) no no no no yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes 1441 Processing Unit Model: Core Storage Positions 1447 Console, Model 1 (required unit) Maximum number of peripheral units: 1442 1442 1442 1444 Card Read Punch, Model 1* Card Read Punch, Model 2* Card Reader, Model 4* Card Punch* Availability of Special Features: 1 0 0 0 ~ * A maximum of two card I/O unIts (1442 Modell, 2, or 4, and 1444) in any combination can be attached, except that only one 1444 can be used. t Only one printer can be attached to a system. @ Both 1311 and 1301s can be attached to one system. © 1964 Auerbach Corporation and Info, Inc. 4/64 414:031.1 00 IBM 1440 System Configuration SYSTEM CONFIGURATION Ii 031. .1 TYPICAL. CARD SYSTEM: CONFIGURATION I Deviations from Standard Configuration: printer is 76% slower. reader is 60% slower. punch is 25% faster. Equipment 1441 Processing Unit, Model A4: 8,000 core positions 1447 Console, Model 1 1442 Card Reader, Model 4: 400 cards/min. 80 200 1444 Card Punch: 250 cards/min. 375 1443 Printer, Model 2: 240 lines/min. 5567 Printer Control 450 Adapters: Card Read Punch Printer Optional Features Included: $ 1,295 235 20 25 Indexing and Store Address Registers 90 Multiply-Divide 325 Sense Switches 15 Expanded Print Edit 20 Print Storage ~ TOTAL: © 1964 Auerbach Corporation and Info, Inc. $ 3,295 4/64 414;031.200 IBM 1440 § 031. .2 4-TAPE BUSINESS SYSTEM; CONFIGURATION IID Deviations from Standard Configuration; printer is 52% slower. reader is 20% slower. punch is 150% faster. 3 Disk Storage Drives are used in place of 4 tape units. Equipment 1441 Processing Unit, Model A4: 8,000 core positions 1447 Console, Model 1 80 200 1444 Card Punch: 250 cards/min. 375 1443 Printer, Model 2: 240 lines/min. 5567 Printer Control 450 235 1,355 Adapters: Card Read Punch Printer 20 25 Sense Switches 15 TOTAL: 4/64 $ 1, 295 1442 Card Reader, Model 4: 400 cards/min. 1311 Disk Storage Drives (3) and 3321 Disk Storage Control Optional Features Included: Rental $ 4, 050 SYSTEM CONFIGURATION 414:031.300 § 031. .3 6-TAPE BUSINESS SYSTEM: CONFIGURATION IDD Deviations from Standard Configuration: 4 disc storage drives are used in place of 6 tape units. reader is 20% slower. punch if' 150% faster. printer is 52% slower. 1441 Processing Unit, Model A6: 16, 000 core positions 1447 Console, Model 2, and 2260 attachment 290 1442 Card Reader, Model 4: 400 cards/min. 200 1444 Card Punch: 250 cards/min. 375 1443 Printer, Model 2, and 5567 Printer Control: 240 lines/min. 685 1311 Disk Storage Drives (4) and 3321 Disk Storage Control Adapters: Card Read Punch Printer Optional Features Included: • $ 1, 945 Indexing and Store Address Registers Multiply-Divide Sense Switches Expanded Print Edit Print Storage Direct Seek on 1311 TOTAL: © I 964 Auerbach Corporation and Info, Inc. 1,715 20 25 90 325 15 20 165 50 $ 5, 920 4/64 414:031.301 IBM 1440 § 031. 6-TAPE AUXILIARY STORAGE SYSTEM: CONFIGURATION VD Deviations from Standard Configuration: 4 disc storage units are used in place of 6 tape units Punch is 150% faster. Printer is 52% slower. Reader is 20% slower: Equipment 1301 Disk Storage, Model 11, and 3832 Expanded Disk Storage Control: 20, 000, 000 characters 1441 Processing Unit, Model A6: 16, 000 core positions 1,945 290 1442 Card Reader, Model 4: 400 cards/min. 200 1444 Card Punch: 250· cards/min. 375 1443 Printer, Model 2, and 5567 Printer Control: 240 lines/min. 685 Adapters: Card Read Punch Printer Indexing and Store Address Registers Multiply-Divide Sense Switches Expanded Print Edit Print Storage Direct Seek on 1311 TOTAL: 4/64 $ 2,050 1447 Console, Model 2, and 2260 attachment 1311 Disk Storage Drives (4) and 3321 Disk Storage Control Optional Features Included: • • • • • •• Rental 1,715 20 25 90 325 15 20 165 50 $ 7,970 414:041.1 00 IBM 1440 Interna I Storage Core Storage INTERNAL STORAGE: CORE STORAGE § 041. .1 GENERAL . 11 Identity: . 12 Basic Use: .. .13 Description . Core Storage . Contained in 1441 Processing Unit, Models A2, A3, A4, AS, AB. Core storage for the IBM 1440 system is housed in the 1441 Processing Unit. Models A2, A3, A4, A5, andABcontain2,000, 4,000, 8,000,12,000, and 16,000 character positions of storage respectively. Cycle time is 11. 1 microseconds for each access of one alphameric character. Each storage position consists of eight bits: six data bits, one odd parity bit, and one word mark bit. . 16 Reserved Storage Purpose Arith registers: Logic registers: I/O control: I/O areas: .31 9 characters (optional) O. Storage Medium: .. .23 Storage Phenomenon: .24 Recording Permanence . magnetic core. direction of magnetization. Access Technigues .281 Recording method: ... coincident current. .283 Type of access: . . . . . uniform. · 29 Potential Transfer Rates .291 Peak bit rates Cyc"ling rates: . . . . . 90,000 cycles/second. .292 Peak data rates Unit of data: . . . . . . character. Conversion factor: .. 8 bits/char. Data rate: •.•...• 90,000 char/sec. Compound data rate: • 90,000 char/sec. Number of Locations Index registers: .21 .28 The word mark bit defines the size of data fields and instructions. Internal transfer operations can be terminated by a word mark or by a record or group mark, depending upon the instruction used. The "Move Record" instruction, which is part of the optional Advanced Programming feature for the IBM 1401, is standard in the 1441. The effective internal transfer rate is 45,000 characters per second. Parity checks are made on all internal transfers. First Delivery: . . . . . April, 1963. PHYSICAL FORM .241 Data erasable by program: . . . . . . . . yes . .242 Data regenerated constantly: . . . . . . . no . . 243 Data volatile:. . . . . no. · 244 Data permanent:. . . no . . 245 Storage changeable: . no. . Working storage. .15 .2 none. O. O. O. .3 DATA CAPACITY .31 Module and System Sizes (See table below. ) · 32 Rules for Combining Modules: .•.•••.• one module per system, of any size listed above . .4 CONTROLLER: •.•.• no separate controller. .5 ACCESS TIMING .51 Arrangement of Heads: ••••.•••• 1 access circuit per --. system. · 52 Simultaneous Operations: •••..• none Module and §1stem Sizes Model: Words: Characters: Digits: Instructions: Modules: Minimum Maximum stor~e stor~e A2 variable. 2,000 2,000 variable. 1 A3 A4 A5 A6. 4,000 4,000 8,000 8,000 12,000 12,000 16,000. 16,000. 1 1 1 1. ©1964 Auerbach Corporation and Info,lnc. 4/64 414:041.530 IBM 1440 .8 .53 Access Time Parameters and Variations ; 531 For uniform access Access time: ••••• 6.3 f.1.sec. Cycle time: •••••• 11.1 f.1.sec. For data unit of: •••• 1 character. •6 CHANGEABLE STORAGE: •••••• no. .7 PERFORMANCE • 72 Transfer Load Size With self: .73 •••••••• 1 to N characters, limited by storage capacity. Error Invalid address: Receipt of data: Check or Interlock limit check stop. parity check indicator and alarm • Recovery of data: parity check indicator and alarm. Dispatch of data: send parity bit indicator and alarm. Invalid character validity check stop and alarm. Conflicting commands: not possible. Effective Transfer Rate With self: ••••••.•• 45,000 char/sec. 4/64 ERRORS I CHECKS AND ACTION 414:042.100 IBM 1440 Internal Storage Storage 1311 Disk INTERNAL STORAGE: 1311 DISK STORAGE § 042. .13 .1 GENERAL .11 Identity: .•••••..•• Disk Storage Drive. 1311 Models 1 and 2. .12 Basic Use: . . . . . . • • auxiliary storage. • 13 Description The 1311 Disk Storage Drive is a recent development in low cost random access storage which features rapid interchangeability of the "Disk Pack" storage cartridges. The system is suitable for either random or sequential processing methods. Each Disk Pack consists of six discs on a common vertical axis. Data can be recorded on ten disc surfaces; the top and bottom surfaces of the pack are not used. Each recording surface is divided into 100 concentric tracks, each track is divided into 20 sectors, and each sector holds a 6-character address and up to 100 alphameric characters of data. Therefore, the data capacity is 2,000 characters per track, 200,000 characters per surface, and 2,000,000 characters per pack. Up to five Disk Storage Drives can be connected to a 1440 system, so the maximum on-line data capacity is 10,000,000 characters. Disk Storage Drives cannot be connected to the 1441 Model A2 Processing Unit, which has only 2,000 positions of core storage. Access is by means of a comb-like mechanism containing five arms that move horizontally between the discs. Each arm has one read-write head mounted on the top and one on the bottom, and each head serves one disc surface. The entire access mechanism moves as one unit, so all ten read-write heads are always positioned at corresponding tracks on their respective surfaces. The term "cylinder" is applied to each group of ten tracks (one on each disc surface) that can be read or recorded upon at a single setting of the access mechanism. There are 100 cylinders per Disk Storage Drive, and each cylinder can hold 20,000 data characters. Time for access mechanism movement ranges from zero (for successive references to a previously-selected cylinder) to 400 milliseconds; average random access time is 250 milliseconds. Unless the optional Direct Seek feature is installed, the access arms cannot move directly from one cylinder to another. Instead, the arms retract all the way to the "home" position (beyond track 00) and then move back to the selected cylinder. The result is that movements between adjacent cylinders require from 85 milliseconds (track 00 to 01) to 390 milliseconds (track 98 to 99). Description (Contd.) Rotational speed of the disks is 1,500 rpm. Maximum rotational delay is 400 milliseconds, and the average is 20 milliseconds. There is also a head select delay of 2 milliseconds. Total reference cycle time to read a randomly-placed 100character record, up-date it, re-write it, and execute a programmed write check is 354 milliseconds. If no access motion is required the total reference cycle time is reduced to 104 milliseconds. Peak data transfer rate is 77,000 characters per second, and the effective bulk transfer rate is just under 50,000 characters per second. A single read or write instruction can transfer from 1 to 200 consecutive sectors of information; i. e., from 100 characters to the capacity of core storage in multiples of 100 characters. The programmer can elect to read and write sector addresses along with the data records. Handling of variable-length disc records is facilitated by "sector count overlays" in which the first three characters of a record specify the number of sectors (from 2 to 200) comprising that record. All capacities and transfer rates quoted here are based on operation in the "move" mode, in which six data bits and one parity bit are recorded for each character. In the alternative "load" mode, the word mark bit is also recorded for each character, and sector capacity is reduced from 100 to 90 data characters. All capacities and transfer rates for the load mode are therefore ten percent lower than the figures quoted here. Use of the load mode is essential for program storage and for data storage when field lengths vary from record to record. Checks are made for parity errors, wrong length records, and unequal address comparisons. The "write disc check" instruction causes a characterby-character comparison of data just written on the disc with the data in core storage. It usually follows each write operation. All disc errors cause the setting of testable indicators. . Disk Storage Drive seek time can be fully overlapped with internal processing. A 'branch if access mechanism busy" instruction is provided. No overlapping is possible during disc read or write operations. Only one seek operation may go on at a time, regardless of the number of Disk Storage Drives in a system, unless the Seek Overlap feature, described below, is added. The removable Disk Packs are 14 inches in diameter, 4 inches high, and weigh'less than 10 pounds, including covers. A Disk Pack can be removed from a Disk Storage Drive and replaced by another Disk Pack in about one minute. When a Disk Pack is not mounted on a drive, the pack and its cover © 1964 Auerbach Corporation and Info, Inc. 4/64 414:042.130 § IBM 1440 042. · 13 Description (Contd.) combine to form a sealed container that can be conveniently stored and transported. The 1316 Disk Packs can be either rented at $15 per month or purchased at $490 each. Optional Features Direct Seek: Permits the access mechanism to move directly to the specified cylinder without retuming to the "home" position. Access motion time ranges from zero to 250 milliseconds and averages 150 milliseconds. Track Record: Permits reading and writing a full track as a single 2,980-character record, thereby increasing the capacity of each Disk Pack from 2,000,000 to 2,980,000 characters. The increased capacity is achieved by using the areas that normally contain sector addresses for data storage. Complete track records can be intermixed with sector organization of records on other tracks on the same Disk Pack. Scan Disk: Permits an automatic search of data recorded in disk storage for a specific identifier or condition. Seek Overlap: Permits a disc seek operation to overlap one disc read or write operation plus any number of other seek operations. The feature must be installed on every Disk Storage Drive in a system. . 15 First Delivery: . . . . . April, 1963. .16 Reserved Storage: ... none. (Note that each 100digit sector is preceded by a 6-digit address, but these address digits are not counted as storage.) ·2 PHYSICAL FORM .21 Storage Medium: .. .22 PhySical Dimensions · 26 Bands per Physical Unit: . . . . . . . . . . . 100 per disc surface. · 27 Interleaving Levels: .. 1; i. e. , no interleaving. · 28 Access Techniques .281 Recording method: ... by one of the magnetic heads on access arms which move horizontally in unison. · 283 Type of access Description of stage Possible starting stage? Move heads to home position* and then to selected band: .. mandatory when new band is selected. Wait for selected sector for reading or recording: . . . . . if same band was previously selected. *Not necessary with Direct Seek feature. · 29 Potential Transfer Rates .291 Peak bit rates Cycling rates: . . . . . Bit rate per track: .. .292 Peak data rates Unit of data: . . . . . . Conversion factor: .. 1,500 rpm. 539,000 data bits/sec/track. character. 7 bits per character (6 plus parity). Gain factor: . . . . . . 1 track/band. Data rate: . . . . . . . . 77,000 characters/sec, not counting address digits . .3 DATA CAPACITY .31 Module and System Sizes Maximum Storage Identity: 1311 Modell 1311 Model 2 Discs: Words: Characters: Instructions: Modules 6 variable 2,000,000 variable 1 6 variable 2,000,000 variable 1 . multiple magnetic discs. .222 Disc Diameter: . . . . . . . . 14 inches o. d. Thickness: . . . . . . . thin. Number of shaft: ... 6. 11311 Modell and 4 1311 Model 2's. 30. variable. 10,000,000. variable. 5. · 23 Storage Phenomenon: . magnetization. .4 CONTROLLER .24 Recording Permanence .41 Identity: . . . . . . . . . . 3321 Disk Storage Control. · 42 Connection to System · 241 Data erasable by instructions: . . . . . . · 242 Data regenerated constantly: . . . . . . . . 243 Data volatile: . . . . . . . . 244 Data permanent: . . . . . .245 Storage changeable: .. .25 no. no . no. yes. Data Volume per Band of 1 Track Words: . . . . . . . . . . . Characters: . . . . . . . . Digits: . . . . . . . . . . . Instructions: . . . . . . . Sectors: . . . . . . . . . . 4/64 yes. variable. 2,000. 2,000. variable. 20. .421 On-line: . . . . . . . . . . l. .422 Off-line: . . . . . . . . . . none . · 43 Connection to Device .431 Devices per controller: 5 modules . . 432 Restrictions: . . . . . . . 1 Model 1 and 1 to 4 Model 2 drives; no other restrictions. In addition, up to 5 1301 Disk Storage modules can be used in the same 1440 system. INTERNAL STORAGE: 1311 DISK STORAGE § 042. .44 414:042.440 .53 Data Transfer Control .532 Variation in access time .441 Size of load. Variable length: .•.. 1 to N sectors of 100 characters per sector; number of sectors is set by programmer and limited by size of core storage. Fixed length: . . . . . . 20 sectors of 100 characters per sector (one band) . . 442 Input-output area: ••. core storage. .443 Inout-output area access: . • . . . . . . . each character. .444 Input-output area lockout: . . . . . . . . . yes. • 445 Synchronization: .••. automatic. . 447 Table control: . . . . • . none . .448 Testable conditions: .. none. .5 ACCESS TIMING .51 Arrangement of Heads .511 Number of stacks Stacks per system: .. 50 max. Stacks per module: •. 10. Stacks per yoke:. . . . 10. Yokes per module: .. 1. .512 Stack movement: •... horizontal. .513 Stacks that can access any particular location: . • . . . . . . . 1. . 514 Accessible locations By single stack With no movement: • 20 sectors. With all movement:. 2,000 sectors. By all stacks With no movement: . 200 sectors per module. 200 to 1,000 sectors per system. . 515 Relationship between stacks and locations:. three most significant digits of sector address denote head and band (cylinder) number. . 52 Access Time Parameters and Variations Simultaneous Operations: . . . . . . . maximum of 11311 Disk Storage operation (reading, recording, or seeking) at a time per 1440 system. (Optional Seek Overlap feature permits simultaneous seek operations on each 1311 drive.) Variation °Without Direct Seek Move head to home pOSition and then to selected band: 75 to 392 msec. Wait for selected sector for reading or recording: o to 40 msec. 75 to 432 msec. Total: °With Direct Seek Move head to selected band: 54 to 248 msec . Wait for selected sector for reading or recording: 0 to 40 msec. Total: 54 to 288 msec. .6 CHANGEABLE STORAGE .61 Cartridges 250 msec. 20 msec. 270 msec. 154 msec. 20 msec. 174 msec. · 611 Cartridge capacity Without Track Record feature: . . . . . . . . 2, 000,000 characters (6 discs). With Track Record feature: . • . . . . . . 2,980,000 characters (6 discs). .612 Cartridges per module: 1 Disk Pack on-line at a time . .613 Interchangeable: . . . . . yes. • 62 Loading Convenience · 621 Possible loading While computing system is in use: .. yes. While storage system is in use: . • . . . . . yes, if the particular drive is not addressed. .622 Method of loading: .•. operator. .623 Approximate change time: .•.•...••.. 1 minute • • 624 Bulk loading: . . . . . . . no; 1 Disk Pack of 5 discs at a time. .7 AUXILIARY STORAGE PERFORMANCE · 71 Data Transfer Pairs of storage unit possibilities With self: . • . . • . . . no. With core storage: .• yes. © 1964 Auerbach Corporation and Info, Inc. 4/64 414:042.720 § 042. . 72 Transfer Load Size With core storage: ... 1 to N sectors; number of sectors is selected by program and limited by size of core storage. 1 block of 20 sectors (one band). . 73 Effective Transfer Rate The times shown are the average for either reading from or recording on disc storage with no checking. With core storage With Direct Seek:. • . 38, 200 char/sec. Without Direct Seek: . 33, 800 char/sec. 4/64 IBM 1440 .8 ERRORS, CHECKS AND ACTION Check or Error Interlock Invalid address: check on matching sector address Invalid code: none. Receipt of data: parity check Recording of programmed readdata: back and compare Recovery of data: parity check Dispatch of data: parity bit included. Timir.g conflict: interlock Physical record missing: check on record length Reference to check on optional lock locked area: Action indicator. indicator. indicator. indicator. wait. indicator. indicator. 414:043.100 IBM 1440 Infernal Storage 1301 Disk Storage INTERNAL STORAGE: 1301 DISK STORAGE § 043. .13 .1 GENERAL . 11 Identity: . Disk Storage Unit. 1301 Models 11, 12, 21, ar." 22. .12 Basic Use: .. auxiliary storage. .13 Description The 1301 Disk Storage Unit provides substantially larger on-line random access storage capacities than the 1311 Disk Storage Drive described in the preceding report section, but lacks the interchangeable Disk Pack storage cartridge feature. Models 11, 12, 21, and 22 of the 1301 Disk Storage Unit, used in IBM 1240, 1440, and 1460 systems, also lack the ability to handle variable record lengths that is a feature of the 1301 Models 1 and 2 used in larger IBM systems. Models 11 and 21 have one disc array and one· access mechanism. Models 12 and 22 contain two disc arrays, each with an independent access mechanism. Models 11 and 12 are master units (the first unit on a system); Models 21 and 22 are additional units. Each disc array consists of 24 discs, 20 of which are usable for data storage, on a common vertical axis. Data can be recorded on 40 disc surfaces. Each recording surface is divided into 250 concentric tracks, each track is divided into 20 sectors, and each sector holds a 6-character address and up to 100 alphameric characters of data. Therefore, the data capacity is 2, 000 characters per track, 500, 000 characters per disc surface, and 20,000,000 characters per disc array. Up to five disc arrays can be connected to a 1440 system, so that the maximum on-line 1301 data capacity is 100,000,000 characters. In addition, up to five 1311 Disk Storage Drives (see Section 414:042) can be connected, providing a total on-line disc storage capacity per 1440 system of 110,000,000 characters. Access is by means of a comb-like mechanism containing 20 arms that move horizontally between the discs. Each arm has one read-write head mounted on the top and one on the bottom, and each head serves one disc surface. The entire access mechanism moves as one unit, so all 40 read-write heads are always positioned at corresponding tracks on their respective surfaces. The term "cylinder" is applied to each group of 40 tracks (one on each disc surface) that can be read or recorded upon at a single setting of the access mechanism. There are 250 cylinders per Disk Storage Drive, and each cylinder can hold 80,000 data characters. Time for access mechanism movement ranges from zero (for successive references to a previously-selected cylinder) to 180 milliseconds. Description (Contd.) The disc surface is divided into five 50-track areas, and each area is further divided into six sections. Movement between tracks in the same section of an arl'la takes 50 milliseconds. Movement between Stld()t·s not in the same section requires 120 milli A - B is greater than A. I) B < A - B is less than A. @1964 Auerbach Corporation and Info, Inc, 4/64 IBM 1440 414:061.130 Ii! 061. .13 .13 Description (Contd.) • Control Keys and Switches (Contd.) • (h) Storage Scan - scans core until an invalid character is found. (i) Address'Stop - machine stops when the address selected by the manual switches is reached. start key light operations. Description (Contd.) Write Disk switch - prevents data from being written on any Disk Storage Drive. On the 1447 Model 4, which is designed to control a 1448 Transmission Control Unit, the manual address switches and the power-on switch have additional functions. A section of display lights on the indicator panel, a 1448 Start-Reset key, and a 1448 Check-Reset key are added. initiates or resumes machine e Start reset key - resets the system (except for data in the storage address registers, data registers, error indicators, and core storage). II Stop key light system. stops all processing in the e Check Reset key light error. C\l Program Load key routine. e Type key light - indicates the Console I/O Printer is selected. resets a processing initiates a program load The Console Printer provides communication between the operator and tlle Processing Unit or Disk Storage Units. On the 1447 Model 4, the Console Printer contains controls for the 1448 Transmission Control. The Console Printer is a Single-case IBM Selectric typewriter rated at 14.8 characters per second. Either 10 or 12 characters to the inch can be specified, and either 6 or 8 lines to the inch vertical spacing. Double-spacing can be manually selected, resulting in 3 or 4 lines to the inch. Maximum writing line is 13 inches. Fully buffered operation is possible on the Model 2 or 4 with the Buffer Feature, an optional unit. The Console Printer is useful for entering and printing exception data, for logging, and as an inquiry station. Optional Features o Sense switches - one controls last card operation; six more are optional and permit external control of program branching. 4/64 o Bit switches storage. o Enter key storage. o Power On and Off switches - turn main power supply on and off. o Emergency Off switch - disconnects power from the entire system in an emergency. o I/O Check Stop switch - causes system to stop at the completion of an I/o operation if an error has occurred during the operation. Cil Diagnostic switch - determines whether erroneous disk data is to be entered into core with correct parity or in erroneous form. Sense Switches: Provides six console s:witches and corresponding testable indicators that can be used for manual control of the stored program. used to alter characters in causes character to enter core Buffer Feature (Models 2 and 4 only): Provides a 210-character buffer between the system and the 1447 and its associated units. For local or remote inquiry or data communication terminal operations, a 1051 Control Unit can be connected to the 1447 Model 2 or 4 and can control a local 1050 Data Communication System, as described in Paragraph 414:103.123. With a Remote Terminal Attachment (#6149) on the 1447 Model 2 or 4 and a Master Station (#5050) on the 1051, the local 1051 can communicate via a single half-duplex line with up to twenty-four remote 1050 systems over common carrier leased private line telephone service, common carrier leased sub-voice grade service, or a privately-owned communication network. 414:071.1 00 IBM 1440 Input-Output 1442 Card Read Punch INPUT-OUTPUT: 1442 CARD READ PUNCH Ii 071. .12 .1 GENERAL . 11 Identity: . . . . . . . . . . Card Read Punch. 1442 Models 1 and 2. Card Reader. 1442 Model 4. . 12 Description The 1442 Card Read Punch, Modell or 2, is a combination input-output unit for standard 80column punched cards. The 1442 Card Reader, Model 4, is an input unit only. From a single 1, 200-card hopper, the cards are fed serially by column past a single photoelectric reading station, past a single punching station, and into a 1,300card radial stacker. A second stacker, which may , be program-selected, is standard on Models 2 and 4, and optional on Model 1. Cards can be loaded and removed without stopping the unit. All format control is by the stored program; there is no plugboard. A single 1442 can handle either an input or an output file. Alternatively, it can read data from and punch results into the same cards, or the results can be punched into trailer cards in the same file. Two 1442 Card Read Punches can be connected to a 1440 system. When cards are being read continuously and no punching is being done, maximum speeds are 300 cards per minute for Model 1 and 400 cards per minute for Model 2. Model 4 reads cards at a rated speed of 400 cards per minute. Each column is read twice and the results are compared. Checks are made for invalid characters, improper registration, and malfunctions of the light-sensing mechanism. Conversion from standard IBM Hollerith card code to the internal BCD code is automatic. Reading begins at column 1 and can be terminated after one to 80 columns have been read by a group mark character with a word mark in the core storage input area. Decreasing the number of columns read has no effect on the input speed, but it does increase the available computing time per card. At the maximum input speed, available computing time or "overlap time" for Modell varies linearly from 55 milliseconds when all 80 columns are read to 157 milliseconds when only one column is read. For Models 2 and 4 the corresponding range of overlap times is 40 to ll8 milliseconds. Card feeding is asynchronous; there are no discrete clutch points as in the IBM 1402 Card Read-Punch. This means that if processing time slightly exceeds overlap time, card input speed will be reduced proportionately in the 1442; with a I-point clutch, the . Description (Contd.) input speed under the same circumstances would be cut in half. When the peak card reading speed cannot be maintained, the card input cycle is increased from 200 to 210 milliseconds for Modell and from 150 to 160 milliseconds for Models 2 and 4. The increase is caused by the clutch pickup time when feeding on demand. With the longer cycles, overlap time is increased by 20 milliseconds for Model 1 and 15 milliseconds for Models 2 and 4. Card punching, like reading, is performed serially by column, always begins at column 1, and can be terminated after any number of columns from one to 80. The cards to be punched can be either blank or pre-punched. Skipping is not possible; each blank column requires a full punch cycle. An echo check is made to insure that the correct dies have been actuated for each character. Card punching speeds depend upon the number of consecutive columns punched in each card. Model 1 punches at 80 columns per second and Model 2 at 160 columns per second. To the punching times must be added the time to feed and position each card: 210 milliseconds for Modell and 160 milliseconds for Model 2. The total positioning time (but none of the punching time) is available for overlapped computing. Resulting punching speeds can be summarized as follows: Number of Columns Punched, P 1 10 20 40 80 Formula: Cards/min. , Cards/min. , 1442 Modell 1442 Model 2 270 179 130 84 50 360 270 210 146 88 60,000 12.5P+210 60,000 6. 25P+160 When reading and punching are done on the same card, the reading occurs during the punch positioning time of 210 or 160 milliseconds, and the overall read-punch operation proceeds at the same speed as punching alone. Overlap time per card for the combined operation varies with the number of columns read and is the same as for reading alone. Two different punch instructions are provided: "punch and feed" is used when punching only, and "punch and stop" is used in read-punch operations where the next card will be fed and positioned for punching by the succeeding "read card" instruction. "Punch and stop" also allows successive punching operations to apply to the same card. © 1964 Auerbach Corporation and Info, Inc. 4/64 414:071.120 IBM 1440 !l 071. . 12 Description (Contd.) Optional Features Card Image: Provides direct input to and output from core storage of any card code; the code translation and character validity check are bypassed. The feature is useful for reading and punching column binary cards or any cards that use nonstandard codes. 4/64 . 12 Description (Contd.) Selective Stacker: Provides a second 1, 300-card stacker that can be selected under program control. The feature is standard on the 1442 Models 2 and 4. Punch Column Skip: Allows punch to space over card columns without interlocking the system. g 414:0n.100 l~~ IBM 1440 Input-Output 1444 Card Punch INPUT-OUTPUT: 1444 CARD PUNCH § 072. .12 .1 GENERAL • 11 Identity: . . . • . . • . • . Card Punch. 1444 ModelL . 12 Description The 1444 Card Punch is a punched card output unit for a 1240 or 1440 system. This unit can be attached to a 1440 in combination with an IBM 1442 Model 4 Card Reader or an IBM 1442 Card Read Punch, Model 1 or 2. The IBM 1444 has a rated speed of 250 cards per minute. The card-punch hopper capacity is 1200 cards. Cards feed 12-edge first, face down. The feed path is from right to left. Cards pass a blank station, a punch station, and a punch-read station. The punch station consists of 80 punch magnets for recording information. The punchread station has 80 brushes that read the data punched in the card for a hole-count check. Because of hole-count checking, only blank cards should be placed in the punch hopper. The 1444 Card Punch is equipped with two radial stackers, each having a card capacity of 1000 cards. Cards can be removed from the stackers without stopping card feeding. If the stacker becomes full, card-punch and system operation stops. The card punch operates at a rated speed of 250 cycles per minute (240 milliseconds per cycle). Actual card punching, at an optimum rate of 250 cards per minute, is controlled by punch instructions in the program. These are four points in the cycle (occurring at 60-millisecond intervals) when the punch feeding mechanism can start the punch cycle. Description (Contd.) The punch cycle is divided into three separate functions: • Punch start time is 37 milliseconds. After the feed mechanism has been pulsed, the time required for the card to be fed and pOSitioned constitutes punch start time. The Processing Unit is interlocked during punch start time. • Card Punching time is 181 milliseconds. The actual punching of the card takes place during this part of the cycle. The Processing Unit is always interlocked during card punching time. (i) Processing time is 22 milliseconds. This is the remainder of the punch cycle that·is available for overlapped internal processing. The next Punch instruction must be given during this 22-millisecond period, or the punch operation will end and at least 60 milliseconds will elapse before the punch can start again. Card punching speeds and available processing times are: Speed, cards/min. C:ycle Time, msec. Processing Time, msec. 250 240 22 200 300 82 166 360 142 143 420 202 125 480 262 © I 964 Auerbach Corporation and Info, Inc. 4/64 414:081. 100 IBM 1440 Input-Output 1443 Prin ter INPUT-OUTPUT: 1443 PRINTER § 081. .12 .1 GENERAL .11 Identity: . . 12 Description Printer. 1443 Models 1 and 2. The 1443 Printer utilizes a horizontal typebar printing mechanism whose chief advantage is rapid interchangeability of character sets. Peak speed, using the standard 52-character set, is 150 lines per minute for Modell and 240 lines per minute for Model 2. Using the optional character sets described below, the peak speeds range from 120 to 600 lines per minute. Skipping speed is approximately 15 inches per second, and skipping and spacing are controlled by the stored program and a 12-channel paper tape loop. Only one printer can be connected to a 1440 system. The standard number of print positions is 120, spaced ten per inch. Line spacing can be set at six or eight lines per inch by an external switch. Continuous fanfold, sprocket-punched forms from 4 to 16.75 inches in overall width arf:: fed by an automatic carriage. Maximum form length is 22 inches at six lines per inch and 16.5 inches at eight lines per inch. All editing and format control is performed by the stored program; there is no plugboard. A "sync" check is made to insure that each print hammer was actuated at the proper time. A print error causes a halt or the setting of a testable indicator, depending upon the console I/O Check Stop Switch setting. When the printer is operating at its peak speed, 24 milliseconds of computing time are available during the print cycle for each line regardless of the size of the character set. The printer timing relationships are summarized below. Modell Size of Char. Ser Peak Speed, Lines/Min. 13 39 52 63 430 190 150 120 Cycle Time, msec. 140 316 400 497 Overlap Time, msec. 24 24 24 24 Description (Contd. ) Model 2 Size of Char. set 13 39 52 63 Peak Speed, Lines/Min. 600 300 240 200 Cycle Time, msec. 100 200 250 300 Overlap Time, msec. 24 24 24 24 Optional Features Selective Character Set: Required for use of any typebar other than the standard 52-character model. Character Sets: Can be interchanged with the standard typebar in approximately 15 seconds. A dial must be manually set to the proper number of characters. The following sets are available: 13-character: 39 - character: 52-character: 63-character: 0-9 and specials . - * 0-9, A-Z, and specials. , $ 0-9, A-Z, and 16 specials 0-9, A-Z, and 27 specials Print Storage: Provides a special buffer register that stores the line to be printed and permits the stored program to continue 2.4 milliseconds after initiation of a print operation. Available computing time with the 52-character set is increased from 24 to 397.6 milliseconds per line. A "branch if printer busy" instruction is provided, and interlocking will occur if a print instruction is given before printing of the previous line has been completed. Additional Print Positions: Provides 24 additional print positions, expanding the print field from 120 to 144 positions. Printer operation is unchanged. @1964 Auerbach Carparatian and Info, Inc. 4/64 IBM 1440 414:081.120 § 081. EFFECTIVE SPEED 1443 PRINTERS WITH 52-CHARACTER SET 8,000 5,000 4,000 3,000 2,000 1,000 900 800 700 Printed Lines per Minute 600 500 400 300 .....: 200 '- ............... ---- ---- ---- --- ~ - --~ /Model1 100 90 80 70 60 50 40 30 20 o 112 1 2 3 Inter-Line Spacing, Inches 4/64 4 5 414:091.1 00 IBM 1440 Input-Output 7335 Magnetic Tape Unit INPUT-OUTPUT: 7335 MAGNETIC TAPE UNIT § 091. .1 GENERAL . 11 Identity: . . . . . . . . . . Magnetic Tape Unit. 7335 Models 1 and 2. . 12 Description The 7335 Magnetic Tape Unit reads or writes magnetic tape at a density of 556 characters per inch and a speed of 20, 016 characters per second. Two models are available; the 7335-1 has a tape control unit and one tape drive housed in the same frame, while the 7335-2 contains a control and two tape drives. (The frame of the second tape drive is mechanically secured to the frame of the first tape drive). Only one 7335, Model 1 or 2, may be connected to a 1440 system. Thus, although some advantages of magnetic tape are available, applications such as tape sorting are still not practical in a 1440 system. .2 PHYSICAL FORM .21 Drive Mechanism .211 Drive past the head: .. · 212 Reservoirs Number: . . . . . . . . . Form: . . . . . . . . . . Capacity: • . . . . . . . .213 Feed drive: . . . . . . . . . 214 Take-up drive: . . . . . . · 22 The basic speed of the 7335 should be adequate for most 1440 system applications, but its throughput can be limited by the fact that high speed rewind, which requires 2.2 minutes per full reel, is always terminated by unloading of the tape from the vacuum columns and r~ad-record head. Rewinding without unloading requires 13.3 minutes. The 7335 Magnetic Tape unit is available with all models of the 1441 ProceSSing Unit except model A2. The #7802 Tape Adapter is required on the 1441. .14 First Delivery: .•... October, 1964. 2. vacuum. about 1. 5 feet . motor • motor. SenSing and Recording System s .221 Recording system: ... magnetic head. · 222 Sensing system: ..•.. magnetic head. · 223 Common system: .. . two-gap head provides read-after-write checking. .23 Multiple Copies: . . . . . none. .24 Arrangement of Heads The 7335 is similar in its physical characteristics to the IBM 7330 Magnetic Tape Unit, and is compatible with tapes prepared on an IBM 729 or 7330 at 556 characters per inch only. Tape speed is 36 inches per second. A read-after-write parity check detects most recording errors at the time of occurrence. Both lateral and longitudinal parity are checked during read operations. Data can be recorded and read in either the "load" or "move" mode. In the load mode, each word-mark bit in core storage corresponds to a special word-separator character on tape. In the move mode, only the six data bits in each core position are transferred to tape; wordmark bits in core storage are neither written on tape nor affected by a tape read operation. Block lengths are fully variable in either mode. pinch roller friction . Use of station: . . . . . . Stacks: . • . . . . . . . . . Heads/ stack: . . . . . . . Method of use: . . . . . • recording. 1. 7. 1 row at a time. Use of station: . . . . . . Distance: . . . . . • . . . Stacks: . . . . . . . . . . . Heads/stack: . . . • . . . Method of use: . . . . . . sensing. 0.30 ± 0.02 inch. 1. 7. 1 row at a time. .3 EXTERNAL STORAGE .31 Form of Storage .311 Medium: • . . . . . . . . . plastic tape with magnetizable coating. .312 Phenomenon: . . . • . . . magnetization. .32 Positional Arrangement .321 Serial by: • . . . . • . . . 1 to N rows at 556 chari inch; N limited by available core storage. .322 Parallel by: ••....• 7 tracks. .324 Track use Data: . . . • . . . . . • • 6. Redundancy check: .. 1. Timing: . . • . . . . . . 0 (self-clocking). Control signals: . . . . O. Unused: . . . . . . . . . O. Total: • . . . . . . . . . 7 . . 325 Row use Data: • . . . . • . . . . . 1 to N. Redundancy check: . . 1. Timing: . . . . . . • • . O. Control signals:. . . . O. Unused: . . • . . . . . . O. Inter-block gap: •... 0.6875 to 0.8750 inch (0.75 inch nominal). ©1964 Auerbach Corporation and Info, Inc. 4/64 414:091.330 IBM 1440 § 091. • 33 ~: .•.••••..• as in Data Code Tabl~, Page 414:141.100. .34 Format Compatibility Other device or system: . . . . . . . . . IBM 729 or 7330 Magnetic Tape Units at 556 bits/ inch density only. Code translation: . . . . none required. · 35 Physical Dimensions . 351 Overall width: . . . . . . 0.5 inch wide . . 352 Length: . . . . . . . . . . 2,400 feet per reel. .4 CONTROLLER · 41 Identity: . . . . . . . . . . contained in tape unit. · 42 Connection to System . 421 On-line: . . . . . . . . 1 max. (7335 Model 1 or 2) . . 422 Off-line: . . . . . . . . . . none. · 43 · 52 Input-Output Operations · 521 · 522 .523 . 524 Input: . . . . . . . . . . . . Output: . . . . . . . . . . . Stepping: . . . . . . . . . Skipping: . . . . . . . . . .53 Code Translation: .•.. matched codes. .54 Format Control: . . . . . none . · 55 Control Operations 1 block forward. 1 block forward. none • 1 block backward (backspace); erase long gap forward (to skip defective tape areas). .525 Marking: . . . . . . . . . . inter-block gap; write tape mark. .526 Searching: . • . . . • . . . none. Disable: . . . . . . . . . . Request interrupt: ... Select format: . . . . . . Select code: . . . . • . . Rewind: . . . . . . . . . . Unload: • . . . . . . . . . . .56 Connection to Device · 44 Data Transfer Control . 441 Size of load: . . . . . . . 1 to N characters; N limited by available core storage . . 442 Input-output areas: ... core storage. · 443 Input-output area access: . . . . . . . . . each character. · 444 Input-output area lockout: . . . . . . . . . yes. . 445 Table control: . . . . . . none. · 446 Synchronization: . . . . automatic. .5 PROGRAM FACILITIES AVAILABLE .51 Blocks · 511 Size of block: . . . . . . . 1 to N characters; N limited by available core storage. . 512 Block demarcation Input: . • . . . . . . . . . limiting mark in core storage or inter-block gap on tape. Output: . . . . . . . . . . limiting mark in core storage. 4/64 Testable Conditions Disabled: . • . . . . . . . Busy device: . . . . . . . Output lock: • . . . . . . Nearly exhausted: . . . . Busy controller: . . . . End of medium marks: . . . . . . . . . . . 431 Devices per controller: 7335-1: 1 drive. 7335-2: 2 drives. . 432 Restrictions: . . . . . . . none. disabled after unloading . no. no. no. yes. yes . .6 PERFORMANCE .62 Speeds .621 Nominal or peak speed: . . . . . . . . . • .622 Important parameters Tape speed: . • . . . . . Density: . . . . . . . • • Rewind (high speed): . Rewind (low speed): . Inter-block gap: . . . . Start time Read: . . . . . . . . . . Write: • . . . • . . . . Stop time Read: . . . . . . . . . . Write: • • . . • . . . . .623 Overhead: • • . . . . • . . .624 Effective speeds: •... no. no . no. yes • no. yes . 20,016 char/sec. 36.0 inches/sec . 556 char/inch. 2.2 minutes/reel. 13. 3 minutes/reel. 0.6875 to 0.8750 inch (0.75 inch nominal). 10.3 msec. 7.2 msec. 9.8 msec . 4.4 msec. 20.8 msec. /block. 20, 016N/ (N + 416), where N = characters per block (see graph). INPUT-OUTPUT: 7335 MAGNETIC TAPE UNIT § 414:091.630 091. .63 Demands on System Condition Coml2onent Read Write Processing Unit: .72 . 73 Percentage of data transfer time msec l2er block 10.3 + o. 05N 7.3+ 0.05N or or 100. 100. Other Controls Function Form Comment Start: key Low Speed Rewind: High Speed Rewind: key key Reset: key turns Ready light on and places tape unit in ready status. rewinds at 36 inches/second. rewinds at high speed (pulls tape from vacuum columns). resets tape to manual control (can stop a rewind operation) • Loading and Unloading .731 Volumes handled Storage: . . . . . . . . . 1 reel. Capacity: . • . . . . . • 2,400 feet; for 1, OOO-char blocks, capacity is 11,300,000 characters . . 732 Replenishment time: .. 1. 0 to 1. 5 minutes; tape unit needs to be stopped . • 734 Optimum reloading period: . . . . . . • . . • 13 minutes . .8 ERRORS, CHECKS AND ACTION Recording: Reading: Input area overflow: Output block size: Invalid code: Exhausted medium: Imperfect medium: Timing conflicts: Recording level: Check or Interlock Action read after write; lateral parity lateral and longitudinal parity none. none. all codes acceptable. reflective spot or tape mark none. interlock signal strength check indicator & alarm. indicator & alarm. indicator. wait. indicator & alarm. © 1964 Auerbach Corporation and Info, Inc. 4/64 414:091.900 ~ IBM 1440 091. EFFECTIVE SPEED: IBM 7335 MAGNETIC TAPE UNIT 10,000,000 7 2 1,000,000 7 4 2 100,000 7 Characters per Second 4 2 ~ t-"'""" 10,000 7 i.oII"'" L 4 -' ~ 2 / 1,000 ~ , 7 1 4 2 100 2 10 4 7 2 100 4 7 2 1,000 Characters per Block 4/64 4 7 10,000 414: 101.1 00 IBM 1440 Input-Output Serial I/O Adapter INPUT-OUTPUT: SERIAL I/O ADAPTER .122 1011 Paper Tape Reader: Reads data from 5- to 8-track punched tape at a peak speed of 500 characters per second. (See also Section 401:073.) f3 101. .1 GENERAL .11 Identity: . . . . . . . . . . Serial Input/OutputAdapter. #7080. Expanded Serial I/O Adapter. #3845. Data Transmission Unit. 1009 Model 1. Paper Tape Reader. 1011 Model 1. Tape Punch. 1012 Model 1. Optical Mark Page Reader. 1231 Model 1. Magnetic Character Reader. 1412 Modell. Communication Control System. IBM 7740. Direct Data Transfer. #3271. . 12 Description The Serial Input/Output Adapter. when added to the 1441 Processing Unit. permits the on-line use of anyone of the serial input-output devices described in Paragraphs .121 through. 127 below. Only one Adapter may be attached. . 121 1009 Data Transmission Unit: Transmits and receives data over telephone or telegraph lines at speeds of 75 to 300 characters per second. (See also Section 401:101.) .123 1012 Tape Punch: Punches data into paper or Mylar tape at a peak speed of 150 characters per second. Five. six. seven. or eight tracks can be punched. Read-after write checking is performed. Code translations must be programmed. (See also Section 401 :074. ) .124 1231 Optical Mark Page Reader: Reads marked data from 8-1/2 by 11 inch data sheets at varying speeds. In "Continuous" mode. speed is constant at 2,000 documents per hour. (See also Section 414:104.) .125 1412 Magnetic Character Reader: Reads magnetically inscribed data from card and paper documents at a maximum rate of 950 documents per minute. (See also Section 401:104.) .126 7740 Communication Control System: A TeleProcessing system for control and supervision of a communication network. (See also Section 414:106.) . 127 3271 Direct Data Transfer: Permits direct system-to-system data transfers between the 1440 and a 1401, 1460, or second 1440. The Indexing and Store Address Registers feature is a prerequisite . .128 3845 Expanded Serial I/o Adapter: For direct data transfer between the 1440 and a 1410 or 7010, the Expanded Serial I/O Adapter cable-connects a 1440 with a 1448 Transmission Control Unit to the Processing Unit in a 1410 or 7010 system. When not used for inter-system data transfers, this feature can be used in lieu of a #7080 Serial I/O Adapter. The Bit Test and Indexing features are required on the 1441 Processing Unit. ©1964 Auerbach Corporation and Info, Inc. 4/64 414:102.100 IBM 1440 Input-Output 1062 Teller Terminal INPUT-OUTPUT: 1062 TELLER TERMINAL § 102. .12 Description (Contd. ) .1 GENERAL Additional Equipment Requirements (Contd.) .11 Identity: • • . • • . . . Teller Terminal. 1062 Models 1 and 2. .12 Description control circuits for the Teller Terminals in both online and off-line operations. Each 1061 requires one half-duplex communication line; i. e., a line capable of transmitting data in only one direction at a time. Up to 40 such lines can be connected to a 1440 system via one 1448 Transmission Control Unit. All lines can operate simultaneously at 14. 8 characters per second each; but when two Teller Terminals are connected to a single 1061 Control Unit, only one of the two can operate at a time. The 1061 can be connected to the 1448 either by direct two-wire cables for in-house operation, or by data sets and leased voice or subvoice grade communication lines for remote operation. The 1062 Teller Terminal provides teller stations with access through communication lines to customer account information. The unit has a keyboard for entering transaction data into the files and a printer upon which to record the results of the transactions after processing. The 1062 is primarily intended for use as an on-line inquiry and posting unit for savings accounting and other applications involving a passbook or receipt where access to and updating of records is critical. The unit encompasses a: o Keyboard, including nine columns of numerical data keys for entry of account number, old balance, and transaction amounts; and three columns of transaction code keys for transaction identification. Also provided are functional control keys for initiation of action, control, and status lights; and three locks for security over teller and auditor operations. o Print unit which records 12 characters per inch serially at a speed of 14. 8 characters per second upon the 5 - inch wide terminal record tape (for transmitted data) or on a document inserted in the document feed (for reply data). The printing mechanism is similar to that used in the mM Selectric typewriter and provides for printing 10 numeric, 26 alphabetic, and 8 punctuation characters. o Document feed capable of accommodating documents up to 8 inches wide and passbooks up to 6 inches wide. o Pair of accumulators for maintaining the net cash positions for each of two tellers. Transaction amounts are added or subtracted only upon successful completion of a given transaction. A third accumulator provides arithmetic ability for the 1062 when operating off-line, and also serves as a message storage unit during on-line transmission. Additional Equipment Requirements One or two Teller Terminals can be connected to a 1061 Control Unit. The 1061 provides the logical and The 1448 Transmission Control Unit has a one-character assembly register and two single-character buffers for each transmission line. Automatic interruption of the 1440 at the end of a processor instruction can be initiated by any of the following conditions: 1. Buffer filled (receive). 2. Buffer empty (transmit). 3. Status condition signal (e. g., end of message). 4. Request for polling address (i. e., terminal identification ). The 1440 program must store the contents of the program counter and initiate a scan of ail lines. Each line is assigned an area in core storage and uses 10 core storage positions to keep track of the status of the messages for each line. Interrupts must be spaced at least 65 milliseconds apart (determined by the transmission speed over the line; 14.8 characters per second = 67 milliseconds per character). A scan of all lines under peak traffic condition is less than 6 milliseconds, whereas an average scan time should be about 4 milliseconds. It is possible to write a program for the 1440 which will initiate scan operations on a fixed time cycle basis. Optional Features The 1062 Modell provides full off-line (independent of communication lines and central processor) as well as on-line operations, whereas the,Model 2 can be used on-line only. The 1062 Modell can utilize a punched program tape loop that provides off-line control over printing format (tabbing, punctuation, date, terminal identification, etc.) and arithmetic operations. An adding machine feature permits use of the 1062 Modell as an off-line adding machine. A tape punch for punching l6-channel program tapes is available. © 1964 Auerbach Corporation and Info, Inc. 4/64 414:103.100 IBM 1440 Input-Output 1448 Transmission Control Unit INPUT-OUTPUT: 1448 TRANSMISSION CONTROL UNIT § 103. .12 Description (Contd.) The three basic purposes of transmission control in a data processing system are: A Transmission Control Unit Attachment, the Indexing and Store Address Register feature, and a 1447 Model 4 Console are prerequiSites on the 1440 or 1460 system for connection of a 1448. Through the use of various special features, the 1448 can accommodate up to 40 half-duplex 1050 or 1060 lines, up to 20 half-duplex 1030 or 1408 lines, up to 40 half-duplex telegraph lines, or certain combinations of two or more different types of lines. e To establish a connection between the central processor and the terminals in the communication network. Only one 1448 can be attached to a 1440 system. First delivery is expected in the third quarter of 1964. o To detect and compensate for distorted transmission or lost signals. The data collection and communication systems that can be connected to an IBM 1440, 1460, or 1240 Data Processing Systems by means of a 1448 Transmission Control Unit are briefly described below. .1 GENERAL .11 Identity: . . . . . . . . . . Transmission Control Unit. 1448. . 12 Description • To expand the flexibility of the data processing equipment. The 1448 Transmission Control Unit operates in conjunction with an IBM 1240, 1440, or ·1460 Data Processing System and data collection/communication systems such as the IBM 357, 1030, 1050, and 1060 (described below). The 1448 communicates with the 1050 or 1060 at 14.8 characters per second, with 1031's at 60 characters per second, and with 357's (via 1408 Transmission Units) at 20 characters per second. Information from the communication lines enters the 1448 in a serialby-bit, serial-by-character mode. A minimum of two characters of information is accepted by 1448 core storage for each line. The bits are assembled into characters and transferred to the Processing Unit, where each communication line is assigned its own message assembly area in core storage. The reverse happens when the 1448 is transmitting, in that characters are converted into bit-serial form and transmitted serially. The exchange of information is· initiated by a "scan operation" associated with a priority interrupt (a temporary interruption of the processor's main routine by an external signal). Information is either written into or read out of a preassigned area in core storage. The following conditions in the 1448 can interrupt the processor's main program: a buffer-full condition on a receiving line; a buffer-empty condition on a transmitting line; a status condition with an EOB (endof-block) bit; or a 1448 request for the next polling address (different terminals on a multipoint channel). The interrupt causes a program jump to location 181 in the processor, where the first instruction of the interrupt routine is located. An interlock prevents interruption while the system is in the interrupt routine. Direct Data Channel Interrupt is standard with the 1448. Various checks are made in the 1448, such as buffer overflow, vertical redundancy (parity check), and status-character validity check. . 121 IBM 357 Data Collection System Each 357 system transmits data from up to 20 remote plant locations to a central point. Input data can be read from 80-column cards, from 22column identification badges, from portable data cartridges, and/or from up to 12 manually set 11position slides. Transmission of data is automatic upon insertion of a card or badge into the proper reader slot. Data is transmitted at the rate of 20 characters per second. Up to 20 input stations can be connected by multiwire cable to a 358 Input Control Unit. The 358 can be connected to a 24 Card Punch or a 26 Printing Card Punch for off-line punched card output. For on-line operation with a 1440, the 358 is connected to a 1408 Transmission Unit, which relays the input data via voice-grade private or common carrier lines to the 1448 Transmission Control Unit at the computer site. . 122 IBM 1030 Data Collection System The 1030 system permits two-way communication between remote plant locations and a central processing area. Input can be from 80-column punched cards, 10-column identification badges, preset data cartridges, or up to 12 manually set slides. Various models of the 1031 Input Station handle different combinations of these input modes. Up to 24 input stations (in various combinations of "control" and "satellite" stations) can be connected to a single 2-wire transmission line. Up to twenty 2wire transmission lines can be connected to a 1448 Transmission Control Unit for on-line operation with a 1440 system. Input data is transmitted in serial-by-bit form at 60 characters per second. © 1964 Auerbach Corporation and Info, Inc. 4/64 IBM 1440 414:103.122 • 123 IBM 1050 Data Communication System (Contd.) § 103 . . 122 IBM 1030 Data Collection System (Contd.) Up to 24 Model 1033 Printers can also be connected to each 2-wire line. The 1033 provides printed copy at remote locations at a rated speed of 14.8 characters per second. Used in conjunction with the 1031 Input station, the 1033 Printer provides two-way on-line inquiry and reply capabilities. When on-line operation is not required, up to 24 input stations can be connected via 2-wire lines to a 1034 Card Punch for punched card output at 60 characters per second. • 123 IBl\'[ 1050 Data Cownmllication System The 1050 is designed to serve as a general-purpose communication system to link the user's branches, plants, and warehouses to his central data processing system. Input can be from punched tape, punched cards, or keyboard. Output can be printed or punched on tape or cards. Input, output, and data transmission all occur at a rated speed of 14.8 characters per second. A 1050 system can communicate over leased or privately-owned 2-wire telephone, telegraph, or TWX circuits with any of the following IBM equipment: o another 1050 system. I) a 1401 system (via a 1447 Model 3 Console and a 1409 Console Auxiliary). o a 1440, 1460, or 1240 system (via a 1448 Transmission Control Unit). o a 1410 or 7010 system (via either a 1414 I/o Synchronizer or an on-line 1440 system). 4/64 • a 1401, 1410, 1440, 1460, or 7000 series system (except 7072) via a 7740 Communications Control System. • a 1410 or 7000 series system (except 7072) via a 7750 Programmed Transmission Control. • a 1060 Data Communication System (via a 1448). Every 1050 system includes a 1051 Control Unit, which provides the basic connection between the input-output units and the modulator-demodulator equipment for the transmission line. A 1050 system can also include one 1052 Printer-Keyboard and one or two of each of the following units: 1053 Printer, 1054 Paper Tape Reader, 1055 Paper Tape Punch, 1056 Card Reader, 1057 Card Punch, and 1058 Printing Card Punch. The only configuration restrictions are that neither the total number of readers (1054's and 1056's) nor'the total number of punches (1055'S, 1057's, and 1058's) may exceed two. . 124 1060 Data Communication System The 1060 system is designed for on-line banking and savings and loan applications. It consists of 1062 Teller Terminals connected to 1061 Control Units. The 1062 Teller Terminal is fully described in Section 414:102. The 1060 system can be connected to a 1448 Data Transmission Control for online use with an IBM 1440, 1460, or 1240 Data Processing System. Alternatively, the 1060 system can be connected to a 7740 Communication Control for on-line use with nearly any IBM 1400 or 7000 series system. 414:104.100 IBM 1440 Input-Output 1231 Optical Mark Page Reader INPUT-OUTPUT: 1231 OPTICAL MARK PAGE READER § 104. . 12 Description (Contd.) .1 GENERAL • 11 Identity: . . 12 Description Data sheets are fed from a pneumatically-controlled hopper (600-sheet capacity) through the reading area and directed to one of two stackers. The main stacker holds 600 sheets. Sheets with detected errors are directed to a separate stacker (50-sheet capacity). Documents are stacked in reverse sequence in both stackers . The Optical Mark Page Reader reads orginary pencil marks (not printed characters) from 8-1/2" x 11" data sheets directly into a 1401, 1440, or 1460 Data Processing System. A #7080 Serial Input/ Output Adapter is required on the 1401 or 1441 Processing Unit. All marks read from a data sheet are stored as bits in a sonic delay line storage unit until they are transferred to the computer by execution of a Read instruction. Less than 10 milliseconds are required to transfer data from the sonic delay line to the computer storage. Optical Mark Page Reader. 1231. The 1231 (or its off-line counterpart, the 1232) will be useful in organizations that use standardized forms for such functions as surveys, orders, applications, medical records, payroll time records, inventory listings, and sales analyses. The 1231 's chief advantage is the elimination of much of the key punching and verifying normally associated with the preparation of input for ,automatic data processing. In a single pass of the pencil-marked data sheets through the 1231, the marks are read and the data is transferred to the computer. (The 1232, working off-line, converts the marked information into punched cards.) Documents are read at varying rates of speed, depending upon the mode switch settings. When set to "continuous", feeding is at a constant speed of 2,000 documents per hour. When set to "demand", feeding is controlled by the computer program with speeds varying up to 1600 documents per hour. The feeding mode selected depends upon the computer program control method used. The user may have up to 1,000 mark positions on one side of a sheet (2,000 on both sides). Mark positions are pre-printed in rows of 20 positions. Each row is divided into two 10-position groups. Each 10-position group is called a "word" for the purpose of defining a marking area. Each word can be divided into two 5-position segments. Data words and segments can be grouped in various combinations to form fields. First deliveries are scheduled for the third quarter of 1964. Optional Feature Master Mark: A master data sheet, containing up to 10 words of marked data, can be read and stored in the delay line for transfer to the computer. The master sheet is identified by a special preprinted mark and contains data that is to be associated with all subsequent data sheets until a new master sheet is read. ThUS, data common to a series of data sheets need be recorded and read only once. © 1964 Auerbach Carporation and Info, Inc. 4/64 414: 1OS.l 00 IBM 1440 Input-Output 7770 Audio Response Unit INPUT-OUTPUT: 7770 AUDIO RESPONSE UNIT .12 Ii 105. . 11 GENERAL Identity: . . .12 Description .1 Audio Response Unit. 7770 Model 1. The IBM 7770 Audio Response Unit is a buffered communications unit that accepts telephoned requests and relays them to a central processing unit which processes the data and returns a coded reply to the 7770. The 7770 interprets the reply, selects the proper words from its stored vocabulary, and transmits these words as a voice response back to the inquirer. The Audio Response Unit is composed of three sections: inquiry, control, and audio output. The inquiry section accepts digital inquiries from the connected inquiry terminals through a common carrier receiver, in message lengths up to 40 digits. Transmission of the inquiry between the receiver and the 7770 is accomplished in a 3-outof-14 or 2-out-of-8 inquiry code. The 7770 receives the inquiry from the receiver terminal in serial-by-character, parallel-by-bit form. The inquiry is then translated into BCD form, stored in a buffer, and transferred tO'the computer when the total inquiry has been received. An inquiry is assumed to be complete when the 7770 receives no data for five consecutive seconds. The digital control section controls the data flow between the CPU (central processing unit) and the 7770 through the 1311 Disk Storage control unit. A Read File command from the CPU causes the inquiry to be transferred from the 7770 to the CPU. When the CPU completes its interpretation of the inquiry, it composes a coded response message. The CPU then issues a Write File command, and the response message is transferred to the buffer of the 7770. The response message is composed of vocabulary word locations (located on the 7770's magnetic drum), and is sent one word at a time. The maximum length of this response message is 38 words. Positions 1 through 38 may contain the drum addresses of the appropriate audio response words. A group mark in any position from 2 through 39 will signify the end of the message. The last position of the 40-character area is always a blank. The audio output section provides the actual audio response to the inquirer. These words, recorded on the magnetic drum in analog form as an audio signal, are amplified and transmitted to the terminal originating the inquiry. Description (Contd. ) The vocabulary is recorded on the magnetic slepve of a drum 4 inches in diameter and 10 inches long . ~'.ere are 128 tracks on the drum, addressable by a seven-bit BCD address field associated with each track. Two tracks are prerecorded; one having an address of zeros (blank) and the other with ones (group mark). The "blank" track indicates 500 milliseconds of silence (500 milliseconds per revolution), and the "group mark" track is used for endof-message control. The prerecorded drum vocabulary is flexible in three ways: (1) The number of drum words can be 32, 48, or 64, and can be increased to 80, 96, 112, or 128 by a special feature. (2) A master vocabulary provided by IBM is a list of frequently used industry words, numbers from 0-9, and letters of the alphabet. (3) The vocabulary can be changed, by exchanging the analog recorded cylinder, at any time by the customer. A 7770 Modell can be used with a 1401, 1440, or 1460, and a 7770 Model 2 with a 1410 or 7010 System. Only one 7770 can be attached to a system, in lieu of a 1311 Disk Storage Drive Model 2, thereby reducing by one the maximum number of 1311 Model 2's. For a 1401, a 7149 Adapter on the 1311 Model 4 is needed; for a 1440/1460, a 7150 Adapter on the 1311 Modell is needed. The 7770 operates in a half-duplex mode over toll, leased, or privately-owned voice-grade lines. The basic 7770 handles up to four lines. The line capacity can be expanded, in 4-line increments, to a maximum of 64 lines. Random inquiries on any or all input-output lines can be serviced simultaneously. The 7770 operates with the following inquiry terminal devices, provided the proper arrangements have been made by the customer with the common carrier: 1001 Data Transmission Terminal, rotary dial telephone with associated pushbutton manual dialing device, rotary dial telephone with pushbutton card dialer device, pushbutton manual dialing telephone, and pushbutton type card dialer telephone. First 7770 deliveries are scheduled for the first quarter of 1965. @1964 Auerbach Corporation and Info, Inc. 4/64 414:106.100 IBM 1440 Input-Output n40 Communication Control System INPUT-OUTPUT: n40 COMMUNICATION CONTROL SYSTEM .12 § 106 . .1 GENERAL . 11 Identity: . . . . . . . . . . 7740 Communication Control System. . 12 Description The mM 7740 Communication Control System is a stored-program computer designed to provide message switching and data transfer using commoncarrier lines and switching facilities. The telecommunications terminals can be standard Teletype Corporation equipment, other standard terminal equipment, or IBM transmission terminals Description (Contd. ) Transmission terminals and systems that can be connected to a 7740 include: • Telegraph terminals, operating at speeds up to 180 bits per second (approximately 24 ,Baudot characters per second). • mM 65/66 Card Data Transceivers. • mM 1009 Data Transmission Units, which permit communication with other mM 1440, 1401, and 1410 Data Processing Systems. Ci) The 7740 system can stand alone as an independent message switching system, but is more typically used as a switching facility for an mM data processing system. As an independent system, the 7740 can connect to up to five mM 1311 Disk Storage Drives, each capable of storing over two million characters. (Magnetic tapes are not available to the 7740.) As a system serving a "host" computer, the 7740 transfers messages to the host computer for disc or magnetic tape storage. The 7740 can be connected directly to any of the following mM computers: 1401, 1410, 1440, 1460, 7010, 7040, 7044, 7070, 7074, 7080, 7090, 7094. The 7740 system communicates with a 1440 via the #7080 Serial Input-Output Adapter (Section 414:101). From 1 to 84 low-speed half-duplex lines (45 to 200 bits per second) and 1 to 4 high-speed half-duplex lines (1200 to 2400 bits per second) can be connected to.the 7740 system. The actual number of each type depends on the combination of lines desired, and on whether or not a disc file is connected. Pairs of half-duplex connections can be used to form full duplex connections. The 7741 Processing Unit contains the arithmetic and logical facility, the core storage, and the terminal connections. The 7741 consists of one large unit of six racks or bays. The console for the 7740 system consists of the Printer-Keyboard, Card Reader, and Control Unit of an mM 1050 Data Communication System, connected to its own input-output connection on the 7741. Communication lines can be leased (private) lines or toll lines to exchanges. Telegraph or voicegrade lines or exchanges can be used by the system. The 7740 has facilities for automatic dialing and for automatic answering of dialed input messages. The system accepts and transmits messages of any length, and can perform code conversion under program control. Ci) mM 1013 Card Transmission Terminals. mM 1050 Data Communication Systems (printer-keyboard, punched tape, and cards). o mM 1060 Data Communication Systems (teller terminals). o mM 7701 and 7702 Magnetic Tape Transmission Terminals. o mM 7710 Data Communication Systems (connected to mM 1401 Data Processing Systems). o other mM 7740 systems. o IBM 7750 Programmed Transmission Controls (connected to other mM Data Processing Systems). Functional Description The 7740 is an electronic computer available with three sizes of core storage: 4,096, 8,192, and 16,384 words of four 8-bit characters per word. The programming package available for the 7740 requires the maximum amount of core storage. Operation of the system is completely under program control. The 7740 supervises the communications network, and controls traffic by polling terminals which may have input data and by addressing terminals prior to sending output data. The program determines the order of polling, and also maintains output queue control. Terminals which are polled or addressed must give a response, which is checked for by the program. The 7740 can initiate a request for data transfer between it and the host computer by setting an indicator in the host. When the host recognizes the request, programming in the 7740 controls the transfer. When the host computer initiates or services a request for data transfer between it and the 7740, the 7740 must be in a suitable mode of operation to perform the transfer. © 1964 Auerbach Corporatian and Info, Inc. 4/64 IBM 1440 414:106.120 § 106 . • 12 Description (Contd.) Functional Description (Contd. ) Character validity checking is done in the system. It performs a 4-out-of-8 check on internal charac- ters and on 8-bit data codes. Teletype and 6- and 7-hivel codes entering the system are changed to an 8-bit form. .12 Description (Contd.) Program Processing (Contd. ) Message protection is accomplished by the program. Procedure's used are message sequence numbering, checking on device addresses associated with line numbers and line types, and checking of terminal response to polling and addressing. If the latter check fails, indicating an unavailable or inoperative device or a line malfunction, output messages are put on the disc file Greater Than ? (Plus Zero) A 8 C D E F 8CD CODE C 12-(1-8 12-4-8 12-5-8 12-6-8 12-7-8 12 11-3-8 11-4-8 11-5-8 11-6-8 11-7-8 11 0-1 0-3-8 0-4-8 0-5-8 0-6-8 0-7-8 2-8 3-8 4-8 5-8 6-8 7-8 C C 8 A 8 8 A 8 4 8 A 8 4 8 A 8 4 8 A 8 4 8 A 8 8 C C 8 8 8 C C C C C 52 A X x x x X X 2 I X X 1 2 1 X H X ) + X X X X X X X X ( I A 8 4 2 A 8 4 2 I , . 2 I 8 4 8 4 C @ X X X X X X X X X X X X X X X X X X X X X X I 8 4 2 8 4 2 I 8 A 8 2 12-3 12-4 C 8 A 8 A 8 A 12-5 C 12-<> C 8 A 8 A 8 A X I 2 2 I 4 4 4 2 I 52 63 DEFINED CHARACTER CODE 8CD X G 12-7 8 A X X X X X X H I I (- zero) 12-8 8 A 8 12-9 C 8 A 8 C 8 8 8 X X X X X X X X X X X X X 8 CARD 52 & % A 8 4 A 8 4 A 12-1 12-2 X ):( X X X A A 8 C C 12~ 39 I 2 2 1 8 4 8 4 I 8 4 2 8 4 2 I 8 8 C 2 I 13 J K L M N 0 P Q R 4= Racad Merlo: S T 11-0 11-1 11-2 11-3 11-4 11-5 11-6 11-7 11-8 11-9 X 1 X X X X 2 2 I 4 I 4 2 4 2 I 8 8 8 8 I X 2 2 I X X I X X 2 C A A U 0-4 C A A 4 V 0-5 0-6 A 4 C A A 4 2 4 2 I C A 8 A C 8 8 W X Z X X X X X X X o (Zero) 0 I 2 3 4 I 2 3 4 5 6 5 C 6 C Y 7 7 8 9 8 9 X X X I 2 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X 4 2 4 2 1 X X X X X X X X X X X X X X X I X X X X X X 1 2 2 I 4 4 I 8 8 Note 1 52 H X X X X X X X X X X X X C C X X X X X X X X 4 0-2 0-3 0-7 0-8 0-9 X 4 2 I 2 8 8 C 8 C 8 X X X X X A 13 1 C 8 8 C 8 0-2-8 39 CODE X X 63 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X Note 1 Note 1: 1443 Printer character sets; X indicates the defined character is included. Note 2: Codes are arranged in internal collating sequence. Reproduced from IBM 1440 System Component Description, IBM Publication A26-5666-0, page 28. @1964 Auerbach Corporation and Info, Inc. 4/64 414:151.100 IBM 1440 Problem Oriented Facilities PROBLEM ORIENTED FACILITIES § .14 151. Report Writing (Contd.) .1 UTILITY Use of the Report Program Generator involves four distinct phases: .11 Simulators of Other Computers: ••..... none. .12 Simulation by Other Computers: . . . • . . . none. 1. Writing the report specifications in a problem oriented language on four different types of specification sheets: Input, Data, Calculation, and Format. .13 Data Sorting and Merging 2. Translating the report specifications into a symbolic (1440 Autocoder) report program using the RPG Processor. IBM 1440 Sort 5: 3. Translating the symbolic program into 1440 machine language form using the 1440 Autocoder Processor. Using specifications contained in control cards, Sort 5 generates sort routines for sequencing blocked, fixed-length records in 1311 Disk storage. The files to be sorted may be in punched cards, magnetic tape, or Disk Storage. Tags containing the control fields and Disk Storage locations of the records are sorted first. Then the records themselves can be directly rewritten in Disk Storage in either ascending or descending sequence. Alternatively, by reference to the sorted tags, the records can be punched or printed in the proper sequence without internal rearrangement of the data records themselves. Facilities are included for adding, deleting, and selecting records. Minimum configuration requirements are 4,000 core storage pOSitions, one 1442 Card Read Punch, one 1443 Printer, and one 1311 Disk Storage Drive. .14 4. Executing the machine language object program to produce the desired report. If the user does not require a symbolic deck and listing of the object program, the second and third phases can be combined into a single pass. Operation of the RPG Processor requires a 1441 with at least 4,000 core storage positions, one 1442 Card Read Punch, one 1443 Printer, and one 1311 Disk Storage Drive. A 1444 Card Punch and a 1442 Model 4 Card Reader can be used in place of the 1442 Card Read Punch. Execution of RPG object programs requires a minimum of 4,000 core storage positions (more for complex reports) and one 1442 Card Read Punch. Most of the 1440 peripheral devices and optional features can be utilized when available. Report Writing IBM 1440 Basic Report Program Generator (BRPG): This is a "load-and-go" program that processes data in punched cards to produce a report in printed and/or punched card form. The report specifications for the desired report are written in a problem oriented language, punched on cards, and read into the 1440 system ahead of the data file. The desired report is produced in a single pass. Minimum configuration is a 1441 with 4,000 core storage positions, one 1442 Card Read Punch, and one 1443 Printer. Disk storage cannot be utilized. A 1444 Card Punch and a 1442 Model 4 Card Reader can be used in place of the 1442 Card Read Punch. IBM 1440 Report Program Generator (RPG): This generator facilitates the preparation of report programs that will process an input file in punched cards or 1311 Disk Storage to produce a report in any combination of three forms: punched cards, disc records, and/or printed reports. Disc records can be blocked, and master records can have a variable number of trailer records. Block length can be 100 to 1, 000 characters in multiples of 100 characters. Disc records can be processed either sequentially or randomly. Processing sequence for the random mode is specified by "processing-order records" in punched cards or Disk storage. .15 Data Transcription Disk Utility Programs for IBM 1440/1311 or 14401 1301: This is a set of nine related programs to facilitate operation of 1440 systems with 1311 or 1301 Disk Storage. The following minimum configuration is required: 1441 ProceSSing Unit with 4,000 core storage positions (8,000 if the Track Record feature is used), one 1442 Card Read Punch, one 1443 Printer, and one 1311 Disk Storage Drive or 1301 Disk Storage array (two for the Copy Disk Program). A 1444 Card Punch and a 1442 Model 4 Card Reader can be used in place of the 1442 Card Read Punch. One 7335 Magnetic Tape Unit is required for the Disk-to-Tape and Tape-to-Disk programs. The routines are supplied in the form of self-loading, condensed card decks and are modified for each processing run by specifications in control cards. Each routine can operate in either the load or move mode; i. e. , with or without word mark bits. The individual routines are described below. o Clear Disk Storage: Fills blanks or any specified character into all or any specified portions of a Disk Pack or array. Minimum time to process a full 1311 Disk Pack is 3.1 minutes. ©1964 Auerbach Corporation and Info, Inc. 4/64 IBM 1440 414:151.150 !! 151. .15 .16 Data Transcription (Contd.) IBM 1440 Disk File Organization Programs: • Disk-to-Card: Punches the contents of specified areas of Disk Storage into cards - a maximum of 70 characters per card in the move mode and 50 in the load mode. Minimum time to transcribe the contents of a full 1311 Disk Pack would be 600 minutes. CI Card-to-Disk: Reloads cards produced by the Disk-to-Card routine into the Disk Storage locations from which they were punched. Minimum time to load a full 1311 Disk Pack is 107 minutes. This series of routines facilitates the establishment and maintenance of data files in 1311 Disk Storage. Minimum configuration requirements are 4,000 core storage positions, one 1442 Card Read Punch, one 1443 Printer, and one 1311 Disk Storage Drive. A 1444 Card Punch and a 1442 Model 4 Card Reader can be used in place of the 1442 Card Read Punch. The series includes eight different routines for random files and five routines for sequential files. .17 o Copy Disk: Copies all or specified portions of the data from one Disk Pack onto another Disk Pack on a second Disk Storage Drive. The addresses written are the same as those on the pack being read. Copying a full 1311 Disk Pack takes from 4.3 to 7.0 minutes, depending upon the relative positions of the index points on the two drives. o Print Disk: Prints the contents of specified areas of Disk Storage without editing. Output format is fixed at 100 data characters (one sector) per line. Minimum time to dump the contents of a full 1311 Disk Pack is 142 minutes. o Disk-Record- Load: Loads data from punched cards into any specified area of Disk Storage. Each card contains the required control information in the first 20 columns and the data in the remaining 60. In the load mode, only one field can be entered per card. The routine can be used to alter Disk Storage addresses as well as data records. o Disk-to-Tape: Writes the contents of specified Disk Storage areas onto magnetic tape. o Tape-to-Disk: Reads data from magnetic tape into specified areas of Disk Storage. o Disk-Label Program: Performs all necessary maintenance operations on the label track of a Disk Pack. It is used to set up the initial header-label track, remove the entire label track by clearing it and restoring the addresses to the original range, enter a new label, delete an existing label, make changes to labels, print labels, and punch and print labels. IBM 1440 Tape Utility Programs: These programs are designed to transfer data files from card to tape, tape to card, and tape to printer. Output format flexibility is provided through fieldselection and exception record procedures. IBM standard 120-chara.cter tape labels can be processed. Non-standard labels can be bypassed by the Tape-to-Printer and Tape-to-Card programs. Minimum machine requirements are 4,000 positions of core storage, a 1442 Card Read Punch, a 1443 Printer, and a 7335 Magnetic Tape Unit. A 1444 Card Punch and a 1442 Model 4 Card Reader can be used in place of the 1442 Card Read Punch. 4/64 File Maintenance Others Auto-Test: Auto-Test is an integrated set of utility programs designed to provide documentation for program evaluation during a program testing run. It can be used to test programs assembled by the 1440 Autocoder program for any IBM 1440 system. Because test runs can be planned to proceed with a minimum of operator intervention, Auto-Test is a useful tool for remote testing. The Auto-Test system resides in a Disk Storage during testing. It controls program s tests in which the following functions can be selectively specified: o Clear selected areas of Disk Storage. o Load program data from cards to Disk Storage. o Print selected areas of Disk Storage. o Load the program to be tested from cards. o Print data from selected areas of core storage at specific times during program execution. o Print data read from or written on Disk Storage during program execution. o Print core storage contents when program execution terminates. Several programs may be stacked for testing in a . single run. A convenient card format for patching program decks being tested is provided to facilitate retesting of a program. Minimum machine require·ments are the following: 8K 1440 system (AutoTest 8K) or 16K 1440 system (Auto-Test 16K), 1442 Card Read Punch, 1443 Printer, one 1311 Disk Storage Drive, and the Indexing and Store Address Register special feature. IBM 1440 Application Programs: This is a series of documented programs for specific industry applications which can be modified by the user to fit his individual requirements. The following programs are being provided: o Demand Deposit Accounting o Mortgage Loan Accounting o On-Line Savings Program 414: 151.170 PROBLEM ORIENTED FACILITIES § 151 . 17 .17 Others (Contd.) o Fire and Casualty Insurance: Automobile Rating Homeowners Rating General Distribution o Weekly Premium Insurance • Secondary School Programs: Student Scheduling Grade Reporting Payroll and Personnel G Hospitals Patient Accounting Accounts Receivable Accounts Payable Payroll Stores Inventory General Ledger Others (Contd.) o Motor Freight Accounting: Edit (revenue transaction data) Transaction Register Statement Writing Run Cash Application to Accounts Receivable Cash Application to Pro Control File • Retail Accounts Receivable Ci) Retail Fashion Inventory Control Q Chain and Wholesale Billing (Grocery). @1964 Auerbach Corporation and Info, Inc. 4/64 414:161.100 IBM 1440 Process Oriented Language COBOL-61 PROCESS ORIENTED LANGUAGE: COBOL-61 § 161. .14 .1 GENERAL . 11 Identity: . . . . . IBM 1440 COBOL. . 12 Origin: . . . . . . . . IBM Corporation. . 13 Reference: . . . . . IBM Publication C24-3112-0. .14 Description The 1440 COBOL language is a subset of COBOL61, the most widely implemented pseudo-English common language for business applications. Although a number of electives have been incorporated, 1440 COBOL has several significant deficiencies with respect to Required COBOL-61. These deficiencies result from the manufacturer's decision to "defer" several important but not easily implemented language facilities. The deficiencies of 1440 COBOL relative to Required COBOL-61, as well as the facilities of Elective COBOL-61 that have and have not been implemented, are tabulated at the end of this description. The 1440 COBOL Processor converts programs written in IBM 1440 COBOL language into 1440 Autocoder. The Autocoder processor then assembles the machine-language object program. The minimum confuguration required for the translating computer is 4,000 positions of core storage, the Indexing and Store Address Register feature, one 1311 Disk Drive, a 1443 Printer, and a 1442 Card Read-Punch. For execution of machine language object programs the object 1440 must have: ' o Sufficient core· storage to contain either the entire object program or the largest single overlay. o The Indexing and Store Address Register feature. o All input-output units required by the source program. o The Expanded Print Edit feature (if high order CR, DB, -, or +; floating +, -, or $; check protection; or decimal suppression for blank or zero fields are used). Instead of magnetic tape, which is the primary file storage medium in most implementations of COBOL-61, 1440 COBOL utilizes 1311 Disk Storage. There are two types of file-description entries in 1440 COBOL. Unit record files such as those for the card read-punch and the printer are described by FD entries. Unblocked fixed-length disc records can also be described by FD entries. Description (Contd. ) Records for the card read-punch must not exceed 80 characters, while those for the printer must not exceed the number of print positions. The maximum size of a disc record is 999 characters. Blocked files read from, stored on, or written on 1311 Disk Packs are described in MD (massstorage file) entries which contain the standard FD clause and several additional ones. The user can choose one of three access modes, depending upon the disc file organization and processing technique to be used: o Random Access - each record has a unique disc address. Records can be arranged in l'andom order, and facilities are provided for specifying and computing the disc addresses of the records to be processed. o Sequential Access - records are arranged in sequence by control field and stored in consecutive disc locations. o Control-Sequential Access - records are stored with a blank (sequence-link) field appended to each record. Records to be inserted into the file can be stored in a separate area and referenced by the link address. All disc records are recorded and read without word marks. Data can be recorded in disc storage in one of four modes: o Sector - data records are written or read by 100-character sector. o Track-Sector-Address - a full track consisting of 2, 000 data characters (20 sectors) and 100 address digits is written or read. o Track-Record - a full track consisting of 2,980 characters is written or read; the Track Record feature is required on the object 1440 system. o Track-Record-Address - a full track consisting of 2, 980 data characters and one 6digit address is written or read; the Track Record feature is required. IBM 1440 COBOL object programs can process disc records in fixed-length unblocked, fixed-length blocked, or variable-length blocked form. (The latter form can be used only with the sequential access mode.) Maximum record size is 999 characters in all cases. A block can contain a maximum of 10 records in random files, 30 records in sequential files, and 100 records in control-sequential files. Among the el~ctives that have been incorporated into 1440 COBOL, the COMPUTE verb is probably @1964 Auerbach Corporation and Infa,lnc. 4/64 IBM 1440 414: 161.140 • 142 Deficiencies with Respect to· Required COBOL-61 (Contd.) I:J 161. • 14 Description (Contd.) the most valuable. COMPUTE permits arithmetic operations to be expressed in a concise formula notation similar to that of FORTRAN. For example, the COBOL operations: SUBTRACT B FROM A GIVING T DIVIDE C INTO T GIVING X can alternatively be expressed as: COMPUTE X = (A - B)/C. The library facilities of COBOL-61 are not available in the 1440 COBOL system. The COBOL library is a collection of prewritten entries for the Environment, Data, and Procedure Divisions that can reduce the amount of writing involved in coding programs and encourage standardization of coding techniques. The other deviations from Required COBOL-61 are relatively minor when COBOL source programs are written specifically for the 1440, but are likely to cause serious problems when COBOL programs written for other systems must be compiled and run on a 1440. Although the 1440 is a variable word length computer, the COBOL provisions for item lengths which vary from run to run have not been implemented. Arithmetic operand sizes can be preset to any value up to 18 digits. The data description clauses USAGE, SIGNED, and SYNCHRONIZED have no Significance in the 1440 system because of its variable word length capability and its use of the same representation for both numeric and alphameric data. These three clauses should not be used in 1440 COBOL source programs. • The RENAMING clause in the FILE CONTROL paragraph, which enables more than one file to utilize the same File Description without the need to rewrite the description, is deferred. • All options that relate specifically to magnetic tape files are inapplicable. • No ALTERNATE AREA may be specified in the FILE-CONTROL paragraph. • No RERUN option is provided. Data Division Q) The COpy options that enable File and Record descriptions to be taken from the library are deferred. COl Neither editing of a single-digit field nor single-position zero suppression can be specified by editing clauses or picture clauses. " No item may exceed 999 characters. • The PICTURE clause characters "0" and "B" are implemented as replacement characters rather than as insertion characters, so nonstandard results may be obtained in editing operations. Procedure Division: • The REEL option of the CLOSE verb is not applicable, since there are no provisions for the use of magnetic tape • • A single-character field cannot be moved to an editing field. • 141 Availability Language: ••••••••• 1963. Compiler: • • • • • • . • • ? • 142 Deficiencies with Respect to Required COBOL-61 Environment Division 4/64 o The OPTIONAL option in the FILE-CONTROL paragraph, which provides for files that will not necessarily be present each time the object program is run, is deferred. • The COPY options that enable SOURCE-COMPUTER, OBJECT-COMPUTER, and SPECIALNAMES paragraphs to be taken from the library are deferred. . 143 Extensions to COBOL-61 mM 1440 COBOL has added facilities for handling files in 1311 Disk Storage. These consist of a special MD entry in the file description section, an INPUT-OUTPUT file option with the OPEN verb, a branch on INVALID KEY option with the READ and WRITE verbs, and a SEEK verb that permits overlapping of disc seek operations with internal processing. The SORT verb and Report Writer facility of COBOL-61 Extended are not provided. PROCESS ORIENTED LANGUAGE: COBOL-61 § 414:161.144 161. .144 COBOL-61 Electives Implemented (See 4:161.3) Key No. Elective 1 6 Characters and Words Formula characters Figurative constants 8 File DescriI!tion BLOCK size 9 FILE size 11 SEQUENCED ON 19 Record DescriI!tion SIZE clause option 20 Conditional range 22 24 Verbs -COMPUTE ENTER 26 Verb Options USE 27 30 LOCK ADVANCING 32 33 35 Formulas Operand size Tests 37 38 Compound conditionals Complex conditionals 39 Conditional statements 41 Environment Division OBJECT COMPUTER 42 SPE CIAL NAMES Comments +, -, *, /, **, =. HIGH-VALUE (S), LOW-VALUE(S). allows an upper limit to be specified, but not in the standard way. approximate size of disc files can be shown by FILE-LIMITS clause. keys for disc files can be specified by special ACTUAL KEY and SYMBOLIC KEY clauses. can be used only to specify size of variable length record. allows a conditional value to be a range. permits algebraic formulas. permits use of 1440 Autocoder language within a COBOL program. can be used only to specify a KEY CONVERSION procedure for disc files. locks rewound tapes. specifies paper advance of 1, 2, or 3 lines, or to any channel on carriage tape. algebraic formulas can be used. up to 18 digits. IF. .• IS NOT ZERO form is provided. ANDs and ORs can be intermixed. permits conditional statements within conditional statements. A T END, ON SIZE ERROR, and INVALID KEY may follow imperative statements. specifies differences from the "standard" configuration. specifies hardware for ACCEPT, DISPLAY, and WRITE verbs. © 1964 Auerbach Corporation and Info, Inc. 4/64 414: 161.145 IBM 1440 § 161. .145 COBOL-6! Electives Not Implemented (See 4:161.3) Key No. Elective 2 3 4 Characters and Words Relationship characters Semicolon Long literals 5 Figurative constants 7 Computer-name 10 12 13 File Description Label formats HASHED Record Description Table length 14 Item length 15 BITS option 16 RANGE IS 17 RENAMES 18 21 SIGN IS Label handling 23 25 Verbs --nEFINE INCLUDE 28 Verb Options MOVE CORRESPONDING 29 34 OPEN REVERSED Relationships 36 Conditionals 40 4/64 ,I Environment Division SOURCE-COMPUTER 43 44 FILE-CONTROL PRIORITY IS 45 46 I/O-CONTROL I/O-CONTROL 47 Identification Division DATE-COMPILED 48 49 Special Features Library Segmentation Comments > and < not available. always ignored by translator. literals may not exceed 120 characters. HIGH BOUND(S), LOW BOUND(S) not available. no alternative computer names. Labels must be standard or omitted. hash totals cannot be created. lengths of tables and arrays may not vary. variable item lengths cannot be specified in a PICTURE. items cannot be specified in binary. value ranges of items cannot be shown. alternative groupings of elementary items cannot be specified. no separate signs allowed. only standard labels (or none) may be used. new verbs cannot be defined. no library routines can be called. each item must be individual).y moved. tapes cannot be read backward. IS UNEQUAL TO, EQUALS, and EXCEEDS are not provided. no implied objects with implied subjects. cannot specify differences from the "standard" configuration. cannot be taken from library. no priorities can be specified for multi-running purposes. cannot be taken from library. rerun methods and multi-file tapes cannot be specified. current date will not be inserted automatically. library routines cannot be called. no provision for segmentation of object programs. / 414:162.100 IBM 1440 Process Oriented Language FORTRAN IV PROCESS ORIENTED LANGUAGE: FORTRAN IV § . 14 162. .1 GENERAL . 11 Identity: . . . . . • . IBM 1401/1440/1460 FORTRAN IV. . 12 Origin: • . . . . . IBM Corporation. . 13 Reference: . IBM Publication C24-3155-1. .14 Description FORTRAN is an automatic coding system designed primarily for scientific and engineering computations. The language closely resembles the language of mathematics, and includes various types of arithmetic, control, input-output and specification statements. The 1440 version also provides for reading and writing in 1311 Disk Storage. The source program, written in FORTRAN language and punched into cards, is processed on a 1401, 1440, or 1460 system under control of the FORTRAN Compiler. The output is an object program in machine language. Diagnostic messages are provided automatically. The user may specify a punched object deck; the system also provides for automatic execution of object programs. FORTRAN IV for the IBM 1401, 1440, and 1460 contains many facilities not found in 1401 FORTRAN. Four of the more significant are: the CALL statement, Function and Subroutine subprograms, the DEFINE FILE statement, and the FIND statement. Others are: the COMMON statement, the DATA statement, the RETURN statement, variable dimensions in subprograms, "Type" statements which allow explicit type specifications for variables, logical expressions on the right side of an equal sign, the Logical IF statement, new forms for I/o statements, and the ability to read in FORMAT statements at object time. One of the most significant features of IBM 1440 FORTRAN IV is its ability to take advantage of the variable word length capabilities of the Processing Unit. The programmer can specify any desired degree of precision up to 20 decimal digits for the internal representation of numeric data. The precision (f) to be used for all real (floating point) values within a single program is preset by a control card. If no specification is made, f is set at eight digits. The number of core storage positions required for each real variable of f digits precision is f + 2, because two additional digits are required to specify the exponent. Integer (fixed point) precision (k), which is also specified by a control card, is set at five digits if no other specification is made and applies to all integer values within a program. Object program execution times and storage requirements will naturally increase when increased precision is demanded. Description (Contd. ) Minimum machine requirements for FORTRAN compilation are 8, 000 core storage positions, one 1311 Disk Storage Drive, a 1442 Model 1 or 2 Card Reader Punch (or a 1442 Model 4 and a 1444 Card Punch), a 1443 Printer, Sense Switches, Multiply-Divide, and the Indexing and Store Address Register feature. Magnetic tape units can be used by the object program, but they are not used by the FORTRAN Compiler. The restrictions and extensions of the IBM 1440 FORTRAN IV language relative to IBM 7090/7094 FORTRAN IV are listed below. See Section 408:162 for a complete analysis of 7090/7094 FORTRAN IV. .141 Availability Language: • . . .. 1963. Compiler:. . . . . . . . . ? .142 Restrictions (Relative to IBM 7090/7094 FORTRAN IV) (1) The following statements are not permitted: ASSIGN BLOCK DATA COMPLEX DOUBLE PRECISION Assigned GO TO PRINT PUNCH. (2) Double precision and complex operations are not permitted (but note that precision can be preset at up to 20 digits). (3) Symbolic coding cannot be incorporated into the FORTRAN IV source program. (4) Input-output in octal form (O-type conversion) is not permitted. (5) Complex and double precision functions are not included; also, the TANH (real hyperbolic tangent) function is not provided. (6) In the PAUSE n statement, n can be an unsigned octal integer of only 1 to 3 digits. (7) The following library subprograms are not provided: OVERFL (test for floating point overflow condition), DVCHK (test divide check indicator), EXIT (terminate execution of program), DUMP (dump core and terminate execution), and PDUMP (dump core and continue). (8) An array name with adjustable dimensions cannot appear in a COMMON statement. ©1964 Auerbach Corparation and Info,lnc. 4/64 IBM 1440 414: 162.142 § 162. .142 Restrictions (relative to IBM 7090/7094 FORTRAN !Y) (Contd.) (9) Block names may not be used in COMMON statements. (10) All variables forced to occupy the same locations as a result of an EQUIVALENCE statement must be of the same type. (11) Dummy arguments in FUNCTION and SUBROUTINE statements follow different rules from those of 7090/7094 FORTRAN IV. .143 Extensions (Relative to IBM 7090/7094 FORTRI\.N IV) (1) Data items can be represented internally with any desired degree of precision between 2 and 20 digits for floating point items and between 1 and 20 digits for fixed point items, as preset by control cards. (2) A wider range of numeric magnitudes can be represented in 1440 FORTRAN IV than in the 7090/7094 system, as follows: 1440 FORTRAN IV: 7090/7094 FORTRAN IV: 10-100 to 1 to 10k_1 (1-10- f ) x 10 99 10-38 to 1038 1 to 131,071 where f and k are real and integer precisions, respectively, in decimal digits. 4/64 .143 Extensions (Relative to IBM 7090/7094 FORTRAN IV) (Contd.) (3) Two new statements are available: • DEFINE FILE divides the Disk Storage units into any number of symbolic I/O units for use in the READ, WRITE, and FIND statements. For each symbolic I/O unit, the DEFINE FILE statement specifies: an integer constant that serves as the file (or symbolic unit) name; the number of records in the file; the length of each record; whether or not the file is edited (i. e., read with formatted READ/ WRITE statements); and the name of an integer variable whose value is set to the number of the next record at the conclusion of each READ/WRITE statement referencing this file. • FIND locates a particular record in Disk Storage. The FIND statement indicates positioning of the access mechanism to the location of the Nth record of the specified file while permitting computation to proceed concurrently. Use of the FIND statement is not mandatory, but the overlapping it makes possible can significantly improve object program execution speeds. (4) The FORMAT statement can specify a logical (L-type) conversion. 414:171.100 IBM 1440 Machine Oriented Language Autocoder MACHINE ORIENTED LANGUAGE: AUTOCODER § . 141 1400 Basic Autocoder 2K (Contd.) 171. .1 GENERAL . 11 Identity: . IBM 1440 Autocoder. IBM 1440 Input/Output Control System (IOCS). (Specific versions of these two basic systems are identified and described below.) . 12 Origin: • . . • . . . . IBM Corporation• • 13 Reference: . . . . . numerous IBM publications, as listed in IBM 1440 Bibliography. .14 Description Autocoder is the basic machine oriented language for the IBM 1440. The language format, and facilities are very similar to those of the IBM 1401 Autocoder system, which is described in detail in Section 401:172. Autocoder for the 1440 is currently available in six different versions designed for different system configurations. The language facilities and configuration requirements for each version are summarized in Paragraphs . 141 through .146. The 1440 Input/Output Control System (lOCS) is designed to reduce the amount of detailed coding associated with input-output operations. The use of lacs macro-instructions in Autocoder source programs causes the Autocoder translator to insert and generate linkages to the appropriate generalized routines. (It is important to note that laCS can be used only with the full Autocoder system, and not with Basic Autocoder.) The laCS routines handle blocking and unblocking, error correction, end-of-file procedures, and labeling. Like Autocoder, rocs is available in several versions designed for different system configurations. The facilities offered by these versions are described in Paragraphs. 151 through. 155. program after assembly, is part of the system. Minimum machine requirements: 2K 1440 system with 1442 Card Reader Model 4, 1444 Card Punch, and 1443 Printer. (A 1442 model 1 or 2 may be used as the reader in lieu of the 1442 model 4. ) .142 1440 Basic Autocoder 1440 Basic Autocoder is a symbolic programming system designed for 1440 card systems with at least 4, 000 core storage positions. Macro-instruction facilities are not available, and lacs cannot be used. Source programs written in 1440 Basic Autocoder language are punched into cards and processed by the Basic Autocoder processor to obtain a machine language object program. The object program is punched, one instruction per card, into the original source cards. A printed listing is also prepared. The resultant deck can then be loaded into core storage by a load routine supplied with the system. Minimum machine requirements: 4K 1440 system with 1442 Card Read Punch and 1443 Printer. • 143 1440 Autocoder The 1440 Autocoder system is an advanced symbolic programming system that represents a significant extension of 1440 Basic Autocoder. The language provides continuity (but not direct compatibility) with the 1401 and 1410 Autocoder systems. Some of the important advantages of Autocoder over Basic Autocoder are: macro-instruction facilities (including laCS), more freedom with literals, automatic assembly process through use of 1311 Disk Storage, and freedom from the need to reproduce source programs before reassembly. Minimum machine requirements: 4K 1440 system with a 1442 Card Read Punch, 1443 Printer, and one 1311 Disk Storage Drive. A 1444 Card Punch for punching and a 1442 Model 4 for reading may be used in lieu of the 1442 Card Read-Punch, Model lor 2. .144 1440/1301 Autocoder .141 1440 Basic Autocoder 2K Basic Autocoder 2K is a symbolic programming system designed to simplify the preparation of programs for 1440 card systems with 2000 core storage positions. The 1440 Basic Autocoder 2K language is a subset of the 1440 Basic Autocoder language, and offers all the facilities of the latter language except literals and the use of symbolic names as operands in Origin and Equate statements. Source programs written in the Basic Autocoder 2K language and punched into 1440 Autocoder format are processed by the Basic Autocoder 2K processor to produce a macine language object program. A listing routine to check for coding accuracy and consistency before assembling, and to list the object This system is similar to 1440 Autocoder, described above, except that 1301 Disk Storage is used instead of 1311 Disk Storage for automatic assembly of programs. Minimum machine requirements: 4K 1440 system with a 1442 Card Read Punch, 1443 Printer, and 1301 Disk Storage (one array). A 1444 Card Punch for punching and a 1442 Modell, 2, or 4 for reading may be used in lieu of the 1442 Card Read Punch. • 145 1440 Autocoder - 1401 Processor The 1440 Autocoder - 1401 Processor Programming System is a 1401 assembly program which will assemble programs written in 1440 Autocoder @1964 Auerbach Corporation and Info,lnc. 4/64 IBM 1440 414:171.145 !I 171. .145 Autocoder - 1401 Processor (Contd.) language. By using a 1401 Data Processing System, 1440 users can write and assemble their programs prior to the availability of their 1440 system. The output of the assembly program is the 1440 machine language object program punched into cards. A 1440 loader is supplied with the program. IOCS macro-instructions are not processed by the 1401 Processor, and other minor language restrictions must be observed when using this system. Minimum machine requirements: 1401 system with 16,000 core storage positions, six magnetic tape units, High-Low-Equal Compare, and Advanced Programming. • 146 1440/1444 Basic Autocoder 1440/1444 Basic Autocoder is a special version of Basic Autocoder for 1440 card systems that utilize the 1444 Card Punch. Source programs written in 1440 Basic Autocoder language and punched into 1440 Autocoder format are processed by the Basic Autocoder processor to obtain a machine language object program. A printed listing is also prepared. The resultant deck can then be loaded into core storage by a load routine supplied with the system. Minimum machine requirements: 4K 1440 system with a 1442 Card Reader Model 4 (a 1442 Modell or 2 may be used as the reader in lieu of the 1442 Model 4), 1443 Printer, and 1444 Card Punch. .151 1440/1311 Input/Output Control System 1440/1311 IOCS is designed to facilitate the programming of input-output operations associated with card reading and punching, printing, 1311 Disk Storage, and magnetic tape. No additional features beyond those required by 1440 Autocoder are required when assembling a program which includes IOCS macro-instructions. The generated input-output routines will, however, take advantage of the Indexing and Store Address Register feature if it is available on the object machine. .152 1440/1301 Input/Output Control System 1440/1301 IOCS is similar to 1440/1311 IOCS, except that routines for 1301 Disk Storage inputoutput are included, as well as those for 1311 Disk Storage, card read-punch, and printer. No additional features beyond those required for 1440/ 1301 Autocoder are required when assembling a program which includes IOCS macro-instructions. The generated input-output routines will, however, take advantage of the Indexing and Store Address Resigter Feature if it is available on the object machine. 4/64 · 153 1440/1448 Input/Output Control System IOCS for the 1440/1448 is designed to reduce the programming effort required to control data transmission to and from remote terminals. It provides pretested routines to handle such programming functions as priority request, end-of-block detection, error detection, status alteration, control word address initialization, output scheduling, and coordination of the 1440/1448 system with other input-output devices. It also schedules real-time routines and defines what programming functions can be performed within these routines. All functions are provided on an option basis so that the user need not pay a storage penalty for routines that are not required. The 1448 IOCS routines can be added to the 1440 Autocoder Library in the same way that 1440 IOCS is added. Minimum machine requirements: no additional features beyond those required when assembling a 1440 program using 1448 macro-instructions. The generated 1448 routines require the Indexing and Store Address Register Feature and a minimum of 8, 000 positions of core storage, in addition to the 1448. • 154 1401/1440/1460 Direct Data Channel IOCS IOCS for Direct Data Channel connection of two 1401, 1440, or 1460 systems in any combination provides pre-tested routines to handle these functions: program detection of a read request or write request by either system, priority interrupt request (included with the Direct Data Channel Feature in 1440 and 1460 systems when the 1448 is attached), error detection, output scheduling, system-to-system read-write, coordination with other IOCS programs in either system, and scheduling of the user's Direct Data Channel routine for each system. No additional features beyond those required for 1440 Autocoder are required when assembling a 1440 program for transfer of data via the Direct Data Channel. The generated routines require the Indexing and Store Address Register, Serial Input/Output Adapter, and Direct Data Channel Features. · 155 1440 Inte~system IOCS This version of IOCS provides all the functions of 1440/1448 IOCS plus the following functions for servicing communication needs between interconnected 1440 and 1410/7010 systems: reading and writing of data messages, reading and interpreting of control messages, writing of sense data, writing' of service messages, priority interrupt requests, error detection, output scheduling, coordination with other loeS programs, and scheduling of the user's routine for processing records received from the 1410/7010. No additional features beyond those required for 1440 Autocoder are required when assembling a 1440 program utilizing 1440 Intersystem IOCS. The generated routines require the Indexing and Store Address Register, Bit Test, and Expanded Serial Input/Output Adapter Features, as well as 8, 000 positions of core storage. 414:211.101 IBM 1440 Physical Characteristics PHYSICAL CHARACTERISTICS § 211. Width, inches Depth, inches Height, inches Weight, pounds 1441 Processing Unit 1447 Console, Modell 1447 Console, Model 2 45 48 55 31 29 29 60 44 44 1,500 175 400 2.5 0.1 0.3 1,700 150 550 7335 Magnetic Tape Unit, Modell 7335 Magnetic Tape Unit, Model 2 29 58 31 31 60 60 640 1,210 1.4 2.4 4,370 7,370 1301 Disk Storage 1311 Disk Storage Drive 86 30 33 24 69 38 3,625 430 7.5 0.8 16,700 2,000 1442 Card-Read Punch, Models 1, 2 1442 Card Reader, Model 4 1444 Card Punch 43 43 43 24 24 24 49 49 48 524 525 510 0.7 0.7 0.8 1,700 1,700 2,000 32 -32 112 56 44 37 37 42 43 24 60 60 61 46 45 529 570 2,745 725 620 1.8 1.8 2.7 0.8 1.15 4,100 4,100 6,300 2,000 4,000 29 31 40 500 0.3 1,000 26 25 45 38 15 16 31 31 27 25 60 70 195 90 1,500 500 0.375 0.1 2.0 3.1 1,280 275 5,100 3,000 Unit 1011 1012 1412 1443 1231 Paper Tape Reader Paper Tape Punch Magnetic Character Reader Printer Optical Mark Page Reader 1009 Data Transmission Unit 1051 Data Communications Control Unit 1408 Transmission Unit 1448 Transmission Control Unit 7770 Audio Response Unit Power, KVA BTU per hr. General Requirements Temperature: . . • • • Relative humidity: 60 to 90°F for all units except the following: • 1412; 65 to 80°F. • 1231, 1051, and 1408; 50 to 110°F. 10 to 80% for all units except the following:_ • 1412; 20 to 65%. • 7335; 20 to 80%. Power: 208!230V, 60-cycle, 3-phase, 4-wire for all units except the following: • 1231 and 1408; 115V, 60-cycle, I-phase, 3-wire. • 1009 and 1051; 115/208/230V, 60-cycle, I-phase, 3-wire. • 1011, 1012-, 1412, and 7770 operate from I-phase lines. © 1964 Auerbach Corporation and Info, Inc. 4/64 414:221.101 IBM 1440 Price Data PRICE DATA § 221. IDENTITY OF UNIT PRICES CLASS Name No. Central Processor 1441 Model Model Model Model Model A2 A3 A4 A5 A6 1470 4631 5275 7600 3835 8023 1447 Modell Model 2 Model 4 1390 1490 6149 7600 Internal Storage Processing Unit 2,000 core storage 4,000 core storage 8,000 core storage 12,000 core storage 16,000 core storage positions positions positions positions positions Optional Features Bit Test Indexing and Store Address Registers Multiply-Divide Sense Switches Expanded Print Edit Translate Feature Console Control section with power and operator controls (required with every system) With inquiry printer and keyboard (includes #2260 Console Attachment); used with Model 1 With inquiry printer and keyboard plus controls for 1448 Transmission Control Unit (includes #2260 Console Attachment); used with Modell Optional Features Attachment, 1051 Modell (for Models 2 and 4) Buffer Feature Remote Terminal Attachment (for Models 2 and 4; requires #1390) Sense Switches, group of six (for Modell only) Monthly Rental Monthly Maintenance Purchase $ $ $ 770 970 1,295 1,620 1,945 37.50 38.50 39.50 40.50 41.25 53,100 56,350 73,850 91,350 108,850 20 0.50 800 90 325 15 20 60 1.00 9.00 0.50 0.50 2.50 4,950 11,700 550 750 3,000 80 1. 25 4,400 210 15.50 9,800 270 16.25 12,650 25 1.00 1,250 120 25 3.25 1. 00 6,000 1,250 15 .50 550 2,000 3,475 129.00 223.00 105,500 175,500 2,000 3,475 129.00 223.00 105,500 175,500 Core Storage: included in 1441 Processing Unit, above 1301 Model 11 Model 12 Model 21 Model 22 Disk Storage Unit 25.43 million characters max. 50.86 million characters max. (First units on system; #3321 Disk Storage Control and #3832 Expand ed Disk Storage Control required) 25.43 million characters max. 50.86 million characters max. (Additional units on system) © 1964 Auerbach Corporation and Info, Inc. 4/64 414:221.102 IBM 1440 § 221. PRICE DATA (Contd.) IDENTITY OF UNIT CLASS No. Name PRICES Monthly Rental $ Internal Storage (Contd. ) 1311 Modell Model 2 1316 3281 6396 6400 8011 InputOutput 1442 Modell Model 2 1442 Model 4 1531 6406 5880 4/64 28.00 17,610 360 27.00 16,510 Disk Pack (removable, inierchangeable disk storage for 1311) 15 Time/ Material 50 3.25 2,400 35 0.50 1,680 40 1. 75 1,950 40 0.50 1,920 Optional Features Direct Seek (on 1441; one #3283 (no charge) required for Modell; one #3282 (no charge) required for Model 2) Scan Disk (on 1441; one required for both 1301's and 1311's) Seek Overlap, on each 1311 (Seek Overlap Adapter #6399 required on 1441 - no charge) Track Record (on 1441, for both 1301's and 1311's) 490 Card Read Punch (2 max.) Reads 300 cpm, punches 80 col/sec. Reads 400 cpm, punches 160 col/sec. (1632 Adapter is required on first 1442) 280 19.25 18,700 395 24.75 19,850 Card Reader Reads 400 cpm (1632 Adapter is required on first 1442) 200 23.00 11,500 30 20 0.50 0.50 1,650 1,100 20 0.50 1,000 375 43.50 21,600 325 450 34.25 45.50 19,750 19,900 45 165 25 2.25 4.00 2.00 2,475 9,800 1,375 - - Optional Features Card Image Selective Stacker (standard on Model 2 and 4) Punch Column Skip (Models 1 and 2; requires 5881 Punch Column Skip Control) 1443 Printer (5567 Printer Control and 5561 Printer Attachment required) Prints 150 lines/min. Prints 240 lines/min. Optional Features Additional Print Positions (24) Print Storage Selective Character Set Character Sets: 13 characters 39 characters 52 characters 63 characters 1890 1891 1892 1893 $ 385 Card Punch Punches 80-Column Cards at 250 cards per minute (Printer attachment #5561 required) 5559 5585 6401 Purchase $ Disk StQrage Drive First drive on system (#3321 Disk Storage Control required) Additional drives (4 max) 1444 Model 1 Modell Model 2 Monthly Maintenance 400 450 475 500 PRICE DATA § 414:221.1 03 PRICE DATA (Contd.) 221. PRICES IDENTITY OF UNIT CLASS No. InputOutput (Contd. ) 7335 1009 1011 1012 1231 1412 7770 Modell 4667 4668 4669 8720 8721 Name Magnetic Tape Unit (requires 7802 Tape Adapter) Modell - one tape drive Model 2 - two tape drives Monthly Rental Monthly Maintenance Purchase $ $ $ 700 1,100 45.00 78.50 37,100. 57,100 Data Transmission Unit Buffer for 1009 Paper Tape Reader Tape Punch Optical Mark Page Reader Magnetic Character Reader (The above five units require the 7080 Serial I/O Adapter) 500 150 500 465 430 2,000 10.75 12.00 39.75 33.25 34.50 171.00 26,400 8,650 22,400 20,850 23,100 91,400 Audio Response Unit (Requires 7770 Adapter #7150 on 1311 Modell) 1,200 38.50 57,600 175 200 75 100 100 12.50 2.50 2.00 2.00 2.50 8,400 9,600 3,600 4,800 4,800 100 3.50 5,790 1,150 29.00 56,700 150 250 50 20 10 25 235 115 100 2.00 8.00 4.50 0.50 0.50 0.50 5.50 1. 75 1.50 6,730 12,000 2,500 1,100 500 1,375 13,200 7,100 3,750 325 2.00 12,200 Optional Features I/O Line Expander I/O Line Frame I/O Line Panel Vocabulary Line Expansion Vocabulary Words, Additional '~ Controllers 1051 Modell 1448 8025 3321 3832 1632 5881 5561 5567 7802 7080 3845 Control Unit (Requires 1447 Model 2 or 4) Transmission Control Unit Transmission Control Unit Attachment Disk Storage Control Expanded Disk Storage Control Card Read Punch Adapter Punch Column Skip Control Printer Attachment Printer Control Tape Adapter Serial I/O Adapter (Required for 1009, 1011, 1012, 1231 or 1412) Expanded Serial I/O Adapter '" © 1964 Auerbacn Corporatian and Info, Inc. 4/64 \ ' - ____ J IBM 1460 International Business Machines Corp. c AUERBACH INFO, INC. PRINTED IN U. S. A. IBM 1460 International Business Machines Corp. / AUERBACH INFO, INC. PRINTED IN U. S. A. 415:001.001 IBM 1460 Contents CONTENTS 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. l2. 14. 15. 415:011 415:021 Introduction.... Data Structure . • • System Configuration Notes on System Configuration 6-Tape Business System • . . III V 6- Tape Auxiliary Storage System Internal Storage 1441 Core Storage . . . 1311 Disk Storage Drive Disk Pack Central Processor 1441 Processing Unit 1420 Bank Transit System Console 1447 Console • . • • • . Input/Output Printer Input-Output; Punched Card 1402 Card Read-Punch (Reader) 1402 Card Read- Punch (Punch) Input-Output; Printers 1403 Printer, Models 2 and 3 Input-Output; Magnetic Tape 729 Magnetic Tape Unit 7330 Magnetic Tape Unit Input-Output; Other 7080 Serial Input-Output Adapter 1009 Data Transmission Unit 1011 Paper Tape Reader • • • . 1012 Tape Punch. • • . • • • • 1412 Magnetic Character Reader 1419 Magnetic Character Reader 1418 Optical Character Reader 1428 Alphameric Optical Reader 3271 Direct Data Channel • Simultaneous Operations .. • • . • • 1461 Input/Output Control Processing Overlap feature Print Storage feature Read Punch Release feature Seek Overlap feature Serial Input/Output Adapter Instruction list . • • . . Data Codes . . • • • . • • • . • Problem Oriented Facilities . . • • Data Sorting and Merging 1401 SORT 1 • . . . . . 1402 SORT 2 & MERGE 2 © 1963 by Auerbach Corporation and BNA Incorporated 415:031.001 415:031.1 415:031. 2 415:041 415:042 41,5:042.12 415:051 415:052 415:061 415:061.13 415:071 415:072 415:081 415:091 415:092 415:101 415:101.121 415:101.122 415:101.123 415: 101.124 415: 101.125 415:101.126 415: 101.127 415:101.128 415:111 415:111.12 415:111.12 415:111.12 415:111.12 415:111.12 415:111.12 415: 121 415:141 401:151 (IBM 1401) 401:151.13 401:151.13 401:151. 13 5/63 415:001.002 IBM 1460 CONTENTS (Contd.) 15. 16. 17. 18. 19. 20. 21. 22. Problem Oriented Facilities (Contd.) SORT 6 . • • • • • • • • . • Report writing • . • • . . . • 1401 Card Report Program Generator • 1401 Tape Report Program Generator • FARGO . • • • • • • • • • • . • • Data Transcription . . • . • . • • . Multiple Utility Program for IBM 1401 Tape System • Programs for Card Systems. • ••••.• Disc Storage Utility Programs 1009 Utility Programs 7710 Utility Programs • File Maintenance . . Other • • • • • . . Process Oriented Languages COBOL . • . • . • • FORTRAN . . . . . . Machine Oriented Languages Symbolic Programming System. Autocoder . . . . . • . . • Program Translators Symbolic Programming System • Autocoder . . COBOL 4-8K . COBOL 12-16K FORTRAN •. Operating Environment System Performance Notes on System Performance Generalized File Processing Physical Characteristics • Price Data • . . . . . • . • • RIP = Report in Process 5/63 401:151. 13 401:151.14 401:151. 14 401:151.14 401:151. 14 401:151. 15 401:151.15 401:151. 15 401:151.15 401:151.15 401:151.15 401:151.16 401:151.17 401:161 (IBM 1401) 401:162 (IBM 1401) 401:171 (IBM 1401) 401:172 (IBM 1401) 401:181 (IBM 1401) 401:182 (IBM 1401) 401:183 (IBM 1401) 401:184 (IBM 1401) 401:185 (IBM 1401) 401:191 (IBM 1401) 415:201 415:201. 001 415:201. 1 415:211 (RIP) 415:221 415:011.100 IBM 1460 Introduction I NTRODUCTI ON § OIl. The IBM 1460, announced in February 1963, is a new member of IBM's 1400 series of small to medium scale business-oriented data processing systems. System rentals range from approximately $4,000 to $20,000 per month, and most installations will probably fall within the $S,OOO to $12,000 range. Flrst customer deliveries are scheduled for the fourth quarter of 1963. Throughput and Compatibility The 1460 ranks between the IBM 1401 and 1410 systems in price and throughput, and is dlrectly program-compatible with the 1401, Many 1401/1460 programs can also be run without alteration on a 1410 by means of the 1410's built-in 1401 compatibility clrcuits. The IBM 1440, the smallest member of the 1400 series, is program-compatible with the 1401 and 1460 with respect to internal processing, but uses different input-output units and different instructions to control them. The 1460 uses the same set of stored-program instructions as the 1401, so programs coded for a 1401 can, in general, be run without alteration on a 1460 with the same (or expanded) complement of input-output units and optional features. The 140S (RAMAC) Disk Storage Unit, 1404 Printer, and 1407 Console Inquiry Station are not currently available for use in 1460 systems, so 1401 programs that utilize these devices must be reprogrammed. To take full advantage of the 1460's increased internal speeds, it will be desirable to reevaluate the input-output timing considerations in existing 1401 programs and make changes in timing loops and placement of input-output instructions. (Timing loops for 1412 or 1419 Magnetic Character Reader input must be changed.) The principal advantages of the IBM 1460 over the IBM 1401 (described in Computer System Report 401) can be summarized as follows: o Core storage cycle time is 6 microseconds per character, compared to 11. S microseconds in the 1401, so internal processing speeds are nearly twice as fast. o The new 1403 Model 3 Printer can be used for alphameric output at a peak speed of 1,100 single-spaced lines per minute. (Models 1 and 2 of the 1403, used in 1401 systems, have peak speeds of 600 lines per minute.) III The 729 VI Magnetic Tape Unit, with a peak speed of 90,000 characters per sec0nd at a recording density of 800 characters per inch, can be used in 1460 systems but not in 1401 systems. o The free-standing, desk-style 1447 Console, with optional console input-output typewriter, makes operation of the system more convenient. o The Move Record and High-Low-Equal Compare processor facilities, which are optional features in the 1401, are standard in the 1460. The overall reduction in program run time that can be gained by replacing an IBM 1401 with a 1460 ranges from zero (for a run limited by the speed of a particular peripheral unit or combination of units) to 48 per cent (for pure internal processing with no inputoutput). Test runs by the manufacturer of specific 1401 programs on a 1460 system have shown the following reductions in over-all program run times: o Sorting of IS, 000 records: . 30% reduction. • Merging of 27,000 records: 38% reduction. © 1963 by Auerbach Corporation and BNA Incorporated 4/63 IBM 1460 415:011.101 INTRODUCTION (Contd.) § OIl. • Production control run: • 38% reduction. • FORTRAN compilation: • 26% reduction. • FORTRAN object program execution: 40% reduction • Hardware A 1460 system can have 8,000, 12,000 or 16,000 character positions of core storage. IBM 1401 systems can have as few as 1,400 positions of core storage, but because of the severe programming limitations imposed by such a small store, the manufacturer has wisely decided to require the inclusion of at least 8,000 positions in every 1460 system. Each core position contains six data bits, a parity bit, and a word mark bit used to denote the end of a variable-length field. Core storage cycle. time is 6.0 microseconds. Up to five 1311 Disk Storage Drives can be used in a 1460 system. Each drive holds one replaceable Disk Pack at a time, providing random access storage for 2,000,000 alphameric characters in addressable sectors of 100 characters each. With the optional Track Record feature, a single 2, 980-character record can be recorded on each track, increaSing the capacity of a single Disk Pack to 2,980,000 characters. Up to 20,000 characters can be read or recorded wlthout movement of the comb-like access mechanism, so the system is suitable for sequential as well as random processing. Total waiting time for access to a randomly-placed record averages 270 milliseconds; with the optional Direct Seek feature, the figure is reduced to 170 milliseconds. Tne 1441B Processing Unit is a solid-state, alphameric processor with add-tostore logic. A11 operations are performed serially by character, and both data fields and instructions are variable in length. The basic instruction format consists of a onecharacter operation code, two 3-character operand addresses, and a one-character modifier; instruction length can vary from one to eight characters and averages about six characters. There is noaccumulator. Facilities for editing, three-way comparisons, and fullrecord internal transfers are standard, but multiplication, division, indexing, bit testing, and sense switches are extra-cost options. Built- in floating point arithmetic is not available. Instructione are executed at the rate of about 7,000 to 8,000 per second in typical routines. Input-output control circuits for 1460 syste::ms are housed in a separate unit, the 1461 Input/Output Control, whereas they are cont.'lined in the ProceSSing Unit cabinet in 1401 systems . As in the 1401, system operation ~s basically serial in nature (Le., one operation at a time). Little overlapping of input-output operations with one another or with internal processing is possible unless optional features such as Print Storage, Processing Overlap, and Read Punch Release are added. Use of these features (described in Section 415:111) increases the system's capability for simultaneous operations, but also increases programming complexity and input-output area storage requirements. The 1402 Card Read-Punch provides a peak reading capability of 800 cards per minute. The 1403 Printers have 132 print positions and a 48-character print set. Peak speeds are 600 and 1,100 single-spaced lines per minute for 1403 Models 2 and 3, respectively. The 1403 Model 3 printer can nearly double the system throughput in printer-limited applications such as tape-to-printer data transcriptions. Only one Card Read-Punch and one Printer can be used in a 1460 system. Up to six 729 and/or 7330 Magnetic Tape Units can be connected. Peak data transfer rates range from 7,200 to 90,000 characters per second. Only one tape read or write operation at a time is possible. The central processor is interlocked during tape read and write operations unless the Processing Overlap feature is added. With Processing O;erlap, internal processing can be overlapped with tape start-stop times and (at transfer rates of 41,667 characters per second or below) with character transfers to or from a tape unit. 4/63 415:011.102 INTRODUCTION INTRODUCTION (Conld.) §011. The Serial Input/Output Adapter permits connection of anyone of the following devices: a paper tape reader or punch, a magnetic or optical character reader, a data transmission terminal, or a direct system-to-system link with an IBM 1401, 1440, or another 1460. The 1448 Transmission Control Unit permits connection of 1062 Teller Terminals for on-line processing of banking or savings and loan transactions. Software Software availability for the mM 1460 can be summarized by noting that all programs and programming systems for the mM 1401 except those that require 1405 Disk Storage will be directly usable on a Similarly equipped 1460. The extensive repertoire of 1401 programs supplied by the manufacturer includes: III II) SPS-l and SPS-2: basic symbolic assembly systems, usable on a card-only 1460. 1401 Autocoder: more advanced assembly system, providing macro facilities; requires four magnetic tape units on the translating 1460. o 1401-1311 Autocoder: utilizes 1311 Disk Storage instead of magnetic tape; otherwise similar to 1401 Autocoder. o Input-Output Control Systems: provide macro instructions and corresponding generalized routines to facilitate coding of input-output operations; four versions are available for different system configurations. \) Report Program Generator: facilitates preparation of programs to produce printed reports from punched cards, magnetic tape, or 1311 Disk Storage. o FARGO: a "load-and-go" report generator that produces mM 407-type printed reports • • Sorting and Merging: four generalized routines to handle sort/merge operations using either magnetic tape units or 1311 Disk Storage. o Auto-Test: expedites testing and debugging of programs coded in Autocoder, SPS, and FARGO. o Disk File Organization Programs: nine programs to assist in establishing and maintaining data files in 1311 Disk Storage, in either random or sequential arrangements • ., Utility Programs: a variety of routines to perform frequently needed functions such as data transcription, multiplication, and program loading in card, tape, and Disk Storage systems. o COBOL: compiles programs coded in COBOL; 2 versions are available, for 1460 systems with 8,000 and 12,000 or more core storage positions; both versions require 4 magnetic tape units. o FORTRAN: compiles programs coded in a severly restricted subset of the full FORTRAN language; magnetic tape is not required, and "load-and-go" operation is possible. For detailed descriptions of these programs and programming systems, refer to the mM 1401 report, Sections 401:151 through 401:191. mM 1420 Bank Transit System The 1420 Bank Transit System is a variation of the 1460 that is specially engineered for bank transit applications. The 1421 Bank Transit Processing Unit combines most of the © 1963 by Auerbach C~rporation and BNA Incorporated 4/63 IBM 1460 415:011.103 INTRODUCTION (Contd.) §Oll. functions of the 1441B Processing Unit and the 1419 Magnetic Character Reader in a single physical unit. Magnetically inscribed card or paper documents can be processed at speeds of up to 1,600 documents per minute. From 4, 000 to 16,000 character positions of core storage can be used, and cycle time is 6 microseconds per character as in the 1460 system. The only input-output devices that can be connected to a 1421 are the 1442 Card Read-Punch (which reads up to 400 cards per minute or punches up to 160 columns per second) and the 1403 Modell or 2 Printer (which prints up to 600 alphameric lines per minute). Programming of the 1420 system differs from programming of a 1401/1419 combination only in that timing relationships are altered and the 1442 replaces the 1402 for punched card inputoutput. See Section 415:052 for a more complete description of the 1420. 4/63 415:021.100 .STAltDARD EDP _ REPORTS IBM 1460 Data Structure DATA STRUCTURE § 021. .1 .2 STORAGE LOCATIONS Name of Location Character position: Sector: Cylinder: Colwnn: Size INFORMATION FORMATS Type of Information Representation Nwneral: . 1 character or 1 card Letter: . . 1 character or 1 card Purpose or Use 8 bits (6 data, 1 parity, 1 word mark) 100 characters basic addressable location; holds 1 character. record location in 1311 Disk Storage. 20,000 characters volwne accessible without repositioning in 1311 Disk Storage. 12 hole positions punched cards. © 1963 column. Instruction: Nwnber (field): Block: . . • . • by Auerbach Corporation and BNA Incorporated colwnn. 1 to 8 characters, delimited by word mark bit. 1 to N characters, delim ited by word mark bit. 1 to Ncharacters, delimited .by record or group mark. where N is limited by size of core storage 4/63 415:031.001 IBM 1460 System Configuration SYSTEM CONFIGURATION § 031. The basic rules for combining components to form an IBM 1460 Data Processing System are listed below. For prices, refer to Section 415:221. For optional features applicable to any unit, refer to the report section covering that unit. CONFIGURATION RULES Required in Every System: • one 1441 Processing Unit; choice of: Model 84; 8, 000 core storage positions. Model 85; 12,000 core storage positions. Model 86; 16,000 core storage positions. • one 1447 Console; choice of: Modell; no console typewriter. Model 2; includes console typewriter. Model 4; includes console typewriter and controls for 1448 Transmission Control Unit. • one 1461 Input/Output Control; choice of: Modell; for Card Read-Punch and Printer. Model 2; for Card Read-Punch, Printer, and 729 Tape Units. Model 3; for Card Read-Punch, Printer, and 7330 Tape Units. For Punched Card Input/Output, Add: • one 1402 Model 3 Card Read-Pundi. For Printed Output, Add: • one 1403 Printer; choice of: Model 2; 600 alphameric lines/minute. Model 3; 1,100 alphameric lines/minute. For Magnetic Tape Input/Output, Add: • one to six MagnetiC Tape Units; choice of: 729 II } reqUire 1461 Model 2 Control; can be intermixed. 729 IV 729 V 729 VI 7330; require 1461 Model 3 Control; can be connected to 1461 Model 2 along with 729s if Tape Intermix Feature is added. For Auxiliary Storage, Add: • one to five 1311 Disk Storage Drives; first drive on a system must be Modell, remainder Model 2; Disk Storage Control is required. © 1963 by Auerbach Corporation and BNA Incorporated 4/63 415:031.002 IBM 1460 SYSTEM CONFIGURATION (Contd.) § 031. For Additional Input/Output, Add: • one Serial Input/Output Adapter, connected to any one of the following units: 1009 Data Transmission Unit 1011 Paper Tape Reader 1012 Tape Punch 1412 Magnetic Character Reader 1419 Magnetic Character Reader 1418 Optical Character Reader 1428 Alphameric Optical Reader 3271 Direct Data ehannel For Data Transmission Control, Add: • one 1448 Transmission Control Unit, which can be connected to a 1060 Data Oommunications System for on-line banking or savings and loan applications. 4/63 ·51. ' ' 415:031.100 EDP • REPORTS IBM 1460 System Configuration § SYSTEM CONFIGURATION 031. .1 6-TAPE BUSINESS SYSTEM: CONFIGURATION III Deviations from Standard Configuration: . . . . . . , Magnetic tape units are 11,667 char/sec faster. Card reader is 300 cards/minute faster. Card punch is 150 cards/minute faster. Console typewriter provides input as well as output. Rental Equipment Core Storage: 16,000 characters Processing Unit: 1441 Model B6 ) Input/Output Control: 1461 Model 2 1,980 1447 Model 2 Console and Attachment 290 1402 Card Read-Punch: Reads 800 cards/minute Punches 250 cards/minute 1403 Model 2 Printer: 600 lines/minute 729 II Magnetic Tape Units (6): 15,000 or 41,667 char/sec. Optional Features Included: . . . . . . . . . . . . . Indexing & Store Address Registers Multiply- Divide Processing Overlap Sense SWitches Expanded Print Edit Total Monthly Rental : . © 1963 $ 3,230 by Auerbach Corporation and BNA Incorporated 560 775 4,200 90 325 250 15 20 $11,735 4/63 415:031.200 IBM 1460 § 031. .2 6-TAPE AUXILIARY STORAGE SYSTEM: CONFIGURATION V Deviations from Standard Configuration: • . Magnetic tape units are 11.667 char/sec. faster Card reader is 300/cards/ minute faster. Card punch is 150 cards/ minute faster. Console typewriter provides input as well as output. Disk Storage is smaller by 5,100,000 characters. Equipment Rental 1311 Disk Storage Drives (5): 14,900,000 positions total $2,150 Core Storage: 16,000 characters Processing Unit: 1441 Model B6 } Input/Output Control: 1461 Model 2 ~-o 1,980 1447 Model 2 Console and Attachment 290 1402 Card Read-Punch: Reads 800 cards/minute Punches 250 cards/minute 560 1403 Model 2 Printer: 600 lines/minute 775 729 II Magnetic Tape Units (6): 15,000 or 41,667 char/sec. 4,200 Optional Features Included: • . . . . . . . . . . . . . Indexing & Store Address Registers Multiply- Divide Processing Overlap Sense Switches Expanded Print Edit Track Record Direct Seek Total Monthly Rental: . 4/63 3,230 90 325 250 15 20 40 50 $13,975 415:041.100 • STANDARD EDP • IBM 1460 REPORTS Internal Storage Core Storage INTERNAL STORAGE: CORE STORAGE § 041. .1 • 13 GENERAL • . . • . • • Core Storage. contained in 1441 Processing Unit, Models B4, B5, B6. • 11 Identity: . 12 Basic Use: . .13 Description working storage • Core storage for the IBM 1460 system is housed in the 1441 Processing Unit. Models B4, B5, and B6 contain 8, ODD, 12, ODD, and 16,000 character positions of storage, respectively. Cycle time is © 1963 Description (Contd. ) 6 microseconds for each access of one alphameric character .. Each storage position consists of eight bits: six data bits, one odd parity bit, and one word mark bit. The word mark bit defines the size of data fields and instructions. Internal transfer operations can be terminated by a word mark or by a record or group mark, depending upon the instruction used. The "move record" instruction, which is part of the optional Advanced Programming feature for the IBM 1401, is standard in the 1441. The effective internal transfer rate is 83, 300 characters per second. Parity checks are made on all internal transfers. by Auerbach Corporation and BNA Incorporated 4/63 .. ___ I I 415:042. 100 IBM 1460 Internal Storage Disk Storage INTERNAL STORAGE: DISK STORAGE DRIVE § . 13 042. .1 GENERAL .ll Identity: . Disk Storage Drive. 13ll Models 1 and 2. .12 Basic Use: . auxiliary storage. .13 Description The 1311 Disk Storage Drive is a new development in low cost random access storage. It is available for the IBM 1401, 1410, 1440, and 1620 Data Processing Systems as well as the 1460, and features rapid interchangeability o~ the "Disk Pack" storage cartridges. The system is suitable for either random or sequential processing methods. Each Disk Pack consists of six discs on a common vertical axis. Data can be recorded on 10 disc surfaces; the top and bottom surfaces of the pack are not used. Each recording surface is divided into 100 concentric tracks, each track is divided into 20 sectors, and each sector holds a 5-character address and up to 100 alphameric characters of data. Therefore, the data capacity is 2, 000 characters per track, 200, 000 characters per surface, and 2, 000, 000 characters per pack. Up to five Disk Storage Drives can be connected to a 1440 system, so the maximum on-line data capacity is 10, 000, 000 characters. (The optional Track Record feature, described below, increases the capacity of each pack from 2, 000, 000 to 2,980,000 characters.) Access is by means of a comb-like mechanism containing five arms that move horizontally between the discs. Each arm has one read-write head mounted on the top and one on the bottom, and each head 'serves one disc surface. The entire access mechanism moves as 1 unit, so all 10 read-write heads are always positioned at corresponding tracks on their respective surfaces. The term "cylinder" is applied to each group of 10 tracks (Ion each disc surface) that can be read or recorded upon at a single setting of the access mechanism. There are 100 cylinders per Disk Storage Drive, and each cylinder can hold 20, 000 data characters. Time for access mechanism movement ranges from zero (for successive references to a previouslyselected cylinder) to 400 milliseconds; average random access time is 250 milliseconds. Unless the optional Direct Seek feature is installed, the access arms cannot move directly from one cylinder to another. Instead, the arms retract all the way to the ''home'' position (beyond track 00) and then move back to the selected cylinder. The result is that movements between adjacent cylinders require from 85 milliseconds (track 00 to 01) to 390 milliseconds (track 98 to 99). © 1963 Description (Contd. ) Rotational speed of the discs is 1,500 rpm. Maximum rotational delay is 40 milliseconds, and the average is 20 milliseconds. There is also a head select delay of 2 milliseconds. Total reference cycle time to read a randomly placed lOa-character record, update it, rewrite it, and execute a programmed write check is 354 milliseconds. If no access motion is required the total reference cycle time is reduced to 104 milliseconds. Peak data transfer rate is 77, 000 characters per second, and the effective bulk transfer rate is just under 50, 000 characters per second. A single read or write instruction can transfer from 1 to 200 consecutive sectors of information; 1. e. , from 100 characters to the capacity of core storage in mUltiples of 100 characters. The programmer can elect to read and write sector addresses along with the data records. Handling of variable-length disc records is facilitated by "sector counter overlays" in which the first 3 characters of a record specify the numbe.r of sectors (from 2 to 200) compriSing that record. All capacities and transfer rates quoted here are based on operation in the "move" mode, in which six data bits and one parity bit are recorded for each character. In the 'alternative "load" mode, the word mark bit is also recorded for each character, and sector capacity is reduced from 100 to 90 data characters. All capacities and transfer rates for the load mode are therefore 10 per cent lower than the figures quoted here. Use of the load mode is essential for program storage and for data storage when field lengths vary from record to record. Checks are made for parity errors, wrong length records, and unequal address comparisons. The "write disc check" instruction causes a character-by-character comparison of data just written on the disc with the data in core storage. It usually follows each write operation. All disc errors cause the setting of testable indicators. Disk Storage Drive seek time can be fully overlapped with internal processing. A "branch if access mechanism busy" instruction is provided. No overlapping is possible during disc read or write operations. Only one seek operation may go on at a time, regardless of the number of Disk Storage Drives in a system, unless the Seek Overlap feature, described below, is added. The removable Disk Packs are 14 inches in diameter, 4 inches high, and weigh less than 10 pounds, including covers. A Disk Pack can be removed from a Disk Storage Drive and replaced by another Disk Pack in 1 minute. When a Disk Pack is not mounted on a drive, the pack and its cover combine to form a sealed container that can be conveniently stotl;d and transported. by Auerbach Corporation and BNA Incorporated 4/63 415:042.130 IBM 1460 Description (Contd.) • 13 Description (Contd. ) One Disk Pack is supplied with each 1311 Disk Storage Drive. Additional Disk Packs cost $490 each, f. o. b. San Jose. Opti~nal Features Direct Seek: Pennits the access mechanism to move directly to the specified cylinder without returning to the "home" position. Access motion time ranges from zero to 250 milliseconds and averages 150 milliseconds. Track Record: Permits reading and writing a full track as a single 2. 980-character record, thereby 4/63 increasing the capacity of each Disk Pack from 2,000,000 to 2,980,000 characters. The increased capacity is achieved by using the areas that nonnally contain sector addresses for data storage. Complete track records can be intennixed with sector organh zation of records on other tracks on the same Disk Pack. Scan Disk: Pennits an automatic search of data recorded in disk storage for a specific identifier or condition. Seek Overlap: Penn its a disc seek operation to overlap one disc read or write operation plus any number .of othe:.; seek operations. The feature must be installed on every Disk Storage Drive in a system. 415:051.100 IBM 1460 Central Processor CENTRAL PROCESSOR § OS1. .12 .• 1 GENERAL .11 Identity: . .12 Description Processing Unit. 1441 Models B4, BS, B6. The 1441 is a two-address, add-to-storage, character-oriented processor. Its internal logic and instruction structure are identical to those of the IBM 1401 Processing Unit, described in Section 401:051, and programs written for a 1401 system can, in general, be run without modification on a similarly-equipped 1460 system. Models B4, B5, and B6 have identical processing capabilities; they differ only in having 8,000, 12,000, and 16,000 character positions of core storage, respectively, with a cycle time of 6 microseconds. (A 1441 Processing Unit is the central component of the IBM 1440 system as well as the 1460. A 1440 system, however, requires the 1441 Model A3, A4, AS, or A6, with a core storage cycle time of 11.1 microseconds.) Processor operations are performed serially by character and terminated when a word mark bit or a record or group mark character is sensed, so operand sizes are variable from one character to the limit of core storage capacity. Instruction length is variable from one to eight characters. Most arithmetic and data transfer instructioITS. consist of a one-character operation code and two operand addresses of three characters each. In other instructions, one or both addresses are eliminated and/or a one-character modifier is added. Through careful placement of data, instructions can sometimes be "chained" so that a one-character instruction does the w.ork of a seven-character one, saving both storage space and execution time. The 1441 Processing Unit is well suited to general data manipulation and has powerful editing capabilities. The ability to move full, multi-field records within core storage by a single instruction, which is part of the optional Advanced Programming feature for the 1401, is standard in the 1441. The High-Low-Equal Compare feature is also standard. Hardware facilities for multiplication, division·, indexing, and bit testing are all extra-cost options, as described below. Built-in facilities for floating point arithmetic are not available. Execution of an instruction in the 1441 requires the same number Of cycles as in the 1401, and the' 1441B's core storage cycle time of 6 microseconds is 5.5 microseconds faster than that of the 1401. Therefore, the 1441B. is nearly twice as fast internally as the 1401, and 1441B execution times can be derived by multiplying the 1401 execution times in Paragraph 401:051. 4 by the factor 0.522 (1. e. , Description (Contd.) 6.0/11.5). The following performance times are based on fixed point operations upon fields D digits in length and are expressed in microseconds. For Typical Tasks c =a +b: .•• 108 + 24D. b =a +b: ••. 60 + 120. Sum N items: . 60 + 120. c =ab, using 243 + 18000 + 73D2. subroutine: . c = ab, with MultiplyDivide feature: 108 + 66D + 3002• c = alb, using 4530 + 15400 + 90D2. subroutine: • . . c =a/b, Wi~ Multiply-Dlvide feature: ••.• 102 + 60D + 420 2• For Arrays of Data ci '=' ai + bj' with Indexing. feature: ci = ai + bj' without Indexing feature: c = c + aibj, using subroutine: • . • c = c + aibj. with Multiply-Divide feature: • . . . Moving, per item: • . + 24D. 612 + 24D. 400 + 1800D + 73D2. 480 + 78D 48 + 300 2• + 120. Whereas the input-output control facilities for an IBM 1401 or 1440 system are housed in its Processing Unit, the 1460 system requires a .separate control unit: the 1461 Input-Output Control, Modell, 2, or 3. The 1461 and the optional features that can be added to it are described in Section 415:111, Simultaneous Operations. Optional Features Bit Test: Permits testing for the presence of any speeified bit in any core storage location. Expanded Print Edit: Adds check protection, floating dollar sign, decimal control, and sign control left to the standard editing capabilities. Indexing and Store Address Registers: Makes three 3-character fields in core storage available as index registers that can index any instruction address, and provides instructions that store the contents of the A and B registers to facilitate subroutine linking. (The convenience of the index registers is somewhat limited by the fact that no special instructions are provided for setting, incrementing, or testing them. ) Multiply-Divide: Permits direct multiplication and division; when this feature is not installed, subroutines must be used. First Delivery: © 1963 504 by Auerbach Corporation and BNA Incorporated . • 4th quarter 1963. 4/63 415:052.100 _STANDARD EDP • REPORTS IBM 1460 Central Processor IBM 1420 Bank Transit System CENTRAL PROCESSOR: IBM 1420 BANK TRANSIT SYSTEM § .12 052. .1 GENERAL .11 Identity: . . . • . . . IBM 1420 Bank Transit System. Bank Transit Processing Unit. 1421 Models A3. A4. AS. A6. Card Read-Punch. 1442 Models 1 and 2. Printer 1403 Models 1 and 2. . 12 Description (Contd.) Punch replaces the 1402 Card Read-Punch for punched card input and output. The Indexing and Store Address Register feature and the Bit Test feature. which are extra-cost options for 1460 systems, are standard in the 1421. Internal processing is not overlapped with reading of data from magnetically inscribed documents unless the optional Processing Overlap feature is added. The optional Endorser feature enables the 1421 to print a full bank endorsement on the back of ea-ch check at no reduction in processing speed. The only input-output units that can be connected to the 1421 are the 1442 Card Read-Punch and the 1403 Printer. The 1442 is a combination input-output unit Description The IBM 1420 Bank Transit System is a specialpurpose variation of the 1460 that is designed for Federal Reserve banks and commercial banks having large transit volumes. The 1421 Bank Transit Processing Unit combines most of the functions of the 1441B Processing Unit and the 1419 Magnetic Character Reader into a single physical unit. (See Sections 4151051 and 401:103 for detailed descriptions of the 1441B and the 1419. respectively.) Card or paper documents that have beeq magnetically inscribed with E13B type font can be processed at speeds of up to 1,600 documents per minute. Document feeding and selection of one of the 13 pockets are always controlled by the stored program. Documents ranging from 2. 75 to 3. 67 inches in width and from 6. 00 to 8. 75 inches in length can be processed. Card and paper documents of varying sizes can be intermixed. The 1421 can contain from 4.000 to 16.000 character positions of core storage with a cycle time of 6 microseconds per character. Programming of the 1420 system is essentially the same as programming of a 1401/1419 combination, except that timing relationships are altered and the slower 1442 Card Read- © 1963 for standard 80-column punched cards. From a single I, 200-card hopper. cards are fed serially by column past a photoelectric reading station, past a die punching station. and into a 1,300-card radial stacker. A second stacker, which can be programselected for reject or hold items, is standard on Model 2 and optional on Modell. The 1442 Modell has a peak reading speed of 300 cards per minute and a peak punching speed of 80 columns per second (or 50 full cards per minute). Model 2 can read up to 400 cards per minute and punch up to 160 columns per second (or 88 full cards per minute). A maximum of two 1442s, in any combination of models, can be used in a 1420 Bank Transit System. Because each 1442 has only one card feed, two 1442s must be installed if the card reading and punching functions are to be separated. A more detailed description of the 1442 Card Read-Punch is presented in Section 414:071. One 1403 Modell or 2 Printer can be connected for printed output at a peak speed of 600 alphameric lines per minute. With the optional Numerical Print Feature, up to 1,285 lines per minute of all-numeric output can be printed. Models 1 and 2 differ only in having 100 and 132 print positions. respectively. The 1403 Printer is fully described in Section 401:081. by Auerbach Corporation and BNA Incorporated 4/63 IBM 1460 415:052.120 § 052. • 12 Description (Contd.) First Delivery: 2nd quarter 1964. Prices Unit Monthly Rental 1421 Bank Transit Processing Unit Model A3: 4K core storage Model A4: 8K core storage Model AS: 12K core storage Model A6: 16K core storage Monthly Maintenance Purchase $4,305 4,755 5,205 5,655 $370.00 378.00 385.00 390.00 $210,800 235,100 259,400 283,700 1442 Card Read-Punch Modell Mode12 Adapter (req'd. on first 1442) 280 395 20 20.50 26.50 0.50 18,700 19,850 1,100 1403 Printer Modell Mode12 725 775 130.00 140.00 32,900 34,000 375 250 20 75 225 190 32.00 13.75 0.50 18,350 15,000 1,100 3,125 9,050 8,100 Optional Features 3791 5730 6406 4740 5381 6411 Endorser (on 1421) Processing Overlap (on 1421) Selective Stacker (1442 Modell) Interchangeable Chain (on 1403) Numerical Print (on 1403) Selective Tape Listing (on 1403) 8.00 10. 75 Physical Characteristics Unit 1421 1421 with Endorser 1442 1403 Max. Weight (lbs) Height x Width x Depth (inches) Load KVA BTU/hr 3,900 61 x 157 x 41 5.4 14,900 3,900 525 750 61 x 157 x 41 49 x 43 x 24 53 x 48 x 29 5.9 O. 7 15,800 1,700 3,000 Power required: 208 or 230 volts AC, 3-phase, 4-wire, 60 cycles. 4/63 • 415:061.100 STANDARD EDP • REPORTS IBM 1460 Console CONSOLE § 061. • 13 .1 GENERAL • 11 Identity: . • 12 Associated Units: • . . Input-Output Printer is included in Models 2 and 4. . 13 Console . 1447 Models 1. 2. and.4. Description The 1447 Console is a free-standing desk that houses the manual controls for an IBM 1460 system. Models 2 and 4 include the Input-Output Printer (a Console Typewriter). but Modell does not. Model 4 also includes the lights and switches required to control a 1448 Transmission Control Unit~ All controls and displays are on a vertical panel mounted above and to the rear of the desk top. just below eye level for a seated operator. The controls and displays are nearly identical to those on the IBM 1401 Console (Section 401:061). tho,u&h their physical arrangement © 1963 Description (Contd.) is different. The 1447 Console will provide considerably more comfort and convenience for the operator than the 1401 Console. which is built into the front panel of the Processing Unit cabinet and designed for operation from a standing position • The Input-Output Printer is a single-case IBM Selectric typewriter rated at 14. 8 characters per second. Pitch is 10 characters per inch and line spacing is 3 or 6 lines per inch. The maximum writing line width is 8.5 inches. Input-Output Printer operations cannot be overlapped with internal processing. The unit is useful for entering and printing exception data. for logging. and as an inquiry station. (The 1407 Console Inquiry Station, an optional unit that performs console input-output functions in 1401 systems. is not available for the 1460.) Optional Feature Sense Switches: Provides six console switches a)ld corresponding testable indicators that can be used for manual control of the stored program. by Auerbach Corporotion and BNA Incorporated 4/63 415:071.100 STANDARD • EDP • IBM 1460 Input-Output 1402 Card Reader REPORTS INPUT-OUTPUT: CARD READ-PUNCH (READER) § .12 071. .1 GENERAL . 11 Identity: . • 12 Description Card Read-Punch (Reader). 1402 Model 3. Description (Contd.) capacity and 3 stackers with 1, ODD-card capacities (1 shared with the punch unit) can be loaded and unloaded without stopping the reader. For a more detailed description of the 1402's card reading capabilities, see Section 401:071. The 1402 Card Read-Punch consists of a card reader and card punch which are housed in the same cabinet but are functionally independent of one another. The punching capabilities are described in the next report section, 415:072. The 1402 Model 3 differs from the 1402 Model 1 used in 1401 systems only in that the Early Card Reader feature, which provides three clutch points per cycle instead of one, is standard. The card reader reads standard 8o-column cards, 1 row at a time, at a peak speed of 800 cards per minute. Conversion from the Hollerith card code to internal alphameric code is automatic. A hole-count check is made on each column at a second reading station, and the bit configuration of each character is checked for validity as it is transferred into core storage. As in the 1401, data read from a card is always placed in a fixed input area, core storage positions 001 through 080. A hopper with a 3, DOD-card © 1963 Optional Features Interchangeable Read Feed: Permits reading either 80- or 51-column cards by interchanging hardware. Binary Transfer: Makes it possible to process data recorded in column binary form on cards and magnetic tape, providing format compatibility with the IBM 700/7000 scientific systems. This feature serves the same purpose as the Column Binary feature for the IBM 1401. Read Punch Release: Permits computation during the start time of each card read or punch cycle; see Section 415:111. Processing Overlap: Permits computation during reader and punch start times and between data transfer 'cycles; see Section 415:111. by Auerbach Corporation and BNA Incorporated 4/63 415:072.100 _STANDARD EDP • IBM 1460 Input-Output 1402 Card Punch "PORTS INPUT-OUTPUT: CARD READ-PUNCH (PUNCH) § 072. .12 .1 GENERAL .11 Identity: .12 Description (Contd.) For a more detailed description of the 140.2's card punching capabilities, see Section 401:072. Card Read-Punch (punch). 1402 Model 3. Description The 1402 Card Read-Punch consists of a card reader and card punch which are housed in the same cabinet but are functionally independent of one another. The reading capabilities are described in Section 415:071. Standard SO-column cards can be punched, 1 row at a time, at a peak speed of 250 cards per minute. Conversion from internal alphameric representation to the Hollerith card code is automatic. As in the 1401, data to be punched must be placed in the fixed corestorage punch area, positions 101 through 180. A reading station makes a hole-count check on each column and sets a testable indicator when an error is detected. The single 1, 200-card feed hopper and three 1, ODD-card stackers (one shared with the reader) can be loaded and unloaded without stopping the punch. © 1963 Optional Features Punch Feed Read: Adds a reading station ahead of the punching station so that results can be punched into the same card from which data was read_ Holecount and chara'cter validity checks are made on the read operation. Binary Transfer: Makes it possible to process data recorded in column binary form on cards and magnetic tape, providing format compatibility with the IBM 700/7000 scientific systems. This feature serves the same purpose as the Column Binary feature for the IBM 1401. Read Punch Release: Permits computation during the start time of each card read or punch cycle; see Section 415:111. Processing Overlap: Permits computation during reader, and punch start times and between data transfer cycles; see Section 415:111. by Auerbach Corporation and BNA Incorporated 4/63 415:081.100 ·STAND"' lO P _ED ." IBM 1460 Input-Output 1403 Pri nter REPORTS INPUT-OUTPUT: PRINTER § 081. .12 .1 GENERAL .11 Identity-: • 12 Description Printer. 1403 Models 2 and 3. Description (Contd.) For a more detailed description of the 1403 Model 2, see Section 401:081. Optional Features The 1403 Model 2 is the printer used in most IBM 1401 systems, and its operation is exactly the same in 1460 systems. The 1403 Model 2 uses a horizontal chain printing mechanism, in which a solenoid driven hammer presses the form and ribbon against the moving chain while the desired character slug is passing each printing position. Peak speeds are 600 lines per minute at single spacing and 480 lines per minute at an average line spacing of 1 inch. The 1403 Model 3 Prin,ter, announced in February, 1963, is program-compatible with Model 2 but has peak speeds of 1,100 single-spaced lines per minute and 750 lines per minute at an average spacing of 1 inch. The printing technique is similar to that of the 1403 Model 2, but instead of being attached to a steel band to form a continuous chain, the type slugs in Model 3 are separate three-character units that ride in a precision-machined horizontal channel, forming a "train". The linear speed of the moving train in the Model 3 is 206 inches per second, versus 90 inches per second for the chain in Model 2. Both models have 132 print positions and a 48character print set. Spacing is 10 characters per horizontal inch and 6 or 8 lil!es per vertical inch. Forms from 3.50 to 18.75 inches in width can be handled. The dual-speed carriage used on both models has a skipping speed of 33 inches per second for skips of 8 lines or less and 75 inches per second for longer skips. Skipping is controlled by a 12channel punched tape loop. Data to be printed must be placed in the fixed core-storage print area (positions 201 through 332), and all editing and format control must be performed by the stored program; the unit has no plugboard. © 1963 Interchangeable Chain Cartridge Adapter (Model 2 only): Permits the operator to insert a chain cartridge with a different type font or character set quickly and without special tools. Numerical Print (Model 2 only): Permits changing from the standard 48-character chain to a chain with only 16 different characters. Speeds up to 1, 285 lines per minute can then be obtained on allnumeric output. The Cartridge Adapter described above is a prerequisite. Auxiliary Ribbon Feed (Model 2 only): Recommended for satisfactory utilization of polyester film ribbons, which provide improved print quality for applications such as optical character recognition; can also be used for feeding conventional fabric ribbons. Selective Tape Listing (Model 2 or 3): Permits printing up to 13 characters on each of 8 separate 1. 5-inch wide tapes or up to 29 characters on each of four 3. I-inch wide tapes. Combinations of 1. 5- and 3. linch wide tapes can be used. Each tape can be individually spaced under program control, but no skipping is possible while the feature is in use. Print Storage (required for Model 3; optional for Model 2): Provides a core buffer that holds a full line of data to be printed and provides overlapping of all except 1 millisecond of each print cycle with any other system function. Without Print Storage, the Processing Unit is interlocked for 84 milliseconds during each 1403 Model 2 print cycle. Testable indicators permit branching if the printer or forms carriage is busy. by Auerbach Corporation and BNA Incorporated 4/63 415:091.100 • STANDARD EDP • IBM 1460 Input-Output 729 Magnetic Tape Unit REPORTS INPUT-OUTPUT: 729 MAGNETIC TAPE UNIT § 091. . 12 .1 GENERAL . 11 Identity: . .12 Description Magnetic Tape Unit. 729 II, IV, V, and VI. The 729 Magnetic Tape Units are used in IBM's more powe::rful 1410, 7040, 70.70, 7080, and 7090 series Description (Contd. ) systems as well as in the 1401 and 1460. They are compatible with the 7330 and 727 tape units in tape width, recording density, and format. The only significant differences among the four 729 models are in densities and tape speeds. These characteristics are summarized in the following table. The effective transfer rates shown are based upon 1, OOO-character blocks. Model Tape speed, inches/sec Density, char/inch Peak transfer rate, char/sec Effective transfer rate, char/sec 729 II 75.0 200 556 15,000 41,667 12,600 27,400 729 IV 112.5 200 556 22,500 62,500 18,800 40,300 729 V 75.0 200 556 800 15,000 41,667 60,000 12,600 27,400 34,200 729 VI 112.5 200 556 800 + 22,500 62,500 90,000 + 18,800 40,300 50,200 + + Usable in 1460 systems but not in 1401 systems. Optional Features From one to six 729 tape units, in any combination of models, can be connected to a 1460 system via the 1461 Model 2 Input/Output Control. Only one tape read or write operation can occur at a time, and no computing can be done during a tape read or write operation unless the Processing Overlap feature is added. A read-after-write parity check detects most recording errors at the time of occurrence. Both lateral and longitudinal parity are checked during read operations. As in the 1401, data can be recorded and read in either the "load" or "move" mode. In the load mode, each word mark bit in core storage corresponds to a special word-separator character on tape. In the move mode, only the six data bits in each core position are transferred to tape; word mark bits in core storage are neither written on tape nor affected by a tape read operation. Block lengths are fully variable. Backward reading is not possible. For more details on the 729 Magnetic Tape Units, see Section 401:091. © 1963 Compressed Tape: Permits reading and correct expansion of tape records written with high-order zero elimination by an IBM 7070 series system. The Indexing and Store Address Register feature is a prerequisite. Binary Transfer: Makes it possible to process data recorded in column binary form on magnetic tape ano. cards, providing format compatibility with the IBM 700/7000 scientific systems. This feature serves the same purpose as the Column Binary feature for the IBM 1401. Processing Overlap: Permits computation during tape start-stop time. When 200 characters per inch density recording is used in all models, and at 556 characters per inch in the 729 II only, computation cycles can also be interspersed with character trans-' fers to or from the tape unit. The Processing Unit is delayed for one 6-microsecond cycle each time a character is transferred. At tape transfer rates above 41,667 characters per second, no interspersed computation is possible. (See also Section 415:111.) by Auerbach Corporation and BNA Incorporated 4/63 415:092.100 _STANDARD EDP • REPORTS IBM 1460 Input-Output 7330 Magnetic Tape Unit INPUT-OUTPUT: 7330 MAGNETIC TAPE UNIT § 092. . 12 .1 GENERAL .11 Identity: . .12 Description Magnetic Tape Unit. 7330 Modell. The 7330 Magnetic Tape Unit is slower, simple1, and less expensive than the 729 tape units described in the previous section, but the two units are completely program-compatible. Tape speed is 36 inches per second. Peak data transfer rates are 7,200 and 20,016 characters per second at recording densities of 200 and 556 characters per inch, respectively. When reading or writing 1, OOO-character blocks, the effective data transfer rates are 6,260 and 14,100 characters per second. The principal disadvantage of the 7330 is the fact that rewinding a full reel without unloading tl;J.e tape from the vacuum columns and read-write head requires 13.3 minutes. A full high-speed rewind takes only 2.2 minutes, but is always terminated by unloading, which makes the rewound tape unavailable for further processing (as required in sorting operations) without operator intervention. From one to six 7330 tape units can be connected to a 1460 system via the 1461 Model 3 Input/Output Control. Alternatively, both 7330 and 729 tape units, up to a total of six, can be connected to the 1461 Model 2 Input/Output Control through use of the Tape Intermix feature. Only one tape read or write operation can occur at a time, and no computing can be done during a tape read or write operation unless the Processing Overlap feature is added. A read-after-write parity check detects most recording errors at the time of occurrence. Both lateral and longitudinal parity are checked during read © 1963 Description (Contd. ) operations. As in the 1401, data can be recorded and read in either the "load" or "move" mode. In the load mode, each word mark bit in core storage corresponds to a special word-separator character on tape. In the move mode, only the six data bits in each core position are transfer,red to tape; word mark bits in core storage are neither written on tape nor affected by a tape read operation. Block lengths are fully variable. Backward reading is not possible. For more details on the 7330 Magnetic Tape Unit, see Section 401:092. Optional Features Compressed Tape: Permits reading and correct expansion of tape records written with high-order zero elimination by an IBM 7070 series system. The Indexing and Store Address Registers feature is a prerequisite. Binary Transfer: Makes it possible to process data recorded in column binary form on magnetic tape and cards, providing format compatibility with the IBM 700/7000 scientific systems. This feature serves the same purpose as the Column Binary feature for the mM 1401. Processing Overlap: Permits computation during tape start-stop time and between character transfers to or from the 7330. The Proc.essing Unit is delayed for one 6-microsecond cycle for each character transferred. (See also Section 415: 111. ) Tape Intermix: Permits 7330 tape units, along with 729s, to be connected to a 1461 Model 2 Input/Output Control. The total number of tape units cannot exceed six. by Auerbach Corporatian and BNA Incorporated 4/63 415:101.100 .STAI and < not available. always ignored by translator. literals may not exceed 120 characters. UPPER-BOUND(S), LOWER-BOUND(S) not available. no alternate computer names. File Description 8 BLOCK size 9 12 13 14 15 16 17 FILE CONTAINS SEQUENCED ON HASHED Table length Item length BITS option RANGE IS RENAMES 18 19 20 SIGN IS SIZ E clause option Conditional range 11 no range in block size can be specified; range in RECORD size is permitted. approximate file size cannot be shown. no list of keys can be given. hash totals cannot be created. length of tables and arrays may not vary. variable item lengths cannot be specified. items cannot be specified in binary. value ranges of items cannot be shown. alternative groupmgs of elementary items cannot be specified. no separate signs allowed. no range in size may be given. a conditional value cannot be a range. Verbs 23 25 26 DEFINE INCLUDE USE new verbs cannot be defined. no library routines can be called. no non-standard I/O error and label handling routines. Verb Options 29 30 34 OPEN REVERSED ADVANCING Relationships 36 39 Conditionals Conditional statements tapes cannot be read backward. cannot specify paper advance. IS UNEQUAL TO and EXCEEDS are not provided. no implied objects with implied subjects. only AT END or ON SIZE ERROR may follow imperative statements. Environment Division 40 SOURCE-COMPUTER 43 44 FILE-CONTROL PRIORITY IS 45 I-O-CONTROL no differences from the "standard" configuration may be specified. cannot be taken from library. no priorities can be specified for multirunning purposes. cannot be taken from library. Special Features 48 49 12/63 Library Segmentation library routines cannot be called. no provision for segmentation of object programs. 417:162.100 IBM 7080 Process Oriented Language FORTRAN II PROCESS ORIENTED LANGUAGE: ~ 162. .14 .1 GENERAL • 11 Identity: . . . . . . . . . • 7080 Processor: FORTRAN . • 12 Origin: •.. .. IBM Corp. .13 Reference: . . IBM Publication J28-6247-1. .14 Description FORTRAN II Description (Contd.) WRITE TAPE instructions are not used for binary data; they result in the transmission of one BCD record whose size is determined by the associatcd list and not limited to 132 characters. The PRINT and PUNCH commands produce a magnetic tape Tecord for off-line printing or punching . There are four kinds of 7080 FORTRAN messages which can occur during compilation: The IBM 7080 FORTRAN language is a restricted but useful version of FORTRAN II, the most widely accepted process oriented language for scientific applications. For a general description of the FORTRAN II language, see Section 408:161. The principal restrictions on IBM 7080 FORTRAN are the inability to handle subroutines; the lack of Boolean, complex, and double precision arithmetic; and the absence of the optimizing statements EQillVALENCE and COMMON. Other restrictions on the 7080 version relative to IBM 709/7090 FORTRAN II are listed in Paragraph. 142 below. An adjustable DIMENSION statement is provided which permits the size of arrays to vary during the execution of a program. Two other useful extensions are a TYPE instruction and an expanded print line and tape record length of 132 characters. Other extensions to the FORTRAN II language which are implemented in 7080 FORTRAN are described in Paragraph .143 below. Compilation of FORTRAN programs is performed by the 7080 Processor module of the 7080 Compiling System, which requires at least 80, 000 core storage positions and 10 magnetic tape units. See Section 417:181 for a description of the 7080 Processor. The FORTRAN sections of the 7080 Processor produce Autocoder "one-for-one" instructions and macro instructions, which are expanded and assembled by subsequent sections to provide object programs which run on an IBM 7080 in the 7080 mode only. FORTRAN source statements may be mixed with Autocoder statements or with other higher-level languages such as Report/File or DA TGEN (Paragraph 417: 151. 2). When languages are mixed, all input-output operations initiated by other languages must be completed before any FORTRAN input-output operations are executed. • Advisory Messages - direct the programmer's attention to possible errors. • Minor Error Messages - occur when the compiling program makes an assumption, substitutes for invalid or improper input, notices unnecessary duplication, finds a definite error wl;lich can be corrected by moderate patching, or skips over improper input. • Serious Error Messages - occur when the compiling program drops a statement because a major assembly error, which would at best require extensive patching, has been made. o Cannot-Proceed Messages - occur when the source program exceeds system capacity. Messages may also be produced during the running of a FORTRAN object program. Object program error messages provide options which can be exercised via console interrupt keys. Errors associated with "trigger tests" (divide check, accumulator overflow, or quotient overflow) will cause messages to be typed, a value substituted, and computation continued Without an option. Each fixed or floating point constant or variable occupies 10 positions of core storage (2 positions for the exponent and 8 for the mantissa in the floating point mode). Library subroutines will usually occupy a total of between 5,000 and 8,000 core positjons at object time. The compiler optimizes all subscripting under control of a DO statement, but there is no provision for optimizing arithmetic statements by evaluating common subexpressions only once. For example, the statement x The 7080 FORTRAN version differs in several ways from 709/7090 FORTRAN II. Arrays are stored row-wise unless otherwise specified by an. inputoutput list. The operation of the control character "A" in FORMAT statements, which permits alphameric information to be transmitted to and from core storage, is based on words of 10 characters rather than 6 characters. The READ TAPE and © 1963 = A*B - C + SQRT(A*B) will cause the product A *B to be computed twice by the object program. It should therefore be replaced by the two statements T = A*B x = Auerbach Corporotion and Info, Inc. T - C + SQRT(T). 12/63 417:162.141 § IBM 7080 162. . 142 Restrictions (Contd. ) . 141 Availability: •••...• translator released in January, 1963. (6) The CHAIN feature, which permits programs too large to fit into core storage to be executed as a series of independent "links, " has not been implemented . (7) Since PRINT and PUNCH instructions cause a magnetic tape record to be written, use of both these instructions in a single program will result in mixing of PRINT and PUNCH output. • 142 Restrictions (1) The following statements are not permitted: CALL Name (aI, a2, ..•..• , an> COMMON A, B, END (Il, 12, 13, 14, 15) .143 Extensions EQUIVALENCE (a, b, c, .•...• ), (d, e, f, ...... ), ...... FREQUENCY n (i, j, ...... ), m (k, 1, ...... ), ...... FUNCTION Name (aI' 3.2 ' ••.... , (1) Printer lines and input-output tape records can have a maximum length of 132 characters. (2) The PUNCH and PRINT statements result in the writing of magnetic tape records for offline punching or printing. Thus, programs written for computers with an on-line printer or punch can be used without modification. ~) READ DRUM i, j, List RETURN (3) A TYPE statement allows the writing of a list on the console typewriter. SUBROUTINE Name (aI, a2' ...... , an> WRITE DRUM i, j, List. (2) Boolean, complex, and double precision operations are not permitted. (3) The following functions are not permitted: ATAN2F ( ): .•• arctangent (double length) (4) General READ and WRITE statem ents are provided which can be substituted for all executable input-output statements. These are useful as shorter command words for tape inputoutput statements. (5) The DIMENSION statement is adjustable, which permits the size of arrays to vary during the execution of the object program. TANHF ( ): ••... hyperbolic tangent. (4) (5) 12/63 Indexing is not allowed in the lists following READ TAPE and WRITE TAPE statements. These commands are used to transmit arrays without FORMAT control. The FORMAT specification "Ow" (used to specify an octal integer of w digits) is not allowed. (6) A wider range of numeric magnitudes can be represented in 7080 FORTRAN than in 709/7090 FORTRAN II, as shown in the following table: Floating Point Integers 7080 FORTRAN: 10- 99 to 10 99 1 to 10 10 _1. 709/7090 FORTRAN: 10- 38 to 10 38 lto 131,071. 417:171.100 IBM 7080 M. O. Language Autocoder MACHINE ORIENTED LANGUAGE: !l 171. .1 GENERAL .11 Identity: .22 AUTOCODER Legend Pglin: IBM 7080 Processor: Autocoder. Tag: . . . . . . 12 Origin: ... IBM Corp . Operation: .13 Reference: IBM Publications C28-6263, C28-6130-1, J28-6265, J28-6231. Numeric: .14 Description Autocoder is basically a symbolic machine oriented language, expanded through the addition of powerful macro generators and the Input/Output Control System (IOCS80). The language permits utilization of all hardware facilities of a 7080. Autocoder programs can contain sections written in the 7080 FORTRAN, COBOL, Report/File, Decision, Arithmetic, and Table-Creating languages described elsewhere in this report. Each macro instruction in the source routine is converted by the appropriate macro generator into a series of symbolic instructions, which are then converted to machine instructions. Parameters in the operand of the macro instruction control the coding that will be produced by the generator. There is a SPEED macro which instructs the translator to optimize either the execution time or size of an object program. Other standard macros perform such functions as loop control, comparisons, data movement, table search and maintenance, arithmetic operations, indirect transfers, and typing of a message. Additional macro generators can be coded by the user and added to the systems tape. The IBM 7080 Input/Output Control System (IOCS80) is a supplement to Autocoder. It provides additional control and macro operations that handle reading, writing, tape blocking and unblocking, file labeling, checkpoints, and error checking. Information pertaining to the system configuration, file characteristics, record layouts, file labels, and checkpoints must be indicated in the source routine in the operands of IOCS descriptive macros. From 35 to 51 operands must be used to describe each file. The IOCS80 macros and their functions are listed in Paragraph 417:171.81. . 15 Publication Date: .2 LANGUAGE FORMAT . 21 Diagram: •. Operand: . . . . . . . Comments: Flag: ...•..... .23 Corrections: . . . . .24 Special Conventions .241 Compound addresses: . 242 Multi-addresses: .243 Literals: . . . . . . . ... December, 1962 . . 244 Special coded addresses: see 7080 Processor Coding Form, Page 417:171. 90U. © 1963 Auerbach Corporation and Info, Inc. sequences coding sheets and lines on each coding sheet. names an area or instruction. defines operation to be performed in mnemonic code. indicates size of data field; specifies an address ending, size of character code, bit code, console switch code, number of ASU, sign, or allocation counter. actual or symbolic address of data to be operated upon, with specification of relative and/or iI).direct addressing, address constants, literals, constants, or format symbols. additional information about statement (for listing. only). communication to the Processor (see Paragraph .82). entered on back of coding sheet; suggested gaps in sequence numbers allow for insertions. BASE ± ADJUSTMENT, where BASE is any basic operand and ADJUSTMENT is a decimal integer. , BASE * or / ADJUSTMENT, where BASE is any tag and ADJUSTMENT is a decimal integer. PREFIX, BASE, where PREFIX is a letter and indicates operand modification or indirect address. macros only . preceded and followed by #=; any number of characters except where restricted by instruction• * refers to low-order position of instruction in which it appears. 12/63 IBM 7080 417:171.245 § 171. .245 Other Actual: Address constants: .3 LABELS .31 General .311 Maximum number of labels: .•. .312 Common label formation rule: .313 Reserved labels: . 314 Other restrictions: .315 Designators: .316 Synonyms permitted: . 32 denotes an actual storage location, a setting for accumulator or an ASU, or size of a block; preceded by @ if five or more numeric characters. No notation needed if less than five and used with certain instructions. ADCON statement creates a NO-OP instruction with address constants. ACON4, ACON5, and ACON6 statements give address constants in desired size with specified size for any operand. literal-operand modifier followed by @ precedes tag or literal. no practical limit; i. e. , limited by length of tape. yes. none. if label is numeric, it must be 5 characters or more. none. yes; TRANS pseudo (limited to 50). .321 Labels for procedures Existence: mandatory if referenced by other instructions. Formation rule First character: alphabetic, numeric, or blank. Others: .. alphabetic and/or numeric and blanks. Number of characters: maximum of 10. . 322 Labels for library routines: . . . • . . same as Procedures. .323 Labels for constants: same as Procedures . . 324 Labels for files: •• same as Procedures. .325 Labels for records: same as Procedures . . 326 Labels for variables: same as Procedures. Local Labels: .4 DATA . 41 Constants none. .411 Maximum size constants Integer Decimal: . . . . . no restriction, except may not exceed 99 decimal digits if referenced by a general purpose macro (limited by size of core). Octal: . . . . . . . none. 12/63 . . .42 Working Areas .421 Data layout Implied by use: Specified in program: .422 Data type: .. .423 Redefinition: .43 Universal Labels .33 .411 Maximum size constants (Contd.) Fixed numeric Decimal: ...... no restriction, exc.ept may not exceed 99 decimal digits if referenced by a general purpose macro. Octal: · ...... none. Floating numeric Decimal: 10 decimal digits (2 for exponent and 8 for mantissa). Octal: · none. limited only by size of core Alphameric: storage. .412 Maximum size literals Integer 52 characters. (35 if referDecimal: enced by a macro). Octal: · . none. Fixed numeric Decimal: 52 characters (35 if referenced by a macro). Octal: · none. Floating numeric Decimal: 12 characters. none. Octal: · .. 52 characters (35 if referAlphabetic: enced by a macro). 52 characters (35 if referAlphameric: enced by a macro) . yes. specified in description statement. yes; TRANS pseudo. In2ut-Out2ut Areas . 431 Data layout: .432 Data type: explicit layout . specified in description statement. no. .433 Copy layout: .5 PROCEDURES .51 Direct 02eration Codes .511 Mnemonic Existence: Number: Example: . 512 Absolute: . .52 yes . mandatory. 113 . MPY = multiply. not usable . Macro-Codes .521 Number available Input-output . Arithmetic: . . Math functions: Error control:. Restarts: . . . . . Assembly control: Data transmission:. Data testing: ... Program branch control: . . . . . Address modification: Table: . . . . . . Miscellaneous: . more than 60 (in IOCS80). 14 . none. none . none. 5. 6. 3. 9. 7. 5. 3. 417: 171.522 MACHINE ORIENTED LANGUAGE: AUTOCODER § .65 171. .651 File labels: .522 Examples Simple: Elaborate: . 523 New macros: . . . . . . 53 Interludes: . . . . . . .54 Translator Control .541 Method of control Allocation counter: Label adjustment: Annotation: ... .542 Allocation counter Set to absolute: Set to label: Step forward: Step backward: Reserve area: .. .. .543 Label adjustment Set labels equal: Set absolute value: Clear label table:. .544 Annotation Comment phrase:. Title phrase: .. .545 Other Relative assignment: . . . . . . . . EJECT pseudo: . Flag characters: ENTSO. NDVHX roURCEI t:l SOURCE2t:lRESULTl:C OVERFLOW U U 250011l . yes; separate run (same run if needed only for that program). pseudo-operations. pseudo-operations. pseudo-operations and special cards. LASN, SASN, LITOR, SUBOR, RASN, SUBRO. LASN, SASN, LITOR, SUBOR, RASN, SUBRO. LASN, SASN, RASN. LASN, SASN, RASN. RCD, NAME, CON, RPT, FPN. TRANS pseudo. TRANS pseudo. no. special cards, or comments section of any line. TITLE pseudo. permits assembly at one location to be treated as though it were at another location. causes listing to skip to a new page. special instructions to Processor. Boecial Arithmetic ... Sorting: .67 Diagnostics · .. · ..... .672 Tracers: · .673 Snapshots: ...... ...... .7 LIBRARY FACILITIES .71 Identity: .72 Kinds of Libraries: .73 Storage Form: .74 Varieties of Contents: · ...... ·. · ...... see Paragraph 417:151.13. .751 Insertion of new item: · .752 Language of new item: .753 Method of call: ..... · ...... ·. .76 Automatic Decimal Point macros: ABSX, ADDS, etc. (see Paragraphs 417:171. S1 and 417 :151. 22) . macros, or use of DATGEN Arithmetic Language. §Ilecial Functions: . none. .63 Overlay Control: no special facilities; incorporated by own coding. .64 Data Editing none. none. not required due to hardware editing capability. see Paragraph 417:151.15: Memory Print routine and Snap Print routine. none. DME instruction and Memory Record function of roCSSO . 70S0 Compiling System Libraries (70S0 Processor Library, IOCS System Library, COBOL Processor Library) . expandable master. card image records on magnetic tape. subroutines and macro instruction routines. Mechanism special library run. 70S0 Autocoder. INCL pseudo and LINK macro. Insertion in Program .761 Open routines exist: .762 Closed routines exist: .763 Open-closed is optional: .764 Closed routines appear once: · ....... . 62 .641 Radix conversion: . 642 Code translation: . .643 Format control: .66 .75 .61 .612 Method of call: Reel labels: Blocking: . . . . . . . Error control: . . . . Method of call: . 671 Dumps: . . . . . SPECIAL ROUTINES AVAILABLE . . .... .652 .653 .654 .655 handled by Input-Output Control System, IOCSSO. handled by roCSSO. handled by roCSSO. handled by roCSSO. macros. none. .6 .611 Facilities: In]2ut-Out]2ut Control yes. yes. yes . yes. .S MACRO AND PSEUDO TABLES .SI Macros Code SPEED: ••• I ••••• ENTSO: · ...... ENTIP: · ...... © 1964 Auerbach Corporation and Info, Inc. Description minimizes either size of execution time of generated program. causes subsequent macros to generate instructions in 7080 mode. causes subsequent macros to generate instructions in 7080 interrupt mode. 12/63 IBM 7080 417:171.810 § .81 171. .81 Macros (Contd.) Code LEVIP: LEV80: •...•.. ASU: . . . . . . . . . CASU: . . . . . . . . MOVE: . . . . . . . BLANK: . • . . . . ZERO: . . . . . . . DEC: . . . . . . . . COMP: . . . . . . . . RANGE: .•..•. IFNUM: SETON: . . . . . . SETOF: . . . . . . . IFON: . . . . . . . . ALTTR: ...•.• ALTNP: ..... . FTTR: ...... . FTNOP: FTTRB: ..... . FTNPB: . . . . . . . ABSX: • . . . • . . . NABSX: ADDX: SUBX: . • . . . . . . 12/63 Macros (Contd.) Code DIMX: . . . . . • • . Description causes subsequent macros to generate instructions in 7080 non-interrupt mode. causes subsequent macros to generate instructions in 7080 secondary mode. sets an ASU and communicates its length and availability. sets a CASU and communicates its length and availability. moves data from one field to another. blanks fields. places zeros in fields. replaces defined decimal point and/or fixed dollar sign in previously blanked RPT field. compares data in two fields and transfers on low, equal, or high. determines whether data lies within a range and transfers accordingly. determines whether data is numeric or not and transfers accordingly. sets SWitches ON. sets switches OFF. tests a switch and transfers according to an ON or OFF condition. alternately transfers and continues in line, in that order. alternately continues in line and transfers, in that order. transfers initially and continues in line subsequently. continues in line initially and transfers subsequently. transfers initially on a bit and continues in line subsequently. continues in line initially on a bit and transfers subsequently. obtains absolute value of data in a numeric field and places it in a numeric or RPT field. same as ABSX (fornega,tive absolute value). adds data in two numeric fields and puts results in a numeric or RPT field. same as ADDX, except subtracts. INCRX: ..••... DECRX: •..•.. MPYZ: . . . . • . . NMPYX: .•.•... DIVX: . . . . . . . . NDIVX: •....•• DVHX: .•..... NDVHX: •.•.... TESTX: . . . . . . . ADDA: • . . . . . . • SUBA: . . . . . . . . INCRA: . . . . . . . DECRA: INITA: •..... ...... . MOVEA: . . • . . . . COMPA: ..•..•. TBCTL: .••.•.. SERCH: ADITM: DLITM: RPITM: LINK: . . . . . . . . STOP: . . . . . . . . TyPE: . . . . . . . . TRIN: . . . . . . . . Description same as SUBX if result positive; if negative, zeros are placed. increments data in a numeric field. decrements data in a numeric field. multiplies data in 2 numeric fields and puts result in a numeric or RPT field. same as MPYX, except sign of product is reversed. same as MPYX, except divides. same as DIVX, except sign of quotient is reversed. divides, provides automatic protection, halts and transfers for a zero divisor. same as DVHX, except sign of result is reversed. tests data and transfers according to negative, zero, or positive condition. replaces one field reference with another to which an increment has been added. same as ADDA, but decrement has been subtracted. increments a field reference. decrements a field reference. creates an address constant and replaces a field reference with it. replaces one field reference by another. compares two field references and transfers on low, equal, or high. enables BSRCH and SSRCH to search a binary or serial table. searches either a binary or serial table. places a new item in a binary or serial table. deletes an item from a binary or serial table. replaces the function of an item in a binary or serial table. links to one or more subroutines. causes a "dead-end" halt. types a message. transfers indirectly. MACHINE ORIENTED LANGUAGE: AUTOCODER § 417:171.811 171. . 81 .81 Macros (Contd.) Macros (Contd.) 1414 Model 6 I/O Synchronizer defines I/o Control System. DDF: . • . . . . . . defines data file. OPEN: . . . . . • . opens a file. CLOSE: ••..... closes a file. puts a message out. PUT: . • . . • . . . LEVRT: . . . • . . . leaves routine. mocs:. . . . . . . . IOCS80 Macros Code 729 Tape Units lOCS: . . . . . . . . lOFTA, IOFTB, IOFTC: . . . . . . IOTA, lOTS: ... lOGET, lOPUT: .. lORD, 10WR: ... lORDS, lOWRS: .. IODMP: . . . . . . . 10BSD, lOPOS, lOFSP, lOBSP, 10FSF, 10BSF: . IOCLS: . . . . . . . . lOMFO: . . . . . • . 10MFC: ..••..• lOFER: lORWD: 10RUN: IOTYP: IODEC: IOHLD: IOLNK: IODCH, 10IOF, 10ION, IOMIP, 10MOP, IORET: Description precedes all other macros in the assembly. describe files of object program; used to generate file table. des~ibe tape drives used by object program; used to generate the Tape Table. move data between work areas and I/O areas; may also issue read or write requests. used to read or write a tape record into or from an area specified in the file table; record length checking may be performed. used to read or write a tape record into or from an area specified in the macro. used to write a record on tape from an address specified in the macro through to the end of the octant. 7750 Programmed Transmission Control DDF, OP OPEN, PUT:. same as 1414, above. CLIP: . . . . . . . . clears input area pool and closes file for input operations. CLOSE: . . . . • . . same as Qutput. LOAD: . . . . . • . . performs dynamic loading of 7750 stored program. ENDLD: . . . . . • . releases 7750 from load status. DUMP: unloads 7750 storage to 7080 memory. IOCTL: gives command to 7750 stored program. leaves real-time routine. LEVRT: • . . . . . mocs, 1301 Disk Storage DDF, OPEN, CLOSE:. GET, GETS, GETR: mocs, PUT, PUTS, PUTR: MVRSA: ••.•••• tape movement macros. terminates operations on an input or output tape. starts operations on a new file of a multifile output tape. terminates operations on an output tape without rewinding. forces an end-of-reel condition. rewinds a tape. rewinds and unloads a tape. types a message. sets up a message and enters a waiting loop. insures that all I/O operations on a particular file have been completed and checked. with OPEN operand, reopens an input file. links to specific routines in IOCS other than CSDTS. used to modify existing specifications or conditions, in 10CS or the object program. © 1963 ENTDR: . . . . • . FSEQP: . . . • . . . LEVDR: •...•.. .82 same as 1414, above. get data record; get single reference; get random record. put data record; put single-reference; put random record. moves record to stacking area. enters disk routine. forces sequential processing. leaves disk routine. Pseudos Code LASN: SASN: RASN: ••••.... SUBRO: ••••..• SUBOR: ••••••• LITOR: •••..•. TCD: . . • . • . . . INCL: . . . . . . . . Auerbach Corporation and Info, Inc. Description . sets a location counter to a specific location. sets the Blank counter to an actual address or to a previously assigned location. allows assembly at a location to be treated as if assembled in another location. assigns subroutines within macros. assigns library routines. assigns literals. causes a temporary halt in loading of the object program, and execution of the portion just loaded. designates a library subroutine that is to be inserted in the object program. 12/63 417:171.820 § IBM 7080 171. .82 .82 Pseudos (Contd.) Code TRANS: • . . . . . MODE: ...•.•. EJECT: TITLE: RCD: CON: FPN: .•...•.• RPT: NAME: . . • . . . . CHRCD: BITCD: . . • . . . . SWT: . . . . . . . . . SWN: ALTSW: 12/63 ..... Description -equates the operand of an instruction into an actual location derived from the operand of the TRANS. indicates a change in the language of the source program. advances the listing to a new page. places lines or paragraphs of descriptive information in listing. defines a field in which a record block, individual record, or a portion of a record will be placed. defines a field which will contain constant data and provides a constant itself. defines a field for a constant floating point number. defines a field for numeric data for a report and specifies the print format. identifies a series of adjacent fields as a unit and specifies the final digit or digits of the address of a field. indicates a charactor code switch. indicates a bit code switch. defines a program switch which will be on initially. defines a program switch which will be off initially. designates a console alteration switch. Pseudos (Contd.) Flags Code @: A: B: C: D: F: G: H: M: R: S: T: Z: 1: . Description causes output produced from corresponding entry to start a new card. reduces location assignment phase assembly time. causes Processor to scan the entry from Right to Left. designates that the entire card is a comment. all diagnostic messages for the entry are to be deleted. denotes beginning and end of a chain of macros. causes a change entry to be treated as a generated entry. causes entry to be listed on the Halts page of the Operator's Notebook. causes entries to be printed on the Operator's Notebook with blank operands. resets location counter. program cards not to be produced. removes entry when not test-assembling. causes replacement of the standard "00" card by a TCD "00" card. weights inner macro as one so that accuracy of the Frequency Table is improved. 417:171.900 MACHINE ORIENTED LANGUAGE: AUTOCODER § 171. .9 CODING FORM FOR M X28-1636 7080 PROCESSOR CODING FORM o Page _ _ of _ _ _ __ 0 Program or Macro _ _ _ _ _ _ _ _ _ __ Date _ _ _ _ _ _ __ Programmed by _ _ _ _ _ _ _ _ _ _ __ , IDENT I PGlIN 1 INCLUSION TEST TAG 56 , OPERATION NUM 5 16 CODING ON BACK 80 75 OPERAND v , M1 M2 M3 51 \2 ,, ,G - COMMENTS 3940 20 21 22 23 - 6263 65 67 69 71 737 I I I I I I I I I I I I I I I I J L L ,I ~ ~ I I I I I I I I I I I I -' I L I 1 I I I I I I I J I I I I I I I I I I I L I I I I I I I I I I I I I J I I I I I L I J_ © 1963 Auerbach Carparation and Info, Inc. 12/63 417:181.100 IBM 7080 Program Translator 7080 Processor PROGRAM TRANSLATOR: § .22 lSI . .1 GENERAL • 11 Identity: .. .12 Description . . . . . . 70S0 Processor. The 70S0 Processor module of the 70S0 Compiling System is used to translate IBM 70S0 Autocoder, FORTRAN, Report/File, Decision, Arithmetic, and Table Creating languages (or any reasonable combination of these) into 70S0 machine language object programs. Operation of the 70S0 Processor requires an IBM 7080 computer with 80,000 positions of core memory, 10 tape units, and a printer. Use of a card reader is optional and permits changes in assembly sequence and functions. If additional memory is available, it will be used to optimize macro generation time and increase the storage area for input-output operations and tables. Documentation facilities are numerous and flexible. A variety of assembly runs is possible. If a 160, OOO-position core memory is available, a frequency count table is used to optimize macro generation time during assembly. The Input/ Output Control System is a supplement to the 70S0 Processor that effectively eliminates the need for detailed programming of standardized input-output routines. Thirty-five macro instructions are provided with IOCS80 for use with 729 Tape Units. Routines to perform functions such as execution of input-output operations, error correction, tape control, recording of memory at various checkpoints, GET/PUT operations (optional), and housekeeping are made available by the use of IOCS macros. A description of these macros can be found in Section 417:171. Sl. . 13 Originator: . . . . . . . . IBM Corp . . 14 Maintainer: . . . . . . . . as above . . 15 Availability: .2 INPUT .21 Language .... released December, 1962. 7080 PROCESSOR Form .221 Input media: . . • . . . . card images on magnetic tape plus optional control cards; or cards . . 222 Obligatory ordering: .. must be in correct sequence according to coding sheet page and line numbers. .223 Obligatory grouping: .. none. .23 Size Limitations .231 Maximum number of source statements: .. no practical limit. .232 Maximum size source statements: . . . . . . . no practical limit (can be continued from card to card). . 233 Maximum number of data items: ... no practical limit. .234 Others Maximum input blocking factor: ... 31 SO-character records. .3 OUTPUT · 31 Object Program .311 Language name: . . . . . IBM 70S0 machine language. .312 Language style: . . . . . machine. .313 Output media: . . . . . . card images on magnetic tape; maximum of 65 columns of instruction and/or constant entries per card. · 32 Conventions .321 Standard inclusions: . IOCS linkages (IOCS routines may be preassembled or assembled along with the program) . . 322 Compatible with: . . . . IBM 7.080 Supervisory Control System (Section 417:191) . 70S0 Autocoder library . · 33 Documentation Subject . . . . . . . . . . IBM 7080 Autocoder, FORTRAN, Report/File, Decision, Arithmetic, and Table Creating languages, or any combinations of these. .212 Exemptions: . . . . . . . none. Provision .211 Name: © 1963 Source program: . Object program: .... Storage map: . . . . . . Restart point list: . Language errors: .. Auerbach Corporation and Info. Inc. listing. listing. listing. none. listing and messages during assembly. 12/63 417:181.330 § 181. .33 IBM 7080 .41 Section 5: Documentation (Contd.) Operator's Notebook list of halts, titles, location assignments, switches, all TAG NOT REQUIRED messages, statements having blank operands, and those statements indicated for separate listing of flags: .. listing (optional). Symbolic Analyzer entries defining or referencing a tag and operand modifiers and character adjustment are included: listing (optional). Conditional listing (if assembly could not proceed): . . . . listing. Note: Listings are written on magnetic tape for off-line printing. .4 TRANSLATING PROCEDURE .41 Phases and Passes Section 1 *: . . . . . . . . Processor housekeeping reads control cards, processes them, and loads and transfers to next section. (If a COBOL run is to be made, the COBOL Processor sections will be placed after this section). Section 2: . . . . . . . . Processor input - reads source program and determines which section is to be executed next. Loads and transfers to that section. Section 3: . . . . . . . . . Higher language - executed only if FORTRAN, Report/File, DeCision, Arithmetic, or Table Creating languages are present in the program. Statements in these languages are translated, the next section is determined, and a transfer is made. Section 4: . . . . . . . . . Processor librarian executed only if a librarian assembly has been requested. Prepares macros for use during the current assembly. * "Section" refers to one or more related phases. 12/63 Phases and Passes (Contd.) Section 6: Section 7: · 42 Optional Mode .421 · 422 • 423 · 424 . 425 Translate: . . . Translate and run: Check only: Patching: Updating: .. · 43 Special Features · Processor edit - determines whether macroheaders are present. If so, next section is loaded and transfer is made. If not, next section is 7. · Macro-generation - produces one-for-one statements for each macro-header. Loads next sections and transfers to it. · Location assignment through output (assembly section) - assigns locations, inserts constants and addresses, and produces final listing and program cards. If multiple assembly is requested, housekeeping section is loaded and assembly is repeated. If not, as sembly ends here. · · · · · yes. no. yes. yes . no. .431 Alter to check only: . no. · 432 Fast unoptimized translate: . . . . . . . . no. .433 Short translate on restricted program: . yes; "high-speed assembly" run bypasses all generator phases, so only onefor-one entries can be inserted, deleted, or replaced. .44 Bulk Translating: . · 45 Program Diagnostics .451 Tracers: .. .452 Snapshots: .453 Dumps: · 46 . yes; multifile assembly control. · none. · none. · manual dump or standard memory print routines. T flag allows certain instructions to be included or deleted during an assembly run. Translator Library .461 Identity: ••••...••• 7080 Processor library (Autocoder library), .462 User restriction: •••• none. PROGRAM TRANSLATOR: 7080 PROCESSOR 417:181.463 .53 s 181. OQtimizing Data (Contd.) Implicit: .463 Form Storage medium: ... magnetic tape. Organization: . . . . . . strings . . 464 Contents Routines: . . . . . . . . macro instruction routines and subroutines. Functions: • . . . . . . for FORTRAN Processor. Data descriptions: .. none. • Labels should be left-justified to minimize shifting operations during assembly. " Unnecessary labels should not be used because assembly time is lengthened. .54 Object Program Performance: . . . . . essentially unaffected (i. e. , same as hand coding); efficiency will generally decrease if macros are used extensively. .465 Librarianship Insertion: .. · ... during special library run. Amendment: · ... during special library run. Call procedure: · ... INCL pseudo instruction and LINK macro. .5 TRANSLATOR PERFORMANCE .6 COMPUTER CONFIGURATIONS .51 Object Program SQace .61 Translating Computer .511 Fixed overhead Name IOCS: Space averages over 20,000 positions Checkpoint routine: 2,000 positions SCS80: approx. 3,200 positions Comment depends upon facilities used (number of channels, etc. ) used if no work tape is specified. if operating system is used. .512 Space required for each input-output file: . . . . . . . . . . . . as specified by programmer. .513 Approximate expansion of procedures: . . . . . one-to-one (except macros, which are widely variable). . 52 Translation Time: . 53 Optimizing Data • • . IBM 7080 computer with 80, 000 core storage positions. 10 magnetic tape units (729 or 7340). .612 Larger configuration advantages.: . . . . . . . extra tape unit or card reader permits multiple runs (bulk translation). extra memory will be used to store macro components, thus shortening macro-generation time; size of I/O areas and tables are increased. up to 3 more tapes can receive output. . 62 Target Computer .621 Minimum configuration: . . . . . 40K IBM 705 mor any IBM 7080 computer . .622 Usable extra facilities: all. ? Explicit: • .611 Minimum configuration: .7 The SPEED macro instruction may be used to optimize either space or time in the coding generated from macro-headers. ERRORS, CHECKS AND ACTION Error Missing entries: Unsequenced entries: Duplicate names: Improper format: Incomplete entries: Target computer overflow: Inconsistent program: Improper operation: Flag 1 causes inner macro instructions to be called once and enables the Frequency Count Table (table of macros used) to reflect more accurately the frequency of macros. Efficiency of macro generation is increased and processing time is reduced as a result. Flag A used within Class B subroutines reduces location assignment phase assembly time. .8 Check or Interlock Action check check check check check noted noted noted noted noted in in in in in listing. listing. listing. listing. listing. check check check noted in listing. noted in listing. inserts NOP; noted in listing. ALTERNATIVE TRANSLATORS Automatic: • A Frequency Count Table is generated which contains the name of every macro instruction used and (if 160K core is available) the number of times it is used. This table is used during macro generation to increase efficiency and reduce processing time. © 1963 Computer: . . . . . . . • Identity: . . . . . . . . . . Date: .... Comment: . . . . . . . . . Auerbach Carporotion and Info, Inc. IBM 7080. 7058 Processor. released October, 1960. routines are provided to produce complete compatibility with the 7080 Processor. 12/63 417:1B2.100 IBM 70BO Program Translator 70BO COBOL Processor PROGRAM TRANSLATOR: 13 182. .1 GENERAL . 11 Identity: .. . 12 Description . . . . . . 7080 COBOL Processor . The 7080 COBOL Processor, a module of the 7080 Compiling System, converts source programs written in IBM 7080 COBOL (Section 417:161) into 7080 Autocoder language. The Autocoder statements are then automatically assembled into a machine language program by the 7080 Processor, the other module of the 7080 Compiling System. The phases of the 7080 Processor are described in Section 417:181. The COBOL Processor phases will be performed after the 7080 Processor Housekeeping Section, and will be followed by the 7080 Processor Input Section. The addition of the COBOL Processor module to the 7080 Compiling System does not alter the minimum machine requirement: 80,000 positions of core storage and 10 tape units. The use of the console card reader is optional. Additional core storage allows flexibility in the modification of Processor phases. Multiple assemblies are permitted when an additional tape unit is available. Two types of 7080 COBOL processor runs are allowed: • Analysis Run - the COBOL source program is analyzed, and diagnostic messages are provided for any COBOL statement errors. No conversion to Autocoder is performed. • Compilation Run - a joint run of the COBOL and 7080 Processors. The former converts the COBOL source statements into a series of Autocoder statements, and the latter converts these, plus any Autocoder source statements that the program may contain, into a 7080 machine language program. A partial compilation run (i. e. , one that terminates at the end of the COBOL phases) is also permitted. A preassembled Input/Output Control System can be used with the COBOL source program. This results in a saving in compilation time because the coding for the required IOCS functions does not need to be generated. 70BO COBOL PROCESSOR .13 Availability: . . . . . . . released February, 1%3. .2 INPUT · 21 Language . 211 Name: .. . 212 Exemptions: .• · 22 © 1963 Form · 2in Input media: . . . . . . . punched cards or single reel of magnetic tape. · 222 Obligatory ordering: .. Identification Division. Environment Division. Data Division. Procedure Division. .223 Obligatory grouping: •. by division, section, and paragraph. · 23 Size Limitations .231 Maximum number of source statements: •• · 232 Maximum size of source statements: •. .233 Maximum number of data items: . . . . • . . .234 Others Maximum computational item size: . . . Maximum alphameric literal size: . .3 OUTPUT • 31 Object" Program no practical limit. no practical limit. no practical limit. 18 digits. 120 characters. (If a numeric literal contains a decimal point, there cannot be more than 99 digits on either side of the point.) .311 Language name: •. . . . IBM 7080 Autocoder. .312 Language style: .. • symbolic (converted to final machine language by the 7080 Processor; see Section 417:181). • 32 Conventions .321 Standard inclusions: .• IOCS80. .322 Compatible with: ..•• 7080 Autocoder library • . 33 The 7080 COBOL Processor checks for a variety of source program errors. Typewriter diagnostic messages are produced upon the detection of certain errors. Compilation may be halted, an operator decision may be required, or compilation may be continued, depending upon the seriousness of the error. Other diagnostic messages are produced on the output listing tape. ... IBM 7080 COBOL . . see "Deficiencies with respect to Required COBOL 61" in Paragraph 417:161.142. Documentatidn Provision Subject listing tape. Source program: Object program: listing tape. Storage map: .•...• listing produced by 7080 Processor. Restart point list: .. none. Language errors: •• listing tape. Auerbach Corporation and Info, Inc. 12/63 IBM 7080 417:182.400 § 182. .41 .4 TRANSLA TING PROCEDURE .41 Phases and Passes .. controls the operation of subsequent COBOL phases. Phases 2, 3, 4: • . . scan source program and converts division entries to Autocoder entries, internal records or statements, or definitions. Phase 5: • . . . • . . • . produces General I/O and File Name generator requests. Phases 6,7: . . . . . . . sort the modifier records into the same sequence as the DDF definitions. Phase 8: . • . . . • . • . . combines the modifiers with the DDF definitions and writes DDF and GRF onto separate tapes. Phase 9: • . . . . . . . . . reduces programmer names to 5-character identifieraddresses; splits off clauses with "CORRESPONDING. " Phase 10: •••....•. reduces statements with "CORRESPONDING" to lowest level clauses. Phase 11: . • . . . . . . . transfers characteristics from DDF to GRF; creates tags for reference names. Phase 12: . . . . . . . . . converts DDF definitions to Autocoder NAME, RCD, etc; creates glossary used only for compilation. Phase 13: . . . . . . . . . generates Autocoder for GO, STOP, PERFORM; generates necessary TR and TRANS entries for IF, AT END, and ON SIZE ERROR. Phase 14: .•...• ; .• splits off statements to be processed by phases 15 thru 21. Phases 15, 16, 17, 18, 19, 20: •.. " . . . . . . combine Environment and I/O commands and generate Autocoder I/O macros. Phase 21: ..•••..•. generates Autocoder for ADD, DISPLAY, REDEF, and SUBTRACT. Phase 22: .. expands and completes conditional expressions. Phase 23: .. scans and pre-edits arithmetic and logic statements. Phase 24: ..•••••.• optimizes and generates Autocoder for arithmetic and logic statements. Phase 25: • • . . . . . . . converts source and internally-created MOVE statements to Al\tocoder macros. Phase 26: . . . . . . . • . sorts subscripts (from prior generators) into source program order. Phase 27: ••...•.•. optimizes and generates Autocoder macros to calculate subscripts. Phase 28: . . . . . . . . . generates PERFORM subroutines, and creates and optimizes object constants and work areas requested by other generators. Phase 29: . . . . . . . . . edits, splits, and blocks the entire file of generated Autocoder entries. Phase 30: . . . . . . . . . replaces the actual value of literals split off by phase 4. Phases 31, 32, 33, 34, 35: . . . . . . . . . sorts edits, combines, and prepares card image or list output. Phase 36: . . . . . . . . . sets up file tables and constants for next phase of 7080 Processor. Phase 1: . . . . . . 12/63 Phases and Passes (Contd.) Note: GRF DDF Generator Request File Data Definition File .42 OQtional Mode .421 .422 . 423 .424 .425 ... yes. Translate: Tra:J.slate and run: ... no. Check only: . · yes. Patching: · no. Up-dating: · no. · 43 SQecial Features ... .431 Alter to check only: .. no . . 432 Short translate on restricted program: . partial translation is possible. .44 Bulk Translating: . . . . yes. .45 Program Diagnostics .451 Tracers: .. .452 Snapshots: . · 453 Dumps: .•. · no. · no. · automatic when serious error is detected; can be taken manually at any time (no restart facility). .46 Translator Library: . 7080 Processor library; see Paragraph 417: 181. 46. ·5 TRANSLA TOR PERFORMANCE .51 Object Program Space .511 Fixed overhead: . . . . . usually over 20,000 positions; depends upon 10CS facilities used. 417:182.520 PROGRAM TRANSLATORS: 7080 COBOL PROCESSOR § 182. .52 Translation Time: ... no data available. . 53 Optimizing Data .612 Larger configuration advantages: . 1 more magnetic lape unit permits bulk translalinp;. larger corc storage permit;; modification of COBOL phases. Explicit: • Storage size and optional features of the target computer are specified in the OBJECTCOMPUTER paragraph of the Environment Division. • Up to seven alternate input-output areas ean be specified for magnetic tape files. • Magnetic tape records may be of variable length. • Multiple redefinitions of record item areas are permitted. . 62 Target Computer .621 Minimum configuration: .. . 622 Usable extra facilities: .•.. . IBM 7080 Central Processor with sufficient core storage to hold object program, data, and subroutines. .. magnetic tape units, card reader, card punch, printer, typewriter, and larger core storage. Automatic: Because of the 7080's alphamerie mode of operation, conversions between the DISPLAY and COMPUTATIONAL modes are not required. • Autoeoder macros, arithmetic and logic statements, object constants, and work areas are optimized by the compiler. Implicit: • Do not compute anything within each pass through a PERFORM loop that ean just as well be computed only once, before entering the loop. • Do not compute the same sub-expression in two or more different COMPUTE statements if the practiee can be avoided by evaluating the subexpression in a separate statement. • Check input data for reasonability. . 54 Object Program Performance: . . . . . no data available. .6 COMPUTER CONFIGURATIONS .61 Translating Computer .611 Minimum configuration: . . . ... IBM 7080 with 80,000 core storage positions. 10 magnetic tape units (729 or 7340). console card reader (optional) . © 1963 .7 ERRORS, CHECKS AND ACTION Error Check or Interlock Action Missing entries: check Unsequenced entries: Duplicate names: Improper format: Incomplete entries: Target eomputer overflow: Inconsistent program: Excessive item size: Data descriptor conflicts: Invalid editing: Invalid subscripting: Class contradiction: Tape assignment for assembly: check type message (division missing). tape listing message. check check check tape listing message. tape listing message. tape listing message. check tape listing message. check tape listing message. check tape listing message. check check check tape listing message. tape listing message. tape listing message. check tape listing message. check tape listing message. Note: When a "critical" error which makes further processing impractical is detected, compilation IS halted. Auerbach Corporation and Info, Inc. 12/63 417:191.100 IBM 7080 Operating Environment Supervisory Control System OPERATING ENVIRONMENT: SUPERVISORY CONTROL SYSTEM § 191. .213 Data: . . . . . . . . . .. •1 GENERAL .11 Identity:......... . 12 Description . 214 Master routines: ... IBM 7080 Supervisory Control System (SCS80). The IBM 7080 Supervisory Control System (SCS80) consists of two major parts: the Object Time Routine and the Librarian. The functions of the Librarian are to: .22 Library Subroutines: on "module tape" in Program Tape Library . . 23 Loading Sequence: manually controlled (determined by order of control cards in the console card reader); or can be program controlled (a program can request the loading of another program). .3 HARDWARE ALLOCATION .31 Storage o Create and maintain a library of user's object programs (Program Tape Library); and o Create a current (program) tape, to be used at object program time, by selection of programs on the Program Tape Library which are scheduled to be executed. The Object Time Routine (which is used when the object programs are executed) can: o Search the program tape to locate the program to be run (indicated by control cards); III Verify the settings of the console switches; • Load the program; and o Transfer control to it. .13 Availability: . . . • .. December, 1961. • 14 Originator: • . . . . .. IE M Corp. • 15 Maintainer:....... IBM Corp. .16 Reference:....... IBM Publication J28-6176. .2 PROGRAM LOADING .21 Source of Programs .311 Sequencing of program for movement between levels: ... implemented by programmer (transfer to @0009 or use of an Execute control. card causes a new segment to be loaded). .312 Occupation of working storage: . . . . . . . . assigned by programmer; routines must start in an address ending in 0 or 5 above @0499. @00040159 and 2,700 other core positions are reserved for the Object Time Routine . .32 Input-Output Units . 321 Initial assignment: .322 Alternation: . . . • . . . 211 Programs from online libraries: . . . . Librarian phase creates a Program Tape Library which contains all of user's programs. The current (Program) tape is created from the library to contain those programs which are to be run. .212 Independent programs: must be added to Program Tape Library by File Maintenance Routine (Librarian Phase). © 1963 on tape with program or on control cards . on the Distribution Tape . . 323 Reassignment: . . . . . specified in program . of program tape - by control card. of tape used by object program - specified in IOCS entries • speCified by means of control cards. .4 RUNNING SUPERVISION .41 Simultaneous Working: as incorporated in user's program. . 42 Multi-running: . . . .. no provision . . 43 Multi-sequencing: .. no provision . Auerbach Corporation and Inlo, Inc. 12/63 417:191.440 IBM 7080 § 191. .44 Loading input error: Allocation impossible: In-out error single: In-out error persistent: Storage overflow: check check check check check Invalid instructions: none. Program conflicts: none. Arithmetic overflow: check Underflow: check Invalid operation: check Improper format: check Invalid address: Reference to forbidden area: check halt; manually rewind PGM tape and depress Load key to restart. .6 OPERATOR. CONTROL . 61 Signals to Operator Restarts: . . • . . . halt and message; press Start to try again. halt and message; resubmit as PATCH. enter nonstop mode. halt and message; reassign as PATCH. enter nonstop mode. halt and message; recreate program (current) tape. enter nonstop mode. .51 Dynamic message on console typewriter. message on console typewriter. .63 Operator's Signals .631 Inquiry: . . . . . . . . . .632 Change of normal progress: . . . . . . . •7 LOGGING: . . . . . . . .8 PERFORMANCE . 81 System Requirements .811 Minimum configuration: • 812 Usable extra facilities: .813 Reserved equlpment: none . DMP instruction in object program; program images are written on tape by IOCS. not required; necessary information is specified on control cards. Operator's Decisions: console keyboard. operands of IOCS macros. Memory Record phase of IOCS80 and Memory Restore System will accomplish restart. Operator may start a program at the beginning of a load segment. PROGRAM DIAGNOSTICS manual, linkage to st:U1dal'd routine, or linkage to Snap Print routine. .62 see Memory Restore System (CSMRS), Paragraph 417:151.17. .5 . 511 Tracing: . . • . • . . . . 512 Snapshots: . . • . . . . . 611 Decision required by operator: . . . . . . . halt and message; .612 Action required by reaSSign with operator: .••.... PATCH. .613 Reporting progress of run: . . . . . . . . . repeat operation. none. .451 Establishing restart points: . . . . . . • . • .452 Restarting process: 12/63 Post Mortem: . . . .. Errors, Checks, and Action Check or Interlock .45 .52 none. methods are available to abandon a run and to alter the sequence of routines by changing the order of control cards. console typewriter . Object Time Routine 1 program tape, 1 console card reader, 1 console typewriter, 3,200 pOSitions of core. File Maintenance Routine 4 magnetic tape units. 1 console card reader, 80,000 positions of core, IOCS80. Production-of-Current-Tape Routine 5 magnetic tape units (2 channels), 1 console card reader, 80,000 positions of core . all. core area reserved for Object Time Routine (3,200 positions). console card reader. console typewriter. tape unit for Program Tape. 417:191.820 OPERATING ENVIRONMENT: SUPERVISORY CONTROL SYSTEM § 191. · 82 .84 System Overhead . 821 Loading time: . . . . . · 822 Reloading frequency: · 83 Program Space Available: . . . . . • . less than 1 second. Object Time Routine is loaded with each new program. all of core storage except the 3,200 positions occupied by the Object Time Routine. © 1963 .85 Program Loading Time: . . . . . • . . . limited by speed of input tape unit . Program Performance: use of SeS80 involves no significant overhead during the execution of a user's program since SeS80 only "directs program traffic. " Auerbach Corporation and Info, Inc. 12/63 / 417:201.001 IBM 7080 System Performance SYSTEM PERFORMANCE § 201. Generalized File Processing (417:201.1) These problems involve updating a master file from information in a detail file and producing a record of the results of each transaction. This application is one of the most typical of commercial data processing jobs and is fully described in Section 4:200. 1 of the Users' Guide. In the graphs for Standard File Problems A, B, C, and D, the total time required for each standard configuration to process 10,000 master file records is shown. Times for cases using both unblocked and blocked records in the detail and report files are shown by means of solid and dashed lines, respectively. The 7080 is shown in two standard System Configurations, both fully tape-oriented and including an off-line IBM 1401 for input-output processing. These configurations are shown in Section 417:031 and defined in the Users' Guide, Section 4:030. Only the times for the on-line 7080 processing, with all input and output files on magnetic tape, are considered here. The graphs for Configuration VII B, for both blocked and unblocked Files 3 and 4, show that tape time is usually the controlling factor on total time required over the activity range. The only exception is for blocked files in Problem D, where central processor time is controlling at high activity. For the more powerful Configuration VIII B, the controlling factors in Problems A and D for unblocked Files 3 and 4 are tape time of the master file near zero activity, central processor time at low activity, and tape time of the report file at moderate and high activity. Problem B shows that central processor time is controlling at low activity and tape time of the report file at moderate and high activity. The controlling factors in Problem C are tape time for the master file at low activity and for the report file at moderate and high activity. The graphs for blocked Files 3 and 4 indicate that central processor time is usually the controlling factor. The exceptions are where tape time of the master file is controlling: at low activity in Problems A, C, and D. Sorting (417:201. 2) The standard estimate for sorting 80-character records by straight forward merging on magnetic tape was developed from the time for Standard File Problem A according to the method explained in the Users' Guide, Paragraph 4:200.213, using a three-way merge. Timing tables for the IBM standard sort routines were used to draw the second sorting graph (Page 417:201. 220). A comparison of the two graphs indicates the advantage of using large blocking factors and sophisticated routines such as these for sorting operations on large-scale computers. © 1963 Auerbach Corporation and Info, Inc. 12/63 IBM 7080 417:201.011 SYSTEM PERFORMANCE s 201. WORKSHEET DATA TABLE 1 CONFIGURA TION WORKSHEET 1 (Unblocked (mocked VIIB Files VIIB Files 3 and 4) 3 and 4) ITEM Char/block Records/block K msec/block File 1 = 1,100 10 10 10 File 2 24.9 24.9 10.7 10.7 -- File 2 msec/block msec/record msec/detail msec/work msec/report msec/block for C. P. Standard Problem A F = 1.0 ~1 = File 2 -- t--- File 4 ~ ----~ I-- b5 + b9 b7 + b8 a2 f- ~ ~ -- --- and a3 K dominant File 1 Master In column. 21.1* 0 f-.... ~f- 1. 37 I - _ _ O'~ 2.01 0.20 0 •.2 ~ -- ~ -- 2.01 0.2 - 0.2 5.3 23.7 1.8 2.0 36.2 -0.5 '-- 1-0 1-0 C.P. 0.2 0.2 --- -5.3 - 0.2 - f- - f--5.3 - 23.7 f-23.7 1.8 --- 1.8 - - 24.9 - - 1.4 --- 2.0 - - 27.3 92.2 24.9 117.1 36.2 52.2 1.8 1.8 f-....- 2.0 36.2 - 4:200.1132 1-0 0.2 ' - - f-- 5.3 - - - --23.7 f--- f-- 1.4 C.P. 1-0 C.P. 4:200.112 0 - -0 - _ _ 1.77 __ -- - 0 -'--- - -0.5- i- - - 0.5 I-0.1 0.1 0.1 0.1 --t-- --- I - - - 1.1 1.1 1.1 - f--- - - - - - - -1.2 - I- - - 1.1 1.2 1.2 1.2 --- -1.8 File 2 Master Out - File 3 Details - 1.4 --- - Unit of Measure -- 0.2 -0.5 - t---- - - -~ 4:200.114 1.8 --1.4 -86.0 - - ---21.1 2.0 f-- 86.0 36.2 21.1 (character) Std. routines ~ed ~cks 20,000t - ___ lto23) - 6 (Blocks 24 to 48) Files Working Total * 20,000t -,- 0 700 2,000 4,880 300 27,880 10 records per block. t Estimated IOCS space requirements. 12/63 8.6 0 o~ -0.20 File 4 Reports Standard Problem A Space ~2_ f- 27.3* f-- _ _1.~ Total 4 f--~* f - - 0 C.P. 3 --- --- --- -_-_16~ I- --- -I- --- - I- - - -- 0 - -00 - - - ----- 00 0 File 4 I-- File 3 Central Processor Times -- File 3 msec penalty 2 I--- 8.6 - - t--- - - REFERENCE 1,10'0 1,100 10 9.2 = (mocked Files 3 and 4) 1,100 1--- File 1 VillB (File 1) File 4 msec/switch (Unblocked Files 3 and 4) (File 1) File 3 InputOutput Times VillB 0 --- 700 I- 2,000 8,680 35,000 t - -0 -700 -2,000 --- f - - 4,880 -500 -- --300 31,e80 42,580 _ _3_5,0~ f---- ~ 700 2,~ 8,680 500 46,880 4:200.1151 417:201.100 IBM 7oBo System Perform once SYSTEM PERFORMANCE f:j . 114 Graph: • . . . . • • . .. 201. ·1 GENERALIZED FILE PROCESSING • 11 Standard File Problem A see graph below. . 115 Storage space required Configuration VII B (unblocked files 3 and 4): • '. . . . . . . • Configuration VII B (blocked files 3 and 4): . . • . • . . . . Configuration VIII B (unblocked files 3 and 4): • • . • . . . . . Configuration VIII B (blocked files 3 and 4): . • • . . • . . . · 111 Record sizes Master file: •..•.. 108 characters (expanded to 110 to facilitate internal data movement). Detail file: . . • . . . . 1 card. Report file: •••.•.. 1 line. . 112 Computation: ••....• standard. • 113 Timing basis: •.•... using estimating procedure outlined in Users I Guide, 4:200.113 27,880 characters. 31,880 characters. 42,580 characters . 46,880 characters. 100.0 7 4 2 10.0 7 Time in Minutes to Process 10,000 Master File Records 4 2 VI~ 1.0 7 4 2 ,.- --- ---~ ,- ~ ---"" ~ -VUB ..." - """""" VIII B ./ VIII B - --- ---"",", ~-- 0.1 0.0 0.1 0.33 1.0 Activity Factor Averag.e Number of Detail Records Per Master Record Note: Dashed lines denote blocked Files 3 and 4; Roman numerals denote standard system configurations. © 1963 Auerbach Corporation and Info, Inc. 12/63 IBM 7080 417 :201.120 § 201. . 12 122 Computation: . . . . . . . standard. Standard File Problem B .123 Timing basis: • . . . . . using estimating procedure outlined in Users I Guide, 4:200.12. . 121 Record sizes Master file: . . . . . . 54 characters. Detail file: • • . . . . . 1 card. Report file: • . . . . . . 1 line. . 124 Graph: . . . . . . . . .. see graph below. 1,000.0 7 4 2 100.0 7 4 2 Time in Minutes to Process 10,000 Master File Records 10.0 7 4 2 -------------------VII B 1.0 7 ~ 4 !-" / 2 0.1 ~ .~ VIII£"'__ ..,.,.-/--- V-7. ........ ~ VIIL_- - - .-;- -VmB ,/ 0.0 0.33 0.1 Activity Factor Average Number of Detail Records Per Master Record Note: 12/63 -- Dashed lines denote blocked Files 3 and 4; Roman numerals denote standard system configurations. 1.0 -'. SYSTEM PERFORMANCE § 417:201.130 201. . 13 Standard File Problem C . 131 Record sizes Master file: . . . . . . . 216 characters. Detail file: . . . . . . . 1 card. Report file: . . . . . . . 1 line. . 132 Computation: ... . standard . . 133 Timing basis: .. . using estimating pl'ol'l'dul'l' outlined in Users' Guillt' . 4:200. 13. .134 Graph: . • . . . . . . . . . see graph below. 1,000.0 7 4 2 100.0 7 4 2 Time in Minutes to Process 10,000 Master File Records 10.0 7 4 2 ---- VII B 7 VIII 4 ------ --VII B -- 1.0 1Y .- .." po.-- -- - ~ VIII B 2 0.1 0.0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record Note: © 1963 Dashed lines denote blocked Files 3 and 4; Roman numerals denote standard system configurations. Auerbach Corporation and Info, Inc. 12/63 417:201.140 § IBM 7080 201. . 14 . 142 Computation: . . . . . . . trebled. Standard File Problem D .143 Timing basis: . . . . . . using estimating procedure outlined in Users I Guide 4:200.14. . 141 Record sizes Master file:. • . . . . . 108 characters. Detail file: . . . . . . . 1 card. Report file: . . . . . . . 1 line. .144 Graph: . . . . • . . . . . . see graph below. 1,000.0 7 4 2 100.0 7 4 2 Time in Minutes to Proccss 10,000 Master File Hecords lO.O 7 4 2 - 1.0 ,. 7 4 2 "".. ~- ~ --AI!!! VII B ~ --~ OIl!!!:: ~ ~- - ... - VIII B ./V t-""'" o. 1 0.0 0.33 0.1 Activity Factor Average Number of Detail Records Per Master Record Note: 12/63 Dashed lines denote blocked Files 3 and 4; Roman numerals denote standard system configurations. 1.0 SYSTEM PERFORMANCE 417:201.200 20l. .2 SORTING f;J .21 .212 Key size: . . . . . . . . . 8 characters . .213 Timing basis: •.••.. using estimating procedure outlined in Users' Guide, 4:200.213; three-way merge . . 214 Graph: • . . • . . . . . . . see graph below • Standard Problem Estimates . 211 Record size: •..•... 80 characters. 100 7 4 2 V~ .J 10 1 Jl ;; , 2 JI ~ {/ 1 v IJ' / f 4 Time in Minutes to Put Records Into Required Order " /' "I # ~ LB II 1 // VllBh 4 b / /' 1/ 7 2 / 0.1 1 4 2 0.01 100 2 71,000 2 7 10,000 2 7100,000 Num ber of Records Roman numerals denote standard System Configurations. © 1963 Auerbach Corporation and Info. Inc. 4/64 IBM 7080 417 :201.220 § 201. .22 Configuration VmB: • IBM 70S0 Generalized Sorting Program, using timing data in IBM Publication C2S-6324; 7340 Hypertape Drives are used for input, output, and merging. Merge order = 3. mocking factor = 112. IBM Sort Routine Times .221 Record size: •••...• SO characters. .222 Key size: .•••.•••• S characters. • 223 Timing basis: Configuration VrrB: • Sort SO, using timing data in IBM Publication C2S6125. Merge order = 3. Blocking factor = 29. . 224 Graph: ••••••.•••• see graph below. 100 7 4 2 II 10 7 f7 1/ 4 / 2 Time in Minutes to Put Records Into Required Order / V 1 7 / II II ~ " #' " V 4 .I 2 VII7 / / I V 0.1 /VIIIB ~ 4' 7 7' ./ 4 1/ 2 0.01 100 2 4 7 1,000 2 4 710,000 2 Number of Records Roman numerals denote standard System Configurations. 4/64 4 7 100,000 417:211.101 PHYSICAL CHARACTERISTICS § 211. Weight, pounds Power, KVA BTU per hr. 69 69 70 1,850 2,600 1,500 0.86 5.83 12,700 7,350 15,420 30 58 69 44 2,200 I, 100 1. 04 0.09 9,850 1,270 29 56 29 74 34 30 60 30.5 69 69 48 70 1,200 2,200 1,350 1,000 1.6 0.29 4.0 - 3,900 2,500 12,000 3,400 7908 Data Channel 38 72 70 500 0.62 5,800 1301 Disk Storage, Modell 1301 Disk Storage, Model 2 7631 File Control 33 33 38 85.5 85.5 32 68.5 68.5 70 3,625 3,825 500 7.5 9.0 2.5 16,700 20,000 4,800 1414-61-0 Synchronizer 1009 Data Transmission Unit 1011 Paper Tape Reader 1014 Remote Inquiry Station 73.5 29 32 24 31. 5 31 38 29 70 40 60 35 1,100 500 530 175 1.3 0.3 1.8 0.2 4,450 1,000 4,100 500 7502 Console Card Reader 40 27 41 200 - 740 7622 Signal Control 35 33 59 800 1. 82 Unit 7804 7102 7302 7305 Power Cabinet Arithmetic & Logic Unit Core Storage Central Storage and 1-0 Control 7153 Control Console 729 7621 7340 7640 Magnetic Tape Unit Tape Control Hypertape Drive Hypertape Control Width, inches Depth, inches 68 68 80 30 40 36 68 101 Height, inches 4,500 General Reguirements Temperature: .• . . . . . . . . . . . . . . . . . . • . . . . . . .. Relative humidity: • . . . . . . . . . . . . . . . . . . . . . . . .. Power: . . . . . . . . . . . • . . . • . . . . . . . . . . . . . . . . . © 1963 60 to 80°F. 40 to 70%. 208V, 60 cycle, 3-phase, 4-wire for all units except the following: • 1009 and 1014 require 115/208V, 60 cycle, I-phase. • 1011 and 7631 require 208V, 60 cycle, I-phase. Auerbach Corporation and Info, Inc. 12/63 417:221.101 IBM 7080 Price Dolo PRICE DATA § 221. IDENTITY OF UNIT CLASS i\]odl'l Name ;';0. PRICES Monthly Rental $ CENTRAL PROCESSOR 7102 $ 725.00 685,000 Central Storage and 1-0 Control Two channels Four channels 7,300 8,400 235.00 275.00 345,000 395,000 7153 Console Control Unit 1,500 41. 50 75,000 6091 Optional Feature Real Time Clock 175 2.75 8,000 7B04 Power Unit 1,600 32.75 60,000 17,500 10,000 580.00 3BO.00 840,000 4BO,000 Arithmetic & Logic Unit 7302 Modell Model 2 Core Storage 160,000 characters BO, 000 characters 1301 Modell Model 2 Disk Storage One disk array Two disk arrays 2, 100 3,500 13B.OO 23B.00 115,500 185,500 1302 Modell Model 2 Disk Storage One disk array Two disk arrays 5,600 7,900 ? ? 252,000 355,500 10 ? 400 7950 7631 Model 2 Model 3 Model 4 3213 INPUTOUTPUT Purchase $ 14,500 7305 Modell Model 2 INTERNAL STORAGE Monthly Maintenance 729 729 729 729 II IV V VI 1302 Attachment for 7631 File Control File Control For this system For this system and a 1410 For this system and another 7000 series system (except 7072). 835 1,035 30.00 35.00 42,000 52,000 1,035 35.00 52,000 25 1. 00 1,250 700 900 750 950 116.00 12B.00 122.00 134.00 36,000 41,250 37,200 42,450 Optional Feature Cylinder Mode Magnetic Magnetic Magnetic Magnetic Tape Tape Tape Tape © 1963 Unit Unit Unit Unit Auerbach Carporation and Info, Inc. 12/63 417:221.102 IBM 7080 PRICE DATA (Contd.) 8221. PRICES IDENTITY OF UNIT CLASS Model No. INPUTOUTPUT (Contd. ) 7621 Model 2 Model 4 7830 7908 Modell Model 2 Model 3 Model 4 Model 5 Model 6 Model 7 Model 8 Model 9 3221 3221 Optional Feature Tape Switch Data Channel One low speed channel Two low speed channels Three low speed channels Four low speed channels Two high speed channels Two high speed and one low speed channels Two high speed and two low speed channels Two high speed and three low speed channels Two high speed and four low speed chalmels Data Channel Attachment for 7305 (for all models) Data Channel Attachment for 7102 (for models 5 - 9) Hypertape Drive, Modell Hypertape Control 1284 Optional. Feature Automatic Cartridge Loader 1011 1014 7864 7871 7875 7502 7622 I-a Synchronizer, Model 6 Data Transmission Unit and 3228 Adapter Paper Tape Reader and 5514 Adapter Remote Inquiry Unit and 6136 Adapter Telegraph I-a Feature Telegraph Input Feature Telegraph Output Feature Console Card Reader and 2265 Attachment Signal Control Purchase $ $ 3,300 3,470 233.00 233.00 147,000 153,800 85 6.50 4,400 1,825 2,075 2,450 2,700 2,850 38.00 48.00 58.00 65.00 79.00 73,000 83,000 115,900 125,000 130,800 3,100 90.00 137,600 3,350 101. 00 144,400 3,600 112.00 151,200 3,850 123.00 158,000 25 - $ 1,000 250 2.00 11,800 1,300 3,400 130.00 102.00 78,000 218,000 125 16.00 7,500 850 12.00 43,350 700 600 15.'00 44.00 37,400 26,150 400 500 110 125 18.25 11. 00 3.25 3.25 22,500 30,500 6,750 7,750 375 18.25 18,750 1,500 22.00 26,000 ,- Note: 12/63 Tape Control For 729 II, IV For 729 II, IV, V, VI 7340 7640 1414 100D ~ Monthly Monthly Maintenance Rental Name Monthly maintenance prices shown here are applicable for first 36 months after installation. , I \ IBM 1130 International Business Machines Corp. AUERBACH INFO, INC. PRINTED IN U. S. A. "--. IBM 1130 International Business Machines Corp_ /' AUERBACH INFO, INC. PRINTED IN U. S. A. 418:001. 001 IA I I \ AUERBACH STANDARD EDP IBM 1130 REPORTS CONTENTS "-- CONTENTS Introduction . • • • • • . • . • . . . • • • • • • • . • . • • • . • • . • • • • . • . • • • . . Data Structure . . . . • • • . . . . . . . • • . . . • . • • • • . . . . . • . . . • . . . . . . System Configuration Typical Card System . • . • . • • • • • • . . • • . . • . . . • . . . . . . I IX Desk Size Scientific System . • . . . • . . • • . . . . • . . . . . . . . . Internal Storage Core Storage . . . . • . . . • . . . . . . . . . . . . . • • . . . . . . . . . . . . . . Disk File . . . . . • . . . • . . . • . . . • . • • . . . . . . . • . . . . . . • . . • . Central Processor . . . • . . . . . . • . . . . • • . . . • • . . . . • . • • • • • • • . • . Console . • . • • . . . • . . . . • . . . . . . . . . . • • • • . . • . • • . • . • . • • . . . . Input-Output: Punched Card and Tape 1442 Card Read Punch, Models 6 and 7 . . . . . • . . • • • . . . . . • . . . 1134 Paper Tape Reader . . . . . • • • . . • . . • . . . • • • • • . . • . . • . . 1055 Paper Tape Punch . . • . • . • . . • . . . . . . . . . . . . . . . . . • • . Input-Output: Printer 1132 Printer . . • . . . . . . • . . . . • . . • . . . . . • . . . • . . . . . . . . . . Input-Output: Other1627 Plotter, Models 1 and 2: . . . . . . . . . . . . . . . . . . . • . . . . . . Console Printer/Input Keyboard . . . • . . . . . • • . . . • . • • . . . • . . . Simultaneous Operations. . • . . • • . . • . . . . . . . . . • . • • • • • • • • • • • . . Instruction List. . . • • . . • . . . • • . • • . . • . . . . . . . . . • . . . • . . . . . . . Data Code Table • . • . . . • . . . . . . • • • • . . . . . . . • • . • • • • • • • • . • • . Problem Oriented Facilities . . . . . • • • • • . . . . . • . • . • • • • • . . • . • . . Process Oriented Language 1130 FORTRAN ..••••.•..•••••.•...•••..•......•••• Machine Oriented Language 1130 Assembler . • • . • . . . • . . . • . . • . • . • . . . . • • • • . • • • • . . Program Translators 1130 Assembler .••••••.•...••.••••.••••.•••••••••••. 1130 FORTRAN .••••••..•.•..•••..•••.•.••••••••••. Operating Environment 1130 Monitor System • • • • . . . . . . . • • . • . . . . • . . . . . . • • . . . . System Performance ••.••••••.•••.•.•.••.•••••••.•••••.. Physical Characteristics . . • . . . . . . . . . . . • • • • • . • • . • • . . • • • • • • . Price Data .••••..••..•..•.••.•••••••..••••••..••.•••. 418:011 418:021 418:031.1 418:031. 2 418:041 418:042 418:051 418:061 418:071 418:072 418:072 418:081 418:101 418:102 418:111 418:121 418:141 418:151 418:161 418:171 418:181 418:182 418:191 418:201 418:211 418:221 , ( \ © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 IBM 1130 418:001.002 /' IBM 1130 Computing System, showing the disc cartridge (lower right) and the 1442 Card Read Punch (at rear). 5/66 fA. AUERBACH @ -1- fA. - AUERBAC~ • 418:011. 100 STINDARD EDP IBM 1130 INTRODUCTION REPORTS INTRODUCTION .1 SUMMARY The IBM 1130 is a desk-size, word-oriented computer intended primarily for smallscale scientific applications. It can also serve as a low-cost processor for certain business applications that do not require high input-output speeds. The 1130 system is designed to be easy for scientists and engineers to program (in FORTRAN) and operate, so that it will be suitable for use instead of, or as an adjunct to, a larger centralized scientific computing facility. System rentals vary from approximately $680 per month with minimum storage and input-output equipment to over $1, 800 per month with disc storage and a full complement of input-output equipment. IBM announced the 1130 system in February 1965, and initial customer deliveries were made in November 1965 . .2 HARDWARE The IBM 1130 system offers a choice of four processor models. The models differ only in respect to core and disc storage capacities, as described below: • 1131 Model lA Central Processor - 4,096 core memory locations. • 1131 Model IB Central Processor - 8,192 core memory locations. o 1131 Model 2A Central Processor - 4,096 core memory locations and 512,000 disc storage locations. o 1131 Model 2B Central Processor - 8, 192 core memory locations and 512,000 disc storage locations. Core storage and the Disk File drive (in Models 2A and 2B) are housed in the desk console which is an integral part of the 1131 Central Processing Unit. Core memory access time is 3.6 microseconds for each access of one 16-bit word. The basic word length is 16 bits. The high-order bit position of the word is considered a sign bit during arithmetic operations. All processor models are essentially single-address, fixed word-length, binary processors. The instruction repertoire consists of 29 instructions, most of which permit indirect addressing and indexing. Fixed-point binary addition and subtraction in both single-word and double-word precision are provided. Singleprecision, fixed-point multiply and divide are also standard instructions. No hardware facilities are provided for decimal or floating-point arithmetic, but extensive floatingpoint operations are possible through standard subroutines. Excluding shift operations, all instructions can be written in either a "short" (one-word) or "long" (two-word) instruction format. The short instruction format allows indexing but not indirect addressing, and has an 8-bit address field which is added to one of three index registers or the instruction counter to produce a final memory address. The long format has a 16-bit address field, which permits direct addressing of the full range of core storage. The Central Processor provides six interrupt levels. Interrupts are generated only by peripheral devices, and an interrupt is generally initiated for each character transferred between the device and the processor. The Disk File, however, generates an interrupt only upon completion of an entire operation. . The removable-cartridge Disk File included in the Model 2A and 2B Central Processing Units stores up to 512, 000 words on a single disc, in sectors of 320 words each. Up to one full sector can be transferred in one read or write operation. The sectors are numbered sequentially, and up to 8 sectors (2, 560 words, or one "cylinder") can be accessed without repositioning the access arm. The average total access time to randomly-placed data is 790 milliseconds. Only one Disk File drive can be included in an 1130 system, but unlimited off-line storage is possible with the use of additional disc cartridges. The input-output devices that can be connected to an 1131 Central Processing Unit are limited in range and number. Only one of each of the following devices can be connected to a central processor (any model) : • 1134 Paper Tape Reader - reads at 60 characters per second. o 1055 Paper Tape Punch - punches at 14.5 characters per second. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66, IBM 1130 418:011. 200 .2 HARDWARE (Contd.) • 1442 Card Read Punch Model 6: reads a maximum of 300 cards per minute; punches a maximum of 80 columns per second. Model 7: reads a maximum of 400 cards per minute; punches a maximum of 160 columns per second. • 1132 Printer - prints at up to 82 lines per minute for alphanumeric output and up to 110 lines per minute for numeric output. • 1627 Plotter Modell: plots at a maximum rate of 18,000 steps per minute. Model 2: plots at a maximum rate of 12,000 steps per minute; accepts paper of greater width than Modell. The various peripheral devices use several different data codes, and no automatic translation is performed during either input or output operations. IBM provides an extensive array of subroutines to perform conversions between the various data codes and between decimal and binary radices. The interrupt structure and I/O logic of the 1130 permit overlapping of internal processing with one or more I/O data transfers. The standard I/O control subroutines provided for the 1130 Assembler allow the user to take advantage of this capability for simultaneous operations. The FORTRAN I/O subroutines, however, permit no overlapping of non~I/O processing with I/O operations, nor do they permit simultaneous operation of two peripheral devices. Since most programming for the 1130 will probably be don~ in FORTRAN, the 1130 will appear to most users as a sequential system capable of only one operation at a time. One potentially interesting use of an IBM 1130 is as a remote terminal connected by a communications link to a larger central computer facility. IBM states that an adapter which allows an 1130 to be connected to a communications line is available on an RPQ basis, but complete details have not been released as yet . .3 SOFTWARE Three software packages are provided by IBM for use with the IBM 1130 system. Two are quite similar and are intended for use in systems with punched card or punched tape inputoutput but without the Disk File. The other software package is the 1130 Monitor System for use with disc-oriented systems. The Monitor System reduces the need for operator intervention by providing automatic handling of run-to-run supervision. The punched card and tape program packages became available in March 1966; the Monitor System, in Apri11966. The punched card and tape program packages include the following facilities: an 1130 Assembler; a FORTRAN compiler; a set of utility routines which provide facilities for data transcriptions, memory dumps, and loading programs; and an 1130 Subroutine Library, including subroutines for extensive floating-point arithmetic procedures, code conversions, and input-output control. The 1130 Monitor System includes a supervisor routine and a disc utility program in addition to the facilities offered by the punched card and tape packages. The IBM 1130 Assembler is a straightforward one-to-one assembler that provides for symbolic representation of the central processor instructions. The assembler includes pseUdo-instructions for calling IBM or user-coded input-output subroutines and for reserving core memory areas. Source programs can be assembled in either absolute (core image) or relocatable format. The 1130 FORTRAN language is a subset of the IBM System/360 Basic Programming Support FORTRAN IV language. No facilities are provided for COMPLEX, DOUBLE PRECISION, or LOGICAL operations, but the available language facilities will be adequate for most small-scale scientific applications. In addition, IBM provides applications packages to aid in solving petroleum exploration and engineering problems, civil engineering problems (COGO), and to aid in type composition. More general routines include statistical and numerical surface routines and additional FORTRAN subroutines (Mathpak). In general, these programs require a disc-oriented system. 5/66 A AUERBACH '" / .1 418:021. 100 SlIm" /AEDP AUER.AC~ - IBM 1130 "'ORTS DATA STRUCTURE DATA STRUCTURE .1 STORAGE LOCATIONS Size Purpose or Use 16 bits plus parity basic addressable unit (data or instruction) of core storage. Word (double length): 32 bits Character: 8 bits Card column: 12 bits Sector: 321 words double-precision arithmetic operands. alphanumeric data (printers and paper tape reader and punch). alphanumeric data (card reader-punch). basic addressable unit of disc storage. Name of Location Word: .2 IN FORMA TION FORMATS Type of Information Representation Operand: Instruction: 1 or 2 words. 1 or 2 words. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 -&.. 418:031.001 mNDARD /AEDP AUERBAC~ __ IBM 1130 SYSTEM CONFIGURATION BEPBITS "'~-----J SYSTEM CONFIGURATION Every IBM 1130 system includes one of four 1131 Central Processor Units. Each processor model includes a console typewriter and core memory; the core memory cycle time is 3.6 microseconds. The Central Processor Units differ in core memory size and auxiliary disc memory combinations as follows: Each peripheral device requires a special centra! processor attachment feature. If input from paper tape only is selected, a special feature, the 1134 Loader, is required on the paper tape reader to allow the loading of programs; this feature is not available if a 1442 Card Read Punch Unit is incorporated. • 1131 ModellA contains 4,096 words of core storage (no disc storage). • 1131 Model 1B contains 8,192 words of core storage (no disc storage). • 1131 Model 2A contains 4, 096 words of core storage and a 512, OOO-word disc drive. • 1131 Model 2B contains 8,192 words of core storage and a 512, OOO-word disc drive. In addition, a special Storage Access Channel is available for attachment of non-IBM peripheral devices to any model Central Processor Unit. Non-. standard peripheral devices, such as IBM magnetic tape units, can be connected to the Storage Access Channel on a Request Price Quotation (RPQ) basis. The Storage Access Channel can accommodate a peripheral device operating at up to 270,000 words per second; each word transferred can be up to 16 bits in length. IBM offers a limited line of peripheral equipment for the 1130. One of each of the following devices can be connected to an 1131 Processor (any model): • 1442 Card Read Punch, Model 6 or 7; • 1132 Printer; • 1134 Paper Tape Reader, Modell or 2; • 1055 Paper Tape Punch, Modell; and • 1627 Plotter, Model 1 or 2. Standard Configurations The IBM 1130 system is shown in the following Standard System Configurations, as defined in the Users' Guide, page 4:030.100: • Configuration I: Typical Punched-Card System, and • Configuration IX: Desk-Size Scientific System. (Contd. ) 5/66 A AUERBACH '" 418:031. 100 SYSTEM CONFIGURATION .1 TYPICAL CARD SYSTEM; CONFIGURATION I Deviations from Standard Configuration: . . . . . . • . . core storage capacity is 18% greater. card reader is 60% slower. card punch is 30% slower. card read-punch does not have separate card paths for read and punch operations. printer is 92% slower. Equipment Rental 4,096 words of Core Storage 1131 (Model 1A) Central Processor** $ 625* Console Typewriter/Printer 1132 Printer: 82 lpm 260 1442 Model 7 Card Read Punch 380 TOTAL RENTAL: * $1,275 Price includes attachments for printer and card read-punch. ** A replaceable-cartridge disc drive capable of storing 512,000 words can be included with the Central Processor (Model 2A) for an additional $200 per month. The disc drive allows use of the 1130 Monitor System. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 418:031. 200 .2 IBM 1130 DESK-SIZE SCIENTIFIC SYSTEM; CONFIGURATION IX Deviations from Standard Configuration: •••.••.•. core storage is 20% greater. paper tape punch is 48% faster. paper tape reader is 300% faster. Equipment Rental 8,192 words of Core Storage 1131 (Model1B) Central Processor** $ 825* Console Typewriter/Printer 1134 Tape Reader, Model 2: 60 char/sec 60 1055 Tape Punch: 14.8 char/sec 40 TOTAL RENTAL: * ** $ 925 Price includes attachments for paper tape reader and punch units, and the 1134 Loader feature. A replaceable-cartridge disc drive capable of storing 512.000 words can be included with the Central Processor (Model 2B) for an additional $200 per month. The disc drive allows use of the 1130 Monitor System. /- 5/66 A AUERBACH '" 418:041. 100 ~ AUERBACH • SUMOARD EDP IBM 1130 INTERNAL STORAGE CORE STORAGE REPORTS INTERNAL STORAGE: CORE STORAGE .1 GENERAL .3 DATA CAPACITY .11 Identity: . . . • . • • • . . in 1131 Models 1A and 2A Central Processor Units (4,096 words). in 1131 Models 1B and 2B Central Processor Units (8,192 words). .31 Module and System Sizes Minimum Storage Identity: Model1A or 2A Words: 4,096 Characters: 8,192 Instructions Short format: 4,096 Long format: 2,048 Modules: 1 . 12 Basic Use: . . . . . . . . working storage . .13 Description Core storage is housed in the 1131 Central Processor Unit and consists of 4, 096 word locations in Models 1A and 2A and 8,192 locations in Models 1B and 2B. Each word location consists of sixteen data bits and one parity bit. An arithmetic data word uses the high-order position of the word as a sign bit. Single- and double-length load, store, and arithmetic operations can be performed. Memory cycle time is 3.6 microseconds per one-word access. .4 CONTROLLER: .52 Simultaneous Operations: .53 Maximum Storage Model1B or 2B 8,192 16,384 8,192 4,096 1 .. no separate controller. . . • . . . none. Access Time Parameters and Variations Availability: . • . . . . . 17 months. .531 For uniform access Access time: . . . • . • ? Cycle time: . . . . . • . 3.6 JJsec. For data unit of: •.. one 16-bit word • .15 First Delivery: . . . . . November 1965. .6 .16 Reserved Storage • 14 Purpose Number of Locations Locks Index registers: Arithmetic registers: Logic registers: Interrupt addresses: Printer image output: 3 none. none. 6 8 no. PHYSICAL FORM .21 Storage Medium: .••. magnetic core. . 23 Storage Phenomenon: . direction of magnetization. . 24 Recording Permanence .241 Data erasable by instructions: . . • . . . • 242 Data regenerated constantly: . . • . . . . • 243 Data volatile: . . . . . • .244 Data permanent: . . . . .245 Storage changeable: •• .7 PERFORMANCE .71 Transfer Load Size: .. one or two 16-bit words. . 73 Effective Transfer Rate With self . Using straight-line coding: . . . . . . . . . 92,500 words/sec. Using programmed loop: . . . . . . . . . . 53,200 words/sec. no. no. .2 CHANGEABLE STORAGE: . . . • . . . none. .8 ERRORS CHECKS AND ACTION Error Check or Interlock Invalid' address: Receipt of data: none.* parity check Recording of data: record parity bit . parity check halt or continue, based on setting of manual switch. send parity bit. none possible. yes. no. no. no. no. .28 Access Technique: •.• coincident current. .29 Potential Transfer Rates Recovery of data: Dispatch of data: .292 Peak data rates Cycling rates: ...•• 278,000 cps. Unit of data: . . . . • . 16-bit word. Data rate: . . . . • • . 278,000 words/sec. Timing conflicts: Action halt or continue, based on setting of manual switch • * Addresses beyond limits of core storage are "wrapped around" modulo memory size. © 1966 AUERBACH Corporation and AUERBACH Info, Inc, 5/66 1. 418:042.100 STlN.m AEDP IBM 1130 INTER NAL STORAGE DISK FILE AUERBAC~ • REPORTS INTERNAL STORAGE: DISK FILE SYSTEM .1 GENERAL . 11 identity: . . . . . . . ... Disk File (in 1131 Central Processor, Models 2A and 2B only). . 12 Basic Use: . . . . . . . . auxiliary storage . .13 Description transfers the device indications to the accumulator register in the central processor. The following conditions can be checked: disc busy, disc not ready, arm positioned at track zero, data error, and operation complete. Programming of disc operations is facilitated by the use of standard IBM subroutines. Three versions of the disc subroutine are provided for programming in the 1130 Assembler language. One provides for reading or writing a maximum of one sector per subroutine call. The second allows reading or writing any number of consecutive sectors up to the maximum number of sectors on the disc. The third subroutine is basically the same as the second but reduces the chance of losing a revolution between sectors. The 11;30 Disk File is an integral part of the Model 2A and 2B 1131 Central Processing Units. It allows random or sequential access to a moderate amount of storage. The recording medium is an oxide-coated disc in an interchangeable cartridge. Each cartridge can store 512,000 words of 16 data bits and 3 check bits each. Although only one disc drive is available in an 1130 system, unlimited off-line storage capacity is provided via the replaceable cartridge feature. The desired subroutine is automatically inserted into the user's program by the 1130 Assembler when called. The calling sequence for the disc subroutine specifies the name of the desired subroutine and parameters indicating the operation to be performed. Included in the parameter list are the core memory addresses of the input or output area and the user's error routine. The number of 16-bit words that are to be transferred must be loaded by the programmer into the first word of the data area; the second word of the data area must be loaded with the beginning disc sector address. The disc is divided into 200 "cylinders;" each cylinder consists of one track on the upper surface and one track on the lower surface. A magnetic head is provided for each disc surface; both heads move horizontally in unison to one of 200 discrete positions. Each track is divided into four sectors, each having a data storage capacity of 321 words. Normally the sector number is stored in the first word location. All reading and writing operations begin at the first word of a sector; partial sectors can be transferred. The eight sectors in a cylinder are numbered consecutively, allowing a continuous read or write operation of up to 2,568 words without repositioning the head mechanism. When an interrupt is generated as a result of a disc operation, the subroutine checks for succ~ss ful completion of the operation. If an error IS detected the subroutine loads the accumulator register' with status information and transfers control to the user's error subroutine. After an analysis of the error information, the user's routine can either cause a haIt or cause the operation to be retried. The Assembler disc subroutine features a fileprotect technique which is dependent upon sector numbering. The user must prerecord the sector number in the first word location of each sector of the disc, and then insert into the disc subroutine the address of the first unprotected sector. Every sector up to the specified sector is protected against overwriting by a "write-with-readback" instruction; any other write instruction will write into a protected area. The average time required to position the head mechanism for randomly placed data is 750 milliseconds. An additional 20 milliseconds is required to allow the head mechanism to stabilize. The rotational speed is 1,500 revolutions per minute, which corresponds to 40 milliseconds per revolution. Thus, the average total access time for randomly placed data is 790 milliseconds. The relatively slow access time will limit the usefulness of this unit for random processing. Check bits are appended to each word recorded to make the number of "1" bits in the word divisible by four. When reading, each word (including check bits) is checked to verify that it is evenly divisible by four (modulo-four check). A testable indicator is set if an error is detected. An interrupt is generated at the completion of a read or write operation. Three reserve cylinders (24 sectors) are included on the magnetic disc. If a cylinder is found to be defective (i. e., a sector cannot be read or written after 10 consecutive attempts), the Assembler disc subroutine automatically assigns the address of the defective cylinder to one of the reserve cylinders. The reserve cylinders are not directly accessible by the programmer. The tracks or cylinders are not directly addressable. Instead, the disc command specifies the distance to be moved in terms of cylinders. The user's program must keep track of the position of the access mechanism. A device status indicator is set When the heads are positioned at the first cylinder; this provides a reference point. The user's program can check'the condition of device status indicators by issuing a device status instruction. The execution of this instruction 5/66 A simplified disc subroutine is provided for FORTRAN programming. Data is transferred to the disc one sector (320 words) at a time. The FORTRAN disc subroutine performs a read-back fA AUERBACH '" (Contd. ) ,/ 418:042.130 INTERNAL STORAGE: DISK FILE . 13 .14 Description (Contd.) .3 DATA CAPACITY . .. 17 months. .31 ... November 1965. Module and System Sizes: . . . . . . . . • . 512,000 16-bit words -(based on 320 words per sector). Additional storage is available with extra cartridges, but only one cartridge can be online at a time. .15 First Delivery: Reserved Storage: ... none . .2 PHYSICAL FORM . 21 Storage Medium: . . . . magnetic disc . .22 Physical Dimensions . 222 DiscDiameter:. • . . . . . . ? Number on shaft: . . . 1. · 23 Storage Phenomenon: . direction of magnetization. . 24 Recording Permanence · 241 Data erasable by instructions: . . . . . . .242 Data regenerated constantly: . . . . . . . . 243 Data volatile: . . . . . . . 244 Data permanent: . . . . .245 Storage changeable: .. yes. no. no. no. yes. word. 16 data bits plus 1 space bit plus 3 check bits (20 bits total) per word. Data rate: . . . . . . . . 35,000 words/sec. .4 CONTROLLER: . . . . . no separate controller . · 44 Data Transfer Control · 441 Size of load: .. .442 Input-output area: . . . . • . • 443 Input-output area access: . . • . . . . . .444 Input-output area lockout: . . . . . . . . .445 Synchronization: ... .447 Table control: . . . . . .448 Testable conditions: . Data Volume per Band of 1 Track* Words: . . . . . . . . . . . Characters: . . . . . . . Digits: . . . . . . . . . . . Instructions Short format: . . . . . Long format: . . . . . . 1,280. 2,560. 2,560. 1,280. 640. .26 Bands per Physical Unit: . . . . . . . . . . . 200 per disc side (400 total -per disc). · 27 Interleaving Levels: .. 1. .28 Access Techniques .281 Recording method: ... two magnetic heads which move horizontally in unison on a single arm . . 283 Type of access Description of stage Possible starting stage Move heads to selected track: •.... yes, if different track is selected. Wait for beginning of selected sector: . yes, if head is positioned on selected track. Read or write immediately: ..•.. no. 16-bit word. no. automatic . none . arm at track zero, disk busy, operation complete, data error . ACCESS TIMING Arrangement of Heads .511 Number of stacks Stacks per system: .. Stacks per yoke: ... Yokes per system: .. .512 Stack movement: . . . . .513 Stacks that can access any particular location: . • . . . . . . . .514 Accessible locations: By single stack With no movement:. With all movement: By all stacks With no movement:. 2. 2. 1. horizontally across disc, to one of 200 discrete positions. 1. 1 track. 200 tracks. 2 tracks (1 cylinder). .52 Simultaneous Operations: . . . . . . none. .53 Access Time Parameters and Variations Stage * Total: Based on 320 words per sector. . core storage. ·5 .291 Peak bit rates Cycling rates: . . . . 1,500 rpm. Potential Transfer Rates . 1 to 320 words (1 sector). · 51 Move heads to selected track: Head stabilization: Wait for designated sector: Transfer data: .29 varies with location . varies with location. 700,000 bits/sec/track. Availability: .. . 16 . 25 Track/head speed: .. Bits/inch/track: ... Bit rate per track: .. .292 Peak data rates Unit of data: . . . . . . Conversion factor: .. check following a write operation. If an error is detected, the write operation is repeated. In a similar manner, read operations in which an error was detected are repeated. If the read or write operation has not been successfully completed after 10 attempts, the system halts with an error display on the console. Subroutines written in the Assembler language for incorporation into a FORTRAN program must use the FORTRAN I/O subroutines. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. Variation, msec Average, o to 1,500 20 750 20 o to 40 10 msec per sector 20 10 ill.§gg 800 msec 5/66 418:042.600 IBM 1130 .6 CHANGEABLE STORAGE .61 Cartridges .73 .611 Cartridge capacity: .. 512,000 words (1 disc). .612 Cartridges per drive: . 1. • 613 Interchangeable: . . . . yes. · 62 Loading Convenience .621 Possible loading While computing system is in use: .•.. no. While storage system is in use: . . . . no. · 622 Method of loading: ... by operator. · 623 Approximate change time: . . . . . . . . . . . 1 minute, plus device haIt and start-up times of approximately 1. 5 minutes each . . 624 Bulk loading: . . . . . . . no. .7 PERFORMANCE . 72 .74 Update Cycle Rate With core storage: ... 1.15 references/second. Note: Based on random access of one SO-word record (160 characters); reading, updating, and rewriting that record; and rereading for verification. .75 Read-Only Reference Cycle Rate With core storage: ... 1. 26 references/second . Transfer Load Size Note: Based on random access and reading of one SO-word record (160 characters) with no updating or rewriting . With core storage: ... 1 to 320 words per write or read command (1 sector). .8 Effective Transfer Rate With core storage Bulk mode: . . . . . . . 7,100 words/sec; based on random access and transfer of S, 192 words . Cylinder mode: ..•. 2,900 words/sec; based on random access and transfer of 2,560 words (one cylinder). ERRORS, CHECKS, AND ACTION Error Check or Interlock Invalid address: Invalid code: Recording of data: subroutine check all codes valid. record modulo-4 check bits. modulo-4 check none possible. Recovery of data: Timing conflicts: Reference to protected area: Device not ready: Read error remaining after 10 attempts at recovery: Write error remaining after 10 attempts at writing: subroutine check. check Action set bit in accumulator register. set indicator bit. set bit in accumulator register. set indicator bit. subroutine check set bit in accumulator register. subroutine check set bit in accumulator register. ./ ./ 5/66 A AUERBACH '" 418:051. 100 1. SI ...... . /AEDP AUERBAC~ IBM 1130 REPORTS CENTRAL PROCESSOR L..----,..;...------J CENTRAL PROCESSOR .1 GENERAL . 11 Identity: .. .12 Description tents of one of three index registers specified in the instruction to produce a final memory address. If no index register is specified, the contents of the instruction counter are algebraically added to the address field. The short instruction address field consists of eight bits, which include one sign bit. This allows memory addressing of up to 127 locations in either direction from the base address. . 1131 Central Processing Unit, Models lA, 1B, 2A, and 2B. The IBM 1130 system offers a choice of four processor models. The models differ only in respect to memory capacity, as described below: • 1131 Model 1A Central Processor - 4,096 core memory locations; no disc storage. • 1131 ModellB Central Processor - 8,192 core memory locations; no disc storage. • 1131 Model 2A Central Processor - 4, 096 core memory locations; 512,000 disc storage locations. • 1131 Model 2B Central Processor - 8,192 core memory locations; 512,000 disc storage locations. The long instruction format requires two contiguous memory locations per instruction. One location contains information pertaining to the operation, indexing, and indirect addressing. The second location is a 16-bit address field which can be used with or without indexing and/or indirect addressing. Average execution time is approximately 11 microseconds for single-word instructions and approximately 15 microseconds for double-word instructions. Although the instruction repertoire does not contain direct comparison instructions, comparisons can effectively be accomplished by using arithmetic instructions in combination with branch-on-condition instructions. Core storage and the Disk File (with Models 2A and 2B) are housed in the desk console which is an integral part of the 1131 Central Processing Unit. Core memory access time is 3.6 microseconds for each 16-bit word. The Central Processor provides an interrupt facility which recognizes six priority levels. Interrupts are initiated only by input-output devices. The program cannot inhibit interrupt requests, but interrupts assigned the same or a lower priority level than the interrupt currently being processed must wait until its completion before being serviced. Higher-priority interrupts can interrupt the processing of a lower-level interrupt condition. All models are single-address, binary processors with an essentially fixed word-:-Iength. The instruction repertoire consists of 29 instructions, most of which can include indirect addressing and indexing functions. Instructions for binary addition and subtraction in both single-word and double-word precision are provided. Overflow is recorded by the processor, and conditional branch can be executed based on the status of the overflow indicator. The arithmetic operations are algebraic, and negative results are represented in two's complement form. The signed words allow further computation without programmed recomplementing. Binary, fixed-point multiply and divide instructions are also included in the standard instruction set. There are no optional processing facilities. Upon initiation of an interrupt, the Central Processor automatically saves the contents of the Instruction Address register in a pre-assigned location. The interrupt program must save all pertinent registers and data and restore this information upon exit from the interrupt routine. The interrupt subroutine requests information to determine the device(s) which caused the interrupt and the specific cause of the interrupt. A special branch instruction, used to exit from the subroutine, resets the interrupt indicator and allows processing of the next interrupt. Subroutines are furnished by IBM to handle the input-output interrupt processing; see page 418:111.200. Excluding shift operations, all instructions can be written in either a "short" or "long" instruction format. The short instruction format, which requires one memory location per instruction, allows indexing but not indirect addressing. The short instruction address field, or "displacement" field as it is called by IBM, is algebraically added to the con.2 .21 Availability: .. .14 First Delivery: ...•. November 1965. PROCESSING FACILITIES Operations and Operands Operation and Variation \ . 17 months, as of April 1966. . 13 .211 Fixed point Add/ subtract: Double-word add/ subtract: Provision Radix Size automatic binary 15 bits plus sign. automatic binary 31 bits plus sign. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 IBM 1130 418:051.211 .211 Fixed point - (Contd.) Multiply Short: Long: Divide No remainder: Remainder: none. automatic binary 31 bits. none. automatic binary 16 bits. .212 Floating point Standard range add/ subtract: Extended range add/ subtract: Standard multiply: Extended multiply: Standard divide: Extended divide: subroutine binary 8 and 23 bits. subroutine subroutine subroutine subroutine subroutine binary binary binary binary binary 8 8 8 8 8 .213 Boolean AND: Inclusive OR: Exclusive OR: automatic automatic automatic binary binary binary 16 bits. 16 bits. 16 bits. .214 Comparison: . . . . . none. * .215 Code translation: . . . . code translations between BCD, hexadecimal, binary, and output format codes are performed by subroutines. The subroutine timings and the specific code translations available are shown in Table I. . 216 Radix conversion: ... radix converions between BCD and binary forms are performed by sub~ routines. The subroutines and related timings are shown in Table I. · 217 Edit: . . . . . . . . . . . . none. .218 Table look-up: . . . . . . none. . 22 Special Cases of Operands . 221 Negative numbers: ... two's complement. .222 Zero: . . . . . . . • . . . . positive zero only. .223 Operand size determination: . . . . . . . . normally 16 bits; 32 bits in double-word add and subtract instructions. .23 Instruction Formats .231 Instruction structure:. one-address. · 232 Instruction layout: Displacement · 233 Instruction parts Name Purpose OP: • . . . . . . . . . . . operation code. F: . . . . . . . . . . . . . instruction format designation. * Comparisons can be made indirectly by using the Subtract instruction followed by a Branch and Skip on Condition instruction. 5/66 A and and and and and 31 23 31 23 31 bits. bits. bits. bits. bits. T: . . . • . . . . . . . . . tag to specify index register or instruction address. Displacement: . . . • . value used to modify contents of a specified index register to produce an effective address; also to specify number of bit positions to be shifted. IA: . . . . . . . . • • . . indirect addressing flag. Address: . • . . . . . . designates operand address . Spec: . . . . . . . . . . . used only by MDX instruction. .234 Basic address structure: .•••.•.. I-address. .235 LiteralsArithmetic: . . • . . . . none. Comparisons and tests: ...•..•.•• none . Incrementing modifiers: . . . . . . 16 bits . .236 Directly addressed operands Internal storage type: • • . • . . . . . . core storage. Minimum size: . . . . one 16-bit word. Maximum size: . . . . two 16-bit words. Volume accessible: . 255 locations using short instruction format; total core memory using long instruction format. · 237 Address indexing .2371 Number of methods: . one . . 2372 Name • . . . . . . . • • . normal indexing. .2373 Indexing rule: . • . . . tag fields of both long and short format instructions specify contents of an index register to modify instruction operand or displacement field value. · 2374 Index specification: .. bits 6 and 7 of instruction word. · 2375 Number of potential indexers: . . . . • • . . 3 . . 2376 Addresses which can be indexed: . . . . . . operand addresses in arithmetic, logical, load, and store instructions. · 238 Indirect addressing .2381 Recursive: . . . . . . . no; single stage only. (Contd.) AUERBACH ® / 4 t 8:051. 2382 CENTRAL PROCESSOR TABLE I: STANDARD IBM SUBROUTINES FOR CODE AND RADIX CONVERSIONS Conversion Per Conversion Per Reverse Conversion 16-bit word.... 6-word field containing one sign word and 5 words of one card-code decimal digit per word. 1130 1111 IBM Card Code Hexadecimal 16-bit word-4 words; one hexadecimal character per word. 620 760 IBM Card Code Paper Tape two words, 1 card-code character per wordone 16-bit, 2-character word in paper tape code. 1404 1394 IBM Card Code Printer EBCDIC Subset (80 characters) two characters, one per 16-bit word ...... one 16bit word containing 2 EBCDIC characters. 1251 1300 IBM Card Code Printer EBCDIC (256 characters) same conversion as HOLEB, above, except faster conversion. 270 394 IBM Card Code Typewriter code two card-code characters ...... one 16-bit word with two typewriter-code characters. 1311 - Paper Tape Typewriter code two paper tape characters per word- two typewritercode characters per word. 1577 - Paper Tape Printer Two paper tape characters in one I6-bit word _two EBCDIC characters in one 16-bit word. 1466 1446 two EBCDIC characters in one 16-bit wordtwo typewriter-code characters. 1347 - From To Description Binary IBM Card Code Binary EBCDIC Subset (80 characters) EBCDIC Subset * Typewriter, code The times in these columns are to perform the conversion descril:!ed or '.'1e ~ of this conversion, as indicated. Except for the conversions from or to binary form, these times do not include the subroutine initialization times which apply to each field converted; the initialization times vary between 250 and 600 !lsec. .2382 Designation: . a one in bit 8 of long instruction format only. · 239 Stepping.2391 Specification of increment: . . . . . . . · 2392 Increment sign: . . . . · 2393 Size of increment Short instruction: .. Long instruction: •• · 2394 End value: . . . . . . . . .24 Execution Time, !lsec' within instruction. + or -. +127 to -128. +32,767 to -32,768. index or memory value changes sign or becomes zero. Special Processor Storage Category of Number of storage locations Size in ~ Register: 1 16 Register: 1 16 Core Memory: 3 16 Pro~am usage single-precision arithmetic. double-precision arithmetic and extended right and left shifts. Index registers. .3 SEQUENCE CONTROL FEATURES .31 Instruction Sequencing: sequential. .32 Look-Ahead: . . • . . . . none. · 33 Interruption .331 Possible causes: • conditions which can cause interrupts vary for the different types of I/O devices but include normal end of operation, abnormal end, and inability to respond to an I/O instruction. · 332 Control by routine: ... no program control of either the priority order of interrupts or inhibiting interrupt action. · 333 Operator Control: ..• a manual interrupt can be initiated by the operator via a console keyboard request. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 418:051. 334 IBM 1130 .334 Interruption .42 Processor Performance in Microseconds conditions: ...•.• ,there are six interrupts, divided into six priority levels; .421 For random addresses Fixed Point ** each interrupt is associated Single Double with one peripheral device word word or a group of devices. The 23.2 c = a -I- b: 34.6 interrupt hardware delays 23.2 32.4 b = a + b: execution of interrupts of 32.6N 23.2N Sum N items: equal or lower priority than 44.5 c = ab: the one currently being proc98.4 c = alb: essed. A higher priority Floating Point* interrupt request will cause Standard Extended immediate interruption of a precision precision lower-level interrupt in 460 440 c = a + b: process. 460 440 b = a + b: 440N 460N Sum N items: .335 Interruption process 560 790 c = ab: Disabling inter2060 766 c = alb: ruption: . . . . • . . . no interrupt disable facility Fixed Point** .422 For arrays of data is provided. Double Single Registers saved: ... contents of Instruction word word Register. ~ 63.7 ci = ai + b j : Destination: . .. .. core memory locations 75.2 63.7 bj = ai + bj: 0008 through 00013, de37.7N 45.5N Sum N items: pending upon cause of 100.8 c = c + aibj: interrupt. Floating Point * Standard Extended .336 Control methods precision precision Determine cause: ... own coding. 460 440 ci = ai + bj: Enable interruption: . own coding. 460 440 b j = ai + bj: Sum N items: 440N 460N .34 Multiprogramming: .. no special provisions. 1230 1020 c = c + aibr . 35 Muiti-Sequencing: .. ; none. .4 PROCESSOR SPEEDS . 41 Instruction Times in Microseconds . 411 Fixed point Add/ subtract: Double-word add/ subtract: Multiply Divide: .412 Floating point* Add: Subtract: Multiply: Divide: • 413 Additional allowance for - . 414 . 415 .416 . 417 . 418 5/66 * Subroutines . ** Short instruction format . Short format Long format 12.2 25.7 76.0 15.3 29.3 79.6 8.0 Standard precision 460 560 560 766 Short format \., . 423 Branch based on comparison Numeric data: . . . . . 77.1. . 424 SWitchingUnchecked: . . . . . . . 26.6. Checked: . . . . . . . . 33.7. List search: • . . . . . 45 . .425 Format control: . . . . . see Table I. .426 Table look-up, per comparison For a match: . . . . . . 67.3. For least or greatest: . • • . . . . . 68. O. For interpolation point: • . . . . . • . . . 54. 2 .428 Moving, average time per word Using single-word load and store instructions: . . . . . 45.3. Using double-word load and store instructions: . . . . . 25.9 . .5 ERRORS, CHECKS, AND ACTION iT:""2 Extended precision 440 490 790 2060 Long format Indexing: ~ ~ Indirect addressing: 4.0 4. 0 Recomplementing: 0 0 ControlCompare: no comparison instructions. Branch: '3.6 7.2 Counter control....; Step and test: 4.5 18.5 Edit: . . . . . . . . • . . . no edit instructions. Convert: . . . • . . . • . . see Table I. Shift: . • . . • . . . . . . . 3.6 + O. 45(N-3), where N equals number of positions shifted. Check or Interlock Action Overflow or zero divisor: check set programtestable indicator . Invalid data: Invalid operation none. check automatic processor halt . Arithmetic error: none. Invalid address: none. * Receipt of data: none . Dispatch of data: none . * Addresses outside of memory range are resolved modulo memory size. A AUERBACH @ ( -1. 418:061. 100 Sl"',," AEDP AUERBAC~ - • IBM 1130 REPaRTS CONSOLE CONSOLE .1 GENERAL .11 Identity: . . . . . . . . . . 1130 Desk Console. .12 Associated Unit: . . . . input keyboard and output printer are included with the 1131 Central Processing Unit. .13 Switches on the console provide the following facilities: o Stopping or continuing on memory parity error condition, '" Loading the instruction register with address data from the console entry switches, III Automatic loading of the first card or paper tape record into memory, • Stepping through instructions or parts of instructions under manual control, o Implementation of a program trace by causing an interrupt after the execution of each program instruction, <:I Displaying of core storage addresses, and o Storing of console entry switch information into core storage. Description The Console is an integral part of all models of the 1131 Central Processing Unit. It includes an input keyboard, a console printer, console entry switches, control switches, and a display panel. This compact unit allows an operator a complete view of the status of an 1130 system. The photograph on page 418: 001. 002 provides an overall view of the Console. The keyboard allows an operator to enter data and instructions into core storage under program control. The console printer provides for printed output from core storage at a peak speed of 15.5 characters per second; see Report Section 418: 102. In addition to the keyboard option, console entry switches can be used for storing data and instructions into core memory under either manual or program control. The display panel permits operator observation of machine "Ready" and "Run" status, carry, overflow, memory parity, and interrupt level conditions. The contents of the instruction and operand address registers and the contents of registers used in arithmetic computations are displayed by means of lights. The lights are marked off in groups of fours to represent hexadecimal format. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 -1. """" 418:071. 100 ~\\EDP IBM 1130 INPUT-OUTPUT 1442 CARD READ PUNCH AUERBACH R[PORTS ~_...;..,,......--_.J INPUT-OUTPUT: 1442 CARD READ PUNCH .1 GENERAL . 11 Identity:......... 1442 Card Read Punch, Models 6 and 7. . 12 cards to be punched can be. either blank or pre-punched. High-speed skipping is not pOSSible; each blank column requires a full punch cycle . Des~ription Card punching speeds depend upon .the number of consecutive columns punched in each card. Model 6 punches at 80 columns per second and Model 7 at 160 columns per second;' To the punching times must be added the time to feed and position each card: 210 milliseconds for Model 6 and 160 milliseconds for Model 7. Punching speeds for various numbers of columns are shown in Table I. When reading and punching are being done on the same card, the reading is performed during the punch positioning time, and the overall read-punch operation proceeds at the same speed as punching alone. The 1442 Card Read Punch is a combination inputoutput unit for standard 80-column punched cards. From a single 1, 200-card hopper, the cards are fed serially by column past a single photoelectric reading station, past a single punching station, and into a 1, 300-card radial stacker. A second stacker, which may be program-selected, is standard on both models. Cards can be loaded and removed without stopping the unit. All format control is by the stored program; there is no plugboard. Only one 1442 Card Read Punch can be connected to an 1130 system; the 1442 Attachment feature (4454) is required in the processor. The user's program can check the condition of the device status indicators by issuing a device status instruction. The execution of this instruction transfers device indications to the accumulator register in the central processor. The following conditions can be checked: read or punch errors, device not available, device busy, operation complete, last card, and read or punch interrupt. A single 1442 can handle either an input or an output file. Alternatively, it can read data from and punch results into the same card, or results can be punched into trailer cards in the same file. When cards are being read continuously and no punching is being done, maximum speeds are 300 cards per minute for Model 6 and 400 cards per minute for Model 7. Each column is read twice and the results are compared. Checks are mad-e for invalid characters, improper registration, and malfunctions of the light-sensing mechanism. No automatic conversion from the card code is performed by the 1442; conversions. must be performed by programming. Standard· IBM subroutines are provided to execute this function. Assembly-language programming of card read-punch operations is facilitated by the use of a standard IBM subroutine. The subroutine is automatically inserted in the user's program by the 1130 Assembler when called. The calling sequence for .the card subroutine specifies the name of the desired subroutine and parameters indicating whether a read, punch, operation-complete test, feed, or stacker selection operation is to be performed. Included in the parameter list are core memory addresses of the input or output data area and the user's error routine (optional). The number of columns of card data that are to be transferred must be loaded by the programmer into the first word of the data area. Any number of columns can be specified. Each 16-bit memory location contains one card column of data in the 12 high-order bit positions. To maintain peak reading rates, the next read command must be given within 35 milliseconds (Model 6) or 25 milliseconds (Model 7) after the end-of-operation interrupt. If these timing limits are not met, the peak reading speed without punching drops to 285 cards per minute for the Model 6 and 375 cards per minute for the Model 7. Card punching, like reading, is performed serially by column, beginning at column 1, and terminated after any number of columns from 1 to 80. The TABLE I: IBM 1442 PUNCHING SPEEDS Last Column Punched 1 10 20 30 40 50 60 70 80 5/66 Total Punch Cycle Time (msec) Model 6 Model 7 229 341 466 591 716 841 966 1,091 1,216 169 226 288 351 413 476 538 601 663 A Cards per Minute Model 6 Model 7 202 176 127 102 84 71 62 55 49 355 265 208 171 145 126 112 100 91 (Contd.) ., AUERBACH INPUT- OUTPUT: . 12 418:071. 120 1442 CARD READ PUNCH Description (Contd.) Data read from the card reader can be converted into a number of other codes by standard conversion subroutines provided by IBM. See Table I in Section 418:051, Central Processor. Two versions of the Assembler card subroutine are available. One requires operator intervention upon detection of a card error condition by the subroutine; the second subroutine allows automatic transferral to a user's error routine. Checks are made for card read-punch hardware conditions (e. g., last card, read or punch check, etc.) and for validity of the calling sequence specifications. When an interrupt is generated as a result of a card operation, the subroutine checks for successful completion of the operation. If an error is detected, the first subroutine causes a halt to await operator action; the second subroutine loads the accumulator register in the central processor with coded status information and transfers control to the user's error routine. After an analysis of the error, the user's routine can either cause a halt or cause the operation to be retried. In general, simplified I/O subroutines are sup- plied for use in FORTRAN-coded programs . These subroutines do not allow any overlapping of a peripheral operation with non-I/O processing or with the operation of another device. Data to be punched must be stored in unpacked (one character per word) EBCDIC format. The subroutine converts this to the IBM Card Code before punching. Data input from the card reader is expected to be in mM Card Code and is converted by the subroutine to unpacked EBCDIC format. Special subroutines are provided to convert between the unpacked EBCDIC format and the data codes and formats of the various peripheral devices. The FORTRAN I/O subroutines utilize the Accumulator, the Accumulator Extension, and Index Registers 1 and 2. Prior to entry into a subroutine, the contents of those registers must be saved, if required, and replaced with constants whose values depend on'the I/o operation. When an error condition or malfunction is detected, the subroutine causes a program halt to allow the operator to take corrective action; the program can be continued if the operator can correct the condition. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 418:072.100 &. ST""" /AEDP IBM 1130 INPUT-OUTPUT PUNCHED PAPER TAPE EQUIPMENT AUERBAC~ REPORTS ~ INPUT-OUTPUT: PUNCHED PAPER TAPE EQUIPMENT .1 GENERAL . 11 Identity:.... . 12 Description register in the central processor. The following conditions can be checked: punch not ready, punch busy, reader not ready, reader busy, punch-initiated interrupt, and reader-initiated interrupt. The status condition of the reader should be checked before issuing a read command. If the reader is busy or not available, erroneous data may be transferred to memory without producing an error indication. .. 1134 Model 1 and 2 Paper Tape Reader. 1055 Modell Paper Tape Punch. One 1134 Paper Tape Reader and/or one 1055 Paper Tape Punch can be connected to an IBM 1130 system. The 1134 Reader requires the Paper Tape Reader Attachment (3624); the 1055 Punch requires the Paper Tape Punch Attachment (7923). In a paper tape-oriented system (i. e., one with no 1442 Card Read Punch), the 1134 Loader feature (3624) is required to permit program loading. Programming of punched tape operations in 1130 Assembler language is facilitated by the use of standard IBM subroutines; two subroutines are available. One routine is used if simultaneous reading and punching are desired; the other routine is used to operate one device at a time in sequential fashion. The paper-tape subroutines check for paper-tape hardware conditions (e.g., device not ready), and also for validity of the calling sequence specifications. A subroutine is automatically inserted in the user's program when called. The calling sequence for the paper-tape subroutine specifies the name of the desired subroutine and parameters indicating whether read, punch, or a device busy check operation is to be performed. Included in the parameter list is the core memory address of the output data area and the user's error routine. The number of words (characters) that are to be transferred must be loaded by the programmer into the first word of the data area. Any number of words can be specified that is within range of the available core memory. Each 16-bit memory location contains one character. Normally, the IBM PTTC /8 code is used, but data can be in either binary or character code form, as an entire 8-bit binary image is transferred by the subroutine. The 1054 Paper Tape Reader is no longer offered with IBM 1130 systems. .121 1134 Paper Tape Reader The 1134 Paper Tape Reader reads one-inch, fullypunched, 8-track paper tape at a maximum rate of 60 characters per second. Modell reads strips only; Model 2 reads strips or spooled tape. The reel capacity of Model 2 is 1,000 feet. Each read command transfers one punohed-tape character to one core memory location. An interrupt occurs after each character is read into core memory. To obtain maximum reading speed, read commands must be issued within 60 milliseconds after an interrupt is generated. In a paper tape-oriented 1130 system, the 1134 Loader feature allows automatic loading of instructions into core storage. When the Program Load switch on the console is activated, data from the 1134 Paper Tape Reader is loaded into core storage beginning at location zero. Only four channels are read from the tape, and four 4-bit characters are stored in each 16-bit word location. Reading is halted·when a punch in the fifth channel is sensed, and a branch is made to the instruction just loaded in the first word of memory. Subsequent action is under control of the stored program. In general, simplified I/O subroutines are supplied for use in FORTRAN-coded programs. These subroutines do not allow any overlapping of a peripheral operation with non-I/O processing or with the operation of another device. Data to be output via the paper tape punch must be stored in unpacked (one character per word) EBCDIC format; the subroutine converts this to the PTTC/8 code before punching. Data input from the paper tape reader is expected to be in PTTC/8 code and is converted by the subroutine to unpacked EBCDIC format. Special subroutines are provided to convert between the unpacked EBCDIC format and the data codes and formats of the various peripheral devices. . 122 1055 Modell Paper Tape Punch The 1055 Modell Paper Tape Punch fully punches one-inch, 8-track paper tape at a maximum rate of 14.8 characters per second. Each write command transfers the'contents of one core memory location containing one paper tape character to the punch. An interrupt occurs after each character is transferred. Delete codes (punches in all 8 channels) and blank codes (no punches) can be punched manually by the operator. The FORTRAN subroutines for punched tape operations restrict input or output records to a maximum size of 80 characters, not including case shift characters. The FORTRAN I/O subroutines utilize the Accumulator, the Accumulator ExtenSion, and Index Registers 1 and 2. Prior to entry into a subroutine, the contents of these registers must be saved, if required, and replaced with constants whose values depend on the I/O operation. When an error condition or malfunction is detected, the subroutine causes a program halt to allow the operator to take corrective action; the program can be continued if the operator can correct the condition. .123 Programming The user's program can check the condition of the device status indicators by issuing a device status instruction. The execution of this instruction transfers the device indications to the accumulator 5/66 IA AUERBACH (j) - 1. 418:081. 100 STAHCA" /AEDP AUERBAC~ - ~ IBM 1130 INPUT-OUTPUT 1132 PRINTER IIEPORTS INPUT-OUTPUT: 1132 PRINTER .1 GENERAL . ll Identity: .. .12 --- .. 1132·Line Printer. Description The IBM 1132 Line Printer uses a typewheel (drum) printing mechanism. The printer prints at a maximum rate of llO single-spaced lines per minute when printing numeric data only, and 82 single-spaced lines per minute when printing alphanumeric data. The print line consists of 120 print positions, horizontally spaced at 10 characters per inch. Each print position is capable of printing 48 different symbols: 26 alphabetic, 10 numeric and 12 special characters. Only one 1131 Printer can be used in an ll30 system; it requires a Printer Attachment (#3616), and an Expansion Adapter (#3859) on the ll31 Central Processor. Form width can vary from 4.75 inches to 16.75 inches (edge to edge). Maximum form length is 22 inches at a line spacing of six lines per inch and 16.5 inches at eight lines per inch. Spacing and skipping are controlled by a i2-channel paper tape carriage mechanism which is activated by the stored-program printer instructions. Skipping speed is approximately 10 inches per second. The user's program can check the condition of the device status indicators by using a device status instruction. Execution of this instruction transfers the device indications to the accumulator register in the central processor. The following conditions can be checked: forms position, printer busy, forms loaded, carriage busy, skipping completed, and a read-emitter response. Eight words of core storage are reserved to hold the results of a scan operation and indicate the print positions to be printed during each "cycle" or character position of the typewheels. The'programming of print operations for the ll32 Printer is relatively complex and requires close timing by the programmer for optimum performance. Each scanning, printing, and skipping operation must be initiated by a separate command. Printing and skips of greater than one line must be stopped by an instruction. \ Assembly-language programming of printer operations is facilitated by the use of a standard IBM subroutine. The subroutine is automatically inserted in the user's program by the 1130 Assembler when called. The calling sequence for the printer subroutine specifies the name of the desired subroutine and parameters indicating whether the operation to be performed is an alphanumeric print, a numeric-only print, a skip under control of the carriage tape loop, or a test for previous operation complete. Included in the parameter list are the core memory addresses of the output data area and the user's error routine. The number of IS-bit words that are to be transferred must be loaded by the programmer into the first word of the data area. A maximum of 60 words (120 characters) can be specified for each printer subroutine call. Each 16-bit memory location must contain two EBCDIC characters in the printer output area. Conversion to EBCDIC characters can be performed from a number of other codes by standardized conversion subroutines provided by IBM. See Table I in Section 418:051, Central Processor. The Assembler printer subroutine checks printer hardware status conditions (e.g., forms check), and also the validity of the calling sequence specifications. When an interrupt is generated as a result of a printer operation, the subroutine checks for successful completion of the operation. If an error is detected, the subroutine loads the accumulator register with status information and transfers control to the user's error subroutine. After an analysis of the error information, the user's routine can either cause a halt or cause the operation to be retried. In general, simplified I/o subroutines are supplied for use in FORTRAN-coded programs. These subroutines do not allow any overlapping of a peripheral operation with non-I/O processing or with the operation of another device. Data to be output to the printer must be stored in unpacked (one character per word) EBCDIC format. Special sub;routines are provided to convert between the unpacked EBCDIC format and the data codes and formats of the various devices. The FORTRAN I/O subroutines utilize the Accumulator, Accumulator Extension and Index Registers 1 and 2. Prior to entry into a subroutine, the contents of these registers must be saved, if required, and replaced with constants whose values depend on the I/O operation. When an error condition or malfunction is detected, the subroutine causes a program halt to allow the operator to take corrective action; the program can be continued if the operator can correct the condition. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 -& 418: 101. 100 STANDARD AEDP IBM 1130 INPUT-OUTPUT 1627 PLOTTER AUERBAC~ • REPORTS INPUT-OUTPUT: 1627 PLOTTER .1 GENERAL . 11 Identity: . . . . • . . • . . IBM 1627 Plotter Model 1. --IBM 1627 Plotter Model 2. .12 Description mand is issued, loss of information will probably occur without an error indication to the program . Assembly-language programming of plotter operations is facilitated by the use of a standard IBM subroutine. The subroutine is automatically inserted in the user's. program by the 1130 Assembler when called. The calling sequence for the plotter subroutine specifies the name of the desired subroutine and parameters indicating whether a write or test status operation is to be performed. Included in the parameter list are the core memory addresses of the output data area and the user's error routine. The number of points to be plotted must be loaded into the first word of the output data area. The plotter subroutine checks for plotter hardware status conditions (e. g., plotter not ready), and also for validity of the calling sequence specifications. When an interrupt is generated as a result of a Plotter operation, the subroutine checks for successful completion of the operation. If an error is detected, the subroutine loads the accumulator register with status information and transfers control to the user's error subroutine. After an analysis of the error information, the user's routine can either cause a halt or cause the operation to be retried. The 1627 Plotter uses a Calcomp-designed drum plotting mechanism to convert tabulated digital data into graphic form. Models 1 and 2 are basically the same, except for operating speeds and form dimensions. The differences are summarized in Table 1. The 1627 plotters are two-axis recorders for plotting one variable against another. Each plotter consists of a ballpoint pen mounted on a carriage and a bidirectional recording drum. Output words from the computer direct pen carriage movement and drum rotation, as well as the movement of the pen against or away from the recording surface. The pen carriage moves in the Y axis (horizontally), and the drum moves in the X axis (vertically). All movements are one step at a time, and are independent; i. e., diagonal movements are possible in one operation. The user's program can check the condition of the device status indicators by issuing a device status instruction. The execution of this instruction transfers the device indications to the accumulator register in the central processor. The following conditions can be checked: operation complete, device not ready, and device busy. The busy condition should be checked before issuing a plotter write command; if the plotter is busy when a com- IBM does not currently provide a subroutine to control the plotter for FORTRAN-coded programs. Users desiring to use a plotter in connection with FORTRAN coding will have to write their own subroutines. TABLE I: CHARACTERISTICS OF THE IBM 1627 PLOTTERS Characteristic Speed X, Y increments, steps/minute Raise or lower pen, operations/minute Modell Model 2 18,000 12,000 600 600 0.01 Increment Size, inches Chart Paper 5/66 Width, inches Plotting width, inches Length, feet Sprocket -hole dimensions 12 11 120 O. 130 inch dia. on 3/8-inch centers A AUERBACH <> 0.01 31 29.5 120 0.188 inch dia. on 1-inch centers / ·418:102.100 /&. AUERBACH STAN~ARD EDP IBM 1130 SYSTEM INPUT-OUTPUT CONSOLE PRINTER REP~RTS INPUT -OUTPUT: CONSOLE PRINTERIINPUT KEYBOARD .1 GENERAL .11 Identity: .. • 12 . IBM 1130 System Console Printer/Input Keyboard. Description The console keyboard and printer are an integral part of every 1131 Central Processing Unit. These two units are independent; i. e., the keyboard keys are not mechanically linked to the printing mechanism. Data entered via the keyboard is stored in core storage, and a separate, programmed operation is required to print this data on the console printer. .121 Console Printer The console printer is a modified IBM Selectric Typewriter that operates at a peak speed of 15.5 characters per second. Eighty-eight different characters can be printed. The characters include the 26 alphabetic characters (both upper and lower case), 10 numeric digits, and 26 symbols which include FORTRAN symbols. There are seven printer control characters: carriage return, tabulate, space, backspace, shift to red, shift to black, and line feed. The maximum printed line width is 120 character positions; horizontal spacing is 10 characters per inch and vertical spacing is 6 lines per inch. Information to be printed is stored in core storage, one character per memory word, in Console Code; see Section 418:141. An automatic interrupt occurs after the console printer has printed each character or completed each functional operation (carriage return, line feed, etc.) The user's program can check the mechanical availability of the console printer and whether the printer is busy. The busy indicator should be checked by the program before issuing a write order to the printer. If a write order is issued when the printer is in busy status, the transferred information will be lost; no program indication is produced as a result of this error. . 122 Keyboard The console keyboard provides 46 keys, including special function keys. The character set consists of the upper-case alphabetics, the numerics, and 19 punctuation and special symbols. In addition, special codes are generated for three keys which are normally used to indicate backspace, end of field, and message deletion. Information entered from the keyboard is stored in core storage, one character per word, in the IBM Card Code; see Section 418:141. The processor must issue a command to the keyboard prior t.o the entry of each character of data. The initial command can be issued in response to an interrupt generated by the operator at the keyboard or by coding in the object program. An interrupt is generated when a character key is depressed, indicating that a character of data is ready to be transferred to the processor. The operator-initiated interrupt is caused by depressing a particular key; this causes a branch to a specified location which must contain a user-CQded routine for handling the interrupt conditi~n. . 123 Programming Assembly-language programming of the console keyboard/printer operations is facilitated by the use of two standard IBM subroutines. One subroutine allows printer output only; the second subroutine allows keyboard input and automatic printing of the input data on the console printer. The second subroutine also provides backspacing, endof-message indication, and message deletion as initiated by the special keys mentioned in Paragraph .122. The called subroutine is automatically inserted in the user's program by the 1130 Assembler. The calling sequence specifies the name of the desired subroutine and parameters indicating whether a print, read-print, or device-busy check operation is to be performed. Included in the parameter list are core memory addresses of the input or output data area and of the user's error routine. The number of words that are to be transferred must be loaded by the programmer into the first word of the data area. Each 16-bit memory location to be printed contains two characters in Console Printer Code. Data can be converted into console code from other codes by standardized conversion subroutines provided by IBM; see Table I in Section 418:051, Central Processor. When an interrupt is generated as a result of a console printer operation, the subroutine checks for successful completion of the operation. If an error is detected, the subroutine loads the accumu1ator register with status information and transfers control to the user's error subroutine. After an analysis of the error information, the user's routine can either cause a halt or cause the operation to be retried. A different subroutine is used for keyboard data input and console printer output in FORTRAN-coded source programs. This subroutine permits a keyboard data entry of up to 80 characters and/or a print-out of up to 120 characters per subroutine call. Data to be printed must be stored in unpacked (one character per word) EBCDIC format; the subroutine converts this to Console Printer Code before printing. Data entered from the keyboard is converted from IBM Card Code to the unpacked EBCDIC format. All data entered from the keyboard is printed on the console printer. The FORTRAN subroutines do not permit overlapped operation of the keyboard and console printer. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 418:111.100 & SIAN"" AEDP AIJERBAC~ , - IBM 1130 SIMULTANEOUS OPERATIONS REPORTS SIMULTANEOUS OPERATIONS .1 GENERAL . 11 Input-Output Channels Three input-output channels are used in IBM 1130 systems to transfer data between the peripheral devices and the central processor: • Direct Program Control Channel - a standard inclusion in all models of the 1131 Central Processor Unit. • Disk Channel - a standard inclusion in the 1131 Model 2A and 2B Central Processor Units. • Storage Access Channel - an optional channel available for all models of the 1131 Central Processor Unit. The Direct Program Control Channel, with appropriate adapters, is used for connection of all standard peripheral devices available with the 1130 except the Disk File. See Section 418:031, System Configuration, for a list of the peripheral devices available and for configuration rules. In general, multiple devices can operate simultaneously over the Program Control Channel, subject to program timing considerations. The Disk Channel is used with the Disk File, an integral part of the 1131 Model 2A and 2B Central Processor Units. The Storage Access Channel permits the connection of a non-IBM peripheral device. Magnetic tape units such as the IBM 2415 can also be connected to an 1130 system via this channel on a special request (RPQ) basis. The Storage Access Channel can accommodate peripheral devices operating at up to 270,000 words per second . . 12 Input-Output Process Data transfers between all standard peripheral devices (except the 1132 Printer) and the central processor operate on a character or word basis. The output process for the 1132 Printer is relatively complex: see Section 418:081. Except with the Disk File, an interrupt is generated for each character of data transferred. Whole blocks of data (one or more sectors) are transferred between the Disk File and the central processor, and an interrupt is generated only at the completion of an operation. The interrupt facilities provide the 1130 with capabilities, at the hardware level, for overlapped operations . .2 DEMANDS ON THE PROCESSOR There are three factors to be considered in evaluating the effective demands imposed upon the processor by the operations of the peripheral devices: • Interference - the time required to transfer data, during which the processor is interlocked against any type of processing. • Interrupt processing - the time required to process the interrupts associated with each character or block of data, during which the processor cannot perform any non-I/O functions. • Code translation and radix conversion processing - the time required to convert between the external data codes and the internal forms required for computation. In general, only Dne core storage cycle (3.6 microseconds) is actually required to transfer one character or word of data between the peripheral device and the central processor. Frequently, this time is small in comparison with the time required for the interrupt processing and code conversion. IBM provides a wide range of subroutines to control I/O operations and to accomplish code translation and radix conversion. The I/o control subroutines provided for Assembler-language programming return control to the user's program after the completion of interrupt processing, thus making possible a degree of overlapping of internal processing with input-output operations. The subroutines provided with the FORTRAN compiler do not allow any overlapping. This is a significant limitation since most user programming will probably be done in FORTRAN. In most applications then, the 1130 will appear as a sequential system capable of performing only one operation at a time. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 IBM 1130 418:111. 200 Typical times for interrupt processing are presented in Table I for most of the basic I/O operations. A list of the code translation and radix conversion subroutines is presented in Section 418:051, Central Processor. T ABLE I: IBM 1130 I/O INTERRUPT SERVICING TIMES Processor Time msec (1) Per Unit (3) Fixed (2) Device and Operation 1442 Card Read Punch, Model 6 or 7 Read one card Punch one card 14.9 0.76 0.04 0.19 1132 Printer Print one line (alphameric) Print one line (numeric) Skip 1, 2 or 3 lines 44.1 31. 8 0.42 3.0 1.4 0.21 Console Keyboard/Printer Print one line 0.23 0.73 0.43 0.81 0.4~ 0.68 1134 Paper Tape Reader Read one block 1055 Paper Tape Punch Punch one block 1627 Plotter Plot one point Disk File Read one sector Write one sector Seek (1) 1. 12 - 1.5 1.8 1.1 - These times represent the use of the most straightforward of the standard IBM subroutines; they do not include the actual data transfer times (see Paragraph.2). The more sophisticated subroutines, which provide additional facilities, usually require more time. (2) These times are required once each time the subroutine is entered (i. e. , for each card read, each line printed, each point plotted, etc.). (3) These times apply to each character of data transferred, when applicable. / 5/66 A AUERBACH '" 418: 121. 100 A STANDARD EDP IBM 1130 INSTRUCTION LIST RfP!lRTS AUERBACH ~ INSTRUCTION LIST Mnemonic OP Code (Hexadecimal Representation) 1 Instruction COO Load Load Load Load Load and Store LD LDD LDX lOS" STO STD STX STS C80 600 200 DOD D80 680 280 Accumulator Double Index Status Store Accumulator Store Double Store Index Store Status Arithmetic A 800 AD FOO Add Add Double Subtract Subtract Double Multiply Divide And Or Exclusive Or 400 480 484 700 Bronch and Store Instruction Counter Branch or Skip Conditionally Branch Out or Skip Conditionally Modify Index and Skip 100 108 18C Shift Left Accumulator Shift Left Accumulator and Q Reg. Shift Left and Count Accumulator and Q Reg. Shift Left and Count Accumulator Shift Right Accumulator Shift Right Accumulator and Q Reg. Rotate Right 080 Execute I/O 100 300 No Operotion Wait 880 900 980 S SD M ADO D A80 EOO AND OR E80 EaR Branch BSI BSC BOSC 2 MDX Shift SLA" SLT* SLC* SLCA" SRA" SRT* RTE* IOC 104 180 188 Input/Output XIO Miscellaneous 3 NaP" WAIT" "Valid in short format only. 1. The hexadecimal representation of the machine operation code is derived from the instruction format in the manner shown below. Bits 5, 6, 7, 10, and 11 are assumed to be zeros because they do not enter into the makeup of any operation codes. 2. Same as BSC with Bit 9 set to one. 3. An operand should nat be specified. Hexadecimal Characters o 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 OPcOde-----.J~tT J Format (F) Index Tag bits (T) IA bit, part of displacement I or extension ofOP code __________________________________________ ~ Port of displacement, or extension of OP code __________________________________--' Condition "indicators, or part of displacement __________________________________________~___.J Reprinted from IBM 1130 Assembler Language, Form C26-5927-0, published by IBM. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 418: 141. 100 A AUERBAC~ • DATA CODE TABLE EBCDIC Ref No. Binary 0123 4567 0 I 2 3 4 5' 6' 7* 8 9 10 II 12 13 14 15 0000 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 16 17 18 19 20' 21' 22' 23 24 25 26 27 28 29 30 31 0001 32 33 34 35 36 37* 38' 39 40 41 42 43 44 45 DOlO 47 48 49 50 51 52 53' 54' 55 56 57 58 59 60 61 62 63 DOli CD Hex Rows 12 1100 1101 1110 III I 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 0000 0001 DOlO 0011 0100 0101 0110 Olll 1000 1001 1010 lOll 1100 1101 1110 III I 10 II 12 13 14 15 16 17 18 19 IA IB IC lD IE IF 12 0000 0001 0010 001l 0100 0101 0110 oIII 1000 1001 1010 lOll 1100 1101 IIiO III I 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 20 2E 2F 0000 0001 0010 DOli 0100 0101 0110 Dill 1000 1001 1010 lOll 1100 1101 lllO III I 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F NOTES: Typewriter Output Tobulote @ Shift to block 1132 IBM Cord Code Hex 00 01 02 03 04 05 06 07 08 09 OA DB DC 00 DE OF 1011 46 II 12 0 9 8 7-1 0 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 II II II II II II II II II II II II Il Il II II II II Graph i C5 and Control Names 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 0 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 I I 2 3 4 5 6 7 I 2 3 4 5 6 7 I I 2 3 4 5 6 7 I 2 3 4 5 6 7 I I 2 3 4 5 6 7 I 2 3 4 5 6 7 I I 2 3 4 5 6 7 I 2 3 4 5 6 7 B030 9010 8810 8410 8210 8110 8090 8050 8030 9030 8830 8430 8230 8130 80BO 8070 0030 5010 4810 4410 4210 4110 4090 4050 4030 5030 4830 4430 4230 4130 40BO 4070 7030 3010 2810 2410 2210 2110 2090 2050 2030 3030 2830 2430 2230 2130 20BO 2070 F030 1010 0810 0410 0210 0110 0090 0050 0030 1030 0830 0430 0230 0130 OOBO 0070 PF HT LC DEL EBCDIC Subset Hex U -Upper Case L-Lower Case Punch Off Hariz.Tob Lower Cose Delete RES NL BS IDL Restore BYP LF EOB PRE Bypcss PN RS UC EOT Punch On Reoder Stop Upper Cose End of Trons. New Line Backspace Idle Line Feed End of Block Prefix ® @4CarrierReturn (1) PTTC/8 Hex Printer Console Printer Hex Not(!s NUL 60~ 41 (j) 05 81 II @ Q) 6E 5 7F 5 $ 4C DD 5E 5 3D ~ 3E 5 03 00$ OE 5 09 The Same in Either Cose Shift to red * Recognized by all Conversion subroutines. Codes that are not asterisked are recognized only by the SPEED subroutine. Reprintedfrom IBM 1130 Subroutine Library, Form C26-5929-1, published by IBM. 5/66 ST .... RD /AEDP IBM 1130 DATA CODE TABLE A AUERBACH ® (1) REPIIRTS 418: 141. 101 DATA CODE TABLE DATA CODE TABLE (Contd.) EBCDIC Ref No. 64* 65 IBM Card Code Binary 0123 4567 Hex 0100 0000 0001 0010 0011 0100 OJOI 0110 01 I I 1000 1001 1010 1011 1100 1101 1110 1111 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 70 71 72 73 74 75 76 77 78 79 7A 66 67 68 69 70 71 72 73 74* 75* 76* 77* 78* 79* 80* 81 82 83 84 85 86 87 88 89 90* 91* 92* 93* 94* 95* 0101 96* 97* 98 99 100 101 102 103 104 105 106 107* 108* 109* 110* 111* 0110 112 113 114 115 116 117 118 119 120 121 122* 123* 124* 125* 126* 127* 0111 Rows 12 II 12 12 12 12 12 12 12 12 12 12 12 1.2 12 12 12 no punches o 9 o 9 o 9 o 9 o 9 o 9 o 9 o 9 8 8 8 8 8 8 8 8 12 12 12 12 12 12 12 12 12 7D 7E 7F 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 I 2 3 4 5 6 7 I 2 3 4 5 6 7 I 2 3 4 5 6 7 I 2 3 4 5 6 7 II II 11 11 II II II II 12 12 12 12 12 12 12 12 12 12 I 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 9 9 9 9 9 9 9 8 8 0 0 0 0 0 8 8 8 8 8 3 4 5 6 7 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 I 2 3 4 5 6 7 1 II II J1 11 11 11 J1 11 11 11 Graphics and Control Names 0 9 8 7-1 II II II II II II II II II II II II II II II 6F 7B 7C Hex 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 0000 BOlO A810 MIO A210 AIIO A090 A050 A030 9020 8820 8420 8220 8120 80AO 8060 8000 DOlO C810 C410 C210 CliO C090 C050 C030 5020 4820 4420 4220 4120 40AO 4060 4000 3000 6810 6410 6210 6110 6090 6050 6030 3020 COOO 2420 2220 2120 20AO 2060 EOOO FOIO E810 E410 E210 EIIO E090 E050 E030 1020 0820 0420 0220 0120 OOAO 0060 1132 Printer EBCDIC Subset Hex (space) * ~ . (period) < 4B PTTC/8 Hex U-Upper Case L...Lower Case Console Printer Hex IO® 21 20 (U) 6B (L) 02 (U) 19 (U) 70 (U) 3B (U) 02 00 DE FE DA C6 ( + I (logical OR) 4D 4E & 50 70 (L) 44 5B 5C 5D 5B (U) 5B (L) 08 (U) IA(U) 13 (U) 6B (U) 42 40 D6 F6 D2 F2 60 61 40 (L) 31 (L) 84 BC 6B 3B (L) 15 (U) 40 (U) 07 (U) 31 (U) 80 06 BE 46 86 04 (U) OB (L) 20 (L) 16 (U) 01 (U) OB (U) 82 CO 04 E6 C2 E2 ! $ * ) ; -, (logical NOT) - (dash) / , (comma) % _ (underscore) > ? iI @ ' (apostrophe) = " 7D 7E * Any code other than those defined wi II be interpreted by PRNTI as a space. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 418:141. 102 IBM 1130 DATA CODE TABLE (Contd.) EBCDIC Ref No. 5/66 Binary IBM Card Code Hex Rows 0123 4567 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 1000 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 80 8E 8F 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 1001 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 90 9E 9F 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 1010 0000 0001 0010 0011 0100 0101 0110 0111 1001 1010 1011 1100 1101 1110 1111 AO Al A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 1011 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 BO BI B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF iooo 12 11 a a a a a a a a a a a a a a a a a 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 9 8 7-1 8 8 8 8 8 8 8 8 2 3 4 5 6 7 8 1 1 2 3 4 5 6 7 8 9 a a a a a a a Ii a 11 a 11 a 11 a 11 a 11 a 11 a 11 a 11 a 11 a 11 a 11 a 11 a 11 a 11 a 11 a 11 a 11 0 11 a 11 a 11 a 11 a 11 a 11 a 11 1 1 2 3 4 5 6 7 9 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 Hex 0 Graphics and Control Names 8 8 8 8 8 8 2 3 4 5 6 7 8 1 1 2 3 4 5 6 7 8 9 8 8 8 8 8 8 2 3 4 5 6 7 8 1 1 2 3 4 5 6 7 8 9 8 8 8 8 8 8 2 3 4 5 6 7 B020 BOOO A800 A400 A200 Al00 A080 A040 A020 A010 A820 A420 A220 A120 AOAO A060 0020 0000 C800 C400 C200 C100 C080 C040 C020 COlO C820 C420 C220 CI20 COAO C060 7020 7000 6800 6400 6200 6100 6080 6040 6020 6010 6820 6420 6220 6120 60AO 6060 F020 FOOO E800 E400 E200 El00 E080 E040 E020 E010 E820 E420 E220 E120 EOAO E060 A AUERBACH '" a b c d e f 9 h i i k I m n a P q r s t u v w x Y z 1132 Printer EBCDIC Subset Hex PTTC/8 Hex U -Upper Case L-Lower Case Console Printer Hex 418:141. 103 DATA CODE TABLE DATA CODE TABLE (Contd.) EBCDIC Ref No. Binary IBM Card Cade Raws Hex 0123 4567 12 192 193* 194* 195* 196* 197* 198* 199* 200* 201* 202 203 204 205 206 207 1100 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 CO Cl C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF 208 209* 210" 211* 212* 213* 214* 215" 216* 217* 218 219 220 221 222 223 1101 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 DO 01 D2 D3 D4 05 D6 D7 D8 D9 DA DB DC DD DE DF 224 225 226* 227* 228* 229* 230* 231* 232* 233* 234 235 236 237 238 239 1110 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 EO El E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF 240* 241* 242* 243* 244* 245* 246* 247* 248* 249* 250 251 252 253 254 255 1111 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 FO Fl F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF 11 0 9 8 7-1 0 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 Hex 1 2 3 4 5 6 7 8 0 0 0 0 0 0 11 11 11 11 11 11 11 11 11 11 11 11 11 8 8 8 8 8 8 2 3 4 5 6 7 1 2 3 4 5 6 7 8 9 9 9 9 9 9 9 11 11 11 11 11 11 11 11 9 9 9 9 9 9 9 0 11 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 8 8 8 8 8 2 3 4 5 6 7 8 2 1 2 3 4 5 6 7 9 8 9 9 9 9 9 9 9 8 8 8 8 8 8 2 3 4 5 6 7 0 1 2 3 4 5 6 7 8 12 12 12 12 12 12 11 11 11 11 11 11 Graphics and Control Names 0 0 0 0 0 0 9 9 9 9 9 9 9 8 8 8 8 8 8 2 3 4 5 6 7 AOOO 9000 8800 8400 8200 8100 8080 8040 8020 8010 A830 A430 A230 A130 AOBO A070 (+ zero) 6000 5000 4800 4400 4200 4100 4080 4040 4020 4010 C830 C430 C230 C130 COBO C070 (- zero) 2820 7010 2800 2400 2200 2100 2080 2040 2020 2010 6830 6430 6230 6130 60BO 6070 2000 1000 0800 0400 0200 0100 0080 0040 0020 0010 E830 E430 E230 EI30 EOBO E070 1132 Printer EBCDIC Subset Hex PTTC/8 Hex U-Uppcr Case L-Lower Case Consale Printer Hex Cl C2 C3 C4 C5 C6 C7 C8 C9 61 (U) 62 (U) 73 (U) 64 (U) 75 (U) 76 (U) 67 (U) 68 (U) 79 (U) 3C or:lE 18 or lA lC or IE 30 or 32 34 or 36 10 or 12 14 or 16 24 or 26 20 or 22 P Q R Dl D2 D3 D4 D5 D6 D7 D8 D9 51 52 43 54 45 46 57 58 49 7C or 7 E 58 or 5A 5C or 5E 70 or 72 74 or 76 50 or 52 54 or 56 64 or 66 60 or 62 S T U V W X Y Z E2 E3 E4 E5 E6 E7 E8 E9 32 (U) 23 (U) 34 (U) 25 (U) 26 (U) 37 (U) 38 (U) 29 (U) 98 or 9A 9C or 9E BO or B2 B4 or B6 90 or 92 94 or 96 A4 or A6 AO or A2 0 I 2 3 4 5 6 7 8 9 FO Fl F2 F3 F4 F5 F6 F7 F8 F9 lA (l) 01 (l) 02 (l) 13 (l) 04 (l) 15 (l) 16 (L) 07 (l) 08 (l) 19 (l) C4 FC D8 DC FO F4 DO D4 E4 EO A B C D E F G H I J K l M N 0 © 1966 AUERBACH Corporation and AUERBACH Info, Inc. (U) (U) (U) (U) (U) (U) (U) (U) (U) 5/66 418:141. 104 IBM 1130 IBM 1130 DATA CODE UTILIZATION (1) Peripheral Device Code (2) Input 1134 Paper Tape Reader (3) 1055 Paper Tape Punch (3) . 1442 Card Read Punch (3) 1132 Printer Console Printer/ Keyboard Output PTTC/8 Card code Card code - Characters per Word 1 PTTC/8 1 Card code 1 EBCDIC subset 2 Console printer 1 (1) See Table I in Section 418:051, Central Processor, for a listing of the standard subroutines provided by IBM for code translation. (2) This code indicates the form in which the data appears in core storage immediately after an input operation or before an output operation. (3) Since a binary image is transferred between these devices and core storage, different meanings can be assigned to each code if appropriate programming considerations are made. ./ 5/66 A AUERBACH '" r--. 1. A AUERBAC~ • 418:151. 100 SIlK'''' EDlP IBM 1130 PROBLEM ORIENTED FACILITIES REPORTS PROBlEIVI ORIENTED FACiliTIES .1 UTILITY ROUTINES · 11 Simulators of Other Computers: .. none. · 12 Simulation by Other Computers: .. none. .13 Data Sorting and Merging: . . . . . . . . no facilities. .14 Report Writing: · 15 Data Transcription subroutines, data code translation subroutines, radix conversion subroutines, arithmetic and functional subroutines, and selective dump subroutines. In addition, subroutines for disc-oriented systems permit overlay control of both Assembler and FORTRAN object programs. The Assembler and FORTRAN I/O control subroutines are discllssed in the report sections on the individual peripheral devices; see Sections 418:042 and 418:071 through 418:102. . no facilities. The data code translation and radix conversion subroutines are discussed in Section 418:051, Central Processor. 1130 Utility Routines Reference: . . . . . . . . IBM 1130 Card/Paper Tape Programming System Operators Guide, Form C26-3629. Date available: . . . . . March 1966. Description: Three straightforward data transcription routines are included in the IBM 1130 Utility Routine package. The Input/Output Routine can accept data from the'1442 Card Read Punch or the 1134 Paper Tape Reader and list it on the Console Typewriter or 1132' Printer; this routine can also convert data between punched card format and punched paper tape format and can perform a listing on either the Console Typewriter or Printer at the same time. The Keyboard Routine allows an operator to prepare source documents on punched cards or punched paper tape from data entered on the Console Keyboard. The Card Reproducing Routine permits an operator to reproduce a deck of cards; the columns to be reproduced are selected by appropriate punches in the desired columns of a header card. The exact facilities available at a particular, installation depend on its peripheral equipment configuration. These routines utilize the standard inputoutput and data-code conversion subroutines contained in the 1130 Subroutine Library. . 16 Selective dump subroutines are provided to allow selected areas of core storage to be printed on the Console Typewriter or the 1132 Printer in either hexadecimal (four 4-bit characters per word) or decimal (five 3-bit characters plus sign per word) format. .18 Arithmetic and Functional Subroutines A wide range of subroutines is provided for use in FORTRAN or Assembler coded programs. Table I illustrates the range and execution times of these subroutines. Standard -precision floating-point format provides a fraction of approximately 6 significant digits; extended -precision floating-point format provides a fraction of approximately 9 significant digits. .19 Applications Programs Two categories of applications programs are available for use on the IBM 1130 system: o Programs designed for specific applications, such as civil engineering, and o Routines providing mathematical techniques which can be used in many diverse applications • File Maintenance There are no file maintenance facilities for cardor paper tape-oriented 1130 systems. In discoriented systems utilizing the IBM 1130 Monitor System, the Disk Utility Program provides facilities for inserting or deleting subroutines and object programs in the Disk File. (See also Section 418:191, IBM 1130 Monitor System). · 17 The arithmetic and functional subroutines are discussed in Paragraph . 18 of this report section. IBM 1130 Subroutine Library Reference: .•••.... IBM 1130 Subroutine Library, Form C26-5929. Availability: . • . . . . . March 1966. Description: An extensive array of subroutines is provided by IBM to aid users of an IBM 1130. The same general facilities are available for card, paper tape, or disc-oriented systems. The principal types of subroutines included in the Library are: assembler I/O control subroutines, FORTRAN I/O control In general, the use of these programs requires an 1130 system configuration with an 1131 Model 2B Central Processor Unit, a 1442 Card Read-Punch, and, in some cases, a 1627 Plotter. Programs are provided for applications in the following specific fields: o Petroleum exploration and engineering: These programs can be used to analyze seismic, magnetic, and gravity data, and to solve drilling, production and reservoir problems. o Type composition: This program aids a type compositor in the transcription of textual material to a form required by line -casting machines for setting type. The use of this program requires an 1131 Central Processor Model 2B and either an 1134 Paper Tape Reader and 1055 Paper Tape Punch or a 1442 Card Read Punch. Optional special features (RPQ) © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 IBM 1130 418: 151. 190 .19 Applications Programs (Contd.) analYSiS, and fluid flow. These routines are provided in addition to the standard library functions of 1130 FORTRAN. The system requirements for the use of Mathpak vary depending on the size of the subroutines used. are available to connect multiple 6-channel paper tape units to an 1130 Central Processor. • Civil engineering: A simplified programming system, Civil Engineering Coordinate Geometry (COGO), is provided to allow civil engineers to solve geometrical problems using civil engineering terminology. The following routines are provided for general scientific applications: • Mathpak: A set of 20 FORTRAN -coded subroutines which can be applied to problems in electric field theory, elastiCity, harmonic • Statistical System: A set of four programs providing the following statistical techniques: step-wise linear regression, analysis of variance' polynomial curve fitting, and factor analysis. • Numerical Surface Techniques and Contour Map Plotting: A set of nine programs providing techniques for describing and operating on geometric surfaces. TABLE I: ARITHMETIC AND FUNCTIONAL SUBROUTINES Symbolic Name Execution Time, Microseconds SUBROUTINE Standard Precision Extended Precision Add/Subtract Multiply Divide Load/Store F AC *FADD/*FSUB *FMPY *FDIV *FLO/*FSTO *EADD/*ESUB *EMPY 'EDIV *ELD/*ESTO 460/560 560 766 180/180 440/490 790 2,060 160/170 Trigonometric Sine/Cosine Trigonometric Arctangent Square Root Natural Logarithm Exponential (eX) Hyperbolic Tangent FSINE/FCOSN FATN, FATAN FSQR, FSQRT FLN, FALOG FXPN, FEXP FTNH/FTANH ESINE/ECOSN EATN, EATAN ESQR, ESQRT ELN, EALOG EXPN, EEXP ETNH/ETANH 3,000/3,400 5,200 4,500 5,100 2,000 4,300 5,400/5,900 8,900 10,400 8,000 4,400 8,100 Floating-Point Base to an Integer Exponent Floating-Point Base to a Floating-Point Exponent Floating-Point to Integer Integer to Floating-Point 'FAXI *FAXB I FIX FLOAT NORM FBTD/FDTB *EAXI *EAXB IFIX FLOAT NORM FBTD/FDTB 3,800 8,000 140 330 260 40,000/20,000 4,700 13,300 140 330 260 40,000/20,000 FARC FARC *FIXI XSQR XMDS XMD XDD *FIXI XSQR XMD XDD 465 550 (avg) 260 520 1,760 *FSBR *FDVR SNR FAVL, FABS lABS *ESBR *EDVR SNR EAVL, EABS lABS 650 1,090 80 50 100 740 2,520 80 60 100 FGETP EGETP 330 320 Standard Precision Extended Precision Floating-Point Normalize Floating Binary to Decimal/Floating Decimal to Binary Floating-Point Arithmetic Range Check 60 60 Fixed-Point Integer Base to an Integer Exponent Fixed-Point Square Root Fixed-Point Fractional Multiply (short) Fixed-Point Double Word Multiply Fixed-Point Double Word Divide - 465 550 (avg) - - - Special Function Floating-Point Reverse Subtract Floating-Point Reverse Divide Floating-Point Reverse Sign Floating-Point Absolute Value Integer Absolute Value Miscellaneous Get Parameters * By adding an X to those names prefixed with an asterisk, the user can cause the contents of Index Register 1 to be added to the address of the argument specified in the subroutine calling sequence to form the effective argument address. For example, FADDX would be the modified form of FADD. 5/66 A ., AUERBACH 418:151. 100 .&.. A ElD>IP' AUERBAC~ STANDA" - IBM 1130 PROBLEM ORIENTED FACILITIES REPORlS ~ PROBLEM ORIENTED FACILITIES .1 UTILITY ROUTINES .11 Simulators of Other Computers: .. none. .12 Simulation by Other ComQuters: .. none. . 13 Data Sorting and Merging: . . . . . . . . no facilities. .14 Report Writing: . 15 Data Transcription subroutines, data code translation subroutines, radix conversion subroutines, arithmetic and functional subroutines, and'selective dump subroutines. In addition, subroutines for disc-oriented systems permit overlay control of both Assembler and FORTRAN object programs. The Assembler and FORTRAN I/O control subroutines are discussed in the report sections on the individual peripheral devices; see Sections 418:042 and 418:071 through 418:102 . . no facilities. The d.ata code translation and radix conversion subroutines are discussed in Section 418:051, Central Processor. 1130 Utility Routines Reference: . . . . . . . . IBM 1130 Card/Paper Tape Programming System Operators Guide, Form C26-3629. Date available: . . . . . Mal'ch 1966. Description: Three straightforward data transcription routines are included in the IBM 1130 utility Routine package. The Input/Output Routine can accept data from the'1442 Card Read Punch or the 1134 Paper Tape Reader and list it on the Console Typewriter or 1132' Printer; this routine can also convert data between punched card format and punched paper tape format and can perform a listing on either the Console Typewriter or Printer at the same time. The Keyboard Routine allows an operator to prepare source documents on punched cards or punched paper tape from data entered on the Console Keyboard. The Card Reproducing Routine permits an operator to reproduce a deck of cards; the columns to be reproduced are selected by appropriate punches in the desired columns of a header card. The exact facilities available at a particular, installation depend on its peripheral equipment configuration. These routines utilize the standard inputoutput and data-code conversion subroutines contained in the 1130 Subroutine Library. . 16 Selective dump subroutines are provided to allow selected areas of core storage to be printed on the Console Typewriter or the 1132 Printer in either hexadecimal (four 4-bit characters per word) or decimal (five 3-bit characters plus sign per word) format. .18 Arithmetic and Functional Subroutines A wide range of subroutines is provided for use in FORTRAN or Assembler coded programs. Table I illustrates the range and execution times of these subroutines. Standard-precision floating-point format provides a fraction of approximately 6 significant digits; extended .,.precision floating-point format provides a fraction of approximately 9 significant digits. ' .19 Applications Programs Two categories of applications programs are available for use on the IBM 1130 system: o Programs designed for specific applications, such as civil engineering, and • Routines providing mathematical techniques which can be used in many diverse applications • File Maintenance There are no file maintenance facilities for cardor paper tape-oriented 1130 systems. In discoriented systems utilizing the IBM 1130 Monitor System, the Disk Utility Program provides facilities for inserting or deleting subroutines and object programs in the Disk File. (See also Section 418:191, IBM 1130 Monitor System). .17 The arithmetic and functional subroutines are discussed in Paragraph . 18 of this report section. IBM 1130 Subroutine Library Reference: . . . • . . . . IBM 1130 Subroutine Library, Form C26-5929. Availability: . . . . . . . March 1966. Description: An extensive array of subroutines is provided by IBM to aid users of an IBM 1130. The same general facilities are available for card, paper tape, or disc-oriented systems. The principal types of subroutines included in the Library are: assembler I/O control subroutines, FORTRAN I/O control In general, the use of these programs requires an 1130 system configuration with an 1131 Model 2B Central Processor Unit, a 1442 Card Read-Punch, and, in some cases, a 1627 Plotter. Programs are provided for applications in the following specific fields: o Petroleum exploration and engineering: These programs can be used to analyze seismic, magnetic, and gravity data, and to solve drilling, production and reservoir problems. o Type composition: This program aids a type compositor in the transcription of textual material to a form required by line-casting machines for setting type. The use of this program requires an 1131 Central Processor Model 2B and either an 1134 Paper Tape Reader and 1055 Paper Tape Punch or a 1442 Card Read Punch. Optional special features (RPQ) © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 IBM 1130 418:151. 190 Applications Programs (Contd.) .19 analYSiS, and fluid flow. These routines are provided in addition to the standard library functions of 1130 FORTRAN. The system requirements for the use of Mathpak vary depending on the size of the subroutines used. are available to connect multiple 6-channel paper tape units to an 1130 Central Processor. • Civil engineering: A simplified programming system, Civil Engineering Coordinate Geometry (COGO), is provided to allow civil engineers to solve geometrical problems using civil engineering terminology. The following routines are provided for general scientific applications: • • • Mathpak: A set of 20 FORTRAN-coded subroutines which can be applied to problems in electric field theory, elastiCity, harmonic Statistical System: A set of four programs providing the following statistical techniques: step-wise linear regression, analysis of variance, polynomial curve fitting, and factor analysis. Numerical Surface Techniques and Contour Map Plotting: A set of nine programs providing techniques for describing and operating on geometric surfaces. TABLE I: ARITHMETIC AND FUNCTIONAL SUBROUTINES Symbolic Name Execution Time, Microseconds SUBROUTINE Standard Precision Extended Precision Standard Precision Extended Precision Add/Subtract Multiply Divide Load/Store F AC *FADD/*FSUB *FMPY 'FDIV 'FLD/*FSTO *EADD/*ESUB *EMPY *EDIV *ELD/*ESTO 460/560 560 766 180/180 440/490 790 2,060 160/170 Trigonometric Sine/COSine Trigonometric Arctangent Square Root Natural Logarithm Exponential (eX) Hyperbolic Tangent FSINE/FCOSN FATN, FATAN FSQR, FSQRT FLN, FA LOG FXPN, FEXP FTNH/FTANH ESINE/ECOSN EATN, EATAN ESQR, ESQRT ELN, EALOG EXPN, EEXP ETNH/ETANH 3,000/3,400 5,200 4,500 5,100 2,000 4,300 5,400/5,900 8,900 10,400 8,000 4,400 8,100 Floating-Point Base to an Integer Exponent Floating-Point Base to a Floating-Point Exponent Floating-Point to Integer Integer to Floating-Point Normalize Floating Binary to Decimal/Floating Decimal to Binary Floating-Point Arithmetic Range Check *FAXI *FAXB IFIX FLOAT NORM FBTD/FDTB 'EAXI *EAXB IFIX FLOAT NORM FBTD/FDTB 3,800 8,000 140 330 260 40,000/20,000 4,700 13,300 140 330 260 40,000/20,000 FARC FARC 'FIXI XSQR XMDS XMD XDD 'FIXI XSQR XDD 465 550 (avg) 260 520 1,760 'FSBR 'FDVR SNR FAVL, FABS lABS 'ESBR *EDVR SNR EAVL, EABS lABS 650 1,090 80 50 100 740 2,520 80 60 100 FGETP EGETP 330 320 Floating-Point 60 60 Fixed-Point Integer Base to an Integer Exponent Fixed-Point Square Root Fixed-Point Fractional Multiply (short) Fixed-Point Double Word Multiply Fixed-Point Double Word Divide XMD 465 550 (avg) - - Special Function Floating-Point Reverse Suhtract Floating-Point Reverse Divide Floating-Point Reverse Sign Floating-Point Absolute Value Integer Absolute Value Miscellaneous Get Parameters • By adding an X to those names prefixed with an asterisk, the user can cause the contents of Index Register 1 to be added to the address of the argnment specified in the subroutine calling sequence to form the effective argument address. For example, FADDX would be the modified form of FADD. 5/66 A. AUERBACH - 1. 418:161. 100 IA AUERBAC~ STANDARD IBM 1'130 PROCESS ORIENTED LANGUAGE FORTRAN EDP REPORTS ~ PROCESS ORIENTED LANGUAGE: IBM 1130 FORTRAN .1 GENERAL .11 Identity: . . . . . . . . . IBM 1130 FORTRAN. . 12 Origin:.......... IBM Corporation. .1S Reference: . . . . . . . IBM Systems Reference Library Form C26-59SS-S. . 14 Description IBM 1130 FORTRAN is an implementation of the Basic FORTRAN Language as proposed by the XS. 4. S FORTRAN Group of the American Standards Association, and as published in the Communications of the ACM, October 1964. Extensions to the Basic FORTRAN language include machine indicator tests (by subroutines), mixedmode expressions (real and integer forms), disc handling statements (Monitor System only), and automatic input-output conversions. In the l1S0 FORTRAN language the normally ambiguous statement A**B**C is acceptable and is evaluated as . A**(B**C). In essence, the IBM l1S0 FORTRAN language is a restricted version of the FORTRAN IV language as implemented for the IBM 7090/7094. A detailed description of the IBM 7090/7094 FORTRAN IV language is presented in Section 408:162. The l1S0 FORTRAN language is also a subset of the IBM System/360 Basic Programming Support FORTRAN IV language (see Section 420:163) with the exception of the statements used in conjunction with the 1130 disc drive. The principal restrictions of the IBM 1130 FORTRAN language include the absence of double precision, complex, and logical capabilities. A source program written in 1130 FORTRAN language can be compiled using the IBM System/360 BPS FORTRAN IV compiler if the reserved word conventions of the System/S60 compiler are observed and the disc handling statements are not used. .141 Restrictions Relative to IBM 7090/7094 FORTRAN IV (1) No facilities are provided for COMPLEX, DOUBLE PRECISION, or LOGICAL arithmetic operations. (2) The ASSIGN statement is not provided. (3) The maximum size of integer constants is 215 -1 in 1130 FORTRAN as compared to 235 -1 in 7090/7094 FORTRAN. .142 Extensions Relative to IBM 7090/7094 FORTRANIV (1) The range of REAL numbers in 1130 FORTRAN is approximately 10- 3 9 to 1038 as compared to 10 135 in the 7090/7094 FORTRAN. (2) The following statements which apply to the 1130 Monitor System (see Section 418:191): CALL EXIT DEFINE FILE Disk READ, WRITE and FIND CALL LINK © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 & 418:171. 100 - SImARD AEDP AUERBAC~ IBM 1130 MACHINE ORIENTED LANGUAGE 1130 ASSEMBLER • REPORTS MACHINE ORIENTED LANGUAGE: 1130 ASSEMBLER .1 GENERAL • 11 Identity: .•..•..•.. 1130 Assembler Language . • 12 Origin: .1.3 Reference: . . • . . . . . IBM 1130 Assembler Language, Form C265927-0, published byIBM. .14 Description Operand and Remarks: specifies unmodified operand address or literal. A blank after this information indicates to the assembler that the remainder of the line is a comment. Identification: .••.•. for program identification and statement sequence numbers. . . . . . • . . . . IBM Corporation • The IBM 1130 Assembler language is a straightforward, one-to-one symbolic language which provides: • A symbolic representation of the entire 1130 instruction repertoire; and • A set of pseudo-operations for reserving memory areas, changing the program origin, and calling subroutines from the subroutine library. .23 Corrections: •.•..•. no special provisions; i. e., manual correction and reassembly are required. .24 Special Conventions .241 Compound addresses: •. symbols maybe modified by + or -. .242 Multi -addresses: .•.. none. .243 Literals: . . . . . . . . . * causes address of that instruction to be inserted in address field; load index register instruction uses literal in address field. The Assembler language can be used to generate subroutines for FORTRAN programs and can call FORTRAN subroutines, input-output subroutines, and utility routines. The Assembler program translator is described in Section 418:181. .2 LANGUAGE FORMAT . 21 Diagram: .•..••... refer to coding form below . .3 LABELS Legend .31 General Label: . . . . • . . . . . . sym bol(s) identifying the address of an instruction or data item. An asterisk in column 21 of the Label Field indicates the line is a comment. Operation: ....••.. instruction code. F: . . . • • • • . . . . . . . format specification indicating either short (1word) or long (2-word) instruction. T: ..•••••••...•• tag specification indicating address modification by index register 1, 2, or 3 or no index modification. .311 Maximum number of labels: .•.•..•. maximum of 550 labels using 4,096 core memory locations; maximum of 1,915 labels using 8,192 core memory locations. .312 Common label formation rule: .•.. yes. .313 Reserved labels: . . . . none • . 314 Other restrictions: .. first symbol must be alphabetic; maximum of five characters. .315 Designators: .••.•• none • . 316 Synonyms permitted: . EQU pseudo-instruction equates two symbols. .22 IBM IBM 1130 Assembler Ceding Perm P'ogrofl"l _ _ _ _ _ _ _ _ __ Dote _ _ _ __ Progro,,,,ned by _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ Page No. _ _ of _ _ label Operotion F T Operand~ 8. Remorb ! 5/66 A I , Identification ! ! , I I ! I , (Contd.) AUERBACH '" 418: 171. 320 MACHINE ORIENTED LANGUAGE: 1130 ASSEMBLER .32 Universal Labels · 321 Labels for procedures Existence: . . . • . . . mandatory if referenced by other sections of the program. Formation rule First character: ... alphabetic. Others: . . . . . . . . alphanumeric. Number of characters: . . . . . . . 1 to 5. · 322 Labels for library routines: . . . . . . . . same as procedures. . 323 Labels for constants: . same as procedures. . 324 Labels for files: . . . . same as procedures. • 325 Labels for records: .• same as procedures. .326 Labels for variables: . same as procedures. . 33 Local Labels: • . . . . . no provision for local labels. .4 DATA .41 Constants .411 Maximum size constants Integer Binary: . . • • . . . . 5 decimal digits (65,536 maximum) or 4 hexadecimal digits. Alphanumeric (8 bits per character): 1 character, or up to 35 characters. Fixed numeric: ..•. none. Floating numeric (binary) Standard precision:. 8-decimal-digit fraction plus sign (16,777,215 maximum); 3-decimaldigit exponent plus sign (128 maximum). Extended precision: 10 -decimal-digit fraction plus sign (4.295 x 10 9 maximum); 3-decimaldigit exponent plus sign (255 maximum). .412 Maximum size literals Binary integer: . . . . 5 decimal digits (65,536 maximum); used only for incrementing or loading an index register. . 42 Working Areas .421 Data layout: . . . • . . . specified in program. .422 Data type: . . . . • . . . tabulated in program. .423 Redefinition: .•••..• yes. .43 Input-Output Areas .431 Data layout: . . • . . . . . specified by subroutine parameters. . 432 Data type: . . • . . • . . . specified by subroutine used • . 433 Copy layout: ••••... no. .5 PROCEDURES .51 Direct Operation Codes · 511 Mnemonic Existence: .•.••.. mandatory. Number: . . . . • . . . 29. Example: . . . . . . . . A = Add. · 52 Macro-Codes: .•..•. none. .53 Interludes: •..•.•.. none. • 54 Translator Control .541 Method of control Allocation counter: .. Label adjustment: .. Annotation: •.•... · 542 Allocation counter Set to absolute: .•.. Set to label: . . . • . . Step forward: . . • . . Step backward: . . . . Reserve area: .•.•. · 543 Label adjustment Set labels equal: ..• Set absolute value: .. Clear label table: ..• · 544 Annotation Comment phrase: ... pseudo-operation. pseudo-operation. pseudo-operation. ORG. asterisk in address field. ORG . ORG . BSS, BES . EQU. EQU . none . notes following space after address field, or separate line with asterisk in column 21. .6 SPECIAL ROUTINES AVAILABLE .61 Special Arithmetic .611 Facilities: . . . . . . . . . double-word fixed-point arithmetic; standard and extended precision floating-point add, subtract, multiply, divide; conversion between fixed and floating point. .612 Method of call: . . . . . . CALL and DC pseudoinstructions. .62 Special Functions .621 Facilities: . . . . • . . . standard and extended precision floating point square root, sine, cosine and arctangent functions. · 622 Method of call: •.••• LIEF and DC pseudoinstructions. .63 Overlay Control: . . . . no special provisions . .64 Data Editing .641 Radix conversion: ... by subroutine; see Table I, Section 418:051, for a listing • . 642 Code translation: .•.. by subroutine; see Table I, Section 418:051, for a listing. · 643 Format control: ..••. none . .65 Input-Output Control: . handled by subroutines. .66 Sorting: ...••..•.• no facilities . • 67 Diagnostics .671 Dumps: .•..••.••. no direct facilities; core memory dump program requires separate load operation; core address limits specified via console entry switches. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 IBM 1130 418:171.672 Description Code ORG: ••••...•.• sets memory location assignment counter to a specified value. END: ••••...••• indicates last statement of source program. DC: .•••••••.•. generates a data constant in memory. DEC: ••.•••.••. specifies in decimal notation a value to be expressed in binary when placed in memory. XFLC: •.•..••.. specifies an extended precision floating-point constant. EBC: ••.....•.• used to generate two 8-bit characters (one I6-bit word) in Extended BCD Interchange code. BSS: .•••••.... reserves a specified number of core memory locations starting with an evennumbered core location. BES: ..•...•.•• reserves a specified number of core memory locations starting with an oddnumbered core location. EQU: . . . • . • . . . . equates two different symbolic addresses. ENT: . • . • • . defines an entry point (label) in a user-written subroutine. CALL: ..••... generates linkages to load a specified subroutine at program execution time. LINK* ••...•.•• causes loading of a new program and initiation of its execution. EXIT* ..••...• returns control to the 1130 Monitor System. DSA* . • . . • • . . . . allows symbolic resequencing of an unknown absolute address on disc. .672 Tracers: .•.•.•... none. .673 Snapshots: •••••.•. none. .7 liBRARY FACIliTIES .71 Identity: •••...•.•. IBM Subroutine Library (card- or .paper tapeoriented system). disc library (discoriented system). .72 Kinds of Libraries: .. expandable master. .73 Storage Form: .74 Varieties of Contents:. standard IBM subroutines; user-coded subroutines; user-coded programs (with Monitor System only) . .75 Mechanism ...•. punched cards, paper tape, or disc. .751 Insertion of new item: • physically place new item in library deck; or separate run using Disc Utility Program (Monitor System only). .752 Language of new item:. machine language. .753 Method of call: .•..• liBF or CALL and DC pseudo-instructions. .76 Insertion in Program • 761 Open routines exist: .. . 762 Closed routines exist: . .763 Open-closed is optional: .••.••• .764 Closed routines appear once: . . . . • . no . yes • no. yes. .8 MACRO AND PSEUDO TABLES .81 Macros: .••..••..• none. .82 Pseudos Code Description ABS: ••••.••••• indicates source program is to be assembled in absolute format. 5/66 * Available with Monitor System only. A AUERBACH '" .&. 418: 181. 100 "ANDARD . AEDP AUERBAC~ - IBM 1130 PROGRAM TRANSLATOR 1130 ASSEMBLER REPORTS PROGRAM TRANSLATOR: 1130 ASSEMBLER .1 GENERAL .22 · 11 Identity: •..••...•. IBM 1130 Assembler. · 221 Input media: •. · 12 Description The IBM 1130 Assembler translates source coding written in the 1130 Assembler language (see Section 418: 171) into machine language. Versions of the Assembler are available for 1130 systems using either card or punched tape inputoutput. Assembly in non-disc systems requires two passes of the source coding. With the card assembler, the generated coding is punched directly into the first 19 columns of the source cards during the second pass, producing a "list" deck. A separate run using a compressor program is required to generate a loadable objectprogram deck. A similar procedure is followed in punched tape-oriented systems; the output of the second pass is a tape containing both source coding and object coding in a format similar to that for cards. In a disc-oriented system, the Assembler is kept on the disc as part of the Monitor System; the object coding is retained on the diSC, and a list deck or tape can be produced if desired. Disc-oriented assemblies require two passes if the list deck or tape is to be produced. The source coding is checked for errors in format and syntax. A record is kept of the first and last error detected in each statement, and two coded symbols are punched into the output list deck or tape. In card or paper tape systems, a listing of errors and coding can be obtained when the compression operation is performed. In disc-oriented systems, the errors can be listed as they are detected. In a disc-oriented system utilizing the Monitor System, automatic and programmed overlay procedures are available in a manner similar to those of the FORTRAN compiler; see Paragraph 418:182.12. • 13 paper tape or punched cards. · 222 Obligatory ordering: .• END card must be last statement in source deck. .223 Obligatory grouping: .. none. .23 Maintainer: .•••.••. IBM Corporation. · 15 Availability: INPUT OUTPUT .31 Object Program · 311 Language name: ..••• machine language. .313 Output media: .•.••• punched cards, paper tape, or disc (with Monitor System only). .32 • 33 · 21 Language .211 Name: . • • • . . . . . . . IBM 1130 Assembler Language; see Section 418:171. • 212 Exemptions: ••.••.. pseudo-instructions for run-to-run linkages are available only with Monitor System, which requires a disc drive. •••• Size Limitations .3 Card and Paper Tape Assembler: .•.•.•• March 1966. Disc Assembler (with the Monitor System):. April 1966. •2 0 .231 Maximum number of source statements: .. not specified. .232 Maximum size of source statements: .• 50 characters; comments can be extended. .233 Maximum number of data items: .••••.• see next entry. .234 Maximum number of labels Card or paper tape system With 4, 096 words of core: . . . . . . 550. With 8, 192 words of core: . . . . . . 1,915. Disc-oriented system (with Monitor System) With 4,096 words of core: ..••. approx. 3,550. With 8, 192 words of core: .•••. approx. 4, 900. Originator: ..•••••. IBM Corporation. .14 Form Conventions: . . . . . . . I/O, data code conversion, and arithmetic subroutines can be used with any model 1131 Central Processor. Monitor System can be used only with disc system; permits program and subroutine library to be maintained on disc. Documentation Subject Provision Source program: •••• Object program: •••• Storage map: " •••••• Language errors: .••• separate transcription run. separate transcription run. none • optional listing. .4 TRANSLATING PROCEDURE .41 Phases and Passes Pass 1: .•••••..•. generates symbol table for use in pass 2 . Pass 2: .•••..•••• generates object code and punches it into cards or paper tape. (Object code is stored on disc when © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 418:181. 410 .41 • 44 .45 IBM 1130 Phases and Passes (Contd.) Monitor System is used.) Additional run is required to produce loadable object deck or tape. Bulk Translating: .••• sequential assemblies can be performed without need to reload Assembler. Program Diagnostics .451 Tracers: ••••••.•. none. • 452 Snapshots: .••••••• none. • 453 Dumps: .• ; ••••••• none; separate dump routines are available. .46 • 513 Approximate expansion of procedures: ••.•• one 1130 instruction (1 or 2 words) per source statement. · 52 Translation Time .521 Normal translatingWith 300 card/min reader: ••••••••• 66 to 77 statements per minute. With 400 card/min reader: .••••••• 92 to 102 statements per minute • NOTE: Translator Library .461 Identity: •••••••••• IBM 1130 Subroutine Library. • 462 User restriction: •••• none • . 463 FormStorage medium: .•• punched cards, paper tape, or disc. Organization: ••.•• subroutines must be assembled in relocatable code; programs can be assembled in either absolute or relocatable code. .464 ContentsSubroutines: .••••• closed. Data descriptions: •. none. Programs: ••••••• machine-language object coding. .465 LibrarianshipInsertion: .••••••• yes (separate run required). Amendment: ••.••• no. Call procedure: . • . • subroutine linkages are generated at assembly time. Referenced subroutines are transferred to memory at program load time. The above data is for a non-diSC, cardoriented system; these ratES also apply to compression. No data was available for other configurations. .53 Optimizing Data: •••• none • · 54 Object Program Performance: ••••. essentially unaffected (i. e. , same as hand machinelanguage coding). .6 COMPUTER CONFIGURATIONS .61 Translating Computer • 611 Minimum configuration: .•••.•••..• 1131 Central Processor Model 1A (4,096 words of core storage capacity) and either a 1442 Card Read Punch or an 1134 Paper Tape Reader and a 1055 Paper Tape Punch. .612 Larger configuration advantages: ••.• greater core memory capacity allows larger symbol table; a disc drive allows use of the 1130 Monitor System, which provides automatic runto-run supervision. .5 TRANSLATOR PERFORMANCE • 62 .51 Object Program Space .621 Minimum configuration: ••••.•••••• any valid 1130 system. .622 Usable extra facilities: .•••••••••• all. • 511 Fixed overhead* Name I/O Control subroutines Card: Paper tape: Disc: Printer: Keyboard/Printer: Plotter: Radix conversion: Code translation: Space, words Comment .7 275. 290. 350 to 800. 400. 300. 235. 270. 1,586 includes all subroutines for code translation. ERRORS, CHECKS, AND ACTION Error Check or Interlock Action Missing entries: Unsequenced entries: Duplicate names: Improper format: Incomplete entries: Symbol table overflow: Inconsistent program: none none check check check check none * * * * * * * * In general, the Assembler ignores or makes an assumption about the statement in error and continues assembly. Up to two error codes per statement are punched into the list deck or tape. In card or paper tape oriented systems, a separate transcription run is required for a listing; with the Monitor System, a listing can be made during assembly. * This information applies to all configurations; detailed information about the additional overhead due to use of the Monitor System is not available to date. .512 Space required for each input-output file: •.. as programmed. 5/66 Target Computer A AUERBACH '" 418: 182.100 /&• AUERBACH STANDARD EDP IBM 1130 PROGRAM TRANSLATOR 1130 FORTRAN REPORTS PROGRAM TRANSLATOR: 1130 FORTRAN .1 GENERAL . 11 Identity: .. .12 entered at object load time, that multiple subroutines share the same core storage area on an overlay basis. The subroutines are stored on disc storage and loaded into the core overlay area when called at execution time; only one such subroutine at a time can actually be in core storage. .. IBM 1130 FORTRAN compiler. Description The IBM 1130 FORTRAN compiler converts source coding written in 1130 FORTRAN language (see Section 418:161) into a machine-language program. The FORTRAN compiler is available on punched cards or paper tape, or it can be placed on the disc in an 1130 using the 1130 Monitor System (Section 418: 191). Input of a FORTRAN source program is via punched cards or punched paper tape. Translation is continuous from the loading of the source program to the generation of an object program. The object programs produced by the punched card or paper tape FORTRAN compiler can be loaded by a relocatable loader; loading requires a manual operation. The disc-oriented FORTRAN compiler does not directly produce punched card or paper tape output; the object program resides in disc storage. The loading of the source program, the compilation, and the subsequent transfer of control to the program can be automatically handled by the Monitor System (Section 418:191). Alternatively, the object program can be transferred to the library area of the disc or punched into cards or paper tape. Minimum requirements for use of the 1130 FORTRAN translator are a Model lA Central Processor (4, 096-word core memory) and either paper tape input-output or a card read-punch. The FORTRAN compiler for the 1130 Monitor System cannot be operated independently of the Monitor system. The disc-oriented FORTRAN language contains control statements to define record size and to specify automatic transfer of other programs for disc to core storage for subsequent execution. A disc-oriented 1130 System using the Monitor System provides automatic overlay of subroutines used in FORTRAN programs that require more core memory than is available at load time. Automatic overlay occurs in one of two ways, depending on whether the disc is used only for residence of the Monitor system or additionally used as a data input-output device. If the disc is used for Monitor residence only, the allocated core memory overlay area contains either the arithmetic and functional subroutines or the FORTRAN input-output subroutines. If the disc is used for data storage 1 the allocated core memory overlay area contains one of three subroutine groups: arithmetic and functional, non-disc input-output, or disc input-output. The user can alter the grouping of standard subroutines and can include his own subroutines in these groupings. In addition to the automatic overlay facility, the programmer can specify, via control records Program execution time can be increased by as much as eight times when one of the overlay techniques is used. The exact increase in program execution time depends on the relative placement . of the overlay segments and data on the disc (which affects disc arm motion time) and the number of overlay operations required. The input-output subroutines called by the 1130 FORTRAN compiler are not the same subroutines called by the 1130 Assembler. The 1130 FORTRAN subroutines do not permit simultaneous operation of the various input-output devices, nor of an input-output device and the central processor; i. e., FORTRAN input or output operations are performed in a sequential order, and each operation inhibits the execution of non-input-output instructions in the central processor. .13 Originator: . . . . . . . . IBM Corporation. · 14 Maintainer: . . . . . . . . IBM Corporation. .15 Availability Card-oriented compiler: . . . . . . . . . . March 1966. Paper-tape oriented compiler: . . . . . . . March 1966. Disc-oriented compiler (with Monitor System): . . . . . . . . April 1966. .2 INPUT · 21 Language .211 Name: . . . . • . . . . . . IBM 1130 FORTRAN; see Section 418:161. .212 Exemptions: . . . . . • . disc-handling statements are usable only with the Monitor System, which requires a disc drive. .22 Form .221 Input media: . . . . . . . punched cards or punched paper tape. · 222 Obligatory ordering: .. order of Specification statements must be: Type, EXTERNAL, DIMENSION, COMMON, and EQUIVALENCE; an array variable must be preceded by either a DIMENSION, COMMON, or Type statement. · 223 Obligatory grouping: . . . . none. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 IBM 1130 418:.182.230 · 23 Size Limitations • 231 Maximum number of source statements: .. see Table I. . 232 Maximum size of source statements: .. 396 characters. · 233 Maximum number of data items: ....••. depends on storage available; floating-point data items require two words (standard precision) or three words (extended precision); integer data items normally require two words if standard precision arithmetic is used and three words if extended precision arithmetic is used (integer items require only one word if this is specified at compile time). TABLE I: APPROXIMATE MAXIMUM NUMBER OF SOURCE STATEMENTS* Memory size, words System Type 4,096 8,192 Card or Paper Tape 120 400 Disc No overlay One overlay Two overlays 65 105 140 365 395 435 * Based on inclusion of normal floating-point arithmetic subroutines and all overhead; see Paragraph.511. Inclusion of other subroutines such as trigonometric or exponentiation functions would reduce these numbers. .3 OUTPUT .31 Object Program • 311 Language name: .••.. machine language . .313 Output media: . . . • . . punched cards, paper tape, or disc (Monitor System only). .32 Conventions: •..•... compiled programs can be stored on disc to form part of the user's library; there are no program library facilities for punched card or paper tape oriented systems. . 33 Documentation Subject Provision Source program: . . . . Object program: ..•• Storage map: ••••••. Language errors: ••.• .4 optional printed listing. none. optional printed listing. printed listing at end of compilation; object code not output if error detected. TRANSLATING PROCEDURE . 41 Phases and Passes · 42 Optional Mode .421 .422 .423 .424 .425 Translate: . . . . . . . . Translate and run: ... Check only: . . . . . . . . Patching: . . . . . . . . . Updating: . . . . . . . . . .43 Special Features: .•.. none. · 44 Bulk Translating: . . . . Monit"r System permits sequential translation of multiple source programs with no operator intervention required. · 45 Program Diagnostic s .451 Tracers: . . . . . . . . . linkages to trace routines can be generated at compile time. The trace routines print the value of each assigned variable and/or the value of each IF expression or computed GO TO index. Tracing can be controlled by statements in the source program and by a console switch . . 452 Snapshots: . . . . • . . . none. .453 Dumps: . . . . . . . . . . no direct facilities; all systems include provisions for dumping core storage and disc storage, if included, by separate routines. .46 Translator Library . 461 Identity: . . . . . • . . . . 1130 Subroutine Library . . 462 User restriction: . . . . none . .463 Form Storage medium: ... punched cards, paper tape, or disc. Organization: . . . . . relocatable binary. .464 Contents Routines: . . . . • . . . closed. Functions: . . . . . . . standard and user-coded. Data descriptions: .. none. .465 Librarianship Insertion: . . . . . . . . manual insertion into card library deck; punched onto paper tape library file; automatic insertion onto disk with Monitor System. Amendment: ... .. not possible. . use of function name Call procedure: . in an arithmetic statement causes inclusion of appropriate subroutine at load time; subroutine referenees by LIBF or CA..... L statement are included at load time. .5 TRANSLATOR PERFORMANCE .51 Object Program Space . 511 Fixed overhead The following table shows the fixed overhead for FORTRAN object programs. Most of the groupings are composed of several subroutines, each of which can be called and loaded individually. Phase 1: ..••...•.• read in and compress source coding. Phase 2: . . . • . . . . . . generate object coding. 5/66 yes. only with Monitor System . yes. no special provisions. no special provisions. fA AUERBACH '" (Contd. ) ,/ PROGRAM TRANSLATOR; 1130 FORTRAN 418:182.512 Space, words Usual floating-point subroutines: Trigonometric subroutines: Exponentiation subroutines: Non-disc I/O subroutines: 604 includes addition, subtraction, multiplication, and division. 280 includes sine/cosine and arctangent. 422 includes integer and real exponentiation, and hyperbolic tangent. 1,550 Non-disc I/O format interpreter: 850 Disc subroutines: 450 Supervisor (Monitor System): I/O buffer area: Loader: 400. 121 40 (core image); 450 (relocatable) .512 Space required for each input-output file: included in buffer area; see table above. .513 Approximate expansion of procedures: . 14 to 1; i. e., an average of 14 words of 1130 coding per FORTRAN source statement. · 52 Comment Translation Time .521 Normal translating With listing: . . . . . . 1. 5S + C + 90 sec. With no listiJ;lg: .•.. O. 45S + O. 2C + 87 sec. Where S equals the number of non-comment source cards and C equals the number of comment source cards. Note: The above data is for a card-oriented system including the 400 card/min. 1442 Model 7 Card Read Punch; no data was available for compilation times under other conditions. · 53 Optimizing Data: . . . . none. .54 Object Program Performance: . . . . . no definitive data available to date. .6 COMPUTER CONFIGURATIONS · 61 Translating Computer · 611 Minimum configuration: . • . • . . . . . . . 1131 Model1A Central Processor (4,096 words of core memory) and either a 1442 Card Read includes subroutines for all peripheral devices except disc. required if any I/O operations are performed; includes decimal/ binary conversion facility. includes buffer area and format interpreter. not required with Monitor system. can be completely overlaid by data storage. Punch or an 1134 Paper Tape Reader and a 1055 Paper Tape Punch. · 612 Larger configuration advantages: . . . . . • . greater core memory capacity allows larger symbol table; disc and Monitor System minimize operator intervention and provide automatic run-to-run control. · 62 Target Computer · 621 Minimum configuration:. . . . . . . . any valid 1130 System. · 622 U sable extra facilities: . . . . • . . . all. .7 ERRORS, CHECKS, AND ACTION Error Check or Interlock Missing entries: Unsequenced entries: Duplicate names: Improper format: Incomplete entries: Target computer overflow: Inconsistent program: * .8 Action check check check check check * * * * * check check * * Error messages are printed upon conclusion of compilation; if errors are detected, no object program is produced. ALTERNATIVE TRANSLATORS: ... none. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 418: 191. 100 A• STAKDARD EDlP' IBM 1130 OPERATING ENVIRONMENT MONITOR SYSTEM REPORTS AUERBACH OPERATING ENVIRONMENT: 1130 MONITOR SYSTEM .1 GENERAL .11 Identity: The Disk Utility Program inserts or deletes programs or subroutines in the disc library. As programs are deleted, the remaining programs are "packed" to yield the maximum temporary work storage on the disc. The Disk Utility Program maintains an updated address table (map) on disc storage of the IBM subroutines, users' program, and data areas currently on the disc. A running program can symbolically call any program on the disc; i. e., it is not necessary to know the absolute address of a program stored on the disc; the Utility Program automatically finds and loads the referenced routine. The Disc Utility Program can unload any of the library programs or subroutines onto punched cards, paper tape, or printer, and can move a program from the library area to the disc work area. . IBM 1130 Monitor System. Supervisor; Disk Utility Program; Subroutine Library; 1130 FORTRAN Compiler; 1130 Assembler. In IBM 1130 systems without a disc drive, each program or routine is loaded individually, and operator intervention is required to initiate each activity. With the addition of the disc drive contained in the Model 2A and 2B Central Processing Units, facilities become available to reduce the amount of operator attention required; IBM has taken advantage of these facilities in the Monitor System. The 1130 Monitor System is a group of related routines and programs including: o o The IBM 1130 Subroutine Library includes: o A supervisor routine to interpret control information and direct the sequencing of programs; The Disk Utility Program to insert or delete programs and subroutines in the disc library; Q Arithmetic and functional subroutines, FORTRAN and Assembler input-output subroutines, o Data-code conversion subroutines, o User-written subroutines, and Data transcription routines. o The IBM 1130 Subroutine Library; o o The 1130 FORTRAN compiler; and o The 1130 Assembler. The disc-oriented FORTRAN compiler provides the same language facilities as the non-disc compiler with the addition of disc handling statements. The 1130 FORTRAN language is described in Section 418:161, and the compiler in Section 418:182. The disc-oriented 1130 Assembler provides the same facilities as the non-disc Assembler; see Section 418:171 for a description of the 1130 Assembler language and Section 418:181 for a description of the translator. Program control information, read from punched cards or punched tape or entered via the console keyboard directs the Monitor operations. Programs an'd data can be loaded from either punched cards or punched tape. The Monitor System occupies 19 percent (97,300 words) of the disc capacity, not including the 1130 Subroutine Library. The Assembler and FORTRAN compiler can be deleted from extra disc cartridges, thereby decreasing the Monitor area on those discs to 10 percent of the total capacity (51,200 words). The supervisor routine performs the following functions: o Interprets control information which specifies the sequence of program operations. o Loads the Assembler, FORTRAN compiler, input-output subroutines, or the Disc Utility Program from the disc. I» Loads data from punched cards, paper tape, or disc. o Initiates execution of a program in core storage. o Allows control information to be entered via . the console typewriter. o Provides for an automatic program halt for anticipated operator intervention at the conclusion of the execution of a program. .13 Availability: .14 Originator:. . . . . . . April 1966. . IBM Corporation. .15 Maintainer: . IBM Corporation. .2 PROGRAM LOADING .21 Source of Programs .211 Programs from on-line libraries: . . from disc; programs can be added from card reader or paper tape reader. .212 Independent programs: from cards or paper tape. .213 Data: . . . . . . • . . as incorporated in user's program. .214 Master routines: . from disc. .22 Library Subroutines: .. from disc. .23 Loading Sequence: ... specified by operator via control statements from card reader or paper tape reader. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 IBM 1130 418: 191. 300 .3 .31 .512 Snapshots: ••.••.•. none . HARDWARE ALLOCATION: . . . . as incorporated in user's program. .52 Post Mortem: .•.••• core memory dump routine can be loaded from disc, card reader , or paper tape reader; dump output can be to ptinter, console typewriter, or punched cards. Disc dump can be called by operator; dump output can be to printer, console typewriter, or punched cards. .6 OPERATOR CONTROL: ..•...• as incorporated in user's program; program stop switch on console allows manual intervention to alter program progress or to abort program. .7 LOGGING: . . . . . . . . . as incorporated in user's program. Storage .311 Sequencing of program for movement between levels: . . . . automatic segmentation of certain standard and usercoded subroutines into two or three groups if program cannot fit into core at object load time; programmer can also specify a separate subroutine overlay; see also Paragraph 418:182. 12. .312 Occupation of working storage: . • . • . . . . . in the automatic overlay, the particular subroutine group is loaded into the core overlay area when one of the included subroutines is called; in the programmer-specified overlay, only one subroutine at a time can be in the overlay area. .32 Input-Output Units: .•. fixed assignment. .4 RUNNING SUPERVISION . 41 Simultaneous Working: incorporated in Assembler program by translator; in some cases, it depends on the choice of the I/o subroutine used; in FORTRAN programs, no processing or I/O operations can be overlapped. .42 Multiprogramming: ... none. .43 Multi-Sequencing: ... none. .44 Errors, Checks, and Action: ••.•.•...• the supervisor routine only --checks for loading errors, such as insufficient core storage and input errors; detected errors cause the system to halt. Detection of program errors such as arithmetic overflow must be programmed. Standard I/O subroutines detect many peripheral device errors and cause a branch to a user's error routine. • 45 PERFORMANCE .81 System Requirements .811 Minimum configuration: . • • . . . . • . . . 1131 Central Processor Model 2A (includes disc); card read punch or paper tape reader and punch • .812 Usable extra facilities: •..•.•. none. .813 Reserved equipment: •. 244 words of core storage are required for skeleton supervisor (does not include control routine for disc operations); approximately 97, 300 words of disc storage are required, which includes the Assembler and FORTRAN compiler; 51,200 words of disc storage are required when the Assembler and FORTRAN compiler are excluded. • 82 PROGRAM DIAGNOSTICS . 51 Dynamic .511 Tracing: System Overhead .821 Loading time: . . . • . . 10 to 15 seconds (average, estimated by IBM). .822 Reloading frequency: •• loaded at beginning of job stack only. Restarts: •..••...• as incorporated in user's program. .5 5/66 .8 • 83 Program Space Available: ..••..• all except space requirements specified in .813 • • 84 Program Loading Time: ..•...•••. limited by speed of input -device . · 85 Program Performance: . . . . . • . no running overhead other than I/O control; the 1130 Monitor only handles runto-run supervision. ..•.•.. can be included in FORTRAN programs; see Paragraph 418:182.451. fA AUERBACH '" 418:201. 001 A. STANDARD ED]? IBM 1130 SYSTEM PERFORMANCE R£I'(IRTS AUERBACH SYSTEM PERFORMANCE Because of the relatively low speed of the available peripheral devices, the performance of the IBM 1130 has been evaluated only for the scientifically-oriented standard benchmark problems. MATRIX INVERSION (418: 201. 300) The standard estimate for inverting a non-symmetric, non-singular matrjx was computed by the simple method described in Paragraph 4:200. 312 of the Users' Guide, using the standard IBM 1130 floating-point subroutines. Estimates were made for both the standard precision (6-digit precision) and the extended precision (9-digit precision) floating-point format. GENERALIZED MATHEMATICAL PROCESSING (418:201.400) Standard Mathematical Problem A is an application in which there is one stream of input data, a fjxed computation to be performed, and one stream of output results. Two variables are introduced to demonstrate how the time for a job varies with different proportions of input, computation, and output. The factor C shows the effect of variations in the amount of computation per input record. The factor R indicates the ratio of input records to output records. The procedure used to evaluate performance on the Standard Mathematical Problem is fully described in Paragraph 4:200.2 of the Users' Guide. The standard problem was evaluated for both Standard Configuration I and Configuration IX. Computation was performed in the extended preciSion floating-point format (9-digit precision) using standard IBM 1130 subroutines. Standard IBM 1130 input-output, code translation, and radjx conversion subroutines were used to handle the complexities of getting data into and out of the system and of converting between the various data codes, radices, and formats required for computation. To more realistically portray the performance of the 1130 in an actual operating environment using FORTRAN programming, minimum overlapping of I/O operations with each other or with processing was assumed. The standard 1130 FORTRAN subroutines do not permit any overlapping of I/O operations with each other or with non-I/O processing. In estimating the performance of the 1130 on Standard Mathematical Problem A, only that portion of the I/O subroutines dealing with processing of input-output interrupts was considered to be overlapped with the input or output operation. Input and output operations were considered to be sequential. Because the processor is delayed during I/O operations, both configurations are processorlimited for all conditions of the standard problem. The effect of the heavy requirements for code translation and for radjx and format conversions, coupled with the sequential, non-overlapped input-output operations, is graphically illustrated by the significant differences in the curves for various values of R, the output ratio (see the graphs on pages 418 :201. 400 and 418:201. 415). In Configuration I, the requirements for inputting and outputting predominate for low and moderate values of C, the computation ratio. These requirements predominate throughout the whole range of C for Configuration IX. WORKSHEET DATA TABLE 2 CONFIGURATION ITEM REFERENCE I Fixed/floating point 5 Unit name ~.--- Size of record ~,--- msec/hlock ~ msee penalty ~....:I::L- output Standard Mathernati- cal Problem A r--- output output Floatinl! Point* 1442 Model 7 IX Floatinl! Point* 1134 Paper Tape Reader 1132 Printer Console Typewriter 80 char 100 char 120 char 120 char T1 165 1670 T2 744 8762 162 T4 579 1663 8707 msee/record TS 259 280 msec/5 lODES T6 msee/report T7 * output 60.8 434 - 4:200.413 - 60.8 299 Using standard IBM subroutines. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 418:201. 300 IBM 1130 .3 MA TRIX INVERSION .31 Standard Problem Estimates .312 Timing basis: . • . . . . using estimating procedure outlined in User's Guide, 4:200.312 • • 311 Basic parameters: ... general, non-symmetric • 313 Graph: .•.••..•.•• see graph below • matrices, using floating point to at least 8 decimal digits precision. 7-+-----+--~-+-+~++++----_+--~_+_+~+++r----_r--;__+_r;_rrH 2 10 7 II if 4 IIJ /1 2 Time in Minutes for Complete Inversion 1 7 II 4 2 O. 1 1/ 1/ 7 III 4 2 0.01 2 1 4 2 7 4 10 7 2 100 4 7 i.non Size of Matrix . / 5/66 A (Contd. ) AUERBACH .~ SYSTEM PERFORMANCE 418:201.400 .4 GENERALIZED MATHEMATICAL PROCESSING .41 Standard Mathematical Problem A Estimates formed in extended precision floating-point mode (9-digit precision) . . 413 Timing basis: • . . . . . using estimating procedure outlined in Users' Guide, 4:200.413, and standard IBM subroutines • .414 Graph: . . . . . . . . . . see graph below for Configuration 1. .411 Record sizes: . . . • • . 10 signed numbers; average size 5 digits, maximum size 8 digits. • 412 Computation: . . • • . . . 5 fifth-order polynomials; 5 divisions and 1 square root; computation is per- CONFIGURATION I 100,000 7 4 2 10,000 7 ~ t...-o' 4 f::J~ - 2 R Time in 1,000 Milliseconds per Input Record 7 4 - "",'" 1.0 -R 0.1 -R 0.01 ..- ..." lEe ",. ~ \l'"\.~ ~ ~" ~"\. 1- \l' "<5:- --- .... 2 100 7 4 2 10 2 0.1 4 7 2 1.0 4 7 2 4 10.0 7 100.0 C, Number of Computations per Input Record (R = number of output records per input ~·ecord. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. ) 5/66 IBM 1130 418:201. 410 .41 STANDARD MATHEMATICAL PROBLEM A (Contd.) .415 Graph: . . • . . . . . . . . see graph below for Configuration IX. CONFIGURA TION IX 100,000 1 4 2 R R 1.0 1.0 10,000 1 4 .~ ~ ~~ ~ io"" I;' ~f' -1'-"" ~ t-R 0.1 R - 0.01 •.. 2 Time in 1,000 Milliseconds per Input Record 1 4 2 100 1 4 2 10 2 0.1 4 2 7 4 2 7 10.0 1.0 C, Number of Computations per Input Record (R '" number of output records per input record.) 5/66 A AUERBACH @ 4 1 100.0 & . 418:211. 101 STAN .. RD AEDP AUERBAC~ IBM 1130 PHYSICAL CHARACTERISTICS REPORTS ~_---_...J PHYSICAL CHARACTERISTICS Width, inches Unit 1131 Central Processor Model lA or lB (without disc storage)* Model 2A or 2B (with disc storage)* ? Depth, inches ? Height, inches ? Weight, pounds Power, KVA ? ? BTU per hr. ? 5S.2 29 31.5 500 1.4 3,SOO 1442 Card Read-Punch, Model 6 or 7 43 24 49 525 0.46 1,500 1134 Paper Tape Reader, Modell or 2 ? ? ? 7.75 ? ? ? 26 0.56 335 1055 Paper Tape Punch, Modell 51.37 17.1 1132 Printer 47 29 44 500 0.61 1,600 1627 Plotter: Modell Model 2 lS 40 15 15 10 10 33 55 0.12 0.12 375 375 * Includes core storage. General Requirements Temperature: . . . . . . . . . . . • . 60 to 90°F. Relative humidity: . . . . . . . . . . 10 to SO%. Power: . . . . . . . . . . . . . . . . .. 115 volt, single-phase, 3-wire, 60 cycle; or 195, 220, 225 volt, single-phase, 3-wire, 50 cycle. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 r--. 1. 418:221. 101 Sf .... " /AEDP AUERBAC~ IBM 1130 REPORTS PRICE DATA ~ PRICE DATA PRICES IDENTITY OF UNIT CLASS Name No. Monthly Rental Monthly Maintenance $ CENTRAL PROCESSOR AND INTERNAL STORAGE 1131 Central Processing Unit, including Console Typewriter/Printer, core storage, and Disk Storage (if any): lA 4,096 words of core storage; no Disk Storage 8,192 words of core storage: no Disk Storage 4, 096 words of core storage: 512, 000 words of Disk Storage (removable cartridge) 8,192 words of core storage; 512,000 words of Disk Storage (removable cartridge) IB 2A 2B 2315 Disk Cartridge Peri12heral Unit Attachments Storage Access Channel 1132 Printer Attachment Printer Expansion Adapter 1442 Attachment 1627 Plotter Attachment 1134 Paper Tape Reader Attachment 1134 Loader 1055 Paper Tape Punch Attachment 7490 3616 3854 4454 7187 3623 3624 7923 INPUTOUTPUT 1132 1442 Printer (requires 3616 and 3854) Card Read Punch (requires 4454): Model 6 Model 7 Paper Tape Reader (requires 3623): Modell Model 2 (includes supply and take-up reels) Paper Tape Punch, Model 1 (requires 7923) 1055 Edge-Punching Feature Take- Up Reel Plotter (requires 7187): Modell Model 2 1134 1055 3571 6121 1627 $ Purchase $ 580 50.50 26,680 780 52.00 35,080 780 68.50 35,680 980 70.00 44,080 - - 90 25 10 5 35 15 10 10 20 0.50 2.00 NC 3.00 0.50 1. 75 NC 1.50 1,125 450 225 1,575 675 450 450 900 260 25.00 11,700 265 380 40.00 50.00 14,575 15,725 35 60 10.00 10.00 1,310 2,260 40 6.50 2,025 5 3 0.25 0.25 245 120 36.00 38.50 4,700 8,150 - NC - No Charge © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 IBM· SYSTEM/360 ~... International Business' Machines Corp. c c· AUERBACH INFO, INC. PRINTED IN U. S. A. IBM SYSTEM/360 International Business Machines Corp. AUERBACH INFO, INC. PRINTED IN U. S. A. 420:001.001 IBM System/360 Contents CONTENTS Report 420: IBM System/360 - General Introduction ..•.•.•..•............•................... Data Structure . . . . . ' . . . . . . . . . . . . . • . • . . . . • . . . . . • . . . . . . . . . . System Configuration (general) . . . . . . . . • . . . . . . . . . . . . • . . . • • . . . . Internal Storage Main (processor) Core Storage . . . . . . . . . . • . . . . . . . . . . . . 2361 Core Storage (bulk) . . . • . . • . . . . . • . . . . . . . . . . . . . . . . . . 2302 Disk Storage . . • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2311 Disk Storage Drive . . . . . . . . . . . . . . . . . . . . . . . . . ". . . . . . 2321 Data Cell Drive . . . . . . . . . • . . . . . . . . . . • . . . . . . . . . . . . . 7320 Drum Storage. .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2301 Drum Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2314 Direct Access Storage Facility . . . . . . . . . . . . . . . . • . . . . . . Central Processors (general) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . System Control Panel . . . . . . . . . . . . . . . . . . . . . . . . . . 2150 Console. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052 Printer-Keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1050 Data Communication System . . . . . . . . . . . . . . . . . . . . . . . . . Input-Output; Punched Card and Tape 2540 Card Read P'unch . . . . • • • • . . . • • . . . • . . . . . . . . . . . . . . . . 1442 Card Read Punch . . . . . • . . . • • • • . • . • • • • • . . . • . . . . . . . . 2671 Paper Tape Reader . . . . . . . . • . . . . . . . • . . . . . . . . . . . . . . 2501 Card Reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2520 Card Read Punch . . . . . • . . . . . . . . . • . . . • . . . . . . . . . . . . . 2560 Multi-Function Card Machine . . . . . . . . . . . . . . . . . • . . . . . . Input-Output; Printers 14Q.3 Printer . . . . . . . . . . . • . . . • . . . . . . . . . . . . . . . . . . . . . . . 1404 Printer . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . 1443 Printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1445 Printer (MICR) . . . . • . . . . . . . . . . . • . . . . . . . . . . . . . . . . . 2203 Printer • . . . . . • . • . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . Input-Output; Magnetic Tape 2400 Series Magnetic Tape Units at 800 bpi . . . . . . . . . . . . . . . . . . 7340 Hypertape Drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2415 Magnetic Tape Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2400 Series Magnetic Tape Units at 1600 bpi . . . . . . . . . . . . . . . . . . Input-Output; Others " 2250 Display Unit. . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . .. . 2260 Display Station . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7770 Audio Response Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7772 Audio Response Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1412 1419 1418 1428 1231 1285 420:011 420:021 420:031 420:041 420:042 420:043 420:044 420:045 420:046 420:047 420:048 420:051 420:061 420:061. 131 420:061.132 420:061.133 420:061. 134 420:071 420:072 420:073 420:074 420:075 420:076 420:081 420:082 420:083 420:084 420:085 420:091 420:092 420:093 420:094 420:101 420:102 420:103 420:104 Magnetic Character Reader . . . . . . . . . . . . . . . . . . . . . . . . . . Magnetic Character Reader . . . . . . . . . . . . . . . . . . . . . . . . . . Optical Character Reader . . . . . . . . . . . . . . . . . . . . . . . . . . . Alphameric Optical Reader . . . . . . . . . . . . . . . . . • . . . . . . . . Optical Mark Page Reader . . . . . . . . . : . . . . . . . . . . . . . . . . Optical Reader . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . • • . 420:105.121 420:105.122 420:105.123 420:105.124 420:105.125 420:105.126 Data Adapter Unit • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Data Communication System . . . . . . . . . . . . . . . . . . . . . . . . . Data Communication System . . . . . . . . . . . . . . . . . . . . . . . . . Process Communication System . . . . . . . . . . . . . . . . . . . . . . . Input Station . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bell System 83B2 and 83B3 Service . . . . . . . . . . . . . . . . . . . . Western Union Plan 115A . . • . • . . '. . . . . . . . . . . . . . . . . . . . 1009 Data Transmission Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1013 Card Transmission Terminal . . . . . . . . . . . . . . . . . . . • . . . . 7701 Magnetic Tape Transmission Terminal . . . . . . . • . . . . . . • . . . 420:106 420:106.121 420:106.122 420:106.123 420:106.124 420:106.124 420:106.125 420:106.126 420:106.127 420:106.128 420:106.129 2701 1050 1060 1070 1031 1033 © 1965 AUERBACH Corporation and AUERBACH Info, Inc. IBM SYSTEM/360 420:001.002 7702 7710 7711 7740 7750 2740 2741 Magnetic Tape Transmission Terminal . . . . . . . . . . • . . . . . . • Data Communication Unit . . . . • . . . . . . . . . . . . . . . . . . . . . . Data Communication Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . Communication Control System . . • . . . . . • . . . . . . . . . . . . . . Programmed Transmission Control . • . . . . . . . . . . . . . . . . . . Communications Terminal . . . . . . . . . • • . • . . . • . . • • . . . . . Communications Terminal . • . . . . . . . • . . . . . . . . . . . . . . . . 420:106.129 420:106.130 420:106.131 420:106.132 420:106.133 420:106.134 420:106.135 2702 Transmission Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2703 Transmission Control . . . . . . . • . . . . . . . . . . . . . . . . . . . . . 2712 Remote Multiplexor . • . . . . . . . . . . . . . . • . . • . . . . . . . . . . . 420:107 420:108 420:108 2280 Film Recorder . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . 2281 Film Scanner . • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2282 Film Recorder/Scanner . . . . . . . . . . . . . . . . . . • . . . . . . . . . 420:109.121 420:109.122 420:109.123 Simultaneous Operations . . . . • . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . Multiplexor and Selector Channels . . . . . . • • . . • • . • . . . . • . . . . . . Input- Output Control. • . . . . . . . . . . . . . . . . . . . . . . . . • • . • . . . . Instruction List . • . . . • . • . . • . • • . . . . . . . . . . . . . . . . . . . . . . . . . . . Compatibility With IBM 1401/1440/1460 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . With IBM 1410/7010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . With IBM 7070/7074 . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . With IBM 7080 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . With IBM 7040/7090 Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . With IBM 1620 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Data Codes (ASCII-8 and EBCDIC) . . . . . . . . . . . . . . . . . . . • . . . . . . . . . Problem Oriented Facilities Operating System/360 . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . . Basic Operating System/360. . . . . . . . . . . . . . . . • . . . . . . . . . . . . Basic Programming Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . /,.-- 420:111 420:111. 2 420:111.3 420:121 420:131 420:132 420:133 420:134 420:135 420:136 420:141 420:151 420:152 420:153 Process Oriented Languages Operating System/360 FORTRAN . . . . . . . . . . . . . . . . . . . . . . . . . Basic Operating System/360 FORTRAN . . . . . . . • . . . . . . . . . . . . . Basic Programming Support FORTRAN . . . . . • . . . . . . . . . . . . . . . Operating System/360 COBOL . . . . . . . . . . . . . . . . . . . . . . . . . . . Basic Operating System/360 COBOL . . . . . . . . . . . . . . . . . . . . . . . Operating System/360 P L/I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420:161 420:162 420:163 420:164 420:165 420:167 Machine Oriented Languages Operating System/360 Assembler . . . . . . • . . . . . . . . . . . . . . . . . . Basic Operating System/360 Assembler . . . . . . . . . . . . . . . . . . . . . Basic Programming Support Assembler . . . . . . . . . . . . . . . . . . . . . 420:171 420:172 420:173 Operating Environment Operating System/360 . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . Basic Operating System/360. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Basic Programming Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . System Performance (general) • • . . • . • . . . . . . . . . . . . . . . . . . . . . . . . Physical Characteristics . . . . • • . . • . . . . . • . . • . . • . . • . • . . . . . . . . . Price Data . . . . . . • . . . . . • . . . . . • • . . . . . . . . . . . . . • . . . • . . . . . . 420:191 420:192 420:193 420:201 420:211 420:221 Report 422: IBM System/360 - Model 20 Introduction. . . . . . . . . . . •.. • . . . . . . . . . . . . . . . • • . . . . . . • . . . . . . System Configuration . . . • • . • . • • . . . . . . . . . . • . . • . . . . . . . . . . . . . Central Processor . • • . . . . • • . . . . . . . • • • • . . • • . . • . . . . . . . . . . . . Simultaneous Operations . . . . • . • . • . • . . . . . • . . . . . . . . . . . . . . . . . . Software . . . . . . . . • . . . . . . . • • • • " . • . . . . . . . . • . . . . . . . . . . . . . . System Performance . . . . . . . . • • • . . . . • • . • . . . . • . • . . . . . . . . . . . . Price Data . . • • . . . • . • . . . • . • . . . . . • . . . . . . . . . . • . . . . . . . . . . • 422:011 422:031 422:051 422:111 422:151 422:201 422:221 Report 423: IBM System/360 - Model 30 Introduction. • . . . . . • . . . . . . . . . . . . • . . . . . . . • . . . . . . . . . . . . . . . System Configuration . . • • . . . . . • . . . . . . . . • . . . • . . . . . . . . . . . . .. Central Processor . . • • • . . . • . • • . . . . • . . • • . . • . . . . . . . . . . . . . . . Simultaneous Operations . . • . . . . . . . . . • . • . . . . • . . . . . . . . . . . . . . . System Performance . . . . • . . . . . . . • . . • . . • • . . . . • . . . . . . . . . . . . . 423:011 423:031 423:051 423:111 423:201 (Contd.) 8/65 420:001.003 CONTENTS Report 424: IBM System/360 - Model 40 Introduction . • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . System Configuration . . . . . . . . . . . . . . . . . . . • • . . • . . . . • . . . . . . . . Central Processor . . . . . • . . • • • • • . • • . . . . . • • . . • . . . . • . . . . . . . • Simultaneous Operations . . . • . . • . • . • . • • • • . • . . • . . . • • . • • • . . . . . System Performance .•••.•.•••.•.•••.•..•••.•..••••...••.• 424:011 424:031 424:051 424:111 424:201 Report 425: IBM System/360 - Model 50 Introduction. • . • • . . • . . . . • . . . . . . • . • . . . . . • . . . . . . . . . . . . . . . . System Configuration . • . • . • • . • • • . • • • . . . . • . . . . . . • . . . . . . . . . . Central Processor . • . • • . . • . • • . • . . . • . • . • . . • . • • . • . . . . .••..• Simultaneous Operations . . . . . . . • . . . . . . . . . . . . . • • . . . . . . . . . . . . System Performance . . • . . . • . . • . . . • . . • • • . . • . . . . . . . . . . . . . . . . 425:011 425:031 425:051 425:111 425:201 Report 426: IBM System/360 - Model 65 Introduction. . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . . . . System Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Central Processor . . . . . . . . -. . . . . . . . . . . . . . . . . . . . . . . Simultaneous Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . System Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426:011 426:031 426:051 426:111 426:201 Report 427: IBM System/S60 - Model 67 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . System Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Central Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simultaneous Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programming Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operating Environment (Time-Sharing Monitor) . . . . . . . . . . . . . . . . . . . . System Performance . . . . . . . • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Price Data . . . . . . . . . . . . • . . . . . • . . . . . . . . . . . . . . . . . . . . . . . . . 427:011 427:031 427:051 427:111 427:161 427:191 427:201 427:221 Report 428: IBM System/S60 - Model 75 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . System Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Central Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simultaneous Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . System Performance . . . . • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 428:011 428:031 428:051 428:111 428:201 8/65 420:011.1 00 IBM System/360 Introduction INTRODUCTION 1 SUMMARY System/360 is the "brand name" for IBM's extensive third-generation family of central processors, storage modules, peripheral devices, and supporting software. Noteworthy characteristics of the System/360 include: • The "universality" concept - a single line of equipment designed to handle widely varying types and sizes of computer workloads. • The high degree of program compatibility, both upward and downward, among most of the processor models. • The wide range of input-output and storage devices. • The numerous arithmetic modes and data formats, and the resulting complexity of machine-language coding. • The emphasis upon software support through integrated operating systems, now offered at three different levels. • Solid-Logic Technology, IBM's name for the "hybrid" electronic circuitry used in the System/360, which is a compromise between earlier solid-state techniques and true monolithic integrated circuits. The System/360 constitutes the "third generation" of equipment from the leading computer manufacturer. As such, it is now the primary standard for comparison in most computer selection studies, and it is important for every computer user to develop a good understanding of its characteristics, performance, strenogths, and weaknesses. This comprehensive report will help you to gain that basic understanding and will serve as a continuing reference source. The format of this report is designed to present and analyze all the facts about the System! 360 in a way that will make it easy for you to locate and study the material you require, while placing proper emphasis upon the similarities and differences among the various models. This coverage consists of a general Computer System Report (behind Tab 420) which analyzes the concepts, hardware, and software that are common to all System/360 models, and individual subreports (behind Tabs 422 through 428) which report the characteristics, performance, and pricing of computer systems using each of the System/360 processor models. (System/360 Models 20 and 67 make use of specialized software, which is therefore described within the individual subreports for these models.) For the same purposes of clarity and reader convenience, this Introduction is divided into six independent sections, each of which describes and (where pertinent) analyzes some particular facet of the System/360. Each section is independent and can be read as your needs and interests warrant. The six sections are: .1 .2 .3 .4 .5 .6 .2 Summary System/360 - the First Year Data Structure Hardware Software Compatibility . SYSTEM/360 - THE FIRST YEAR As announced on April 7 , 1964, the IBM System/360 consisted of 6 program-compatible central processors spanning a 50-fold range of internal processing speeds, 44 new and previously-announced peripheral devices, and a comprehensive package of language processors, utility routines, and control programs called the Operating System/360. IBM announced that "the System/360 marks the achievement of a truly all-purpose computer that can solve any type of data-handling problem with greater speed and efficiency than ever before. " © 1965 AUERBACH Corporotion ond AUERBACH Info, Inc. 8/65 IBM SYSTEM/360 420:011.200 .2 SYSTEM/360 - THE FIRST YEAR (Contd.) Unquestionably the System/360, as originally announced, did offer an unprecedented range of processing speeds, storage capacities, and input-output equipment, and it spanned a broader range of potential applications than any previous computer system. Nevertheless, it soon became apparent that there were some significant weaknesses in the origiriallyannounced line of hardware and software, as noted in last year's AUERBACH standard EDP Reports analysis of the System/360. A brief chronology of the announcements that have changed the complexion of the System/360 since April 1964 will show how IBM has endeavored to correct these weaknesses and to fill out and strengthen its overall product line. • August, 1964: IBM announced the System/360 Model 92, an ultra-highperformance computer "more powerful than any computer now available. " IBM said it would enter into special contracts to build Model 92 computers based on customers' particular needs. Although Model 92's instruction repertoire and data format are similar to those of the smaller System/360 models, it will not be program-compatible with them because Model 92 lacks facilities for decimal arithmetic. • October, 1964: The first public demonstration of a working System/360 (a Model 40) was featured at the Business Equipment Exposition and Conference in Los Angeles. • October, 1964: IBM announced a series of new Compatibility Features hardware-software combinations called "emulators" - to permit various models of the System/360 to execute programs written for the following older IBM computers: 1410, 7010, 7070, 7074, 7080, 709, 7040, 7044, 7090,7094,7094 II. (More recently, the 1620 was added to the list.) The only previously-available CompatibilitY Features enabled the smaller System/360 models to execute IBM 1401, 1440, or 1460 programs. The new emulators represented IBM's answer to widespread complaints from users of its other second-generation computers about the difficulties involved in reprogramming for the System/360. • November, 1964: IBM announced the System/360 Model 20, a small-scale, business-oriented computer designed primarily for small companies that are considering a step upward from conventional punched-card accounting machines. Announced along with Model 20 were the 2560 Multi-Function Card Machine, a 500-card-per-minute punch, and several other new peripheral devices. Model 20 extends the System/360 range downward into new marketing areas, but its degree of compatibility with the larger System/360 models is limited by its much smaller instruction repertoire, its limited core storage capacity, and its different method of handling input-output operations. • December, 1964: IBM advanced the scheduled date for initial customer deliveries of Model 30 and 40 systems from the third quarter to the second quarter of 1965. Delivery dates for Models 50 through 70 were also moved up. The advanced delivery dates, "made possible by accelerated production at IBM manufacturing facilities," were IBM's response to vigorous complaints about the long lead time between announcement and scheduled deliveries of the System/360. • December, 1964: IBM reduced the extra-usage rental rate for most System/360 components from 30% to 10% of the hourly rate for prime-shift use. The reduced extra-usage rate applies to all units with model numbers in the 2000 series (and the 1302 Disk Storage Unit was concurrently redesignated the 2302). This very significant reduction, which can have a major effect upon rent-versus-buy decisions, was IBM's response to the elimination or great reduction of extra-shift rental charges in several competitive computer lines. • January, 1965: IBM announced a 33 per cent increase in internal processing speed of the System/360 Model 30 through reduction of its core storage cycle time from 2.0 to 1. 5 microseconds. Concurrently, the 2400 Series Magnetic Tape Units were speeded up from 22,500 to 30,000 bytes per second (Modell) and from 45,000 to 60,000 bytes per second (Model 2); the 90,000 bytes-persecond speed of the Model 3 units remained unchanged. These speed increases helped to keep the performance of the System/360 in line with that of the program-compatible RCA Spectra 70 computer family, announced in December, 1964. (Contd.) 8/65 420:011.201 INTRODUCTION .2 SYSTEM/360 - THE FIRST YEAR (Contd.) • February, 1965: The IBM 1130 was announced as a desk-size computer designed primarily for individual use by scientists and engineers. The introduction of the 1130, which bears little resemblance to the System/360, was IBM's first clear indication that the System/360, even in extended or restricted versions, is not practical for every type and size of computer application. • February, 1965: IBM announced a complete restructuring of software support for the System/360. To meet complaints that the Operating System/360 required too much core storage and peripheral equipment to perform its impressive functions, while the facilities of the Special Support System (the only previous alternative) were far too restricted, IBM committed itself to the gigantic task of producing three different levels of software support: the Operating System/360, Basic Operating System/360 (BOS), and Basic Programming Support (BPS). Table V shows the facilities offered at each level and their scheduled delivery dates. • March, 1965: IBM announced two more additions to the System/360 line: the time-sharing Models 64 and 66. Models 64 and 66 featured an associative memory to facilitate dynamic relocation of programs and a channel controller to permit flexible interconnections among the system components. The two time-sharing systems used the standard System/360 instruction repertoire plus additional instructions to direct the time-sharing features. Announced as non-standard models to be offered only through special proposals, the time-sharing systems represented IBM's response to the success of General Electric and other manufacturers in winning contracts for multi-console, timesharing applications, where the System/360 as originally announced had been weak. • March, 1965: The 2870 Multiplexor Channel was announced, providing the capability to connect a large number of low-speed input-output devices to the larger System/360 models. Previously, the lack of Multiplexor Channels for the larger models had seriously restricted upward compatibility and made it almost mandatory to use a Model 30, 40, or 50 processor in conjunction with the larger processors for control of punched-card, printer, and/or data communications operations. • March, 1965: IBM announced the 2260 Display Station, a low-cost, buffered, cathode-ray-tube terminal for remote or local displays of alphameric data. An optional keyboard permits convenient man/ machine communication. Concurrently, the more expensive 1015 Inquiry Display Terminal, which featured a self-storing dark-trace cathode ray tube, was dropped from the System/360 product line. • March, 1965: IBM demonstrated the 1401 Compatibility Feature for the System/360 Model 30 at its Endicott, New York facility. A wide variety of user-submitted 1401 programs were run on the System/360 with relatively few difficulties and, in most cases, at significantly higher speeds than on the original 1401. The practicality of the allhardware, stored-logic approach to 1401 compatibility used in the Model 30 was convincingly demonstrated. • April, 1965: IBM completely restructured the upper half of the Sys:tem/360 line by adding three new models and dropping five others. Model 65 superseded original Models 60 and 62, Model 75 superseded Model 70, and Model 67 superseded the just-announced, time-sharing Models 64 and 66. Models 65 and 75 offer significantly higher processing speeds at lower prices than their predecessors, indicating that the principal purpose of the restructuring was to bring the price/performance ratios of the larger System/360 models more closely into line with the offerings of competitors. (Meanwhile, IBM indicated that the design of tJ:1e Model 92 was being "reevaluated, " and that no performance details would be released until redesign of the Model 92 - or its successor - had been completed. ) • April, 1965: IBM announced the 2314 Direct Access Storage Facility, the 2415 Magnetic Tape Unit, and the 2540 Card Read Punch. The 2314, a multidrive, replaceable-cartridge disc storage unit, is the seventh distinct type © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360 420:011.202 .2 SYSTEM/360 - THE FIRST YEAR (Contd.) of auxiliary storage in the System/360 line. The 2415, a low-speed, economymodel tape unit, provides magnetic tape capabilities for the System/360 Model. 20 and makes it IBM's lowest-priced tape system. The 2540 supersedes the widely-used 1402 Card Read Punch and provides increased punching speed (300 cards per minute) and a number of detail improvements. .3 • April, 1965: Initial customer deliveries of the System/a60 were made. IBM announced that more than 1,000 System/360' s will be delivered by the end of 1965, and that deliveries will reach a rate of 35 systems per day in mid-1966. • July, 1965: IBM underlined the steadily increasing importance of data communications applications by announcing eight new communications devices. Most significant are the 2703 Transmission Control, which links up to 176 communications lines to a System/360, and the 2712 Remote Multiplexor, which can multiplex data from as many as 14 remote, low-speed terminals over a single high-speed line to a computer. • August, 1965: IBM made doubled data rates available for all of the 2400 Series Magnetic Tape Units through a recording technique called "phase encoding, " which permits 1600 bytes per inch to be recorded on standard half-inch tape. • August, 1965: IBM announced the System/360 Model 44, a processor especially designed for scientific and process control applications. Model 44 features high-speed binary arithmetic, a built-in single-disc storage drive, and up to 131,072 bytes of core storage; it cannot be equipped with decimal arithmetic facilities or Selector Channels . DATA STRUCTURE The basic unit of data storage in the System/360 is the "byte," which consists of eight data bits plus (in most system components) one parity bit. The eight data bits in a byte can represent one alphameric character, two decimal digits, or a portion of a binary field. Bytes can be handled individually or grouped together into fields. A "halfword" is defined as a group of two consecutive bytes, or 16 bits. A "word" in the System/360 is a group of four consecutive bytes, or 32 bits. A "double word" consists of two consecutive words; or 64 bits. The location of any field or group of bytes is specified by the address of its leftmost byte. Every fixed-length field (halfword, word, or double word) must be located in main storage on an "integral boundary"; i. e. , the storage address of the field must be a multiple of the length of the field in bytes. This restriction is essential for efficient operation of the larger central processors, which access up to eight bytes in parallel, and the same restriction has been applied to the smaller processors in order to maintain compatibility. Variable-length (decimal) fields are processed serially by byte in all models, so they may start at any byte location. At the low end of the System/360 line of processors ,the Model 20 can perform arithmetic operations on two basic types of operands: fixed-point binary, using the 16-bit halfword as the standard operand size, and variable-length decimal. The larger System/360 processor models can perform arithmetic operations on four basic types of operands. In addition to fixed-point binary and variable-length decimal, these models can also perform arithmetic operations on two sizes of floating-point binary operands. The basic arithmetic operand size used by all models except Model 20 is the 32-bit fixed-point binary word. Most fixed-point instructions can alternatively specify the use of 16-bit halfword operands. Floating-point numbers can be represented in either a "short" (32-bit) or "long" (64-bit) format. The fractional part occupies 24 bits in the short format and 56 bits· in the long format. The hexadecimal characteristic occ'tfies 7 bits in both formats and permits representation of numbers ranging from 10- 7 to 10 75 . Decimal arithmetic is performed upon 4-bit BCD digits packed two to a byte, with a sign in the rightmost four bits of the low-order byte. Decimal operands can be up to 16 bytes (31 digits and sign) in length. IBM's adoption of the 8-bit data code for use with the System/360 is higbly significant. The 8-bit byte structure has certain basic advantages-over the currently-popular 6-bit (Contd.) 8/65 INTRODUCTION .3 420:011.300 DATA STRUCTURE (Contd.) data format: decimal digits can be packed more conveniently, the new standard 7 -bit ASCII code and the Extended BCD Interchange Code can be used, and today's familiar character sets can be conveniently expanded. These advantages, coupled with IBM's wide dissemination of the 8-bit code, will probably induce other computer manufacturers to adopt the 8-bit byte as the standard data structure in their future equipment. .4 HARDWARE .41 Central Processors Nine central processor models currently form the nucleus of the System/360. Five of the central processors are program-compatible and suitable for)! broad range of business and scientific applications: Models 30, 40, 50, 65, and 75. Model 20 is a scaled-down version of the other System/360 models, designed primarily for use in small data-processing installations or as a remote terminal linked to larger System/360 processors. Model 44 is oriented toward high performance in scientific and process control applications. Model 67 is specially designed for use in time-sharing and multi-processor environments. The ultra-large-scale System/360 Model 90 Series will be offered to satisfy customdesign requests from large and diversified information-processing installations. Models 20, 44, 67, and the 90 Series will each function with an individualized set of software. Comparative arithmetic execution times for the various System/360 central processors are illustrated in Table I. Table II shows the various core storage capacities that can be obtained with each of the basic central processors. TABLE I: ARITHMETIC EXECUTION TIMES FOR THE IBM SYSTEM/360 PROCESSOR MODELS CENTRAL PROCESSOR MODEL TASK Mod 30 Mod 40 Mod 50 Mod 20 Mod 65 Mod 67 Mod 75 Fixed Point Binary c=a+b c = ab c = alb 180 78 296 481 36 113 216 12 40 44 96* 395* 767* 64* 178* 349* # # # 107* 295* 350* # # # 161* 874* 1,717* # # 3.5 7.0 11 4.2 7.7 12 2.3 5.1 9.0 35 86 97 9.0 32 47 9.7 33 49 7.3 25 33 43* 105* 157* 14 29 30 4.7 6.1 9.3 5.4 6.8 10 2.4 3.6 5.4 62* 294* 511* 21 49 81 4.8 9.7 16 5.5 10 17 2.4 5.6 8.6 Fixed Point Decimal c=a+b c = ab c = alb 658 3,968 5,162 Floating Point - Short c=a+b c= ab c = alb Floating Point - Long c=a+b c = ab c = alb Note: All times are expressed in microseconds. The fixed-point decimal times are based ·on 5-digit (3-byte) decimal operands. The floatingpoint times are based on both the short-form (32 bits) and the longform (64 bits) binary operands. # Facility not available in Model 20. * With optional feature. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360 420:011.410 .41 Central Processing (Contd.) AU of the central processors contain facilities for addressing main storage, for fetching and storing information, for executing stored program instructions in the desired order, for arithmetic and logical processing of data, and for initiating all communication between main storage and peripheral devices. The Model 20 central processor includes eight 16-bit general registers; the other System/360 models have sixteen 32-bit general registers and four 64-bit floating-point registers. The general registers can be used as fixedpoint accumulators or as index registers. The remainder of this discussion of Central Processors refers to the processors associated with System/360 Models 30, 40, 50, 65, and 75. Instructions can be two, four, or six bytes in length. A 2-byte instruction causes no reference to main core storage. A 4-byte instruction causes one reference to main storage, while a 6-byte instruction causes two storage references. Main storage addresses are formed by adding a 12-bit "displacement" contained in the instruction to a 24-bit !'bas~ address" contained in one of the 16 general registers. The addresses in many instructions (including most binary arithmetic and logical instructions) can be further modified by adding a 24-bit "index" contained in another general register; this effectively provides a double indexing capability. All three parts of an address (base, displacement, and index) are treated as unsigned, positive binary integers and are added together with overflows ignored. Since every address includes a base, the sum is always 24 bits long; this provides a logical capability for addressing up to 16,777,216 bytes, although the direct part of the address (the 12-bit displacement) permits direct addressing of only 4,096 bytes. The base-register technique of address formation facilitates program relocation and segmentation, at the expense of increased programming complexity. The basic arithmetic mode of the System/360 is· fixed-point binary, using 32-bit operands and twofs-complement notation. Most instructions can alternatively specify the use of 16-bit halfword operands to improve storage utilization. Most products and all dividends are 64 bits long. Fixed-point arithmetic and comparison instructions specify one operand in a general register and a second operand in either main storage or a general register; these instructions are four bytes long when they specify an operand address in main storage and two bytes long when both operands are in registers. The Standard Instruction Set includes 86 instructions which perform fixed-point arithmetic, comparison, branching, moving, loading, storing, shifting, radix conversion, code translation, packing, unpacking, and Boolean operations. The radix conversion operations perform automatic conversions between signed, packed decimal fields up to 15 digits in length and 32-bit signed binary integers. The code translation instruction uses a table to translate any 8-bit data code to any other 8-bit code. The packing and unpacking instructions convert numeric BCD data between the one-character-per-byte format used by most input-output devices and the two-digits-per-byte format used for decimal arithmetic. The other instructions in the standard set are quite conventional in form and function. The Floating-Point Arithmetic feature is optional in Models 30 and 40 and standard in the larger models. It provides 44 additional instructions for addition, subtraction, multiplication, division, loading, storing, and comparison of both "short" (32-bit) and "long" (64-bit) floating point numbers. Floating-point instructions specify one operand in a floating-point register and a second operand in either main storage or a floating-point register. The Decimal Arithmetic feature is optional in Models 30 and 40 and standard in the larger models. It provides eight additional instructions for addition, subtraction, multiplication, division, comparison, and editing of decimal numbers. Decimal arithmetic is performed upon 4-bit BCD digits packed two to a byte, with a sign in the rightmost four bits of the low-order byte. Decimal operands can be up to 16 bytes (31 digits and sign) in length. The length of each decimal field is specified in the instruction referencing it; the word mark concept used throughout the IBM 1400 series has been abandoned. Two-address (6-byte) instructions of the storage-to-storage type are used for aU decimal operations; the general and floating-point registers are not utilized. Decimal arithmetic in the System/360 is considerably slower than binary arithmetic. It is designed for processes which require relatively few computational steps between input and output, so that radix conversions and use of fast-access registers for temporary storage of results are not justified. (Contd.) 8/65 INTRODUCTION .41 420:011.411 Central Processors (Contd.) A comprehensive interrupt system permits System/360 processors to respond to a variety of special conditions arising within the processor and in peripheral units. The basis for the interrupt system is the Program Status Word (PSW), a double (64-bit) word that indicates the operational status of a program. When an interrupt condition arises, the active PSW is automatically stored in a fixed location whose address depends upon the class of the interruption. The processor then fetches a new PSW from another fixed location, and this new PSW governs entry to a routine that services the interrupt condition. After the interrupt condition has been serviced, the PSW of the interrupted program is restored to the active pOSition, thereby resetting the processor to the status it had just before the interrupt occurred. There are five basic classes of interrupts: input-output, program error, supervisor-call, external signal, and machine check. SpeCific bits in the PSW can be used to mask off (i. e., inhibit) certain interrupt conditions. The System/360 offers powerful processors that include many valuable features. But because these processors incorporate a design that is meant to satisfy a vast group of computer users involved in diverse applications, internal processor complexity has resulted. For example, 14 different Add instructions, each with its own format rules, can be selected for use within the same program. Due in part to the intricacies and the sheer number of available instructions, System/360 programming at machine and assembly-language levels, and program checking, patching, and similar operations, are relatively complex and conducive to human errors. This complexity results also from the indirect, base-plusdisplacement addressing system, the operand placement rules (which vary for each of the four types of operands), the interrelationships between operand types and machine instruction types, and the unusual (and therefore initially"unfamiliar) data codes and index register methods. These points are discussed in more detail in the description of the Central Processors in Section 420:051. . 42 Internal Storage The most outstanding characteristic of the System/360's internal storage scheme is the wide variety of capacities and speeds in which both core storage and auxiliary storage can be supplied. Table IT indicates the range of core storage sizes and speeds available with various models of the System/360. TABLE II: SYSTEM/360 MAIN CORE STORAGE CHARACTERISTICS SYSTEM MODEL Core Storage Capacity, Bytes 4,096 8,192 16,384 32,768 65,536 131,072 262,144 524,288 1,048,576 Cycle Time, Mod 20 B20 C20 D20 - - IJ sec Mod 30 - C30 D30 E30 F30 - Mod 40 Mod 50 Mod 65 Mod 75 - - - - D40 E40 F40 G40 H40 - F50 G50 H50 - - H65 - 165 J65 H75 175 J75 3.6 1.5 2.5 2.0 0.75* 0.75* Bytes Accessed per Cycle 1/2 1 2 4 8 8 Cycle Time per Byte, /J,sec 7.2 1.5 1. 25 0.50 0.094* 0.094* * Effective cycle time in Models 65 and 75 is somewhat faster due to interleaved accessing of core storage. The Storage Protection feature (optional in Models 30 and 40, standard in the larger models) can prevent the contents of specified 2, 048-byte blocks of core storage from being altered as a result of program errors or misguided input data. This feature prevents overwriting by unauthorized programs, but it does not guarantee privacy since any program can still read the contents of any desired portion of core storage. {Only the Model © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 420:011.421 .42 IBM SYSTEM/360 Internal storage (Contd.) 67's extended Storage Protection feature offers both read and write protection.) Users of large-scale, multiprogrammed computers may find this protection scheme to be inadequate, since only 15 different programs cim be protected against overwriting at anyone time. Another disadvantage lies in the fact that if any input data has been inadvertently assigned a 4-bit "protection key" of zero, or if any program has a 4-bit "storage key" of zero, no data in core-storage can be positively safeguarded against overwriting. Seven different types of auxiliary storage devices are available in the form of magnetic cores, drums, discs, and strips. The storage capacity of these devices ranges from less thanonemillionbytes to over three billion bytes under one control (and more than one control can be used in a system). Similarly, access times can be chosen to suit the system, with average times ranging from 8 microseconds to 450 milliseconds. Table III lists the various auxiliary storage devices with their principal functional characteristics. Noteworthy among the auxiliary storage devices offered with the System/360 is the 2361 Core Storage unit - an addressable bulk store that can act as a direct extension of the main core storage and can perform identical functions. The 2361 offers users of Models 50, 65, 67, and 75 up to 8,388,608 bytes of directly -addressable supplementary core storage. Cycle time is eight microseconds, a figure that is considerably slower than that of the main core storage; but when the 2361 is considered as a random access storage device, its eight-microsecond access time is far superior to that of any disc or drum unit. The 2361 Core Storage unit will make feasible many system applications which were previously impractical due to the inability to gain rapid random access to sufficiently large volumes of data. Six additional types of random access storage equipment are offered. Three types are disc-based, and two of these (the 2311 and the 2314) use removable Disk Packs. Two types are drum-based and have the same drum revolution time of 17 milliseconds, but the newer 2301 reads and writes 4 bits in parallel to achieve an extremely high data transfer rate: 1,200,000 bytes per second. The sixth random access device is the highcapacity 2321 Data Cell Drive. Each Data Cell holds forty million bytes and canbe removed and stored independently. Ten cells can be mounted on a single Data Cell Drive at one time, yielding an on-line capacity of 400 million bytes per drive. Access is slow by comparison to other units: nearly half a second is required to gain access to a randomlyplaced record or file. The main features of the random access units (now called "direct access" units in IBM documentation) are compared in Table m. TABLE m: SYSTEM/360 AUXILIARY STORAGE UNITS DEVICE CAPACITY RANGE (Millions of Bytes Per Control Unit) 2361 Core Storage lto8 2302 Disk Storage 112 to 897 2311 Disk Storage AVERAGE ACCESS TIME DATA TRANSFER RATE (Bytes/sec) REPORT REFERENCE 500,000 to 2,000,000 420:042 165 msec 156,000 420:043 7 to 58 98 msec 156,000 420:044 2314 Direct Access Storage 26 to 207 75 msec 312,000 420:048 2321 Data Cell Drive 40 to 3,200 450 msec 55,000 420:045 8 !lsec 7320 Drum Storage 0.8to6.6 9.6 msec 135,000 420:046 2301 Drum Storage 4.1 to 16.4 8.6 msec 1,200,000 420:047 . 43 Sequential Input-Output Units A wide variety of sequential input-output equipment is offered for the System/360. ./ A new line of medium-performance magnetic tape equipment, the 2400 Series, reads and records data in nine tracks (8 data and 1 parity) on half-inch tape at a density of 800 or 1600 bytes per inch. The nine-track recording is not compatible with any previous IBM magnetic tape equipment, though a 729 Compatibility feature is available to enable a 2400 Series tape drive to read and write in the seven-track IBM 729 mode. (Contd.) 8/65 420:011.430 INTRODUCTION .43 Sequential Jnput-Output Units (Contd.) The new 7340 Model 3 Hypertape Drive features the highest recording density yet announced for a commercial tape unit - 3,022 bytes per inch - and a data transfer rate of 340,000 bytes (or 680,000 packed decimal digits) per second. The cartridge loading feature of Hypertape facilitates tape handling and reduces the likelihood of tape contamination or damage. The punched card, paper tape, and printing equipment available with the System/360 closely resembles previous IBM offerings, with a few notable exceptions. The 2520 Card Read Punch provides punching speeds of up to 500 cards per minute, or 200 cards per minute faster than any card punch previously offered by a major computer manufacturer. The 2560 Multi-Function Card Machine, currently available only in Model 20 systems, is a highly unconventional unit that combines many of the facilities of a card reader, card punch, collator, and interpreter. Several models of the 1403 Printer can now be equipped with a Universal Character Set feature that permits up to 240 different characters to be printed; the relationships between internal codes and printed characters can be changed at any time by the user. Table IV summarizes the capabilities of representative models of System/360 sequential input-output devices. TABLE IV: SYSTEM/360 SEQUENTIAL INPUT-OUTPUT UNITS UNIT MODEL Punched Cards 1442 Card Read Punch PEAK SPEED REPORT REFERENCE N1 Reads 400 cpm 420:072 2501 Card Reader B1 B2 Reads 600 cpm Reads 1, 000 cpm 420:074 420:074 2520 Card Read Punch B1 Reads 500 cpm Punches 500 cpm 420:075 2540 Card Read Punch - Reads 1,000 cpm Punches 300 cpm 420:071 2560 Multi-Function Card Machine - Reads 500 cpm Punches 91 to 260 cpm Prints 140 cpm 420:076 - 1,000 char/sec 420:073 Punched Pal2er Tal2e 2671 Paper Tape Reader MagnetiC Tal2e 2400 Series Units 1 2 3 4 5 6 2415 Magnetic Tape Unit 1,2,3 4,5,6 7340 Hypertape Drive Printers 1403 Printer 1 3 2, 7, 3, N1 30,000 60, 000 90, 000 60,000 120,000 180,000 bytes/sec bytes/sec bytes/sec bytes/sec bytes/sec bytes/sec 15,000 bytes/sec 15,000/30,000 bytes/ sec 170, 000 bytes/sec 340,000 bytes/sec 600lpm l,100lpm 420:091 420:091· 420:091 420:094 420:094 420:094 420:093 420:094 420:092 420:092 420:081 420:081 600 lpm (forms) or 800 lpm (cards) 420:082 N1 200 to 600 lpm 420:083 1445 Printer (MICR) N1 190 to 525 lpm 420:084 2203 Printer - 300 to 750 lpm 420:085 1404 Printer 2 1443 Printer © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 420:011.440 IBM SYSTEM/360 TABLE IV: SYSTEM/360 SEQUENTIAL INPUT-OUTPUT UNITS (Contd.) . UNIT MODEL Optical Readers 1231 Optical Mark Page Reader 1285 Optical Reader PEAK SPEED REPORT REFERENCE N1 2,000 sheets/hr. 42.0:105 - 2,6.00 lpm 420:1.05 1418. Optical Character Reader 1 30.0 to 420 documents/min. 42.0:105 1428 Alphameric Optical Reader 1 40.0 documents/ min. 420:1.05 Magnetic Character Readers 1412 Magnetic Character Reader 1 950 documents/ min. 420:1.05 1419 Magnetic Character Reader 1 16.0.0 documents/ min . 42.0:1.05 . 44 Display Equipment Display devices are a means for presenting information either to a camera or directly to men. They generally hold only a small amount of data for only a short time; their value is in the variety and speed at which they can display the appropriate information. IBM is offering several types of display devices for use with the System/36.o (although none is currently available for use with the small-scale Model 2.0). The 225.0 Display Unit can provide dynamic visual displays of charts, graphs, and alphameric characters on a 12-inch-square screen on the face of a 21-inch cathoderay tube. Up to 3,848 characters can be displayed. Optional features provide for buffering, keyboard data entry, and use of a "light pen." The 225.0 is designed for local use only (within 2,.0.0.0 cable-feet of a System/36.o). The 226.0 Display Station can be locally connected to a System/36.o via an input-output channel or remotely connected via a 27.01 Data Adapter Unit. The 226.0 provides alphanumeric display, on a 4-inch-by-9-inch screen, of up to 96.0 characters at a peak rate of 2,56.0 characters per second when connected locally. Remote transmission is at either 12.0 to 24.0 characters per second, depending on the data set used. The 226.0 cannot be used to display charts or graphs. The 228.0 Film Recorder, 2281 Film Scanner, and 2282 Film Recorder/Scanner provide the capability to prepare or read charts, graphs, and alphameric data on 35-millimeter unsprocketed film. Alphameric information can be written directly, but a complex program is necessary to read such data. The recorders contain complete facilities for recording data on film, developing an image, and viewing the processed image. The film units share a controller with, and can work in conjunction with, the 225.0 Display Unit. In combination, these units provide the capability for displaying non-alphameric input and output data. Information can be entered or extracted directly in piCtorial or graphical form, giving engineers, scientists, and other interested personnel an opportunity to work directly with the computer • • 45 Data Communications Equipment The IBM 27.01 Data Adapter Unit makes possible direct connection of a wide variety of data communications equipment to a System/360. Devices that can be connected include the 1.03.0 Data Collection System, the 1.05.0 and 1.06.0 Data Communication Systems, the 1.07.0 Process Communication System, telegraph terminals, and the new IBM 274.0 and 2741 Communications Terminals. Up to eight 27.01 Data Adapter Units can be connected to either a Selector or Multiplexor Channel. Each 27.01 can control a maximum of four start/stop communication lines or two synchronous communication lines. Line speeds up to 4.0,8.0.0 bits per second can be accommodated. The 27.01 operates in a half-duplex mode. Numerous special adapters are available for connecting the 27.01 to the various types of communication facilities and terminal equipment. These adapters provide the necessary bit-byte conversions, interfaces, and control circuits. (Contd.) 8/65 420:011.450 INTRODUCTION .45 Data Communications Equipment (Contd.) The 2702 Transmission Control must be connected to a Multiplexor Channel, permitting on-line connection of various low-speed communication terminals to a System/360 via private or common-carrier transmission facilities. A 2702 can handle up to 31 half-duplex lines operating at speeds up to 600 bits per second; inclusion of lines with speeds above 180 bits per second reduces the total number of lines that can be connected. The 2702 operates in a start/stop mode, and data transmission is serial by bit. The 2702 accomplishes all necessary bit-byte conversion, data control, and interfacing functions. One 8-bit buffer is provided for each line. Characters from incoming messages are interleaved and assembled in processor storage, so the 2702 imposes no restrictions upon message length. The characteristics of the recently-announced 2703 Transmission Control are similar to those of the 2702. The two units differ only in the number of terminal lines that can be connected and in certain other hardware features. A 2703 can handle up to 176 half-duplex lines operating at speeds up to 180 bits per second, or up to 76 halfduplex lines operating at speeds up to 600 bits per second. A four-character buffer is provided for each line. Two Audio Response Units - the 7770 and the 7772 - provide recorded human-voice responses to telephones inquiries. The 7770 has a limited vocabulary (32 to 128 words) and can service up to 48 communication lines. The newer 7772 uses a different technique to generate the audio responses, has a virtually unlimited vocabulary, and can service a maximum of 8 lines . . 46 System Configuration The System/360 is highly modular, largely upward- and downward-compatible, and allows a broad range of peripheral devices and supporting control units. Although the overall configuration rules are quite complex, most of the input-output devices can be connected to most of the System/360 processor models. Only the small-scale Model 20 is significantly restricted in its configuration possibilities. Processor core storage capacities can range from 4, 096 bytes in Model 20 to over one million bytes in Models 65 and 75, as shown in Table II. In System/360 Models 50, 65, 67, and 75, up to 8 million bytes of supplementary 8-microsecond 2361 Core Storage can be added. Peripheral devices and their controllers are connected to Model 30 and larger systems through input-output channels of various types and capacities. The standard Multiplexor Channel is included in every Model 30, 40, and 50 Processing Unit and can control up to 256 low-speed I/O devices. High-Speed Multiplexor Channels, capable of controlling up to eight high-transfer-rate devices, are also available for these models. Selector Channels can also be used with Models 30, 40, and 50 to provide direct control of one high-speed input-output operation at a time; the maximum number of Selector Channels is two in Models 30 and 40, and three in Model 50. Models 65 and 75 use specialized Multiplexor Channels (controlling up to 196 devices) and Selector Channels (up to six per processor). Report Section 420:031 includes a detailed list of System/360 peripheral devices and the system configurations required to support them . • 47 Simultaneous Operations An IBM System/360 Central Processor (except for the small-scale Model 20) can concurrently execute: • One machine instruction; and • Up to six high-speed input-output operations (one per Selector Channel); and • Multiple slower input-output operations via a Multiplexor Channel. Detailed information on the number of channels of each type that can be connected, and their data rate capacities, is presented in Report Section 420:11L In general, the relationships between System/360 peripheral devices and data channels are determined at installation time and cannot be altered under program control, although optional features permit switching magnetic tape and random access units between two channels. Because it is not possible to assign any free data channel to serve any peripheral device (as in some currently-available systems), the number of operations that can actually occur simultaneously will in many cases be considerably less than the theoretical maximum. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 420:011.500 .5 IBM SYSTEM/360 SOFTWARE The current organization of software for use with the IBM System/360, Models 30, 40, 50, 65, and 75, is grouped around three fully-integrated operating systems. Each system offers a wide choice of control program services and language translators, providing virtually tailor-made software for all levels of System/360 computer configurations. Users of System/360 models that include at least 32K bytes of core storage :in a direct-access-device environment can use the facilities of the Operating System/360. The Basic Operating System/360 can be selected by installations that have at least 16K bytes of core storage or, alternatively, 8K bytes when direct-access devices are available. The Basic Programming Support package can be used by any installation that includes at least 8K bytes of core storage. The control facilities of the Operating System/360 and the other executive systems are modularly designed, permitting supervisory services of greatly varying sophistication to be selected. When the Operating System/360 is restricted to an environment of 32K bytes of core storage, it offers such services as input-output control, interrupt supervision, stacked-job processing, remote inquiry control, and operator communications. In an environment of 256K bytes of core storage, the Operating System/360 can provide many additional services, such as full multiprogramming control, multiprocessing capabilities, remote control of the computer installation, and supervision of time-shared operations. Report Section 420:191 summarizes the Operating System/360's various control program services and specifies the main and aUxiliary storage requirements for these services. Multiprogramming in the System/360 is facilitated by the hardware interrupt system and the control programs of the operating systems. Various degrees of multiprogramming are possible, and the core storage requirements increase for each higher form. In the simpler forms, data transcription routines can be overlapped with the processing of a main program, and remote inquiries can interrupt the main processing program in order to obtain possibly-unrelated on-line information. More complex multiprogramming, such as running two or more main programs at the same time, is also possible, but the requirements in terms of peripheral devices and core storage are extensive. Within each of the three available operating systems, several different versions of many of the language and utility programs are offered. These versions are constructed at various "program design levels," according to. the amount of core storage that the programs themselves require. However, the actual operation of a given program will require more main storage than the amount indicated by the program design level because nearly all System/360 programs share core storage with resident control routines. Table V indicates the range of support programs offered by IBM for use with each of the three operating systems. The year and quarter in which delivery is expected are listed for each program; e. g., 4Q-65 means "fourth quarter of 1965." Note that software support for the System/360 Models 20, 44, 67, and the 90 Series is not considered in this listing of program availability, since these models and their respective software support differ considerably from the principal, program-compatible group of System/360 models. Of the many System/360 software facilities, the new PL/I language has stirred the most comment. PL/I (originally called NPL, and then MPPL) represents a joint IBM/SHARE effort to develop a programming language that will be suitable for both business and scientific applications. As described in the IBM language manual, PL/I offers programming facilities that are more powerful and extensive than those of any other currently-available computer compilation language. Significant additions to this new language include facilities to check out untested programs, to process selfidentifying input-output files, to select various random-access processing methods, to modify and parameterize programs Immediately before compilation, to perform asynchronous "off-line" processing, and to dynamically allocate storage areas for program segments and data blocks. The true value of the PL/I language and its imposing facilities cannot be accurately assessed until individual P L/I compilers become available and their operational characteristics become kIi.own. The IBM System/360 is a powerful but complex computer system. Its software shares these characteristics. Programming at the assembly-language level is complex, especially if the full power of the System/360 is to be utilized. The newly-developed PL/I language could facilitate programming by assuming the burden of adapting simplified coding to advanced hardware facilities; but the price of the powerful compiler services in terms of decreased compiler and object program performance could be high. The COBOL and FORTRAN languages offer the standard programming facilities and more; (Contd.) 8/65 420:011.501 INTR ODUcr ION TABLE V: SOFTWARE AVAILABLE FOR THE IBM SYSTEM/360 BASIC OPERATING SYSTEM/360 OPERATING SYSTEM/360 PROGRAMS TO BE SUPPLIED Program Design Level 12-18K 44K Supervisory Control Functions 4Q-65 FORTRAN IV 4Q-65 COBOL 4Q-65 2Q-66 - - 1Q-66 Assembler 4Q-65 Sort/Merge 4Q-65 Report Writer 2Q-66 PL/r - Autotest TESTRAN 4Q-65 Data Transcription 1Q-66 .5 Program Design Level BASIC PROGRAMMING SUPPORT Program Design Level 8-10K 200K 4K 10K 4K - 2Q-66 3Q-65 4Q-65 3Q-65 4Q-65 - 2Q-66 4Q-65 1Q-66 - 3Q-65 3Q-66 - 4Q-65 2Q-66 3Q-65 4Q-65 1Q-65 - - 3Q-65 4Q-65 3Q-65 3Q-65 4Q-65 4Q-65 - 3Q-65 4Q-65 - -. - - 4Q-65 4Q-65 - 4Q-65 3Q-66 3Q-65 - SOFTWARE (Contd.) but the restricted versions at the smaller design levels will tempt a move to higher, more powerful program levels at the expense of increased hardware costs. In summary, System/360 software offers extremely comprehensive coverage of the standard programming support functions; but the very extent of its modular facilities can lead the incautious user to buy more hardware than he really needs . •6 COMP ATIBILITY .61 Program Compatibility Within the System/360 IBM emphasizes the high degree of program compatibility, in both the upward and downward directions, among the following models of the System/360: Models 30, 40, 50, 65, and 75. Among these five models, any valid program that runs on configuration A will run on configuration B and produce the same results if: • Configuration B includes the required amount of main storage, the same or compatible input-output devices, and all required special features; and • The program is independent of the relationships between instruction execution times and input-output rates. The compatibility rule does not apply to "invalid programs" (programs that violate the specifications in the programming manual) or to the handling of machine malfunctions. These limitations seem to mean that there will be a high degree of effective upward compatibility, making it easy to expand an installation, but that the concept of downward compatibility will be useful mainly in making possible the common uSe of subroutines and software, rather than in making it feasible to "shrink" an installation as its workload decreases or to back up a large computer with a smaller one. For the reasons indicated elsewhere in this Introduction, Models 20, 44, 67, and 92 will not be fully program-compatible with any of the other System/360 processors at the machine-language level. In many cases, however, it will be possible to achieve program compatibility through reassembly or recompilation, with little or no need for manual alterations of the programs. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 420:011.620 .62 IBM SYSTEM/360 Program Compatibility With Earlier IBM Computers IBM now offers an extensive series of Compatibility Features, or "emulators," that enable certain models of the System/360 to run programs written for second-generation IBM computer systems. The earlier IBM computers whose programs can be run by each model of the System/360 (when properly equipped) are as follows: System/360 Model Model Model Model Model Model 20: 30: 40: 50: 65: ..•••••••...••.• ••••.•.•.••••••. ••••••••••.•••.. •.....•..••..••• ••••.••...•.•... Model 75: . • . . . • . . . . . . . . . . Systems Emulated none. 1401*1440/1460, 1620. 1401/1460, 1410/7010. 1410/7010, 7070/7074. 7070/7074, 7080, 709/7040/7044/ 7090/7094/7094 IT. none. Emulation, in general, requires a System/360 with an equivalent array of peripheral equipment, more proce~sing power, and more core storage than the second-generation system to be emulated. The functions of most of the common peripheral devices (e. g. , card readers and punches, printers, magnetic tape units, and console typewriters) can be emulated, but the less common devices (e. g., optical and magnetic character readers, paper tape units, data communications devices, and several types of disc storage) cannot. Time-dependent programs and programs not written in accordance with'IBM programming manuals, when emulated, may yield results which differ from those obtained on the original system; the handling of many console operations and error conditions will differ; and a variety of specific program restrictions and limitations apply to each Compatibility Feature. Nevertheless, it is likely that most users of second-generation IBM computers will be able to run most of their programs on a System/360 with little or no need for immediate reprogramming. For details on the capabilities, performance, and limitations of each Compatibility Feature, please refer to Sections 420:131 through 420:136 of this report. The principal value of the Compatibility Features is that they enable users of secondgeneration IBM computers to spread the task of reprogramming for the System/360 over an extended period of time. In nearly every case, the emulation mode will involve ,significant additional equipment costs and will fall far short of fully utilizing the performance capabilities of the System/360. * Therefore, for maximum efficiency, most users will want to recode all of their principal applications for the System/360 as soon as possible. Unfortunately, the cost of the additional core storage and features required for emulation must be borne until all of the user's programs have been recoded. * A significant exception is the 1401/1440/1460 Compatibility Feature for Model 30, which utilizes an all-hardware simulation technique and achieves relatively efficient use of the Model 30's capabilities, with no need for additional core storage beyond the requirements of the programs being run. All of the other Compatibility Features use a combination hardware-software approach and require additional core storage (up to 262K bytes) to hold the associated simulation routines. 8/65 ,/ 420:021.100 IBM System/360 Data Structure DATA STRUCTURE ·1 STORAGE LOCATIONS .2 Name of Location Size Byte: 8 data bits + 1 parity bit Word: 4 bytes Halfword: Double word: General registers: 2 bytes. 8 bytes. Floating-point registers: Representation Purpose or Use Type of Information basic addressable storage unit; holds 1 character or 2 "packed" decimal digits. basic fixed-point binary operand length. Alphameric character: 1 byte. Decimal digit: . . . . . . 4 bits; packed 2 digits per byte. Fixed-point binary operand: . . . . . . . . 1 word (or 1 halfword in most instructions) . Floating-point operand (short): . . . . . . . . . 1 word; 24-bit fraction* and 7-bit hexadecimal exponent. Floating-point operand (long): . . . . . . . . . . 1 word; 56-bit fraction* and 7-bit hexadecimal exponent. Decimal operand:. . . . 1 to 16 bytes (i. e., i to 3 i digits plus sign). Instruction: . . . . . . . . 2, 4, or 6 bytes (specifying 0, 1, or 2 core storage addresses, respectively). 32 bits each fixed-point accumulators, baseaddress registers, or index registers. 64 bits each floating-point accumulators. Row (magnetic tape): 8 data bits Column (punched cards): 12 positions INF ORMATION FORMATS holds 1 byte. holds 1 character. Note: Every fixed-length field (halfword, word or double word) must be located in main storage on an "integral boundary"; i. e., the storage address of the field, mustbe a multiple of the length of the field in bytes. This restriction is essential for efficient operation of the larger Processing Units, which access up to eight bytes in parallel, and the same restriction has been applied to the smaller Processing Units in order to maintain compatibility. Variable-length (decimal) fields are processed serially by byte in all models, so they may start at any byte location. * The unusual floating-point representation used in the System/360 (hexadecimal rather than binary exponents) makes the effective precision three bits shorter than the actual length of the fractional part. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 420:031.100 IBM System/360 System Configuration SYSTEM CONFIGURATION The overall configuration rules of the System/360 are quite complex. Every system has at least one Processing Unit and at least one bank of main (processor) core storage, which is an integral part of the Processing Unit in Models 20, 30, 40, and 50, and a separate unit in the larger models. The processor storage capacities available for the various System/360 models are summarized on page 420:041.100. In addition, up to 8,388,608 bytes of 8-microsecond core storage are available for Models 50, 65, and 75 (see Section 420:042, 2361 Core Storage). Peripheral devices are connected to Model 30 and larger systems through various types of input-output channels. The maximum number and types of channels available for each of these models are listed in Table I. The peripheral devices currently available for System/360 and the rules governing their connection to each model are presented in Table II. In Table In, the minimum permissible configurations for Model 30 and larger systems are shown. These minimum configurations are necessary, according to IBM, to permit standard diagnostic routines to be used for maintenance and system checkoutpurposes. Peripheral devices are connected to a Model 20 system by means of special attachments; in most cases, a separate attachment is required for each peripheral device. The peripheral devices available for Model 20 are also listed in Table II. Model 20 configurations are subject to the following restrictions: • • Only one peripheral device of any given type can be connected. A 2560 Multi-Function Card Machine and a 2520 Card Punch cannot be used in the same system. • The maximum configuration possible is three card read stations, two punch stations, one document print station, one magnetic character reader, one line printer, and one 2415 Magnetic Tape Unit and Control (any model) . For diagrams and prices of representative standard configurations of the System/360, as defined in Section 4:030 of the Users' Guide, see the System Configuration sections of the subreports on the individual models: Model 20: •.••.•...•••...•.••.. Section 422:031. Model 30: ...•...•••••••..•.... Section 423:031. Model 40: ••••.•..••.........•• Section 424:031. Model 50: • • • • • • . . . . . . . . . . . . . . . Section 425:031. Model 65: •.•....•...•....••..• Section 426:031. Model 75: .•••••..•.•••..•.•••. Section 428:031. Configuration rules and representative system configurations for the large-scale System/360 Model 67 are shown in Section 427:031. TABLE I: SYSTEM/360 I/O CHANNELS Standard Multiplexor Channel Model 30 Model 40 Model 50 Model 65 Model 75 1 1 1 - - 2 1 2 1 - - 3 1 1 Optional" Channels Standard Selector (1) High Speed Multiplexor (1) High Speed 2860 Selector 2870· Multiplexor - -- - - - - -6 -6 1 1 196 - Maximum Number of Subchannels per MultiElexor Channel Standard Multiplexor (2, 3) 32, 96, or 224 High Speed Multiplexor (2) 2870 Multiplexor (3, 4) 4 . (1) (2) (3) (4) - 16, 32, 64, or 64, 128, or 256 128 4 or 8 4 - - 196 A High Speed Multiplexor Channel pre-empts one standard Selector Channel. When a High Speed Multiplexor Channel is included in a system, the maximum number of multiplexor subchannels is reduced by either four or eight. The Standard Multiplexor Channel with 128 or fewer subchannels includes 8 shared-path subchannels. The Standard Multiplexor Channel with more than 128 subchannels, and the 2870 Multiplexor Channel, include !!Q. shared-path subchannels. Four of these subchannels are optional Selector Subchannels, each capable of handling 8 control units (maximum of 16 peripheral devices), one at a time. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 420:031.101 IBM SYSTEM/360 TABLE II: SYSTEM/360 PERIPHERAL DEVICES Cooneetion to I/O Channel (11) Peripheral Device Controllers per System, System/360 Model Controller 20 30 40 50 Maximwn 65 Multiplexor Subehannels per Controller (1) Peripheral Devices per Controller. Maximum 75 Random Access 2302 Disk Storage The basic 2841 can control up to eight 2311 Disk Drive 2311 access mechanisms. Optional features permit the 2841 to control up 2B41 2321 Data Cell Drive - ms ms ms sx sx 8/eh IS to eIght access mechanisms in any combination of the devices listed, and an additional eight 2302 access mechanisms. 7320 Drum See the individual report s ectioDs for the number of access mechanisms per device. 2301 Drwn 2820 - - - h s s 8(2) 2314 Direct Access Storage selfcontained - - (3) s s s - ms ms ms msx msx 4 2301 Drums. 8/eh - 8/eh 1 The 28211s available in several models and, with special features, can control up to three 1403 printers, one 2540 and 8 on-line disc drives per 2314 unit. Punched Card 2540 Card Read Punch, Model 1 2821 up to three 1403 printers (any model). or one 2540 and one 1404 printer. 1442 Card Read Punch, Model N1 1442 Card Punch: Model 5 Model N2 selfcontained selfcontained self2520 Card Read contained - ms a - - - - - ms ms ms msx msx Punch: Model Al Model B1 - - - - - ms ms ms msx msx selfcontained self- selfcontained Model B1, B2 selfcontained 2560 MFCM - a contained 2501 Card Reeder: Model AI, A2 msx msx contained contained Model B2, B3 ms selfself- 2520 Card Punch: Model A2, A3 ms self- - a - - - - - ms ms ms msx msx - 8/eh 1 1 1 - 1 8/ch 1 1 1 - 1 Bleh 1 1 1 - 1 B/eh 1 1 a - - - - 1 - 1 - ms ms ms msx msx 8/eh 1 1 a - - - - 1 - 1 contained - Printers 1403, Models 2, 7. 2821 a (4) ms ms ms msx msx 8/eh Nl 1403, Model 3 1 See 2540 Card Read Punch. 2821 - ms ms ms msx msx 8/eh 1 See 2540 Card Read Punch. 1404, Model 2 2B21 - ms ms ms 8/eh 1 See 2540 Card Read Punch. 1443, Model N1 self- - ms ms ms msx msx 8/eh 1 1 - ms - - - - 8/eh 1 1 a - - - - - 1 - 1 2822 - ms ms ms - - 8/ch 1 1 2803, 2804, - ms ms rns sx sx 8/ch (5) IS/ch 8 ms(6) ms(6) ms(6 s s S/ch 18 S - - 8/ch IS 6 contained 1445, Model N1 selfcontained 2203, Model Al selfcontained - - Punched PaEer TaEe 267l Paper Tape Reader, Model 1 M!E!!etic T~e 2400 Series 2403, 2404 7240 Model 3 2802 - 2415 self- r (7) rns contained - - (Contd. ) 7/65 SYSTEM CONFIGURATION 420:031.102 TABLE II: SYSTEM/360 PERIPHERAL DEVICES (Contd.) Connection to I/O Channel (11) Controllers Peripheral Device per System, System/360 Model Controller 20 30 40 50 Maximum Multiplexor Subchannels per Controller (1) Peripheral Devices per Controller, Maximum 75 65 DlsEla:.: Units 2250 Display Unit, Modell - selfcontained ms rns ms sx sx 8/ch 1 1 The 2840 Control, with the approprIate 2250 Display Unit, Model 2 number of multiplexor features, can control up to 8 2250 Model 2 Units or up to 4 Film 2280 Film Recorder 2840 - rns rns ms ax } 2848 - ms ms rns rnsx rnsx 2281 Film Recorder sx 8/ch IS 8/ch 17 or IS Units (any type). The maximum nwnber of Display Units that can be connected in combtnatlon with 1, 2, or 3 Film Units (any type) is 5, 4, or 1, respectively. 2822 Film Recorder / Scanner 2260 Display Unit: Modell Model 2 Model 3 9 or IS 25 or 2S 24 16 8 Audio ResEonse Units 7770 7772 selfcontained self- contained - m m m m m B/ch 48 max. up to 4B lines. - m rn rn m rn B/ch 8 max. up to Slines. QEticai Readers (B) 1231 Optical Mark Page Reader, Model N1 selfcontained - rns - - - - 1 1 1 1285 Optical Reader, Modell selfcontained - m m - - - B 1 1 141B Optical Charaeter Reader I Models 1. 2, 3 self- - m - - - - 1 1 1 142B Alphameric Optical Reader, Models 1, 2, 3 selfcontained - m - - - - 1 1 1 1412 Magnetic Charaeter Reader I Modell selfcontained - m - - - - 1 1 1 1419 Magnetic Charaeter Reader. Modell selfcontained r rns ms - - - 2(9) 1 1 selfcontained - ms ms ms rns ms B/ch 4 max. up to 4 lines. 2702 Transmission Control selfcontained - m m m m m B/ch 31 max. up to 31 lines. 2703 Transmission Control selfcontained - rn rn m m m B/ch 176 max. up to 176 lines. - - - - 1 contained MmCR Readers (B) Data Communications 2701 Data Adapter Unit 2073 Communications Adapter - r(10) (1) (2) (3) (4) (5) (6) \ (7) (B) (9) (10) (11) © - 1 line. Applicable only when controller is connected to a Multiplexor Channel. The symbol liS" indicates a shared-path subchannel. One 2820 per Model 50 systemj two per 2860 Modell (1 Selector Channel); three per 2B60 Model 2 (2 channels); four per 2B60 Model 3 (3 channels). Can be connected to first Selector Channel only. Connection of these models of the 1403 Printer to a Model 20 system requires only a special attachment device, and not the 2821 Controller. Only one printer can be connected to a Model 20 system. Dual-channel controllers require one control unit position on each of two channels. When a 7340 Hypertape unit is connected to a Multiplexor Channel (or to the Selector Channel of a Model 30), only the 170,000 bytes/sec transfer rate can be accommodated. Only one 2415 (any model) can be connected to a Model 20 system. Each of these devices, except the 1419 when attached to a Model 20 and the 1231 J requires a special System/360 adapter. 6nly one 1419 is allO\ved in a Model 20 system. This adapter cannot be incorporated in a Model 20 system with the Universal Character Set Feature for a 1403 printer. The symbols in theBe columns indicate the possible methods for connecting each controller to each System/360 Model. a - directly to any Model 20 Processor, by means of a special attachment. r - directly to Model 20 Processor, Model B2, C2 J or D2, by means of a special attachment. m - via a standard Multiplexor Channel or a 2870 Multiplexor Channel. s - via a standard Selector Channel or a 2860 Selector Channel. x - via a selector subGhannel of a 2870 Multiplexor Channel. h - via a High Speed Channel. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360 420:031.103 TABLE III: SYSTEM/ 360 MINIMUM CONFIGURATIONS (1) INPUT DEVICES OUTPUT DEVICES 7/65 Model 30 (2) Model 40 (2) Model 50 (3) Model 65 (4) Model 75 (4) 1442 2501 2520 2540 Card Read Punch Card Reader Card Read Punch Card Read Punch x x x x x x x x 2400 2415 7340 2311 Series Magnetic Tape Magnetic Tape Hypertape Drive Disk storage Drive x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x Console Typewriter 1403 Printer 1404 Printer 1443 Printer 1445 Printer - MICR x x x (1) Each processing unit in a system coniiguration requires access to at least one of the inPut devices and at least one of the output devices marked with "x" in the above table. Access can be direct (to unlta conneoted to the processor) or indirect (to units connected to another processor). (2) When access to a minimWl1 I/o unit is indirect only, aU processing units in the conilgu~ation must have at least 32,768 bytes of processor storage. (3) Model 50 must have direct access via a Selector Channel to the minimum input unit. (4) When access to the minimum input unit is indirect only, the processing units must be interconnected via the Channel-to-Channel Adapter. 420:041.1 00 IBM System/360 Internal Storage Processor Storage INTERNAL STORAGE: PROCESSOR STORAGE .1 GENERAL .11 Identity: . • • • • • • • . . • . . . . • • • . . . • . • . . . . processor storage for Model 20 series: contained in 2020 Processing Unit, Models B, C, D. processor storage for Model 30 series: contained in 2030 Processing Unit, Models C, D, E, F. processor storage for Model 40 series: contained in 2040 Processing Unit, Models D, E, F, G, H. processor storage for Model 50 series: contained in 2050 Processing Unit, Models F, G, H, 1. processor storage for Model 65 series: contained in 2365 Processor Storage, Models 1, 2. processor storage for Model 75 series: contained in 2365 Processor Storage, Model 3 • • 12 Basic Use: •••••••••••••.•••.••...... working storage . • 13 Description The currently available models of System/360 differ primarily in main (processor) core storage capacity, speed, and number of bytes accessed per cycle. Main storage characteristics of the available models can be summarized as follows: System/360 Model Capacity, bytes Model 20 4,096 8,192 16,384 32,768 65,536 131,072 262,144 524,288 1,048,576 B20 C20 D20 Cycle Time, /1-sec 3.6 - Bytes Accessed per Cycle 1/2 Cycle Time per Byte, /-Isec 7.2 Model Model Model Model Model 75 30 40 50 65 - C30 D30 E30 F30 - - - D40 E40 F40· F50 040 ~ G50 H:~,O ... H50 - - 065 H65 165 J65 - H75 175 J75 - - 1.5 2.5 2.0 0.75* 0.75* 1 2 4 8 1.5 1.25 0.50 0.094* 0,094* 8 * Effective cycle time in Models 65 and 75 is somewhat faster due to interleaved accessing of core storage. Main storage is physically integrated with the Processing Unit in Models 20, 30, 40, and 50, and is housed in separate cabinet modules in Models 65 and 75. The logical structure of the system is the same in either case. Each byte consists of eight data bits and one parity bit, and each byte is directly addressable. Internal storage addressing is binary (though decimal or symbolic addresses © 1965 AUERBACH Corporation and AUERBACH Infa, Inc. 7/65 420:041.130 IBM SYSTEM/360 · 13 Description (Contd.) are used in the assembly programs to facilitate coding). The eight data bits of a byte may represent binary, alphameric, or packed decimal (two decimal digits per byte) data. The Storage Protection feature (optional in Models 30 and 40, standard in the larger models) prevents the contents of specified 2, 048-byte blocks of core storage from being altered as a result of program errors or misguided input data. A 4-bit "storage key" is associated with each 2, 048'-byte block, and a 4-bit "protection key" is supplied with the data to be stored. Detection of a mismatch between the two keys results in a program interrupt. As many as 15 independent programs can be protected at anyone time. Each protected program can occupy any number of blocks, and the blocks do not need to be contiguous. Storage Protection is an essential safeguard wherever more than one program is to be loaded and run at the same time. The Shared Storage feature (currently available only for Model 50) permits the main storage units of two Model 50's to be shared and addressed by either Processing Unit as a single main storage. When blocks of data must be moved from one area of main storage to another, this can be most effiCiently accomplished by means of the Move instruction, which operates in the storage-to-storage mode and can move up to 255 bytes per application of the instruction. An alternative method is to use a loop with multiple-register load and store instructions. Paragraph. 73 shows the effective transfer rates for both methods . . 14 Availability: •..•....•••.•••..••..••.. see Central Processor section, Paragraph 420:051.13 . . 15 First Delivery: .•••..•.•.••...•....... see Central Processor section, Paragraph 420:051.14 . • 16 Reserved Storage Purpose Number of locations •2 Model 20Internal processor control: ••..••••••.•••••••••...... 144 bytes. Model 30 Index/arithmetic/logic registers: ..•••..... 64 bytes. Arithmetic registers: . • . • • . . . • . . • . . . . . . 32 bytes (for floating-point registers) . Models 30,40, 50, 65, 75 Initial program reading data:: • • • . . . • • . • . • • 24 bytes. Program control: •••.•••••..•........• 68 bytes. I/O control: • • . . . • . . . • • . • . . . • . . . . . . . 28, bytes. Unused: . . . • . . . • . . . • • . . • • . . . . . . . . . . 8 byt~s.. _ Diagnostic scan-out area: ••.••......... :variable. £"} /' PHYSICAL FORM /:-' . .21 Storage Medium: ••...•..••...•...•.... magnetic core . • 23 Storage Phenomenon: . . . • . . • . • . . . . . • . . . . direction of magnetization . . 24 Recording Permanence .241 . 242 • 243 • 244 • 245 Data erasable by instructions: . . . • . • . . . . . • . Data regenerated constantly: . . • . . . . . . . • . . . Data volatile: •••••...••••••••.••.•.... Data permanent: ..•••••••.•.•.•.•••.... Storage changeable: ••••••••••••..••••.. • 28 Access Techniques (r yes . no . no. no . no. • 281 Recording method: •••••.••••.••.•.•••.. coincident current. • 283 Type of access: • • • • • • • • • • • . . • • . . . . . . . . uniform. (Contd. ) 7/65 420:041.290 INTERNAL STORAGE: PROCESSOR STORAGE .29 Potential Transfer Rates .2.92 Peak data rates - System/360 Model 20 30 40 50 65 75 Unit of data, bytes/access 1/2 byte 1 byte 2 bytes 4 bytes 8 bytes 8 bytes Cycling rate, cycles/second 278,000 667,000 400,000 500,000 1,333,000* 1,333,000* Conversion factor, data bits/byte 8 Data rate, bytes/sec 8 0.14 million 0.67 million 8 8 2.0 million 0.80 million 8 8 10.7 million* 10.7 million* * Effective cycle time in Models 65 and 75 is somewhat faster due to interleaved accessing of core storage • .3 DATA CAPACITY .31 Module and System Sizes System/360 Model B20 C20 D20 C30 D30 E30 F30 D40 E40 F40 G40 H40 F50 G50 H50 G65 H65 165 J65 H75 175 J75 Processing· Unit No. Model 2020 2020 2020 2030 2030 2030 2030 2040 2040 2040 2040 2040 2050 2050 2050 2065 2065 2065 2065 2075 2075 2075 B C D C D E F D E F G H F G H G H I J H I J Processor Storage Unit No. Model No. of Storage Modules Included in Processing Unit 2365 2365 2365 2365 2365 2365 2365 1 2* 2* 2'" 3* 3** 3** 1 1 2 4 1 2 4 Total Storage (bytes) 4,096 8,192 16,384 8,192 16,384 32,768 65,536 .W,3l:S4 32,768 65,536 131,072 262,144 65,536 131,072 262 144 131,072 262,144 q24,288 1 048 576 262,144 524,288 1,04.8,576 Words or 4-byte Instructions 1 024 2,048 8,192 2,048 4,096 8.192 16,384 4,096 8,192 16,384 32,768 65,536 16,384 32,768 65 536 32,768 65,536 131,072 262 144 65,536 131,072 262,144 * Storage words are interleaved by pairs to improve sequential access rate. ** Storage words are four-way interleaved to improve sequential access rate . . 32 Rules for Combining Modules: . . . . . . • . . • . . . see chart above. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 420:041.400 IBM SYSTEM/360 .4 CONTROLLER: ••••..••••.•••••••••.•. no separate controller; all required control facilities are included in processor and/or storage modules. .5 ACCESS TIMING .52 Simultaneous Operations: ••••••••.••••••• none • • 53 ~ccess Time Parameters and Variations • 531 For uniform access System/360 Model 20 30 40 50 65 75 Cycle time, microseconds 3.6 1.5 2.5 , 2.0 0.75 0.75 Unit of data, bytes/access 1/2 1 2 4 8 .6 CHANGEABLE STORAGE: •7 PERFORMANCE .72 Transfer Load Size 8 •.••...•...••.• none . With self: •••••••..••••••••••••.•.••. 1 to 255 bytes using Move instruction. Variable amount using multiple register instructions in a loop (not Model 20) • . 73 Effective Transfer Rate (With Self) (All transfer rates are in bytes per second.) System/360 Model 20: 30: 40: 50: 65G: 65H, I, J: 75: .8 Using Multiple Register Instructions in a Loop 62,500 321,000 390,000 v: 851,000 4,760,000 4,780,000 130,000 307,000''-760,000 3,430,000 3,560,000 ? ? ERRORS, CHECKS, AND ACTION Invalid address: Invalid code: Receipt of data: Recording of data: Recovery of data: Dispatch of data: Reference to locked area: Reference to protected area: * 7/65 Using Move Instruction Check or Interlock Action check all 8-bit codes valid. parity check record parity bit. parity check transmit parity bit. program interrupt. * program interrupt. * program interrupt. * no locked area. check, if Storage Protection feature is present program interrupt. Errors in a Model 20 system cause the processor to halt. 420:042.100 IBM System/360 Internal Storage 2361 Core Storage INTERNAL STORAGE: 2361 CORE STORAGE .1 GENERAL .11 Identity: .12 Basic Use: .13 Description applications. It will probably be used mainly for storage of: 2361 Core Storage, Models 1 and 2 (LCS). Q large-capacity auxiliary core storage. e Small, frequently-referenced files in real-time systems where fast response is essential. Two models of IBM 2361 Large-Capacity Core Storage provide up to 8,388,608 bytes of directlyaddressable core storage for System/360 Models 50, 65, and 75. Model 1 stores 1,048,516 bytes and Model 2 stores 2,097,152 bytes. Each byte location holds eight data bits and one parity bit. Cycle time is eight microseconds - which is considerably slower than the main storage cycle times in these System/360 models, but many times faster than any of the mechanical direct-access storage devices in IBM's line. An optional interleaved addressing scheme between 2361 modules permits the overlapping of read/write storage cycles in sequential operations. Thus, the effective cycle time for sequential accesses can be reduced to four microseconds. One Model 1 or one to four Model 2 units can be used in systems without the interleaving feature. Two Model 1 units or two to four Model 2 units can be used in systems with the interleaving feature. In a Model 50 system, interleaving can be specified only if the 2361 Core Storage is shared with a Model 65 or 75 system. Addressing of the increased storage is by direct extension of the addressing system used for main (processor) core storage. Each reference to the 2361 Core Storage obtains eight bytes, the amount obtained by Models 65 and 75 Processing Units from their main core storages. Model 50 uses only four of the eight bytes per access, which is the amount obtained from its main storage. Each byte is directly addressable, and read access time is three microseconds. IBM states that all operating features of the 2361 Core Storage except cycle time are the same as those of the main (processor) storage of the system. Storage Protection is a standard feature of the 2361 Core Storage. The Shared storage special feature permits two ProceSSing Units to address the same 2361 Core Storage units. A Model 50 Processing Unit can share 2361's with a Model 50, 65, or 75 which has equal or greater processor (main) storage, and the larger Processing Units can share 2361's with any of the larger units having equal processor storage. The cost of IBM 2361 Core Storage will rule out its use for master-file storage in most data processing © Directories, to permit rapid accessing of information stored in slower directaccess storage devices (discs, drums, or data cells). • Q • Frequently-used subroutines. Segments of active programs which must be temporarily moved out of main storage in multiprogramming environments. Large matrices, to extend the size of scientific problems that can be handled without the need to resort to tape or direct-access devices for intermediate storage. .14 Availability: . . . . .. ? .15 First Delivery: . . . . ? .16 Reserved Storage: .2 PHYSICAL FORM .21 Storage Medium: . .. magnetic core. .23 Storage Phenomenon:. direction of magnetization. .24 Recording Permanence .241 Data erasable by instructions: . . . . . .242 Data regenerated constantly: .243 Data volatile: . .244 Data permanent: .245 Storage changeable: ........ ...... .. . .28 yes. no. no . no . no. Access Techniques · 281 Recording method: .. . 283 Type of access: . . . . · 29 none. coincident current. uniform . Potential Transfer Rates · 292 Peak data rates Unit of data: . . . . . Cycling rate: ... . Conversion factor: . 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8 bytes. 125, 000 cycles per second. 8 data bits and 1 parity bit per byte. 7/65 420:042.292 IBM SYSTEM/360 .292 Peak data rates (Contd.) Data rate Model 50 Processing Unit: . . . . . . . 500,000 bytes per second* (Model 50 uses only 4 bytes per access) . Models 65 and 75 Processing Units: .. 1,000,000 bytes per second*. * The data rate can be increased by as much as 100% for sequential operations if the interleaving feature is incorporated. .3 DATA CAPACITY .31 Module and System Sizes Rules for Combining Modules: . . . . . . . . one Modell or one to four Model 2 units per system without interleaving. two Model 1 units or two to four Model 2 units per sys..: tern with interleaving. .8 .5 ACCESS TIMING . 51 Simultaneous Operations: . . . . . . . if interleaving is specified, sequential read/write storage cycles can be overlapped, reducing the effective cycle time to 4 p,sec. Access Time Parameter and Variations . 531 For uniform access Read access time: •. 3.0 J,lsec. Cycle time: . . . . . . . 8.0 J,lsec. For data unit of: ... 8 bytes. .6 CHANGEABLE STORAGE: . . . . . . . none. .7 PERFORMANCE The manufacturer states that the number of bytes obtained per storage access, and all other features of large-capacity storage except cycle time, are the same as those of the main (processor) storage of the system. ERRORS, CHECKS AND ACTION Error Check or Interlock Action Invalid address: check program interrupt. Invalid code: all-8-bit codes are valid. Receipt of data: parity check. Recording of data: Recovery of data: record parity bit. parity check. Dispatch of data: Reference to locked area: Reference to protected area: 7/65 CONTROLLER: ••••• no separate controller. 53 Maximum Minimum Storage Storage Identity: 2361 Model 1 2361 Model 2 four Model2's 1,048,576 2,097,152 8,388,608. Bytes: 262,144 524,288 2,097,152. Words: 4. Modules: 1 1 .32 .4 program interrupt. program interrupt. transmit parity bit. no locked area. check. program interrupt. 420:043.100 IBM System/360 Internal Storage 2302 Disk Storage INTERNAL STORAGE: 2302 DISK STORAGE .1 GENERAL . 11 Identity: .12 Basic Use: .••••... auxiliary storage. .13 Description: . . • . . . 2302 Disk Storage Models 3 and 4. IBM 1302 Disk Storage was announced late in 1963 as a faster, higher-capacity version of 1301 Disk Storage; see Section 417 :043 for a comparison of the 1301 and 1302 as used in the IBM 7080 system. IBM has renamed the 1302 Disk Storage for use in System/360; it is now the 2302. The 2302's comb-like access mechanisms and "cylinder" mode of data organization makes it suitable for either random or sequential processing applications. Two models of 2302 Disk Storage are available for the System/360. Model 3 contains one storage module and Model 4 contains two storage modules. Each module has two independent access mechanisms and a capacity of 112.14 million bytes (or 224.28 million packed decimal digits and signs). Record length and number of records per track are variable and user-defined. Each track has a maximum data capacity of 4, 984 bytes. Eight random access mechanisms (four 2302 storage modules) can be connected to a 2841 Storage Control Unit, and up to eight control units can be connected to each System/360 input-output channel. Each 2841 Storage Control Unit used with 2302 Disk Storage requires a 2302 Attachment. An additional Storage feature for the 2841 permits it to control a total of sixteen 2302 access mechanisms (eight storage modules). Each module contains 25 discs; 45 of the 50 disc surfaces are normally used for data storage. Each module is served by a comb-like access mechanism than moves horizontally between the discs. The access mechanism contains a separate read-write, head for eaqh of the disc surfaces. The 45 tracks, one on each disc surface, that can be read or recorded upon when the access mechanism is in any given position, are referred to as a "cylinder." There are 500 tracks on each disc surface, defining 500 cylinders per module. Each of the 500 cylin- ' ders can store up to 224,280 data bytes, or 448,560 packed decimal digits. One additional disc surface is available for use as an alternate in case difficulty is encountered in reading or recording on any data track. Repositioning time for the 2302 access mechanisms ranges from 50 to 180 milliseconds and averages 165 milliseconds. Seek operations on all mechanisms are independent, and they can be overlapped with the single read or record operation permissible © in the input-output channel used with the 2302. Disc rotation time is 34 milliseconds. Peak data transfer rate between 2302 Disk Storage and core storage is 156,000 bytes per second. Each of the two access mechanisms in the 2302 operates in the same fashion as the single mechanism of the 2301; i. e., just 250 of the 500 tracks on each disc surface are assigned to each mechanism. The two mechanisms can operate independently and both can be in motion simultaneously, but since each is restricted to motion within its own zone of operation. one access mechanism cannot read a track written by the other access mecha'" nism. Each record may contain a key portion; a separate "count" byte in each record is used to specify the key length, which can be as long as 255 bytes. The number of bytes in the data portion of the record is specified by a two-byte count code. Thus each record can have a count area, a key (optional), and a data area. An additional area is included at the beginning of each track to specify the track address, and a one-byte code is used to indicate possible unusable -recording portions of the track. When multiple records are present on a track, the total amount of data that can be recorded is decreased markedly. For example, a track which stores records consisting of a 10-byte key and 150 data bytes can hold 20 records. or only 3,000 data bytes. In the form of a single record with a 10byte key, a single track can contain 4,954 bytes of data. . A series of file commands permits any or all of the three areas (count, key, and data) of a record in a random access file to be searched, read, or written. With the use of chained commands, it is possible to read or write up to 45 successive tracks (cylinder mode) during 45 successive disc rotations. Selection of a track is initiated by transferring a 6-byte seek address from the Processing Unit to the 2841. The optional File Scan Function feature permits an automatic search for a specific identifier or key. The Record Overflow feature permits a single record to overflow from one track to another track within a cylinder. The Two-Channel Switch feature enables a 2841 Storage Control to be switched from . one 'channel to another under program control. The 2841 storage Control is used to control the 2311 Disk Storage, 7320 Drum Storage, and 2321 Data Cell Drive as well as 2302 Disk Storage. The 2841 interprets and executes file commands, provides a data path and performs the necessary data format conversions between the Processing Unit and the direct access devices, performs checks to ensure accurate data transfers, and furnishes operation status information to the Processing Unit. The 2841 strips the parity bit off each byte to be 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360 420:043.130 . 13 Description (Contd.) .25 recorded in random access storage. The validity of the recorded information is checked by generating a string of 16 "cyclic check bits" and appending it to the end of each disc record. When the.data is read, the check bits are regenerated and compared; an unequal comparison results in a data error signal. Parity bits are restored as the data is transferred back into core storage. .14 Availability: . . . . . . . ? .15 First Delivery: .••. , 2nd quarter, 1965 (1302 with IDM 7080 Data Processing System). · 16 Reserved Storage Purpose Number of Locations Spare (data): 1 disc surface per module Format and clocking: Data Volume per Band of 1 Track Characters: . . . . . . • . see "Bytes". Digits: . . • . • . . . . . • 4,984 in zoned byte format. 9,968 in packed format. Words: . • • . • . . . . . . 1,246. Bytes 1 record per track: 4,984. Multiple records per track: .•.••. , .•• N =(4964 - L + 1) L 81 + 1.049L where N = number of bytes per track, and L = length of data plus key in each record, in bytes. · 26 Bands per Physical Unit: .. , • , , . . . . . 500 per disc surface. .27 Interleaving Levels: . ,1; i, e., no interleaving. · 28 Access Techniques Locks not normally addressable. · 281 Recording method: . , , magnetic heads which move horizontally in unison on a comb-like access arm mechanism (2 access mechanisms per module) , ,283 Type of access - 4 disc surfaces per not addressmodule able. .2 PHYSICAL FORM .21 Storage Medium:....• multiple magnetic discs. Description of Storage Possible Starting Stage .22 Physical Dimensions Move heads to selected track (cylinder):. , . , if new cylinder is selected. Wait for beginning of selected track:; .. '.. if same cylinder was previously selected. Transfer data: .. ,.•.. no . .222 DiscDiameter: .•.••.• " ? Number on shaft: .•. 25 discs per module. • 23 Storage Phenomenon: . magnetization. ,29 .24 Recording Permanence .291 Peak bit rates Cycling rates: •.• , .1, 790,rpm (34 msec/rev). Bit rate per track: . ,1,248,.000 bits/sec/track. .292 Peak data rates Unit of data: '" • , , byte. Conversion factor: . , 8 bits per byte. Data rate: ... , . . . . 156,000 bytes per second . 312,000 packed decimal digits per second • · 241 Data erasable by instructions: .....• · 242 Data regenerated constantly: ...••.. . 243 Data volatile: . . . . . . . .244 Data permanent: . . . . . • 245 Storage changeable: .: yes. no, no. no . no. .3 DATA CAPACITY .31 Module and System Sizes Potential Transfer Rates Minimum Storage Identity: Physical Units: Modules: Access mechanisms: Discs: Tracks:* Cylinders: Words:* Bytes: Packed digits: 2302-3 1 1 Maximum Storage per Control 2302-4 1 2302-4 2 2 2 4 4 8 23 data 22,500 500 28,035,000 112,140,000 224,280,000 46 data 45,000 1,000 56,070,000 224,280,000 448,560,000 92 data 90,000 2,000 112,140,000 448,560,000 897,120,000 2302-4 4. 8. 16. 184 data. 180,000. 4,000. 224,280,000. 897,120,000. 1,794,240,000. /' * All data capacities are based on 45 tracks per cylinder. (Contd. ) 7/65 INTERNAL STORAGE: 2302 DISK STORAGE 420:043.320 .32 Rules for Combining Modules: . . . . . . . • any number up to 4 modules (standard) per 2841 Control Unit. any number up to 8 modules (using Additional Storage special feature) per 2841 Control Unit. •4 CONTROLLER .41 Identity: ..•.••••.• IBM 2841 Storage Control Unit with 2302 Attachment . .445 Synchronization: .•.• automatic. .447 Table control: ..••.. yes;· scatter-read and gather-write facilities are available at programmer's option. See Section 420:111, Simultaneous Operations. .448 Testable conditions: .. available. busy . not operational. performing operation with interruption pending. . 42 Connection to System .5 ACCESS TIMING .51 Arrangement of Heads .421 On-line: .••.•••••. see Section 420:031, System Configuration • . 422 Off-line: .••••••••. none. • 43 Connection to Device .431 Devices per controller: •.•••.• 1 to 8 access mechanisms, using 2302 Attachment. 1 to 16 access mechanisms, using 2302 Attachment and Additional Storage special feature. .432 Restrictions: .•••.•• maximum of 8 storage access mechanisms per 2841 except when using Additional Storage special feature described above, which permits an additional 8 2302 access mechanisms. See follOWing table listing the number of access mechanisms per module. Device No. of Access Mechanisms 2302 Disk Storage, Model 3 2302 Disk Storage, Model 4 2311 Disk Storage Drive 2321 Data Cell Drive, Modell 7320 Drum Storage .44 2 4 1 • 511 Number of stacks Stacks per system: .. 90 to 360 (4 modules) . 90 to 720 (8 modules, using Additional Storage special feature). Stacks per module: .. 90 (2 access mechanisms). Stacks per yoke: •.• 45 (1 access mechanism). Yokes per module: •• 2 (each has access to half the tracks on a disc) . .512 Stack movement: ..•• horizontally across· disc surface to one of 250 tracks. .513 Stacks that can access any particular location:. . . . . . . . . 1. . 514 Accessible locations By single stack With no movement: 1 track. With all movement: 250 tracks. By all stacks With no movement: 90 tracks per module (2 cylinders) . 90 to 720 tracks per system (using 8 modules and Additional Storage special feature). .52 Simultaneous Operations: •.••.•• a read, write, or seek operation using one access mechanism can be overlapped with seek operations taking place in any or all other access mechanisms. Only one read or write operation can take place at a time on each Selector Channel. .53 Access Time Parameters and Variations 1 1 Data Transfer Control .441 Size of load 1 record per track: .• 1 to 4,984 bytes. Multiple records per track: ..••... N = (4964 - L + 1) L 81 + 1. 049L where N = number of bytes per track, and L = length of data plus key in each record, in bytes. Cylinder mode: .•.. 1 to 45 tracks (up to 224,280 bytes). .442 Input-output area: •••. main core storage. .443 Input-output area access: .••..••.. each byte. .444 Input-output area lockout: •••.•.•.. blocks of 2, 048 bytes can be protected (optional on Model 30 and 40 Processing Units, standard on larger models). © .532 Variation in access time Stage Move head to selected track (cylinder) : Wait for beginning of selected track: Transfer data: Total: 1965 AUERBACH Corporation and AUERBACH Info, Inc. Variation, msec Average, msec o or 50 to 180 165. o to 34 34 per track 17. 34. 216 msec. 7/65 420:043.600 .6 CHANGEABLE STORAGE: .••••.. none. .7 PERFORMANCE . 72 Transfer Load Size IBM SYSTEM/360 .75 With no overlapping of seek times: ••••• 5.4 references/sec . With maximum overlapping of seek times: 53.5 references/sec . Note: Based on random accessing and reading of one 150-character record, with no updating or rewriting. With core storage Single track: ..•••• 1 to 4,984 bytes. Cylinder: .•.••... up to 224,280 bytes (45 tracks) per cylinder. .8 .73 Effective Transfer Rate With core storage Cylinder mode, I-way transfer: •.• 132,000 bytes per second (including random access and rotational delay times). • 74 Read-Only Reference Cycle Rates ERRORS, CHECKS, AND ACTION Error Check or Interlock Invalid address: program check on program recorded address control. all 8-bit codes are valid. compute cyclic record check code check code. none, except programmed read. compute cyclic error check code and signal. compare with recorded check code. check attaches parity bit to each byte. interlock wait. program check on program track address control. Invalid code: Receipt of data: Update Cycle Rates With no overlapping of seek times: ...•• 4.0 references/sec. With maximum overlapping of seek times: 11. 5 references/sec. Note: Based on random accessing of one 150character record; reading, updating, and rewriting that record; and rereading for verification of recording accuracy. Recording of data: Recovery of data: Dispatch of data: Timing conflicts: Wrong track: Action / 7/65 420:044.100 IBM System/360 Internal Storage 2311 Disk Storage Drive INTERNAL STORAGE: 2311 DISK STORAGE DRIVE .1 GENERAL .11 2311 Disk Storage Drive. 1316 Disk Pack. . 12 Basic Use: . . . . . . . .13 Description random-access auxiliary storage. The new mM 2311 Disk Storage Drive is an upgraded version of the mM 1311 Disk Storage Drive used in the mM 1401, 1410, 1440, and 1620 Data Processing Systems. The 2311 is significantly better than the 1311 with respect to data capacity, access time, and data transfer rate. Like the 1311, the 2311 features rapid interchangeability of the removable "Disk Pack" storage cartridges. The 2311's multiple-head access mechari.ism and "cylinder" mode of data organization make it suitable for either random or sequential processing methods. The 10-pound Disk Pack on each 2311 drive unit can be removed and replaced with another in less than one minute. The table below shows the similarities and the differences between the 2311 and the older 1311. 1311 Disk 2311 Disk Storage Drive Storage (used with 1401) Drive Storage capacity of 1 Disk Pack: Discs per pack: Recording surfaces per pack: Tracks per disc surface: Data rate: Rotation time: Average positioning time: Maximum storage capacity: 2.0 million characters (20 sectors per track) 2. 98 million characters (1 record per track) 7.25 million 8-bit bytes (1 record per track). 6 6. 10 10. 100 77,000 char / sec. 40 msec 200. 156,000 bytes/sec. 25 mseC. 150 or 250 msec 85 msec. 20 to 30 million characters per system 58 million bytes per control unit. Eight random access mechanisms (eight 2311 storage modules) can be connected to a 2841 Storage Control Unit, and up to eight control units can be connected to each System/360 input-output channel. © Each 2311 module holds one Disk Pack containing 6 discs, and 10 of the 12 disc surfaces are used for data storage. Each module is served by a single comb-like access mechanism that moves horizontally between the discs. The access mechanism contains a separate read-write head for each of the disc surfaces. The 10 tracks, one on each disc surface, that can be read or recorded upon when the access mechanism is in any given position, are referred to as a "cylinder." . There are 200 tracks on each disc surface, defining 200 cylinders per module. Each of the 200 cylinders can store up to 36,250 data bytes, or 72, 500 packed decimal digits. Three additional tracks per surface are available for use as alternates in case difficulty is encountered in reading or recording on any data track in a cylinder. Repositioning time for the 2311 access mechanism ranges from 30 to 145 milliseconds and averages 85 milliseconds. Seek operations on all mechanisms are independent, and they can be overlapped with the single read or record operation permissible in the input-output channel used with the 2311. Disc rotation time is 25 milliseconds. Peak data transfer rate between 2311 Disk Storage and core storage is 156;000 bytes per second. Record length and number of records per track are variable and user-defined; each track has a maximum data capacity of 3,625 bytes. Each record may contain a key portion; a separate "count" byte in each record is used to specify the key length, which can be as long as 255 bytes. The number of bytes in the data portion of the record is specified by a two-byte count code. Thus each record can have a count area, a key (optional), and a data area. An additional area is included at the beginning of each track to specify the track address, and a onebyte code is used to indicate possible unusable recording portions of the track. When multiple records are present on a track, the total amount of data that can be recorded is decreased markedly. For example, a track which stores records consisting of a lO-byte key and 150 data bytes can hold 14 records, or only 2,100 data bytes. In the form of a single record with a 10-byte key, a single track can hold 3,595 bytes of data. A series of file commands permits any or all of the three areas (count, key, and data) of a record in a random access file to be searched, read, or written. With the use of chained commands, it is possible to read or write up to 10 successive tracks (cylinder mode) during 10 successive disc rotations. Selection of a track is initiated by transferring a 6-byte seek address from the Processing Unit to the 2841. The optional File Scan Function feature permits an automatic search for a specific identifier or key. The Record Overflow feature permits 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 420:044.130 .13 IBM SYSTEM/360 Description (Contd.) a single record to overflow from one track to another track within a cylinder. The Two-Channel Switch feature enables a 2841 Storage Control to be switched from one channel to another under program control. .243 Data volatile: .•••••• no . • 244 Data permanent: .•••• no. .245 Storage changeable: •• yes. .25 Characters: ..••.•• see "Bytes". Digits: .••••••.•.. 3,625 in zoned byte format. 7,250 in packed format. Words: ••.••..•.•. 906. Bytes (3615 _ L ) 1 record per track: •. N = 81 + 1. 049L + 1 L where N = number of bytes per track, and L = length of data plus key in each record, in bytes. The 2841 storage Control is used to control the 2302 Disk Storage, 7320 Drum Storage, and 2321 Data Cell Drive as well as 2311 Disk Storage Drives. The 2841 interprets and executes file commands, performs the required conversions between serial-by-bit and parallel-by-bit data modes, checks the validity of the data being transferred, and furnishes status information about the random access file units to the Processing Unit. The 2841 strips the parity bit off each byte to be recorded in random access storage. The validity of the recorded information is checked by generating a string of 16 "cyclic check bits" and appending it to the end of each disc record. When the data is read, the check bits are regenerated and compared; an unequal comparison results in a data error signal. Parity bits are restored as the data is transferred back into core storage. While the 1316 Disk Packs are physically interchangeable among drive units of 2311 and 1311 Disk Storage, data recorded by a 1311 cannot be read by a 2311 (even when the 2311 is used in the mM 1401 Compatibility Mode) because of differences in recording density. . 26 Bands per Physical Unit: ....•••.•.. 200 per disc surface. .27 Interleaving Levels: .. 1; i. e., no interleaving. .28 Access Techniques .281 Recording method: ... magnetic heads which move horizontally in unison on a comblike access arm mechanism. . 283 Type of access Description of Stage .29 Availability: ? · 15 First Delivery: . . . . ? • 16 Reserved Storage: ••. none. (Note that 3 tracks per disc surface are held in reserve in case of recording problems.) Possible Starting Stage Move heads to selected track (cylinder): . . . . . • . . if new cylinder is selected; Wait for beginning of selected track: ... if same cylinder was previously selected. Transfer data: . . . . . . no. The removable 1316 Disk Packs are 14 inches in diameter and 4 inches high. When a Disk Pack is not mounted on a drive, the pack and its cover combine to form a sealed container that can be conveniently stored and transported. · 14 Data Volume per Band of 1 Track Potential Transfer Rat~s .291 Peak bit rates Cycling rates: .•... Bits/inch/track: . . . . Bit rate per track: .. .292 Peak data rates Unit of data: . . . . . . Conversion factor: .. Data rate: .•..•..• 2,400 rpm (25 msec/rev). 1,100 approximately. 1,250,000 bits/sec/track . byte. 8 bits per byte. 156,000 bytes per second . •2 PHYSICAL FORM .3 DATA CAPACITY .21 Storage Medium: .•.• multiple magnetic discs. .31 Module and System Sizes .22 Physical Dimensions .222 DiscDiameter: .•.•••.. 14 inches o. d. Thickness: .•••••• thin discs, at half-inch spacing. Number on shaft: •.. 6. Identity: Modules: Access mechanisms: Discs: • 23 Storage Phenomenon: • magnetization. • 24 Recording Permanence Tracks: Cylinders: Words: Bytes: Packed digits: Cartridges on line (Disk Packs): • 241 Data erasable by instructions: ...••• yes. • 242 Data regenerated constantly: .••.... no. Minimum Storage Maximum Storage l2er Control 12311 1 82311's. 8. 1 6 (10 active surfaces) 2,000 200 1,812,500 7,250,000 14,500,000 8. 48 (80 active surfaces) . 16,000. 1,600 . 14,500,000. 58,000,000. 116,000,000. 1 8. (Contd. ) 7/65 INTERNAL 'STORAGE: 2311 DISK STORAGE DRIVE . 32 Rules for Combining Modules:. • • . . . .. .4 CONTROLLER . 41 Identity:......... .42 Connection to System any number up to eight 2311 Disk Storage Drives per 2841 Storage Control Unit. IBM 2841 Storage Control Unit .421 On-line: . . • . . . . . . . see Section 420:031, System Configuration. .422 Off-line: .••••..... none. . 43 Connection to Device .431 Devices per controller: . . . . . . . . . . . . 1 to 8. .432 Restrictions :........ maximum of.s storage access mechanisms per 2841; see following table. Device ·5 ACCESS TIMING · 51 Arrangement of Heads · 511 Number of stacks Stacks per system: .. Stacks per module: .. Stacks per yoke: . . . . Yokes per module: .. .512 Stack movement: .... · 513 Stacks that can access any particular location: . . . . . . . . . .514 Accessible locations By single stack With no movement: With all movement: By all stacks With no movement: 1. 1 track . 200 tracks. 10 tracks per module. 80 tracks per system of 8 modules. Simultaneous Operations: . . • . . . . . . . a read, write, or seek oper--ation using one access mechanism can be overlapped with seek operations taking place in any or all other access mechanisms. Only one read or write operation can take place at a time on each. Selector Channel. .53 Access Time Parameters and Variations 2 4 1 1 1 10 to 80 . 10. 10 . 1. horizontally across disc surface to one of 200 tracks. · 52 No. of Access Mechanisms 2302 Disk Storage, Model 3 2302 Disk Storage, Model 4 2311 Disk Storage Drive 2321 Data Cell Drive, Modell 7320 Drum Storage .44 420:044.320 .532 Variation in access time - Data Transfer Control .441 Size of load 1 record per track: . 1 to 3, 625 bytes. Multiple records (3615 _ L ). per track: . . . • . . . N = 81 + 1.049L + 1 L where N = number of bytes per track, and L = length of data plus key in each record, in bytes. Cylinder mode: ..•• 1 to 10 tracks (up to 36,250 . bytes) . .442 Input-output area: ..•• main core storage. .443 Input-output area access: . . . . . . . . . each byte. . 444 Input-output area lockout: ......•... blocks of 2,048 bytes can . be protected (optional on Model 30 and 40 Proccessing Units, standard on larger models). .445 Synchronization: ...•. automatic. .447 Table control: ....•. yes; scatter-read and gather-write facilities are available at programmer's option. See Section 420:111, Simultaneous Operations . . 448 Testable conditions: .. available. busy. not operational. performing operation with interruption pending. © Stage Variation, msec Move head to selected track (cylinder): 30 to 145 Wait for beginning of selected track: o to 25 Transfer data: 25 per track. Total: .6 CHANGEABLE STORAGE .61 Cartridges (Disk Pack) Average, ~ 85.0 12.5 25.0 122.5 msec. .611 Cartridge capacity: .. 7,250,000 bytes (maximum) • · 612 Cartridges per module: . • . • . . . . . 1 . · 613 Interchangeable: .•... yes, between a 2311 Disk Storage Drive and any other 2311. Disk Packs written by a 2311 cannot be read by any mM 1311 Disk Storage Drives, and the converse is also true. .62 Loading Convenience .621 Possible loadiIig While computing system is in use: •... yes. While storage system is in use: . • . . . . . yes, if the particular module is not addressed. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360 420:044.622 .622 Method of load:ing: ... operator. · 623 Approximate change time: . . . . • . . . • . . 1 m:inute. · 624 Bulk loading: .•.•... no; 1 cartridge of 6 discs at a time. .7 PERFORMANCE · 72 Transfer Load Size With core storage Single track: .••••. 1 to 3,625 bytes. Cyl:inder: .••.•••. up to 36,250 bytes (10 tracks) per cyl:inder. .73 Note: .8 Based on .random accessing and reading of one 150-character record, with no updating or rewriting. ERRORS, CHECKS, AND ACTION Invalid address: Invalid code: Receipt of data: Recording of data: Update Cycle Rates Recovery of data: With no overlapping of seek times: •...•.. 6.7 references/sec. With maximum overlapping of seek times: 15.5 references/sec. Dispatch of data: Note: 7/65 With no overlapping of seek times: •••••.. 10.1 references/sec. With maximum overlapping of seek times: 70. 0 references/sec. Effective Transfer Rate With core storage Cyl:inder mode, 1-way transfer: ... 104,000 bytes per second, based on random accessing and transferring of one cylinder (36, 250 bytes) of data. .74 .75 . Read-Only Reference Cycle Rates Based on random access:ing of one 150character record; reading, updat:ing, and rewrit:ing that record; and rereading for verification of recording accuracy. Timing conflicts: Wrong track: Check or Action Interlock program check' program control. . on recorded address all 8-bit codes are valid. compute cyclic record check check code code. none, except programmed read. compute cyclic check code and compare with recorded check code check interlock program check on track address error signal. attaches parity bit. wait. program control. 420:045.100 IBM System/360 Internal Storage 2321 Data Cell Drive INTERNAL STORAGE: 2321 DATA CELL DRIVE .1 GENERAL .11 Identity: .. 2321 Data Cell Drive, Modell. .12 Basic Use: .. random-access auxiliary storage. .13 Description IDM's new 2321 Data Cell Drive provides economical on-line random access storage for. extremely large volumes of data in applications where relatively slow access times can be tolerated. Each 2321 drive stores up to a maximum of 400 million bytes (or 800 million packed decimal digits and signs) in 10 removable, mterchangeable Data Cells with a capacity of 40 million bytes each. Data is recorded on magnetic strips which are held in Data Cells mounted vertically around the circumference of a cylinder or "tub file" which can be rotated. Each of the 10 Data Cells is divided into 20 subcells, and each subcell contains 10 magnetic strips. A bidirectional rotary positioning system positions the selected subcell beneath an access station. The selected strip is withdrawn from the Data Cell, placed on a separate rotating drum, and moved past the read/write head assembly, where reading or recording takes place. The strip is returned to its original location in the Data Cell if: (1) a Restore instruction is issued; (2) a Seek instruction references a new strip; or (3) 800 milliseconds elapse between successive· Data Cell instructions. (This is a safeguard to protect the flexible magnetic strips from unnecessary wear.) Each magnetic strip is 13 inches long, 2.25 inches Wide, and 0.005 inch thick; has an iron-oxide coating on one side and a carbon anti-static coating on the other; has a pair of coding tabs to ide~tify its position in the cell; and provides 100 addressable recording tracks. Each track has a maximum data capacity (based on one record per track) of 2, 000 bytes. Record length and number of records per track are variable and user-defined. The physical components of each Data Cell Drive are arranged in an L-shaped cabinet whose sides measure about four feet by six feet in length. The components include an electronics section and pneumatic, hydraulic, and mechanical equipment. The read/write head assembly contains 20 heads and can be moved to any of 5 discrete positions in order to serve the 100 data tracks on each strip. Recording is serial by bit, strip velocity is 250 inches per second, and data transfer rate is about 55,000 © bytes per second. With the use of chained commands, it is possible to read or Write up to 20 successive tracks (cylinder mode) during 20 successive read/ write drum rotations without repositioning the heads. When a previously addressed strip is on the drum, access time to data on a different strip varies from 375 to 600 milliseconds. When no strip is on the drum, access time varies from 175 to 400 milliseconds. When the proper strip is already on the drum, access time averages 95 milliseconds if repositioning of the read/write head assembly is required. Drum rotation time is 50 milliseconds, and an entire data track passes under the heads in 41.8 milliseconds. Only 100 microseconds are required for head switching. Each Data Cell can be removed and interchanged with any other Data Cell in any 2321 Data Cell Drive. .A combination handle-cover facilitates removal and protects the magnetic strips during handling. A covered Data Cell containing 200 strips weighs only about 5 pounds. One Data Cell can be removed and replaced by another in less than 30 seconds. When less than a full complement of 10 Data Cells is required, ballast cells are used to balance the rotating array. The 2841 Storage Control is required to control the 2321 Data Cell Drive. Up to eight 2321 Data Cell Drives can be connected to a 2841 Storage Control, and up to eight control units can be connected to each System/360 input-output channel. Each 2841 Storage Control used with Data Cell Drives requires a 2321 Attachment unit. The 2841 Storage Control is used to control the 2311 Disk Storage, 2302 Disk Storage, and 7320 Drum Storage as well as the 2321 Data Cell Drive. The 2841 interprets and executes file commands, performs the required conversions between serial-bybit and parallel-by-bit data modes, checks the validity of the data being transferred, and furnishes status information about the random access file units to the Processing Unit. The 2841 strips the parity bit off each byte to be recorded !n random access storage. The validity of the recorded information is checked by generating a string of 16 "cyclic check bits" and appending it to the end of each record. When the data is read, the check bits are regenerated and compared; an . unequal comparison results in a data error signal. Parity bits are restored as the data is transferred back into core storage. Record format may be single or multiple records per track, and each record may contain a key portion. A separate "count" byte in each record is used to specify the key length, which can be as long as 255 bytes. The number of bytes in the data portion of the record is specified by a two-byte 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360 420:045; 130 · 13 Description (Contd. ) Bytes 1 record per track:. . 2, 000 bytes. Multiple records per track: •••••.. _(1984-L N - 100 + 1. 049L 1 L where N = number of bytes per track, and L = length of data plus key in each record, in bytes. count code. Thus each record can have a count area, a key (optional), and a data area. An additional area is included at the beginnin'g of each track to specify the track address, and a one-byte code is used to indicate possible unusable recording portions of the track. When multiple records are present on a track, the amount of data which can be recorded is decreased markedly. For example, a track which stores recQrds consisting of a 10-byte key and 100 data bytes holds 9 records, or only 900 data bytes. In the form of a single record with a 10-byte key, a single track can contain 1,974 bytes of data. A series of file commands permits any or all of the three areas (count, key, and data) of a record in a random access file to be searched, read, or written. Movement of an access mechanism is initiated by transferring a 6-byte seek address from the Processing Unit to the 2841. The optional File Scan Function feature permits an automatic search for a specific identifier or key. The Record Overflow feature permits a single record to overflow from one track to another track within a cylinder. The Two-Channel Switch feature enables a 2841 Storage Control to be switched from one channel to another under program control. .14 Availability: .. ? · 15 First Delivery: ? . 16 Reserved Storage: ... none . .2 PHYSICAL FORM . 21 Storage Medium: . .22 Physical Dimensions +) Records: . . . . . . . . . variable. · 26 Bands per Physical Unit: . . . . . . . . . . . 100 per strip. .27 Interleaving Levels: .. 1; i. e., no interleaving. .28 Access Techniques .281 Recording method: •.. magnetic strip passes by fixed heads. · 283 Type of access Description of Stage Position subcell be':' neath access station and withdraw strip: .. yes, when a different strip is required. Position head block to selected track: . . . . . yes, if done within 800 milliseconds after completion of previous Data Cell instruction. Wait for start of yes, if done within 800 strip (data): ... milliseconds after completion of previous, Data Cell instruction, and if track is available to head block without repositioning. Transfer data: . . . . . . no. Restore strip to subcell location: . . . . . . yes (automatic operation, if necessary, when Seek instruction is given) . . magnetic strips. .223 Magnetic stripLength: . . . . . . · .. 13 inches. Width: . . . . . . . · .. 2.25 inches. Thickness: • O. 005 inches. Number: . . . . . . · .. 200 per Data Cell. . 23 Storage Phenomenon: . direction of magnetization. . 24 Recording Permanence · 241 Data erasable by instructions: . . . . . . . · 242 Datil regenerated constantly: . . . . . . . .243 Data volatile: . . . . . . . · 244 Data permanent: . . . . . . 245 Storage changeable: .. • 25 yes. no. no. no. yes, in units of 200 strips (1 Data Cell). Data Volume per Band of 1 Track Words: ....••...•• 500. Characters: .••.•... see "Bytes." ,Digits: .•.••.••... 2,000 in zoned byte format; 4,000 in packed format. Possible Starting Stage .29 Potential Transfer Rates .291 Peak bit rates ---' CYCling rates: . . . . . Track/head speed: .. Bits/inch/track: . . . . Bit rate'per track: .. · 292 1,200 rpm (50 msec/rev). 250 inches/sec . 1,750. 438,000 bits/sec/track. Pe~ data rates Unit of data: . . . . . . byte. Conversion factor: .. 8 bits per byte. Data rate: ....•.•. 54,700 bytes per second, or 109, 400 packed decimiLl digits per second. (Contd. ) 7/65 ./ 420:045.300 . INTERNAL STORAGE: 2321 DATA CELL DRIVE .3 DATA CAPACITY .31 Module and System Sizes Minimum Storage .32 Maximum Storage per Control Identity: 1 Data Cell 1 Data Cell Drive 8 Data Cell Drives. Data Cells: Strips: Bands: Cylinders: Bytes: VVords: Packed digits: Modules: 1 200 20,000 1,000 40,000,000 10,000,000 80,000, 000 10 2,000 200,000 10,000 400,000,000 100,000,000 800,000,000 80. 16,000. 1,600,000. 80,000. 3,200,000,000. 800, 000, 000. 6,400,000,000. 1 1 8. Rules for Combining Modules: . . . . . . . . . any number up to 8 Data Cell Drives per 2841 Control Unit. ·4 CONTROLLER .41 Identity: . . . . . · 42 Connection to System . IBM 2841 Storage Control Unit with 2321 Attachment. .421 On-line: .••••••.•• see Section 420:031, Sys- tem Configuration. . 422 Off-line: . . . . . . . . . . none. .43 Connection to Device . 431 Devices per control- ler: . . . . . . . . . . . . 1 to 8, using 2321 Attachment. .432 Restrictions: . . . . . . . maximum of 8 storage access mechanisms per 2841; see following table. No. of Access Mechanisms Device 2302 Disk Storage, Model 3 2302 Disk Storage, Model 4 2311 Disk Storage Drive 2321 Data Cell Drive, Modell 7320' Drum Storage · 44 2 4 1 1 1 Data Transfer Control · 441 Size of load 1 record per track: .. 1 to 2,000 bytes. Multiple records per (1984 _ L track: •••••••.•• N = 100 + 1. 049L \ ) +1 L where N = number of bytes per track, and L = length of data plus key in each record, in bytes. Cylinder mode: . . . . 1 to 20 tracks (up to 40,000 bytes). .442 Input-output area: . . . . main core storage; . 443 Input-output area access: . . . . . . . . . . each byte. © · 444 Input-output area lockout: . . . . . . . . . blocks of 2, 048 bytes can be protected (optional on Model 30 and 40 Processing Units, standard on larger models) . . 445 Synchronization: . . . . . automatic . .447 Table control: . . . . . . yes; scatter-read and gat.lJ.er-write facilities are available at programmer's option. See Section 420:111, Simultaneous Operations. .448 Testable conditions: .. available . busy. not operational. performing operation with interruption pending . ·5 ACCESS TIMING · 51 Arrangement of Heads · 511 Number of stacks - Stacks per module: .. 1 per 2321 Data Cell Drive. Heads per stack: ... 20. · 512 Stack movement: . . . . across strip width to any one of 5 positions. · 513 Stacks that can access any particular location: . . . . . . . . . 1. .514 Accessible locations By single stack VVith no movement: . 20 tracks of the strip on read/write drum (1 cylinder). VVith all movement: . 100 tracks of the strip on read/write drum. · 52 Simultaneous Operations: . . . . . . . . . . . a read, write, or seek -operation on anyone Data Cell Drive can be overlapped with seek operation on other drives. Only one read or write operation can take place at a time on , each Selector Channel. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360 420:045.530 .53 • 612 Cartridges per module: •••.•.•.. 10 • · 613 Interchangeable: . . . . . yes. Access Time Parameters and Variations . 532 Variation in access timeVariation, Stage Average, msec Strip on drum and only head switching required Switch head and wait for start of strip: . . . . . . . . O. 1 to 8.2 (given between end and beginning of strip), or 4.1, or 0.1 to 50 (given at 25.0 random time) Transfer data: ... 41. 8 per track 41.8 45.9 or 66.8. • Strip on drum and head repositioning required Move head: . . . . . 95 95.0 Transfer data: ... 41. 8 per track 41.8 136.8. • No strip on drum Position subcell and withdraw strip: . . . . . . . . 175 to 400 350.0 Transfer data: ... 41. 8 per track 41.8 391. 8 • Strip on drum and new strip addressed Deposit strip, position new subcell, and withdraw strip: 375 to 600 550.0 Transfer data: 41. 8 per track 41.8 591.8. • .6 CHANGEABLE STORAGE .61 Cartridges (Data Cells) .62 Loading Convenience .621 Possible loadingWhile computing system is in use: ••.. yes. While storage system is in use: •••• yes (if individual Data Cell Drive unit is free). .622 Method of loading: ... operator procedure. · 623 Approximate change time: •••......•. 30 seconds. .624 Bulk loading: . . . . . . . no; 1 Data Cell at a time. .7 PERFORMANCE .72 Transfer Load Size With core storage Single track: • . . . . . 1 to 2, 000 bytes. Cylinder: . . . . . . . . up to 40,000 bytes (20 tracks per cylinder). .73 Effective Transfer Rate With core storage Cylinder mode, 1 way transfer: . . . • . . . . 25,800 bytes per second; based on making initial random selection of strip and transferring one cylinder (40,000 bytes) of data. • 74 Update Cycle Rate Reference to strip already on drum: ••••..•. 5.1 references/sec. Reference to new strip: ...•..••.•. 1. 5 references/sec • Note: . 611 Cartridge capacity: ... 40, 000,000 bytes (maximum). .8 ERRORS, CHECKS AND ACTION Error Invalid address: Invalid code: Receipt of data: Recording of data: Recovery of data: Dispatch of data: Timing conflicts: Wrong strip: Wrong track: 7/65 Based on random accessing of one 150character record; reading, updating, and rewriting that record; and rereading for verification of recording accuracy . Check or Interlock program check on recorded address all 8-bit codes are valid. compute cyclic check code none, except programmed read. compute cyclic check code and compare with recorded check code attach parity bit to each byte. interlock program check on track address program check on track address Action program control. record check code. error signal. wait. program control. program control. / 420:046.100 IBM System/360 Internal Storage 7320 Drum Storag& INTERNAL STORAGE: 7320 DRUM STORAGE .1 GENERAL .11 Identity: ..•...•.•• 7320 Drum Storage, Model 2. .12 Basic Use: ..••.•.. fast random-access auxiliary storage. .13 DesGription Processing Unit to the 2841. The optional File Scan Function feature pE;lrmits an automatic search for a specific identifier ,or key. The Record Overflow feature permits a single record to overflow from one track to another track within a cylinder. The Two-Channel Switch feature enables a 2841 Storage Control to be switched from one channel to another under program control. The 2841 Storage Control is used to control the 2311 Disk storage, 1302 Disk Storage, and 2321 Data Cell Drive as well as the 7320 Drum Storage. The 2841 interprets and executes file commands, performs the required conversions between serialby-bit and parallel-by-bit data modes, checks the validity of the data being transferred, and furnishes status information about the random access file units to the Processing Unit. mM 7320 Drum Storage was developed for the SABRE airline reservation system and has previously been offered for use in mM 7090/7094 systems. The drum offers relatively fast access (8.6 milliseconds average) to a moderate amount of storage (830, 000 bytes per drum). Up to eight drums can be connected to an mM 2841 Storage Control Unit, and up to eight control units can be connected to each System/360 input-output channel. Each 2841 Storage Control Unit used with 7320 Drum Storage requires a 7320 Attachment unit. The 2841 strips the parity bit off each byte to be recorded in random access storage. The validity of the recorded information is checked by generating a string of 16 "cyclic check bits" and appending it to the end of each disc record. When the data is read, the check bits are regenerated and compared; an unequal comparison results in a data error signal. Parity bits are restored as the data is transferred back into core storage. Typical applications for the 7320 are storage of program segments or subroutines, fast-access directories for larger-capacity storage units, and extension of core memory for large problems. Each drum can store 830,000 bytes or 1. 66 million packed decimal digits. There are 400 standard and 40 alternate data tracks. "Each track is served by its own fixed head and is capable of storing a maximum of 2,075 bytes (based on one record per track). Recording is serial by bit. Drum rotation speed is approximately 3,490 revolutions per minute, so the rotation time is 17.2 milliseconds. The peak data transfer rate is 135,000 bytes per second. .14 Availability: . . . • . . . ? .15 First Delivery: ....• currently is use with mM 7090/7094. .16 Reserved Storage Purpose Record length and number of records per track are variable and user-defined, and each record may contain a key portion. A separate "count" byte in each record is used to specify the key length, which can be as long as 255 bytes. The number of bytes in the data portion of the record is specified by a two-byte count code. Thus each record can have a count area, a key (optional), and a data area. An additional area is included at the beginning of each track to 'specify the track address, and a one-byte code is used to indicate possible unusable recording portions of the track. When multiple records are present on a track, the amount of data Which can be recorded is decreased markedly. For example, a track which stores records consisting of a 10-byte key and 150 data bytes holds 7 records, or only 1,050 data bytes. Each record contains a total of 278 bytes in this case. In a form of a single record with a 10byte key, a single track can contain 2,047 bytes of data. A series of file commands permits any or all of the three areas (count, key, and data) of a record in a random access·file to be searched, read, or written. Selection of a track is initiated by transferring a 6-byte seek address from the © Number of Locations Alternate data tracks: 40 tracks. Clock tracks: .••... 3 tracks. .2 PHYSICAL FORM .21 storage Medium: .... magnetic drum. · 22 Physical Dimensions .222 DrumDiameter: . . . . • . . . approximately 12 inches. Length: . . . . . . . . . approximately 12 inches. Number on shaft: ... 1. • 23 Storage Phenomenon: . magnetization. · 24 Recording Permanence · 241 Data erasable by instructions: ...•.. · 242 Data regenerated constantly: . . . . . . . .243 Data volatile: .•.•.. · 244 Data permanent: ..•.. .245 Storage changeable: .. 1965 AUERBACH Corporation and AUERBACH Info, Inc. yes. no. no. no. no. 7/65 IBM SYSTEM/360 420:046.250 .25 Data Volume per Band of 1 Track .42 Records: •••.•••.• Words: •••••.•...• Characters: •••••••• Digits: •••.••••.•. .421 On-line: . . . . • . • . . . see Section 420:031, System Configuration. .422 Off-line: .•.••.•... none. variable. 518. see "Bytes". 2,075 in zones byte format; 4,150 in packed format. Bytes 1 record per track:. • 2, 075 bytes. Multiple records per track: ••..•.• N = (2057-L + 1) L 118 + 1.049L whereN = number of bytes per track, and L = length of data plus key in each record, in bytes. .26 • 43 Interleaving Levels: •• 1; i. e., no interleaving . .28 Access Techniques No. of access mechanisms 2302 Disk Storage, Model 3 2302 Disk Storage, Model 4 2311 Disk Storage Drive 2321 Data Cell Drive, Modell 7320 Drum Storage, Model 2 .281 Recording method: ••• fixed heads; 1 per track . • 283 Type of access .44 Description of Stage Potential Transfer Rates .291 Peak bit ratesCycling rates: ...•. 3,490 rpm (17.2 msec/rev). Bit rate per track: .• 1,080,000 bits/sec/track. .292 Peak data ratesUnit of data: ...•.• byte. Conversion factor: .• 8 bits per byte. Data rate: .••••..• 135,000 bytes per second. 270,000 packed decimal digits per second. .3 DATA CAPACITY .31 Module and System Sizes Identity: Bands: Bytes: Packed digits: Words: Modules: Cylinders: .32 Minimum Storage Maximum Storage per Control 1 drum 400 830,000 1,660,000 207,500 1 10 8 drums. 3,200. 6,640,000. 13,280,000. 1,660,000. 8. 80. Rules for Combining Modules: ••••• any number up to 8 Drum Storage units per 2841 Storage Control Unit. .4 CONTROLLER .41 Identity: . . . . . . . • • . IBM 2841 Storage Control Unit with 7320 Attachment. 7/65 2 4 1 1 1 Data Transfer Control Possible Starting Stage Wait for drum rotation: • • • • • . • . • • yes. Transfer data: .••••. no. .29 Connection to Device .431 Devices per controller: . . . . . • . . . . . . 1 to 8, using 7320 Attachment. .432 Restrictions: .•.•..• maximum of 8 storage access mechanisms per 2841; see following table. Bands per Physical Unit: . • • • • . • • • • . • 400 data bands. -40 alternate bands. 3 clock bands. • 27 Connection to System .441 Size of load 1 record per track: 1 to 2, 075 bytes. Multiple records (2057 _ L ) per track: . . . . . . . N = 118 + 1. 049L + 1 L where N = number of bytes per track, and L = length of data plus key in each record, in bytes. . 442 Input-output area: . . . . main core storage . .443 Input-output area access: ...•...• :each byte. .444 Input-output area lockout: . . . . . . . . . blocks of 2,048 bytes can be protected (optional on Model 30 and 40 Processing Units, standard on larger models). . .445 Synchronization: ..••. automatic. .447 Table control: •..•.. yes; scatter-read and gather-write facilities are available at programmer's option. See Section 420:111, Simultaneous Operations. .448 Testable conditions: .. available. busy. not operational. performing operatio:t;l with interruption pending. .5 ACCESS TIMING .51 Arrangement'of Heads . 511 Number of.,stacks Stacks per drum: ... 400 . Stacks per cylinder: . 400. Heatis'per stack: .•. 1. (Contd. ) INTERNAL STORAGE: 7320 DRUM STORAGE 420:046.512 • 512 Stack movement: •••• none • • 513 Stacks that can access any particular location: • • • • • • • • • 1. .514 Accessible locations By single: •••••••• 1 track. By all stacks: ••••• 400 tracks per drwn. .52 • 53 Simultaneous Operations: •••••••..• maximum of one 7320 Drwn --Storage operation per Selector Channel. Update Cycle Rate: •• 22.2 references/sec • Note: .75 Stage Variation I ~ Wait for start of addressed band: Transfer data: Total: Oto17.2 17.2 per track .6 CHANGEABLE STORAGE: .•••••• none. .7 PERFORMANCE .72 Transfer Load Size Average. Note: ~ 8.6 17.2 25.8insec. With core storage Single track: • • • • • • 1 to 2. 075 bytes. Cylinder: •••••••• up to 830,000 bytes (400 tracks per cylinder). Effective Transfer Rate With core storage Cylinder mode. 1way transfer: ••••• 119,000 bytes per second; based on transferring 40 tracks (83,000 bytes) of data; includes rotational delay time. © .8 Based on'random accessing of one 150character record; reading, updating, and rewriting that record; and rereading for ver:lfication of recording accuracy. Read-Only Reference Cycle Rate: ••••••• 93.3 references/sec. Access Time Parameters and Variations .532 Variation in access time - .73 .74 Based on random accessing and reading of one 150-character record. with no updating or rewriting • ERRORS, CHECKS. AND ACTION Error Check or Interlock Invalid address: program check on recorded address Invalid code: all 8-bit codes are valid. Receipt of data: compute cyclic check code Recording of data: none. except programmed read. Recovery of data: compute cyclic check code and compare with recorded check code Dispatch of data: attach parity bit to each byte. Timing conflicts: interlock Wrong track: program check on track address 1965 AUERBACH Corporation and AUERBACH Info, Inc. Action program control. record check code. error signal. wait. program control. 7/65 420:047.100 IBM System/360 Internal Storage 2301 Drum Storage INTERNAL STORAGE: 2301 DRUM STORAGE .1 GENERAL .11 Identity: .12 Basic Use: ..••.•.. fast random-access auxiliary storage. .13 Description A series of file commands permits any or all of the three areas (count, key, and data) of a record in a random access file to be searched, read, or written. Selection of a track is initiated by transferring a 6-byte seek address from the Processing Unit to the 2820. The optional File Scan function and Record Overflow feature permitted on the 2841 Storage Control are not available for the 2820 Storage Control. . . . . . . • . . 2301 Drum Storage. mM's new 2301 Drum Storage unit provides random access storage for approximately 4 million bytes (or 8 million packed decimal digits and signs) and an unusually high data transfer rate of 1.2 million bytes per second. The 2301 differs from the bitserial 2302, 2311, 2321, and 7320 file units in that it reads and records four bits of information in paralleL The 2301 drum has been improved relative to mM's older 7320 drum by doubling the track density (twice as many tracks) and by 'approximately doubling the recording density. It offers relatively fast access (8.6 milliseconds average) to a moderate amount of storage (4.1 million bytes per drum). Typical applications for the 2301' are storage of program segments or subroutines, fastaccess directories for larger-capacity storage units, function tables, compiler lists, and extensions of core memory for large problems. The 2301 Drtim Storage cannot be used with System/ 360 Model 30 or 40 'Processing Units because of its high data transfer rate, but it is available for Models 50, 65, arid 75, Up to four 2301 drums can be connected to an mM 2820 Storage Control (a special control unit which can be used only for 2301 Drum Storage). One 2820 Storage Control can be connected to a Model 50 Processing Unit, and up to eight 2820's to a Model 65 or 75, depending upon the number and models of Selector Channels used. Each drum can store 4,096,600 bytes or 8,193,200 packed decimal digits. There are 800 data tracks, read or recorded in groups of 4 tracks (one band) at a time. Each of the 200 bands is capable of storing a maximum of 20,483 bytes (based on one record per band). Drum rotation speed is approximately 3,490 revolutions per minute, so the rotation time is 17. 2 milliseconds. The peak data transfer rate is 1. 2 million bytes per second. Record length and number of records per band are variable and user-defined, and each record may contain a key portion. A separate "count" byte in each record is used to specify the key length, which can be as long as 255 bytes. The number of bytes in the data portion of the record is specified by a two-byte count code. Thus each record can have a count area, a key (optional), and a data area. An additional area is included at the beginning of each band to specify the track address, and a one-byte code is used to indicate possible unusable recording portions of the band. When multiple records are present on a band, the 3.)llount of data that can be recorded is decreased. 7/65 The Two-Channel Switch feature enables a 2820 Storage Control to be switched from one channel to another under program control. The 2820 Storage Control interprets and executes file commands, performs the required data-mode conversions, checks the validity' of the data being transferred, and furnishes status information about the random access file units to the Processing Unit. The 2820 strips the parity bit off each byte to be recorded'in random access storage. The Validity of the recorded information is checked by generating a string of 16 "cyclic check bits" and appending it to the end of each drum record. When the data is read, the check bits ar'e regenerated and compared; an unequal comparison results in a data: error signaL Parity hits are' restored as the data is trll?sferred back into core storage. • 14 Availability: . . . . . . . ? .15 First Delivery: . . . . . ? .16 Reserved Storage: ... 80 alternate data tracks and 4 clock tracks. .2 PHYSICAL FORM .21 Storage Medium: . . . . magnetic drum. · 22 Physical Dimensions .222 DrumDiameter: ..••.••. approximately 10.7 inches. Length: . • . • . . . . . . approximately 12 inches. Number on shaft: ... 1. · 23 Storage Phenomenon: . magnetization. · 24 Recording Permanence · 241 Data erasable by instructions: . . . . . . .242 Data regenerated constantly: . . . . . . . · 243 Data volatile: . . . . . . . .244 Data permanent: .•... .245 Storage changeable: " yes. no. no. no. no. INTERNAL STORAGE: 2301 DRUM STORAGE . 25 Data Volume per Band of 4 Tracks .422 Off-line: . • . . . . . . . . none . Records: .•.....••• variable. Words: .•••••••••• 5,120. Characters:. . • • • • • • see "Bytes." Digits: .••••••.••• 40,966. Bytes 1 record per band: •• 20,483. Multiple records (20 483 ) per band: " ••••• N = L ~ 186 L where N = number of bytes per band, and L = length of data plus key in each record, in bytes. .43 • 26 Bands per Physical Unit: " • • . • . • • • . • 200 data bands. .27 Interleaving Levels: .• 1; i. e., no interleaving. . 28 Access Techniques · 281 Recording method: • • • fixed heads. · 283 Type of access Description of Stage Possible Starting Stage Wait for drum rotation: •• • • • • • • . • yes. Transfer data:. • • . • • no. .29 Potential Transfer Rates • 291 Peak bit rates Cycling rates: .•.•• 3,490 rpm (17.2 msec/rev). Track/head speed: .• 2,000 inches/sec, approx. Bits/inch/track: .••. 1,250 approx. Bit rate per track: .• 2,400,000 bits/sec/track . . 292 Peak data rates Unit of data: .•••.• byte. Conversion factor: .• 8 bits per byte. Gain factor: •••.. ".• 4 tracks per band. Loss factor: •.•.•. 2 four-bit groups per byte. Data rate: .••••.•• 1,200,000 bytes per second. .3 DATA CAPACITY • 31 Module and System Sizes Identity: Bands: Bytes: Packed digits: Words: Modules: I • 32 \ 420:047.250 Minimum Storage Maximum Storage per Control 2301 drum 200 4,096,600 8,193,200 1,024,150 4 2301 drums. 800. 16,386,400. 32,772,800. 4,096,600. 4. 1 Rules for Combining Modules: ••.•••.. any number up to 4 drums per 2820 Storage Control. .4 CONTROLLER .41 Identity: .42 Connection to System . . • . . . . . . mM 2820 Storage Control. .421 On-line: .••..•.... see Section 420:031, System Configuration. © Connection to Device .431 Devices per controller: . • • • • . . . . • . . 1 to 4 drums. .432 Restrictions: . • . . . . . only 2301 drums can be connected to the 2820 Storage Control. .44 Data Transfer Control · 441 Size of load1 record per track: .. 20,483 bytes. Multipl.e records per _ (20,483 ) track. . . . . . . . . . . N - L + 186 L where N = number of bytes per band, and L = length of data plus key in each record, in bytes . • 442 Input-output area: .••. main core storage . .443 Input-output area access: ....••...• each byte. .444 Input-output area " lockout: . . . • . . . . . blocks of 2, 048 bytes can be protected. .445 Synchronization:. . . • • automatic . . 447 Table control: ... "... yes; scatter-read and gather-write facilities are available at programmer's option. See Section 420:111, Simultaneous Operations . . 448 Testable conditions: .. available. busy. not operational. track address compare. •5 ACCESS TIMING · 51 Arrangement of Head · 511 Number of stacks Stacks per drum: ... 200. Stacks per module: .. 200 . Heads per stack: . . . 4 . . 512 Stack movement: .... none; fixed heads . · 513 Stacks that can access any particular location: . . . . . . . . . . 1. · 514 Accessible locations By single stack: . • • • 1 band of 4 tracks. By all stacks: ..••. 200 bands of 4 tracks each. .52 Simultaneous Operations: •••••••••• one 2320 Drum operation --at a time. Other inputoutput channels are locked out during drum transmission time. .53 Access Time Parameters and Variations .532 Variation in access time Variation, stage ~ Wait for start of addressed band: Oto17.2 Transfer data: 17 . 2 per track Total: 1965 AUERBACH Corporation and AUERBACH Info, Inc. Average, ~ 8.6 17.2 25.8 msec. 7/65 IBM SYSTEM/360 420:047.600 .6 CHANGEABLE STORAGE: .•••••••...• none. .7 PERFORMANCE .72 Transfer Load Size With core storage Single track: •••••• 1 to 20,483 bytes. Cylinder: .••••.•• 4,096,600 bytes. .73 Effective Transfer Rate With core storage I-way transfer: •••• 1,134,000 bytes/sec, based on transfer of 204,830 bytes (10 tracks); includes rotational delay time. • 74 .75 Update Cycle Rate: •.. 22.7 references/sec . Note: Based on random accessing of one record; reading, updating, and rewriting that record; and rereading for verification of recording. Read-Only Reference Cycle Rate: .•••••• 116 references/sec. Note: 7/65 Based on random accessing and reading of one record with no updating or rewriting •. .8 ERRORS, CHECKS, AND ACTION Errors Check or Interlook Action Invalid address: program check program control. on recorded address Invalid code: all 8-bit codes are valid. Receipt of data: compute cyclic record check check code code. Recording of none; except prodata: grammed read. Recovery of data: compute cyclic error signal. check code and compare with recorded check code. Dispatch of data: attach parity bit to each byte. Timing conflicts: interlock wait. Wrong track: program check program control. on track address 420:048.100 IBM System/360 Internal Starage 2314 Direct Access Starage Facilit.y INTERNAL STORAGE: 2314 DIRECT ACCESS STORAGE FACILITY rea,d, the check bits are regenerated and compared; an unequal comparison results in a data error signal. Parity bits are restored as the data is transferred back into core storage . .1 GENERAL .11 Identity: . . . . . . • . . . 2314 Direct Access Storage Facility. . 12 Basic Use: . . . . . . . . random-access, changeablecartridge auxiliary storage. . 13 Description The removable 2316 Disk Packs are 14 inches in diameter and 6 inches high. When a Disk Pack is not mounted on a drive, the pack and its cover combine to form a sealed container that can be conveniently stored and transported. The IDM 2314 Direct Access Storage Facility is a new changeable-cartridge disc storage unit that provides increased storage capacity and a higher data transfer rate than the 2311 Disk Storage Drive described in Section 420:044. The 2314 was announced in April, 1965. Note that the 2316 Disk Pack used with the 2314 is not the same as the 1316 Disk Pack used with the 2311 and 1311 Disk Storage Drives'. Disk Packs cannot be interchanged between a 2314 and a 2311 or 1311 drive. Repositioning time for the 2314 access mechanism is a maximum of 140 milliseconds ·and averages 75 milliseconds. Seek operations on all access mechanisms are im;:lependent, and they can be overlapped with the single read or write operation permissible in the input-output channel used with the 2314. Disc rotation time is 25 milliseconds, so the average rotational delay is 12.5 milliseconds. Peak data transfer rate between 2314 Disk Storage and core storage is 312,000 bytes per second. Each 2314 unit contains nine disc drives; eight drives are used on-line, and the ninth is a spare. for use in case one of the other eight becomes inoperable. The control circuits required to connect a 2314 to' a System/360 input-output channel are included in the 2314, so no external control unit is required: Each of the active disc drives holds one 2316 Disk Pack containing 11 discs; 18 of the 22 disc surfaces are used for data storage. Each disc drive is served by a single comb-like access mechanism that moves horizontally between the discs. The access mechanism contains a separate read-write head for each of the disc surfaces. The 18 tracks, one on each disc surface, that can be read or recorded upon when the access mechanism is in any given position, are referred to as a "cylinder. " Because of the high data transfer rate, there are restrictions on the connection of the 2314 to some models of the System/360. See Section 420:031, System Configuration, for the rules governing the connection of the 2314 to a particular System/360 configuration. There are 200 tracks on each disc surface, defining 200 cylinders per disc drive. Each of the 200 cylinders can store up to 133,384 data bytes, or 266,768 packed decimal digits. The storage capacity of a 2314 is up to 25.87 million bytes, depending on the record format. Three additional tracks'per surface are available for use as alternates in case difficulty is encountered in reading or recording on any data track. The control section of the 2314 interprets and executes file instructions, performs the required conversions between serial-by-bit and parallel-bybit data modes, checks the Validity of the data being transferred, and furnishes status information about the random access file units to the Processing Unit. The parity bit is stripped 'off each byte to be recorded in random access storage. The validity of the recorded information is checked by generating a string of 16 "cyclic check bits" and appending it to the end of each·disc record. When the data is © Record length and number of records per track are variable and user-defined; each track has a maximum data capacity of 7, 188 bytes. When multiple records are present on a track, however, the total amount of data that can be recorded is markedly decreased. The data format is identical with that of the devices controlled by the 2841 Storage Control Unit. Each record may contain a key portion; a separate "count" byte in each record is used to specify the key length, which can be as long as 255 bytes. The number of bytes in the data portion of the record is specified by a two-byte count code. Thus each record can have a count area, a key (optional), and a data area. An additional area is included at the beginning of each track to specify the track address, and a one-byte code is used to indicate possible unusable recording portions of the track. A series of file commands permits any or all of the three areas (count, key, and data) of a record in a random access file to be searched, read, or written. With the use of chained commands, it is possible to read or write up to 18 successive tracks (cylinder mode) during 18 successive disc rotations. Selection of a track is initiated by transferring a 6-byte seek address from the Processing Unit to the control section of the 2314. The File Scan Function feature, which permits an automatic search for a specific identifier or key, is standard on the 2314. Also standard is the Record Overflc;>w feature, which permits a single record to overflow from one track to another. The optional TwoChannel Switch feature enables a 2314 to be switched from one channel to another under program control. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 420:048.140 IBM SYSTEM/360 .14 Availability: ••.•••• ? .15 First Delivery: ••••• 1st quarter, 1967. .4 CONTROLLER: ••••. no separate controller; all necessary control electronics are included in the 2314 • • 16 Reserved Storage: ••• none. •2 PHYSICAL FORM .5 ACCESS TIMING .21 Storage Medium: .••. multiple magnetic discs. .53 Access Time Parameters and Variations • 22 Physimil Dimensions .532 Variation in access time - .222 DiscDiameter: .••••••• 14 inches o. d. Number on shaft: •.• 11. • 23 Storage Phenomenon: • magnetization. .24 Reco'rding Permanence • 241 Data erasable by. instructions: .•.•.•• • 242 Data regenerated constantly: ••• • • • . • 243 Data volatile: ••••••• • 244 Data permanent: .•••• • 245 Storage changeable: .• .25 Variation, ~ Move head to selected band: Wait for beginning of band: Transfer data: Total: yes. no. no. no • yes. Data Volume per Band Characters: •••.•••• 7,188 (maximum capacity, with 1 record per track). Digits: ••••••..••• 7,188 in zoned byte format. 14,376 in packed format. up to 140 o to 25 25 per band .6 CHANGEABLE STORAGE .61 Cartridges Average, msec 75 12.5 25 112.5 .611 Cartridge capacity: .•• 25,876,800 bytes (maximum). • 612 Cartridges per module: .•••.••.• 1. · 613 Interchangeable: •.••. yes. • 62 Loading Convenience .26 Bands per Physical Unit: ••••••••.•. 200 per disc surface. • 27 Interleaving Levels: •• 1; i.e" no interleaving. .28 Access Teclihique: ••. magnetic heads which move in unison on a comb-like access arm mechamism. • 29 Potential Transfer Rates: ••••••••••• peak rate is 312,000 -bytes/sec. .621 Possible loading While computing system is in use: .•.•.•. yes . While storage system is in use: ••.. yes, if the particular drive is not addressed. .622 Method of loading: ••• operator. • 623 ApprOximate change time: •••••••..•. 1 minute . .624 Bulk loading: •••••.. no; 1 cartridge of 11 discs at a time . .3 DATA CAPACITY •8 .31 Module and System Sizes Identity: Disc drives: Discs: Tracks: Cylinders: Words: Bytes:' Packed Digits: Cartridges online (Disk Packs): 2316 11 (18 active surfaces) 3,600 200 6,469,200 25,876,800 51,753,600 2314. 8. 88 (144 active surfaces). 28,800. 1,600. 51,753,600. 207,014,400. 414,028,800. 8. .32 Rules for Combining Modules: ....••.. each 2314 contains 8 disc drives (one additional drive is present, but is only used when one of the first eight becomes inoperable) • 7/65 ERRORS, CHECKS, AND ACTION Error Check or Interlock Invalid address: Program check on recorded address all 8-bit codes are valid. compute cyclic check code Invalid code: Receipt of data: Recording of data: Action program control. record check code. none except programmed read. Recovery of data: compute' cyclic error signal. check code and compare with recorded check code Dispatch of data: attach parity bit to each byte. Timing conflicts: interlock wait. Wrong track: program check program control. on track address 420:051.100 IBM System/360 Central Processors CENTRAL PROCESSORS .1 GENERAL .11 Identity: . 12 Description ... mM System/360 Processing Units; Models 2030, 2040, 2050, 2065, and 2075. t The IBM System/360 has been designed to provide, in a single package, nearly all the features required by any business or scientific computing installation. IBM has, therefore, found it necessary to make available: (1) a large amount of directly addressable storage; (2) many types of coding; and (3) four types of arithmetic. To meet these demanding requirements, the System/360 has a basic two-address instruction format that provides for direct addressing of over 16 million core positions; uses an 8-bit data code that can represent any of the more familiar 4, 5, or 6-bit codes; and provides fixed-point binary, single and double precision floating-point binary, and variablelength decimal arithmetic. Moveover, there are well-developed facilities for input and output editing, radix conversions, code translations, supervisory control, and running more than one program at a time. However, as in almost all such plans, there are costs involved. In this case, the costs are shown in the complexity of the instruction repertoire*, in the alignment rules for operands, and in a lack of uniformity in handling instructions and operands which make the System/360's repertoire one of the most complex currently existing. Within such an ambitious central processor design, there are many aspects which deserve attention; in particular: • The basic processor design. • The instruction repertoire as a programming tool. • The interrupt system. • The facilities for multiprogramming. • The treatment of errors and special cases. • The compatibility question. • The available special features. In this Description, each of these aspects is considered, along with its implications for the user, in a separate section. Each section is independent, so the sections can be read in any desired sequence • • 121 Basic Design The System/360 Processing Units contain facilities for addressing main storage, for fetching and storing information, for executing stored program instructions in the desired order, for arithmetic and logical processing of data, and for initiating all communication * There are 22 different Load instructions, 14 different Add instructions, etc. t See Section 422:051 for details of the 2020 Processor used in System/360 Model 20 systems. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360 420:051.121 .121 Basic Design (Contd.) between main storage and peripheral devices. There are, at present, five programcompatible Processing Units, and they are used in the following System/360 models: • 2030 Processing Unit - System/360 Model 30; see also Section 423:051. • 2040 Processing Unit - System/360 Model 40; see also Section 424:051. • 2050 Processing Unit - System/360 Model 50; see also Section 425:051. • 2065 Processing Unit - System/360 Model 65; see also Section 426:051. • 2075 Processing Unit - System/360 Model 75; see also Section 428:051. Processor Registers Each Processing Unit has sixteen 32-bit general registers and four 64-bit floating-point registers. The general registers can be used as fixed-point accumulators or as index registers. They are specified by the 4-bit R, B, or X fields in many System/360 instructions. Some operations use two adjacent registers coupled together to provide a 64-bit capacity. Addressing Main storage addresses are formed by adding a 12-bit "displacement" (contained in the D field of every System/360 instruction that references main storage) to a 24-bit "base address" (contained in a general register specified by the 4-bit B field in the same instruction). The addresses in many instructions (including most binary arithmetic and logical instructions) can be further modified by adding a 24-bit "index" contained in a general register specified by the 4-bit X field in the instruction; this effectively provides a double indexing capability. All three parts of an address (base, displacement, and index) are treated as unsigned, positive binary integers and are added together with overflows ignored. Since every address includes a base, the sum is always 24 bits long; this provides a logical capability for addressing up to 16,777,216 bytes, although the direct part of the address (the 12-bit displacement) permits direct addressing of only 4,096 bytes. The base-register technique of address formation facilitates program relocation and segmentation. Instruction Format Instructions can be two, four, or six bytes in length. A 2-byte instruction causes no reference to main storage. A 4-byte instruction causes one reference to main storage, while a 6-byte instruction causes two storage references. There are five basic instruction formats: • Type RR - Register to Register (2 bytes) • Type RX - Register to Indexed Storage (4 bytes) Op • Type RS - Register to Storage (4 bytes) Op • Type SI - Storage and Immediate Operand (4 bytes) Op • 12 I I B1 / D1 Type SS - Storage to Storage (6 bytes) Op L1 I L2 I B1 I D1 B2 B = 4-bit base register specification D = 12-bit displacement I = 8-bit literal operand L = 8-bit operand length specification Op = 8-bit operation code R = 4-bit operand register specification X = 4-bit index register specification 7/65 D2 (Contd. ) 420:051.1211 CENTRAL PROCESSORS .121 Basic Design (Contd.) Fixed-Point Arithmetic The basic arithmetic mode of the System/360 is fixed-point binary, using 32-bit operands and two's-complement notation. Most operations can alternatively specify the use of 16bit halfword operands to improve storage utilization. Most products and all dividends are 64 bits long. Fixed-point arithmetic and comparison instructions specify one operand in a general register and a second operand in either main storage or a general register; these instructions are 4 bytes long when they specify an operand address in main storage (type RS or RX) and 2 bytes long when both operands are in registers (type RR). The Standard Instruction Set includes 86 instructions which perform fixed-point arithmetic, comparison, branching, moving, loading, storing, shifting, radix conversion, code translation, packing, unpacking, and Boolean operations. These 86 instructions are present in all System/360 Processing Units. The radix conversion operations perform automatic conversions between signed, packed decimal fields up to 15 digits in length and 32-bit signed binary integers. The code translation instruction uses a table to translate any 8-bit data code to any other 8-bit code. The packing and unpacking instructions convert numeric BCD data between the one-character-perbyte format used by most input-output devices and the two-digits-per-byte format used for decimal arithmetic. The other instructions in the standard set are quite conventional in form and function, as shown in the Instruction List (Section 420: 121). However, in addition to performing their explicit functions, many instructions take action to ensure that valid operations are being performed upon acceptable operands, and also to set a Condition Indicator that can subsequently be tested to control conditional branching. These additional processor functions occur on most, but not all, instructions. Where a check fails (e. g., an invalid operand, result, or instruction is noted), the program is interrupted and a forced transfer is made to an appropriate routine, with proper linkages being set up to effect a return to the original program. Floating-Point Arithmetic The Floating-Point Arithmetic feature is optional in Models 30 and 40 and standard in the larger models. It provides 44 additional instructions that provide for addition, subtraction, multiplication, division, loading, storing, and comparison of both "short" (32-bit) and "long" (64-bit) floating point numbers. The fractional part occupies 24 bits in the short format and 56 bits in the long format. The characteristic occupies 7 bits in either format, represents the power of 16 by which the fractional part is to be multiplied, and permits representation of numbers ranging from 10- 78 to 1075 . In this type of floatingpoint representation, a "normalized" fraction may contain up to three leading zeros; the resulting precision is either 6 or 16 decimal digits. . There are four 64-bit floating-point registers in the Processing Unit. Floating-point instructions specify one operand in a floating-point register and a second operand in either main storage or a floating-point register; the instructions are of type RX (4 bytes) or RR (2 bytes). Addition and subtraction may be either normalized or unnormalized. Decimal Arithmetic The Decimal Arithmetic feature is optional in Models 30 and 40 and standard in the larger models. It provides 8 additional instructions for addition, subtraction, multiplication, division, comparison, and editing of decimal numbers. Decimal arithmetic is performed upon 4-bit BCD digits packed two to a byte, with a sign in the rightmost four bits of the low-order byte. Decimal operands may be up to 16 bytes (31 digits and sign) in length. The length of each decimal field is specified in the L field of the instruction referencing it; the word mark concept used throughout the IBM 1400 series has been abandoned. Two-address instructions of the storage-to-storage (SS) type are used for all decimal operations; the general and floating-point registers are not utilized. Decimal arithmetic in the System/360 is considerably slower than binary arithmetic. It is designed for processes which require relatively few computational steps between input and output, so that radix conversions and use of fast-access registers for temporary storage of results are not justified. The editing instruction is part of the Decimal Arithmetic feature. A packed decimal field is unpacked and edited under control of a pattern, and the edited result replaces the pattern. Editing can include sign and punctuation control and the suppression and protection of leading zeros. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360 420:051.122 .121 Basic Design (Contd.) The additional cost of the Decimal Arithmetic feature on the Model 30 and 40 Processing Units is small, and the power of the editing instruction may make the feature worthwhile even where the decimal arithmetic itself is of little or no direct value . . 122 The Instruction Repertoire As A Programming Tool The basic instruction form of the System/360 is two-address (i. e., an operation code followed by two operands). This address structure, which is familiar because of its use in the IBM 1400 series, often leads to the destruction of one of the two operands; thus "ADD A to B" causes the destruction of operand B. If this is not desired, B must be previously copied into some safe location. In the System/360 there are two types of machine-language addresses: register addresses and main storage addresses. There are 16 general registers, so 4 bits can specify a register address; and there may be up to 8 million characters of core storage, requiring at least 23 bits to specify a particular storage address (24 bits are actually used). There are three possible arrangements of addresses in an instruction: two main storage addresses, one main storage address and one register address, or two register addresses. Because a register address is much shorter than a main storage address, there are three instruction lengths: 2, 4, and 6 bytes (i. e., 16, 32, and 48 bits) . The 24-bit main storage addresses are prohibitively long to be incorporated directly into the System/360 instructions, so all main storage addresses are in the form of a 12-bit "displacement" (which is written in the instruction) and a reference to one of the 16 general registers which contains a 24-bit "base address." Operand lengths also vary. Fixed-point binary operands have a length of 32 bits, and 16bit "halfword" operands can be used with many instructions. Short floating-point operands have a mantissa of 24 bits and an exponent (based on powers of 16, not 10) of 7 bits. Long floating-point operands have the same form of exponent but have 56 bits in the mantissa. Decimal arithmetic is based on variable-length fields, whose lengths are specified in the instructions. Character operations are based on 8-bit bytes, and the number of bytes mayor may not be specified in the instructions. These different operand lengths are probably unavoidable in such a complex system, but" in addition to their lengths, there are restrictions (called "alignment ru1es") on the placing of operands within core storage. BaSically, an operand must begin "at a byte position whose address is an exact mu1tiple of its length (an "integral boundary"). Thus, a 32-bit (4-byte) fixed-point operand must be placed starting at byte position 800, or 804, or 808 but not 801, 802, 805, 806, etc. Variable-length (decimal) fields can start at any byte position in core storage. These two variable factors - instruction length and operand length - will tend to complicate programming of the System/360 at the machine-language level and patching of machine-language programs. The Condition Indicator provides a form of running commentary on the program being ex-" ecuted. The indicator is set by a variety of conditions, depending upon the instruction, and its setting can subsequently be tested to control conditional branching. Thus, after an Add instruction the Condition indicator denotes positive, negative, zero, or overflow values of the sum. Mter a Compare instruction the indicator denotes which of the two operands is greater, or equality. Mter a Translate and Test instruction the indicator denotes whether all the function bytes were zero, whether the last function byte was non-zero, or whether a non-function byte occurred before the first operand field was exhausted. The Condition Indicator is a usefu1 feature, requiring no additional execution time and no specific instructions, but the irregu1arities in its usage, once again, will tend to cause programmer errors. For example, while "Add A to B" sets the indicator, "Mu1tiply A by B" leaves the indicator unchanged but still testable. Thus, a program may appear to be logically correct although it functions incorrectly (e. g., a programmer may think he is testing the resu1t of a Mu1tiply instruction when, in fact, he is testing the resu1t of a preceding Add instruction) . . 123 Interrupt System A powerful interrupt system permits System/360 Processing Units to respond to a variety of special conditions arising within the processor and in peripheral units. The basis for the interrupt system is the Program Status Word (PSW), a double (64-bit) word that indicates the operational status of a program. When an interrupt condition arises, the active PSW 7/65 (Contd. ) 420:051.123 CENTRAL PROCESSORS . 123 Interrupt System (Contd.) is automatically stored in a fixed location whose address depends upon the cause of interruption. The Processing Unit then fetches,a: new PSW from another fixed location, and this new PSW governs entry to a routine which services the interrupt condition. After the interrupt condition has beep. serviced, the PSW of the interrupted program is restored to the active position, thereby resetting the Processing Unit to the status it had just before the interrupt occurred. There are five classes of interrupt conditions: • • • • • Input-Output - occurs upon termination of an I/O operation, when an I/O error occurs, or when an I/O device requires attention. Program - occurs when an unusual condition is encountered in the execution of a program (e. g., overflow, invalid address, invalid operation code, violation of "integral boundary" rules for fixed-length operands, reference to a protected storage area, etc.) Supervisor-Call - switches system status from the program state to the supervisor state when the Supervisor-Call instruction is executed. (In the program state, all input-output and some control instructions are invalid.) External - occurs upon receipt of a signal from the timer, the interrupt key on the console, or one of six external interrupt lines provided with the optional Direct Control feature. Machine-Check - occurs upon detection of a machine malfunction. Specific bits in the Program Status Word can be used to mask off certain interruption conditions. When masked off, an interrupt signal may either be ignored or remain pending. The 64-bit Program Status Word holds enough information about a running program so that, provided the contents of the 16 general registers are also preserved, it is possible to interrupt and restart a program without risk. The Program Status Word, whose contents form a running commentary on the operational status of a program, provides the basic mechanism for both overlapped input-output operations and lUultirunning of independent programs. Both require facilities that can place a running program in "cold storage" and then bring it back and continue operations as though no interruption had taken place. In many systems this is not possible because, during the interruption process, some intermediate results might be over-written, flags might be changed, etc. In the System/360 all intermediate results are held in the 16 general registers or in the 4 floating-point registers. All flags, the location counter, and other necessary data are held in the Program Status Word. Whenever it be-::omes necessary to change from one program to another, an interrupt signal automatically stores the present PSW at a fixed position and then enters the new program with a new PSW stored for this contingency. The new PSW provides a new location counter setting, new interrupt conditions, and new flags, all without losing the corresponding data of the preceding program. Five levels of interruption are provided in the System/360. Each level has its own particular standard position to store a prior Program Status Word and to enter an ana:lysis routine to determine the cause of the interrupt. Thus, at anyone time, up to six routines can be ready for immediate execution in the processor: one main program; one routine for handling an input or output operation; one routine for handling overflow, illega:l addressing, or some other fault in the program being executed; one routine for handling any reference to the supervisory routine from the main program; one routine for handling any external interruption (operator, real-time clock, certain types of external equipment, etc.); and one routine for handling machine faults. * Other main programs can also be in core storage, but they will not become functionally active until the supervisory routine determines that one of them has the highest priority of any program ready to run, resets its Program Status Word and register contents, and restarts it as the "active" main program. * The System/360 can attempt to recover from many transient machine faults by means of a specia:l diagnostic instruction. Existing documentation of this feature is vague, but its existence could be of considerable importance in real-time systems. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360 420:051.124 . 124 Multiprogramming Facilities The capability to run more than one program at a time requires effective solutions to two major hardware problems. These are the sequencing problem (i. e., providing automatic switching between programs to maximize overall throughput) and the safety problem (i. e. , safeguarding each program from all the others). In the System/360 the necessary functions are performed by a supervisory routine in conjunction with the interrupt system (described in the preceding section) and two special sets of instructions. Whenever an interrupt occurs, the running program is safeguarded, and a special routine is entered which determines the cause of the interrupt and then transfers control to the supervisory routine. The Supervisor Call instruction, which deliberately causes a further interrupt, switches the mode of operation of the computer to permit the use of a small group of "privileged" instructions. These instructions permit changing Storage Protection keys, altering the channel controls, and initiating input-output instructions. Thus, the partnership between hardware and softw:;tre provides organized sequence control and a safeguard for programs. This safeguard, the Storage Protection feature, is designed to prevent one program from overwriting another. The Storage Protection feature cannot prevent one program from referring to another; any program can read data from any area of core storage, so the protection is against destruction rather than in favor of privacy. A 4-bit "storage key" is assigned to each 2, 048-byte block of core storage, and a 4-bit "protection key" is associated with each program (in the Program Status Word) and with each input and output operation In the case of input operations, the key can be read in with the data itself. Whenever an attempt is made to write data into core storage, the storage key associated with the block concerned is compared with the protection key associated with the data to be written. If the two keys match, or if either key is zero, the data is written into storage. If not, the operation is aborted and a special interrupt occurs. A significant loophole in the Storage Protection facility is the inability of the programmer to be sure that no other programmer has used a protection key of zero on some data (in which case he could not positively safeguard his program against overwriting) . . 125 Errors and Special Cases Errors in the System/360 are handled through the interrupt system in the following ways: • megal operation codes and addresses - handled by the supervisory routine, usually leading to abortion of the program. • Input-output errors - handled by the supervisory routine, usually leading to attempts to repeat the input or output operation successfully. • Machine malfunctions - handled by the supervisory routine, leading to special diagnostic routines that attempt to repeat the instruction and check on its functioning and on the ability of the program to continue . . 126 The Compatibility Question Intermodel Compatibility mM promises that System/360 Models 30, 40, 50, 65, and 75 will be.-atrictly program compatible, both upward and downward. This means that any valid program which runs on System/360 configuration A will run on System/360 configuration B and produce the same results if: (a) configuration B includes the required amount of main storage, all required input-output devices, and all required special features; and (b) the program is independent of the relations between instruction execution times and input-output rates. The compatibility rule does not apply to "invalid programs" (programs that violate the specifications in the programming manual) or to the handling of machine malfunctions. (Contd. ) 7/65 420:051. 126 CENTRAL PROCESSOR .126 The Compatibility Question (Contd.) Although the System/360 Processing Units have the same logical structure to provide compatibility, their physical structures differ significantly for engineering reasons. The most significant physical differences (none of which need to be considered by the programmer) are summarized in the following table: Model: 30 40 50 65 75 Main Storage Cycle, /Lsec: Bytes Accessed/Cycle: Register Type: Register Cycle, /Lsec: Control Technique: Control Cycle, /Lsec: 1.5 1 MS 1.5 RO 0.75 2.5 2 CA 1.25 RO 0.625 2.0 4 CA 0.50 RO 0.50 0.75 8 TR 0.75 8 TR RO 0.25 CC CA CC MS RO TR = core array = conventional circuits = main storage = = read-only storage transistor registers. Compatibility with Earlier IBM Systems IBM will provide optional features for various models of the System/360 that will make it possible to run programs written for most second-generation IBM computer systems with little or no change. IBM computers that can be "emulated" on one or more models of the System/360 include the 1401, 1440, 1460, 1620, 7010, 7040, 7044, 7070, 7074, 7080, 7090, and 7094. See the report sections on "Compatibility" (Sections 420:131 through 420:136) for details of the capabilities, equipment requirements, limitations, and performance of these compatibility features . •127 Special Features The Storage Protection feature (optional in Models 30 and 40, standard in the larger models) prevents accidental alteration of the contents of specified 2, 048-byte blocks of main storage (see Paragraph .124). The Interval Timer feature (optional in Model 30, standard in the larger models) occupies a full word of main storage, holds a signed binary integer, is counted down at the rate of 60 cycles per second, and initiates an interrupt when the value goes from positive to negative. The Direct Control feature (standard in Model 75, optional in the others) provides six external interruption lines and instructions that can transfer a single byte at a time of control information between a special external device and main storage. The Decimal Arithmetic and Floating-Point Arithmetic features (both optional in Models 30 and 40, standard in the larger models) are described in Paragraph .121 of this report section. The Channel-to-Channel Adapter permits high-speed data transmission between two System/360 Processing Units of any model by linking together two input-output channels one from each of the two Processing Units. When this is done, each Processing Unit can treat the other as a standard peripheral unit. The adapter can be used on either Multiplexor or Selector Channels and requires one control unit position on each channel. .13 Availability: ••••.•••.••• ? .14 First Delivery: Model Model Model Model Model * 30: 40: 50: 65: 75: •••••••••••••• •.•••••••••••• ••••••••.•.•.. •••••••••••••. •••••••••••••. 2nd quarter, 2nd quarter, 3rd quarter, 1st quarter, 4th quarter, 1965. 1965. 1965. 1966. * 1965. * Customers who ordered Model 60 or 62 systems will get them, beginning in 3rd quarter, 1965; these will be upgraded to Model 65 systems in 1st quarter, 1966. Customers who ordered Model 70's will get Model 75's instead. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360 420:051.200 .2 PROCESSING FACIIJTIES • 21 Operations and Operands Operation and Variation .211 Fixed pointAdd- subtract: Multiply Short: Long: Divide No remainder: Remainder: Provision Radix Size automatic automatic binary decimal (optional in Models 30 and 40) full or halfword. variable: 1 to 31 digits. automatic automatic automatic binary binary decimal (optional in Models 30 and 40) halfword (32-bit product) • full word (64-bit product). variable: 1 to 15 digits. none automatic automatic binary decimal (optional in Models 30 and 40) .212 Floating point (optional in Models 30 and 40) Add-subtract: t automatic binary Multiply: automatic binary Divide: automatic binary full word (64-bit dividend). variable: 3 to 31 digits. 24 56 24 56 24 56 and and and and and and 7 7 7 7 7 7 bits bits bits bits bits bits (short). Oong). (short). (long). (short). (long). t Both normalized and unnormalized . • 213 BooleanAND: Inclusive OR: Exclusive OR: .214 Comparison Numbers: automatic automatic automatic binary binary binary 1 word. 1 word. 1 word. automatic fixed point binary: fixed point decimal: floating point binary: 32 up 32 32 32 32 or 16 bits. to 32 digits. * or 64 bits. * bits or up to 256 bytes. bits or up to 256 bytes. bits or up to 256 bytes. Absolute: automatic Letters: automatic Mixed: automatic * Optional in Models 30 and 40. Collating sequence ASCn code: .•••••••••• specials, numbers, letters. Extended BCD code: ..••• specials, letters, numbers. (See Data Code Tables, Section 420:141.) Provision From To Size .215 Code translation: automatic** automatic automatic any 8-bit code binary decimal 1 to 256 bytes. .216 Radix conversion: any 8-bit code decimal binary /' 15 digits + sign. 31 bits + sign. ** Special code tables must be provided to use the translate instructions. Provision .217 Edit format Alter size: Suppress zero: Round off: Insert point Insert spaces Insert fill character: Protection: Float dollar sign: 7/65 generally make larger automatic none automatic automatic Comment 2 to 256 bytes. can edit multiple fields with one instruction automatic automatic semi-automatic must use instruction first to indicate position at which symbol is to be inserted. (Contd. ) 420:051.218 CENTRAL PROCESSOR .218 Table look-up: none • • 219 OthersBinary shift: Decimal shift: • 22 Provision Comment automatic semi-automatic binary must use Move with Offset and Logical Move instructions Special Cases of Operands .2372 Names: . . . . . . . . . . (1) . 221 Negative numbers Binary: . . • . . . . . . . 2's complement and sign bit. Decimal: ..••...•. sign in least significant byte. . 222 ZeroBinary: .•.•..•.. only positive zero. Decimal: . . . . . . . . . positive or negative zero; treated as equal in comparisons. .223 Operand size determination Binary: •.•.•..•.. fixed size: halfword (16 bits), full word (32 bits), or double word (64 bits) , implied by instruction used. Decimal (and certain logical operations): variable size, indicated by operand length fields in instruction. .2373 .2374 · 2375 . 2376 .23 Instruction Formats .231 Instruction structure: 1, 2, or 3 halfwords (16, 32, or 48 bits), depending on number of main storage addresses necessary. . 232 Instruction layout and parts: •.•...•.•.. see "Instruction Format" in Paragraph 420:051.121. .234 Basic address structure: . . • • . . . . . . . 2 + 0: variations in instruction length are due to the fact that either operand address may be either a main storage address or a register address. .235 LiteralsArithmetic (logical): . 1 byte. Comparisons and tests (logical): .•.• 1 byte. Incrementing modifiers: .•...•...• none; increment is either -lor contained in a register . • 236 Directly addressed operands Internal storage Minimum Maximum Volume ~ size size accessible Core storage: General registers: 1 byte 256 bytes 1 register 16 registers 16,777,216 bytes* 16 oneword registers * If base registers are used for relative addressing, a maximum of 4,096 bytes are accessible via each register so allocated. • 237 Address indexing.2371 Number of methods: . 2. 32 digits. indexing using the base register addresses . (2) indexing using the X field (in instruction format RX only) ; permits double indexing if used with method (1) . Indexing rule: . . . . . . base address and index field are treated as 24-bit positive binary integers; displacement is treated as a 12-bit positive binary integer. All these are added to form a 24-bit binary integer, ignoring overflows. Index specification: .. base address (B) field and index (X) field both specify the number of a register. Number of potential indexers: . . . . . . . 16 . Addresses which can be indexed Type of address Application Storage reference: all can be indexed by base register contents. Storage address in RX instruction format: ...•..... can have double indexing (by base register and index register). .2377 Cumulative indexing: . via double indexing and Execute instruction. · 2378 Combine index and step: . • . . . . . . . . none . . 238 Indirect addressing: .. none. Note: The Execute instruction permits one instruction which is not in the direct sequence of instructions to be modified and executed, followed by an automatic return to the next instruction in the original sequence. · 239 Stepping · 2391 Specification of increment: •..••.... always minus one for Branch on Count; for Branch on Index, the increment is found in a register . . 2392 Increment sign: .•.. minus for Branch on Count; minus or plus for Branch on Index. . .2393 Size of increment: •.. always one for Branch on Count; 32 bits for Branch on Index. .2394 End value: . . . . . . . . implied as zero for Branch on Count; for Branch on Index, the value is in a storage location specified by the instruction . .2395 Combined step and test: . . . . . . . . . . . yes. © 1965 AUER.BACH Corporation and AUERBACH Info, Inc. 7/65 420:051.240 .24 IBM SYSTEM/360 Special Processor storage .241 Category of storage Number of locations Size in bits Program usage General registers: 16 32 indexing, base addresses, and accumulators, Floating-point registers: 4 64 floatingpoint operations. Program Status Word: 1 64 holds location counter and various flags. Channel Control Word: 64 1 · 332 holds I/O control information. Note: The physical characteristics of the above registers are summarized in Paragraph 420:051.126. .3 SEQUENCE CONTROL FEATURES . 31 Instruction Sequencing .333 · 334 .311 Number of sequence control facilities: " 11 Program Status Words (PSW), only one of which is active at a time. .312 Arrangement: . . . . . . one PSW for initial program loading, two for each of the 5 types of interruption: I/O, program, supervisor-call, external, and machine check. . 313 Precedence rule: . . . . priority of interrupts: (1) machine check (2) program or supervisorcall (3) external (4) I/O. .314 Special sub-sequence counters: . . . . . . . . the length of variable-size operands is held in decimal arithmetic instructions. . 315 Sequence control step size: . . . . . . . . . . . halfword. .32 Look-Ahead: . . . . . . . none. .33 Interruption (see also Paragraph 420:051.123) . 331 Possible causesInput-output units: .. unit available. unit ceased transmission. unit malfunction before transmission starts. Input-output controllers: . . . . . . . controller available. controller ceased transmission (perhaps because of error noted during transmission). · 335 .336 controller malfunction before transmission starts. Processor errors: .. illegal operation code. operation code and data incompatible. overflow, underflow, or divide error. all-zero floating-point result. operand incorrectly aligned. violation of storage protection. Other: . . . . . . . . . supervisory routine violation. system malfunction. external action from console or another system. Control by routine Individual control: . . . . . . . . . . acceptance or non-acceptance of I/O interrupts can be controlled by channel. length checks are controlled by specific instruction. Method: . . . . . . . . specific bits in Program Status Word. (These bits are normally controlled by the system, not by the user's program. ) Operator control: ... operator may only initiate a request for an external interrupt . Interruption conditions: . . . . . . (1) interruption condition signalled. (2) interruption condition attains the necessary priority on a channel to be forwarde-d to the computer interface (I/O interrupts only). (3) this interrupt not masked out by program or system masks . (4) processor in a mode of operation in which this type of interrupt is allowed to occur. Interruption process Interruption action: present PSW (Program Status Word) is stored and replaced by a standby PSW . Registers saved: .. none of the 16 general registers are saved automatically (they can be saved conveniently by the Store Multiple instruction). Most of the necessary operational data is saved in the old PSW . Destination: •••••. contained in ·standby PSW; one of 5 locations corresponding to the 5 levels of interrupt conditions. Control methods Determine cause: •• analysis of flags by appropriate standard routines. Enable interruption: •••..•..•• by setting of bits in the PSW or an I/O control word. (Contd. ) 7/65 420:051.340 CENTRAL PROCESSORS .34 Multiprogramming Model Model Model Model Model (Multiprogramming is the process of intermingling instructions from several independent programs. ) .341 Method of control: ••• handled by the Operating System/360; see Section . 420:191. .342 Maximum nwnber of programs: ••••.•• undefined to date; probably 15 . • 343 Precedence rules: ..• undefined to date. • 344 Program protectionStorage: .•.•..••• each 2, 048-byte block can be protected by a "storage key" of 0 through 15. Any attempt to store data with a different "protection key" - unless either key is 0 - causes an interrupt. Input-output units: •• no hardware protection; it will be provided by the standard control programs. • 35 Multisequencing (Multisequencing is the process of intermingling instructions from several different sets which have precedence interlocks; i. e., from semi-independent sequences of a program. Multisequencing usually implies the use of two or more separate central processors. ) Facilities for multisequencing, using two or more interconnected Processing Units, are available in the Operating System/360. .4 .5 30 40 50 65 75 The performance of each System/360 Processing Unit, in terms of both basic instruction times and speeds on our standard measures of processor performance, is shown in the Central Processor section of the appropriate subreport: © Section 423:051Section 424:051Section 425:051Section 426:051Section 428:051. ERRORS, CHECKS, AND ACTION Error Check or Action Interlock Overflow: check forced transfer to program interrupt routine . Underflow: (floatingpoint): check forced transfer to program interrupt routine. Zero divisor: check illegal data: check forced transfer to program interrupt routine. forced transfer to program interrupt routine . Forbidden operation: check forced transfer to supervisor interrupt routine. Unavailable operation: check forced transfer to program interrupt routine. Illegal storage address: check forced transfer to program interrupt routine. parity check forced transfer to machine error or input/output interrupt routine. Receipt of data: PROCESSOR SPEEDS - Dispatch of data: send parity bit. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 420:061.100 IBMSystem/360 Console CONSOLE .1 GENERAL . 11 Identity: .. .12 Associated Units: . . . . 2150 Console (optional) with Models 65 and 75 Processing Units. 1052-Printer-Keyboard (optional). units of an IBM 1050 Data Communication System (optional) with Model 30 only. 2250 Display Unit (optional) with Models 65 and 75 only. IBM System/360 System Control Panel * • Wait Light - indicates that the processor is not performing operations, but is able to respond to interrupt signals or to initial program loading. • Manual Light - indicates that the processor is in the stopped state and will respond to start key or initial program loading. • System Light - indicates that processor meter or customer-engineering-meter is running. This light is on when processor is running or when an input-output operation is in the operating state. • Load-Unit Switches - three rotary switches which provide the 11-bit address of the device to be used for initial program loading. They are set to an awkward three-group code; i. e., 0-7, 0-9, A-F. . 13 Description . 131 System.Control Panel A system control panel built into each System/360 Processing Unit provides the switches, keys, and lights needed to operate and control the system. Both the equipment and the supervisory programs are designed to reduce operator errors by minimizing the need for manual intervention. The system control panel enables the operator to reset all system components, to store and display information in main storage and processor registers, and to load initial program information. The system controls are divided into three sections: operator control, operator intervention, and customer engineering control. Each section is separately described below. Operator Control The operator control section contains only the controls needed when the system is operating under full supervisory program control. The same controls are provided for all System/360 Processing Units. The main functions provided by the operator control section are the control and indication of power, the indication of system status, operatorto-machine communication, and initial program loading. The major keys, switches and lamps are listed below. • Emergency Pull Switch - removes all system power, and latches in the out position. • Power-On Key - lights when power comes on; system reset function is performed. • Interrupt Key - used to initiate an external program interrupt. * . • Load Key, Load Light - used in initial program loading . This report section does not cover the Model 20's console facilities; see page 422:011. 100. Operator Intervention The operator intervention section provides the controls needed to enable the operator to intervene into the normal operation of the system. This includes the system reset and store-and-display functions. The intervention controls vary in form and placement from model to model, but functional compatibility is maintained. The major keys and switches are listed below. e System Reset Key - resets the Processing Unit, input-output channels, and all on-line, nonshared (by another processor) control units and input-output devices. The processor is set to the stopped state. System reset occurs also when initial program loading or power-on sequence occurs. • Stop Key, Start Key. • Rate Switch - selects run or step mode of instruction operation. e Storage-Select and Address Switches - select storage type (main or registers) and actual address of location for I-word display or entry. • Data Switches - used to set up binary word for manual entry. • Store Key, Display Key. • Set IC Key- - permits entry of an address into the instruction-address portion of the current program Status Word. • Address-Compare Switches - used to select mode for processor to stop at address set up on Address Switches. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 420:061.131 .131 System Control Panel (Contd.) Customer Engineering Control The customer engineering section is different for each processor model and contains controls intended for use only by customer engineers. Some System/ 360 storage, channel, and control units contain separate customer engineering controls. .132 2150 Console The optional IBM 2150 Console is a free-standing console desk that duplicates the System/360 operator controls at a distance from the processor. The 2150 is usable only with the Model 65 and 75 Processing Units, and uses either an available position of a Selector Channel, or one available position and one subchannel of a Multiplexor Channel. A single 2150 Console can contain one or two independent operator control panels and control each processor in a two-processor system. (In this case, one of the processors can be a Model 50.) The 1052 PrinterKeyboard (next paragraph) can be connected to the 2150 Console. "BM SYSTEM/360 each other. The keyboard is used for input to the system, and the printer accepts output from the system. Printing speed is 14.8 characters per second. An I/O interruption can be initiated from the keyboard. A 1052 can be connected to a.Model 40, 50, or 65 system via a 1052 Adapter in the Processing Unit, or to Model 65 or 75 via a 2150 Console. The 1052 Adapter uses one available position and one subchannel of a Multiplexor Channel, or one available position of a Selector Channel (Model 65 only). The 1052 can be connected to a Model 30 system via a 1051 Control Unit and a 1051 Attachment feature. .134 1050 Data Communication System The IDM 1050 Data Communication System, usable with Model 30 only, can include the 1052 PrinterKeyboard, a' separate printer, a card reader or punched-tape reader, and a card punch or tape punch. It requires the 1051 Control Unit, which transfers data at 14.8 characters per second to or from any of the 1050 system units. .135 Display Console .133 1052 Printer-Keyboard The optional IBM 1052 Printer-Keyboard provides two-way communication between a System/360 and its operator. The typewriter-style keyboard and the Selectric typing mechanism are independent of 7/65 A 2250 Modell Display Unit can be used as a console for Model 65 or 75 Processing Units. As in the 2150 Console, up to two operator control panels can be incorporated. See Section 420:101 for a detailed description of the 2250 Display Unit. 420: 071. 100 IBM System/360 Input.Output 2540 Card Read Punch INPUT·OUTPUT: 2540 CARD READ PUNCH .1 GENERAL . 11 Identity: .12 Description into the EBCDIC internal code. Invalid codes and hole count errors cause an indicator to be set. . . . . . . . . . 2540 Card Read Punch, Modell. The 2540 Card Read Punch, Modell, is a new version of the 1402 Card Read Punch; it will replace the 1402 Model N1 in all applicable orders for a System/360. The 2540 Modell consists of a 1,000card-per-minute :..'eader and a completely independent 300-card-per-minute punch housed in the same cabinet. The most significant differences from the 1402 Model N1 are increased punching speed (from 250 to 300 cards per minute), increased capacities of the hoppers and stackers, the addition of a pre-stacker station in the reader section and different styling. The changes in styling ~ermit the loading and unloading operations to be performed more easily. The addition of a card station between the second read brushes and the stackers in the reader section increases the usefulness of the selectable-stacker feature. When reading, selection of cards to be separated is normally based on information in the cards themselves. Without the separate prestacker card station, .the decision to select must be made between the time the card is read and the time the card arrives at the stackers. This arrangement in many cases precludes the use of multiple input areas for the card reader, particularly in a multiprogramming environment, due to the uncertain amount of time between the reading of the card and the processing of the data read from the card. The pre-stacker card station in the 2540 eliminates this problem since the stackerselect decision is made at the time of the next card feed operation. The 2540 is controlled, buffered, and connected to an available position on a System/360 channel by a 2821 Control Unit. The rules governing the connection of 2540 to a particular System/360 configuration of the 2540 to a particular System/360 configuration are presented in Section 420:031, System Configuration. . 121 Reader Unit Cards are fed from a 3, 100-card hopper, in rowby-row fashion, past two sets of reading brushes and into one of three 1, 350-card stackers where they are stacked on end. Cards go to the "normal" stacker (R1) unless they are directed by the program to stacker R2 or RP3. Stacker RP3 is shared by the punch unit and is normally assigned to either the reader or the punch during a single run. The first row of brushes provides a hole count, and the second row reads the data and checks the hole count. Data is automatically translated from the Extended BCD Interchange (EBCDIC) card code The card cycle time, at full speed, is 60 milliseconds. Three clutch points are provided as a standard feature. Data is read into any area of core storage specified by the programmer. Since the cards are stacked on end, there are limitations on the types of cards which can be used with the reader; the manufacturer should be con- . ·sulted on this point. Optional Reader Features The 51-column Interchangeable Read Feed provides for the reading of either 51- or 80-column cards. When this feature is present, reading speed is permanently reduced to 800 cards per minute, and the capacity of the normal stacker and stacker number 1 are permanently reduced to 800 cards. Selection of 51- or 80-column reading is made by the operator. The Column Binary feature permits reading of binary cards; the contents of each card column are inserted into two byte positions in core storage, with the two high-order bits of each byte position automatically set to zero. . 122 Punch Unit Cards are fed from a 1, 350-card hopper, in rowby-row fashion, past a punch station and a read station and into one of three 1,350-card stackers where they are stacked on end. Cards go to the "normal" stacker (PI) unless they are directed by the program to stacker P2 or RP3. Stacker RP3 is shared with the reader unit. Reading brushes in the read station are used for hole-count checks upon the punched data; they cannot be used to read data into the system. Unless the Column Binary feature is incorporated, use of prepunched cards in the punch unit causes incorrect hole-counts, which set a check indicator. Data is 'automatically translated from the internal Extended BCD Interchange Code into the EBCDIC card code. The card cycle time, at full speed, is 200 milliseconds. Four clutch points are provided. Data can be transferred to the punch from any area of core storage specified by the programmer. Optional Punch Features The Punch Feed Read feature provides a read station ahead of the punch station, which reads pre~ously-punched data from the card into core storage. Additional data can then be punched into the same card at the punch station. The Column Binary feature permits punching of binary cards by punching the low-order six bits of two adjacent byte positions into each card column. © J 965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 420:072.100 IBM System/360 Input-Output 1442 Card Read Punch INPUT-OUTPUT: 1442 CARD READ PUNCH .1 GENERAL . 11 Identity: . . . . . . . . . . 1442 Card Read Punch, Models N1, N2, and 5. . 12 Description The 1442 Card Read Punch is a combination inputoutput unit for standard 80-column punched cards. It is cheaper and slower than the 2540 Card Read Punch, but the 1442 does not have independent punch and read facilities. The three models (N1, N2, and 5) described here are functionally identical except that Model N1 has two 1, 200-card radial stackers and Models N2 and 5 have one 1, 300-card radial stacker. Rules governing the connection of the various 1442 models to a particular System/360 configuration are presented in Section 420:031, System Configuration. From a single 1, 200-card hopper, the cards are fed serially by column past a single photoelectric reading station, past a single punching station, and into a radial stacker. In Model N1, cards go to stacker 1 unless they are program-directed to stacker 2. Cards can be loaded and removed without stopping the unit. All format control is by the stored program: there is no plugboard. Peak reading speed is 400 cards per minute. Punching rate is 160 card columns per second, resulting in speeds ranging from 91 cards per minute when all 80 columns are punched to 360 cards per minute when only 1 column is punched in each card. Similar and slower versions of the 1442 Card Read Punch are used with the IBM 1440 system. A single 1442 can handle either an input or an output file. Alternatively, it can read data from and punch results into the same cards, or the results can be punched into trailer cards in the same file. When cards are being read continuously and no punching is being done, maximum speeds are 400 cards per minute, with a corresponding card cycle time of 150 milliseconds. Each column is read twice and the results are compared. Checks are made for invalid characters, improper registration, off-punching, and malfunctions of the light-sensing mechanism. These models of the 1442 normally use an extended card code that permits any of 256 code combinations to be punched into each card column. These 256 combinations include the common Hollerith punch combinations, automatically translated from the internal EBCDIC 8-bit code. The optional Card Image feature, available for Models N1 and N2, "packs" the low-order 6 bits of 160 consecutive bytes of main storage into a single card, 2 bytes per column. When data punched in the Card Image mode is read back into core storage, the two highorder bits of each byte position are automatically set to zero. 7/65 Reading begins at column 1 and can be terminated after 1 to 80 columns have been read by a count specified in the instruction. Decreasing the number of columns read has no effect on the input card rate, but it does increase the available computing time per card. Card feeding is asynchronous; there are no discrete clutch points as in the: IBM 1402 Card Read-Punch. This means that if processing time slightly exceeds overlap time, card input speed will be reduced proportionately in the 1442; with a 1-point clutch, the input speed under the same circumstances would be cut in half. When the peak card reading speed cannot be maintained, the card input cycle time is increased from 150, to 160 milliseconds. The increase is caused by the clutch pickup time when feeding on demand. Card punching, like reading, is performed serially by column, always begins at column 1, and can be terminated after any number of columns from 1 to 80. The cards to be punched can be either blank or prepunched. Skipping is not possible; each blank column requires a full punch cycle. An echo check is made to insure that the correct dies have been actuated for each character. Card punching speeds depend upon the number of consecutive columns punched in each card; punching proceeds at 160 columns per second. To the punching times must be added the time to feed and position each card: 160 milliseconds. Resulting punching speeds can be summarized as follows: Number of Columns Punched, P 1: 10: 20: 40: 80: Formula: (cards per minute) punchin, Rate, Cards min. 360 270 210 146 91 60,000 6. 25P + 160 When reading and punching ar'e done on the same card, the reading occurs during the punch positioning time of 160 milliseconds, and the overall read-punch operation proceeds at the same speed as punching alone. The 1442 contains all necessary control circuits, so no external control unit is required. However, a special adapter is required to connect Model 5 to a Model 20 Central Processor. Optional Feature Card Image (Models N1 and N2 only): provides direct input to and output from core storage of any card code, as described above; the code translation and character validity check are bypassed. The feature is useful for reading and punching column binary cards or any cards that use non-standard codes. 420:073.100 IBM System/360 Input-Output 2671 Paper Tape Reader INPUT-OUTPUT: 2671 PAPER TAPE READER .1 GENERAL . 11 Identity: . . . . . . .12 Description 2671 Paper Tape Reader. The punched tape can be 5-track telegraphic code (11/16 inch wide); 6- or 7-track (7/8 inch); or 8track (1 inch). The peak speed of 1, 000 characters per second (when reading strips) is reached after an acceleration time of about 18 milliseconds. When using the optional spooling facilities, the data rate varies between 500 and 1, 000 characters per second The IBM 2671 Paper Tape Reader is a new unit that reads fully-punched tape photoelectrically at a peak speed·of 1,000 characters per second. The 2671 is normally mounted on top of its controller, the IBM 2822 Paper Tape Reader Control Unit. See Section 420:031, System Configuration, for the rules governing the connection of this device to a particular System/360 configuration. Parity checking is done by the 2822 control unit. Code translation, when required, is performed by the processor. The control unit provides status information, end-of-record signals, 'and end-of-tape signals to the processor. The basic reader accepts only strips of punched tape, in any length conveniently handled by an ope~ ator. With optional supply features, reels 10.5 inches in diameter can be used (either center-fed or outside-fed). The reels can be rewound automatically. Buttons and switches on the reader are used to set particular end-of-record codes, and to specify tape code, width, parity, and delete-code recognition. Lamps provide the operator with status information. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 420:074.100 IBM System/360 Input-Output 2501 Card Reader INPUT-OUTPUT: 2501 CARD READER .1 GENERAL .11 Identity: . . . . . . . . . . 2501 Card Reader. Models A1, A2, B1, and B2. . 12 Description The 2501 Card Reader is one of a group of new peripheral devices developed specifically for the mM System/360. Models A1 and B1 are functionally identical, as are Models A2 and B2. Models A1 and B1 read standard 80-column cards at a peak rate of 600 cards per minute. Models A2 and B2 read 80column cards at a peak rate of 1, 000 cards per minute. In all four models, reading is performed by photo-electric cells which read one column at a time. See Section 420:031, System Configuration, for the rules governing the connection of the various 2501 models to a particular System/360 configuration. Cards are fed from a 1, 200-card hopper past a read station and into a single 1, 300-card stacker. Each column is read twice by the 12 photoelectric cells at the read station. The character code sensed by the first reading is sent to a check register; data from the second reading is sent to the buffer register. The contents of the two registers are then compared; failure of this comparison sets the unit check status indic ator . The normal mode of reading for the 2501 uses an extended card code which has 256 valid code combinations. The card codes are automatically translated into the internal EBCDIC 8-bit code. The optional Card Image feature, available for Models B1 and B2, allows a second mode of reading, under program control. In the Card Image mode, 7/65 the information in each card column is read into the low-order six bits of two consecutive byte pOSitions of core storage. The high-order two bits of each byte position are automatically set to zero. This method of column binary reading is compatible with the method used by other System/360 card readers and punches . Reading begins at column 1 and can be terminated, after 1 to 80 columns have been read, by a count specified in the instruction. Reducing the number of columns read does not affect the card reading rate, but it does increase the available computing time per card. To maintain the peak reading speed of 600 cards per minute in Models A1 and B1, the next read command must be given within 47.4 milliseconds after completion of the previous read operation. The corresponding time to maintain the peak reading rate of 1,000 cards per minute in Models A2 and B2 is 7.4 milliseconds. If these limits are exceeded, the reader will be delayed for one full cycle (100 milliseconds for Models A1 and B1, 60 milliseconds for Models A2 and B2), since the 2501 has only a Single clutch point. The 2501 Card Reader contains all necessary control circuits, so no external control unitis required. However, a special adapter is required to connect Model A1 or A2 to aSystem/360ModeI20Processor. Optional Feature Card Image (Models B1 and B2 only): Provides direct input to core storage of any card code, as described above; the code translation and character validity checks are bypassed. This feature is useful for reading column binary cards or any cards using a non- standard code. 420:075.100 IBM System/360 Input-Output 2520 Card Read Punch INPUT-OUTPUT: 2520 CARD READ PUNCH .1 GENERAL .11 Identity: . 2520 Card Read Punch, Models Al and B1. 2520 Card Punch, Models A2, A3, B2, and B3. .12 Description The 2520 is one of a group of new peripheral devices designed specifically for the System/360. Models Al and Bl are functionally identical and provide facilities for both card reading and card punching in a single card path. Reading only, punching only, or combined reading and punching can proceed at a maximum rate of 500 cards per minute. The punching rate of 500 cards per minute is the highest punched-card output rate announced to date by a maj or manufacturer. Models A2 and B2 incorporate only the punching facilities of Models Al and BI, respectively, and have a peak output rate of 500 cards per minute. Models A3 and B3 are slowed-down versions that incorporate only punching facilities and have a peak output rate of 300 cards per minute. The rules governing the connection of the various models of the 2520 to a particular System/360 configuration are presented in Section 420:031, System Configuration. Cards are fed in parallel (row-by-row) from a 1, 200-card hopper, serially (column-by-column) through a solar-cell read station (in Models Al and BI only), in parallel through a punching station, and then into one of two 1, 300-card stackers, selected under program control. In the card read section (models Al and Bl only), checks are made for improper functioning of the sensing mechanism, invalid character codes, off-register punching, and mispositioned cards. Punching accuracy is checked by comparing a signal generated as each hole is punched with the data in the output area. Error cards are automatically directed to Stacker 2. In the normal mode of operation, an extended card code is used which has 256 valid code combinations. Automatic translation takes place between the card code and the internal EBCDIC 8-bit code. An optional Card Image feature, available for Models Bl, B2, and B3, allows the translation circuitry to be bypassed. In this mode the low-order 6 bits of two byte positions in core storage correspond to one card column. When reading, the two high-order bits of each byte are set to zero. This method of column binary reading and punching is compatible with the method used by other System/ 360 punched card devices. In Models Al and BI, cards are automatically halted after reading and prior to punching. Cards can be advanced from the pre-punch station and the input hopper independently or simultaneously. Commands are available to load the punch buffer (contained in core storage) without advancing the cards; punching is initiated by the next read instruction, which always advances the cards at both stations. To maintain peak operating speeds, the following timing considerations must be observed: • Read-only operations (500 cpm) - the next read instruction must be received within 41. 7 milliseconds after completion of the previous operation. • Punch-only operations (500 cpm) - the next punch instruction must be received within 9 milliseconds after completion of the previous operation. o Combined read and punch operations (500 cpni) the next read instruction must be received within 45 milliseconds, or the next punch instruction must be received within 9 milliseconds, after c.ompletion of the previous operation. o Punch-only operations (300 cpm) - the next punch instruction must be received within 18 milliseconds after completion of the previous operation. All models of the 2501 contain the necessary control circuits, so no external control unit is required. However, a special adapter is required to connect Model AI, A2, or A3 to a System/360 Model 20 Processor. Optional Feature Card Image (Models Bl, B2, and B3 only): provides direct input to and from core storage of any card code, as described above; the code translation and character validity checks are bypassed. This feature is useful for reading and punching column binary cards or any cards using a nonstandard code. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 42:076.100 IBM System/360 Input-Output 2560 MFCM INPUT-OUTPUT: 2560 MULTIPLE FUNCTION CARD MACHINE (MFCM) .1 GENERAL .U Identity: . . . . . . . . . . 2560 Multiple Function Card Machine (MFCM). . 12 Description The 2560 is a unique punched-card input-output unit developed especially for the IBM System/360 Model 20. Equipped with two 1, 200-card feed hoppers, a reading station, a punching station, an optional printing station, and five 1, 300-card radial stackers, the 2560 MFCM combines many of the facilities of a card reader, gang punch, summary punch, collator, interpreter, and card document printer in a single unit under storedprogram control. In conjunction with the Model 20 Processing Unit, the 2560 can also perform the functions of a calculator or accounting machine. Cards can be fed independently from either the primary or secondary hopper; they follow separate paths tbrough pre-read, read, and pre-punch stations. The cards are read serially (column-bycolumn) by means of solar cells, at a maximum speed of 500 cards per minute. (This speed is achieved only when no punching or printing is being done on the cards.) The sensing mechanism (which serves both the primary and secondary feed paths) is checked for proper functioning during each read cycle. Checks are also made for invalid character codes, off-register punching, and mispositioned cards. Sixty-four characters of the Extended BCD Interchange Code can be recognized. . Upon leaving the separate primary and secondary prepunch stations, the cards merge into a single feed path tbrough the punch, pre-print, and print stations. (The print station functions only when the optional Card Print feature, described below, is installed.) Then the cards pass on into any of the five stackers, as selected by the program. The rated punching speed is 160 columns per second. The effective speed depends (as in the IBM 1442) upon the position of the last column punched in each card: 7/65 Last column punched, P 10 ~ 60 80 Speed, cards per minute 260 M5 112 91 Formula (cards per minute): 60,000 6.UP + 170 Punching accuracy is checked by comparing a signal generated as each hole is punched with the data in the output area in core storage. Either blank or prepunched cards can be punched. When multiple operations are being performed simultaneously, the overall tbroughput rate is equal to the rate of the slowest operation. Personnel familiar with unit record machines having multiple card paths and card stations, such as a collator, should not experience undue difficulty in programming input-output operations using the 2560 MFCM. Optional Feature Card Print: Provides a printing unit that can print two, four, or six lines of information on any or allcards passing through the MFCM. Each line can hold up to 64 printed characters, spaced 10 to the inch. Each of the 2, 4, or 6 print heads can be manually positioned to print in anyone of 25 line pOSitions, which extend from above the 12-punch . row to below the 9-punch row. Each head can print any of 63 characters, or blanks, as transmitted from core storage under program control. Rated printing speed is 140 character positions per second, regardless of the number of print heads that are simultaneously activated at each position. As in the punch station, actual printing tbroughput depends upon the location of the last position to be printed on the longest line of each card: Last position printed, P Speed, cards per minute 10 40 60 Formula (cards per minute): 296 143 106 60,000 7. 23P + 130 420:081.100 IBM System/360 Input-Output 1403 Printer INPUT-OUTPUT: 1403 PRINTER (MODELS 2, 3,7, AND N1) .1 GENERAL .11 Identity:......... . 12 Description 1403 Printer, Models 2, 3, 7, and N1. Four models of the mM 1403 Printer are available for u~e with the System/360. See Section 420:031, System Configuration, for the rules governing the connection of the various models to a particular System/360 configuration. Model 2 operates at a peak speed of 600 lines per minute and has 132 printing positions. This model is also used in several mM 1400 and 7000 Series data processing systems, where its horizontal-chain printing mechanism has earned it a reputation for high-quality printing. The Numerical Print special feature, which permits speeds of up to 1,285 lines per minute when printing all-numeric data in the older systems, is not available for use in System/ 360. The 1403 Model 2 is analyzed in detail in Section 401:081 of the mM 1401 report. The 1403 Model 3 is a newer, faster version of Model 2, which also has 132 printing positions. It is rated at 1,100 alphameric lines per minute and uses a "train" of type slugs (three characters per slug) moving through a horizontal channel instead of the horizontal-chain printing mechanism used in Model 2. The 1403 Model 3 is analyzed in detail in Section 402:082 of the mM 1410 report. Model 7 is an economy version of Model 2. The size of the print line is reduced to 120 printing positions in Model 7, and the dual-speed skipping feature is not incorporated. Several of the optional features available for Model 2 are not available for Model 7 (see Table I). Peak printing speed remains at 600 lines per minute . The 1403 Model N1 replaces the 2201 Model 3 Printer which was previously offered with some models of the System/360. Model N1 is functionally identical to the 1403 Model 3 except that Model N1 has only 120 printing positions. The most significant physical difference between Model N1 and Model 3 is the addition of a hydraulically-operated acoustical cover to Model N1 in an effort to reduce the noise problem. Table I summarizes the main characteristics of each model. The dual-speed carriage of Models 2, 3, and N1 enables skips of more than 8 lines to be performed at 75 inches per second (600 lines per second at 6 lines per inch). Skips of fewer than 8 lines on these three models, and all skips on Model 7, are performed at 33 inches per second. The printing speeds of the models described here, as a function of average line spaCing, are shown in the graph on page 420:081.121. Line spacing is 6 or 8 lines per inch, set by the operator. Continuous marginally-punched forms from 3.5 to 18.75 inches j.n width can be used. The minimum form depth is 1 inch, while the maximum is 22 inches at 6 lines per inch or 16. 5 inches at 8 lines per inch. TABLE I: CHARACTERISTICS OF 1403 PRINTER, MODELS 2, 3, 7, AND N1 Model 2 Print cycle time at single spacing, msec: Peak speed (with full character set), lines/min: Speed at I-inch line spacing, lines/min: Number of printing positions: Number of printable characters: Skipping speed, inches/sec: Printing mechanism: 100 600 480 132 48 33/75 Horiz. chain Model 3 54.5 1,100 755 132 48 33/75 Horiz. train Model 7 100 600 480 120 48 33 Horiz. chain Model N1 54.5 1,100 755 120 48 33/75 Horiz. train Special features available Numerical Print: Preferred Character Set: Universal Character Set: Selective Tape Listing: Interchangeable Chain Cartridge Adapter: Auxiliary Ribbon Feeding: No No Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes Standard Standard Yes Yes Standard Standard © 1965 AUERBACH Corporation and AUERBACH Info, InC!. 7/65 420:081.120 . 12 Description (Contd.) The printers receive a line of edited output data (one character per byte) from the computer and store it in a line buffer. Each printer makes a timing/echo check on the actuation of the print hammer magnets and compares the data printed with the data in the print buffer. mM 1403 Printers are connected to a System/360 (except Model 20) data channel via a 2821 Control Unit. Several models of this control unit are available for controlling up to three 1403 printers (in any combination of models) and one 2540 Card Read Punch. A special 1, 100-LPM Printer Adapter is required for each 1403 Model 3 or N1 Printer attached. One or more adapters, depending on the special features incorporated in the printer, are required to connect a 1403 Printer to a System/360 Model 20. Optional Features Type font changes in all models can be made by the operator, using removable chain or train cartridges; Models 2 and 7 require the optional Interchangeable Chain Cartridge Adapter, whereas the facility is standard in Models 3 and N1. The optional Selective Tape Listing feature, available for Models 2, 3, and N1, permits up to 13 characters to be printed on each of up to eight 1. 5-inch tapes. The tapes can be individually advanced under program control, but no forms skipping can be done while the feature is in use. Two 1. 5-inch tapes can be replaced by one 3.1inch tape, on which 29 characters can be printed. Any character set normally available for these models can be used. Primary use of this feature has been with magnetic ink character recognition equipment, in providing batch control over checks. For satisfactory utilization of polyester film ribbons, the Auxiliary Ribbon Feeding feature (optional on Models 2 and 7, standard on Models 3 and N1) is recommended. This type of ribbon provides improved print quality and is normally required if the printed documents are to be read by the 1418 or 1428 Optical Character Readers. The Universal Character Set feature, available for Models 2, 3, and N1, makes it possible for a 1403 to print any set of graphics containing up to 240 different characters. The graphics can be arranged in any desired sequence on the print IBM SYSTEM/360 chain (in Model 2) or train (in Models 3 and N1), and selected "preferred" characters can be repeated as many as 15 times around the chain or train to improve the effective printing speed. The Universal Character Set feature uses a special 240-character read/write storage unit within the 2821 Control Unit. Each position in the storage unit corresponds to one graphic on the print chain or train; the code contained in each position defines the internal data code that will cause the corresponding graphic to be printed. The,contents of the 240-character storage unit can/be changed, by means of data loaded from punched c.ards, in order to change the relationships between internal data codes and printed graphics. If a code in the data record being printed fails to match any of the codes in the 240-character storage unit, an error indication will be sent to the processor. Any chain or train configuration previously / announced for mM 1400 Series systems is aVailable for a System/360 equipped with the Universal Character Set feature. In addition, mM offers six new chain/train arrangements which are designed for efficient performance in functions such as commercial and scientific text printing, commercial applications of FORTRAN and COBOL, and use of the PL/I language. The "TN" arrangement, for example, contains 120 graphics, including both upper and lower case alphabetics, digits, superscripts, and a variety of special symbols; the full 120-character set occurs twice on the 240-character chain or train. The "QN" arrangement contains 60 graphics; 45 "preferred" graphics are repeated five times around the chain or train, while the other 15 graphics occur only once. The Universal Character Set feature also permits users to design chain or train arrangements tailored to their own special needs. Speeds attained with the Universal Character Set feature depend upon the frequency of appearance upon the print chain or train of the characters to be printed. The chain or train always moves past the printing positions at the same speed, so the character sets containing the largest number of different characters yield the slowest printing speeds. When a 120-character text printing arrangement is used, nominal speeds for singlespaced printing are 273 lines per minute for Model 2 and 563 lines per minute for Models 3 and N1. In no case can the printing speed exceed 750 lines per minute in Model 2 or 1,400 lines per minute in Models 3 and N1. (Contd. ) 7/65 INPUT-OUTPUT: PRINTERS 420:081.121 EFFECTIVE SPEEDS OF SYSTEM/360 PRINTERS 6,000 5,000 4,000 3,000 2,000 roo... 1,000 900 800 "" "- K. .......... """- 700 600 Printed Lines Per Minute i""" 500 """- 400 r-..; I- r-... 200 1403 MLel 2* ~I r-... roo... 300 - ~ --r---. deis 3, N1* ""'" t"-o ""'" ~ f'.. l' .... ....... '" ~ 100 90 80 70 ~ ~ ~ - ---r------ ~ r--. ~ r-----.- r-----I--- 60 50 40 30 20 o 1/2 1 2 3 4 5 Interline Spacing in Inches * With standard 48-character chain/train. ** With 52-character typebar. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 420:082.100 IBM System/360 Input-Output 1404 Printer INPUT-OUTPUT: 1404 PRINTER .1 GENERAL .11 Identity: . . . . . . . . . . 1404 Printer, Model 2. . 12 Description The 1404 Printer uses the same horizontal-chain printing mechanism, tape-controlled carriage, and continuous-form feeding and stacking system as the 1403 Printer, Model 2, used with the System/360 and other mM systems. Like the 1403 Model 2, it has 132 printing positions and a peak speed of 600 lines per minute. In/addition, the 1404 has a feeding and stacking system for card forms. By unlocking a single knob, tlie entire printing assembly can be moved laterally to print on either continuous forms or cards (but not on both during the same run) . The card transport mechanism can handle single 51- or 80-column cards, 80-column cards with 80-column stubs, or two 51- or 80-column cards fed side by side ("two-up"). Peak speed, when feeding two cards at a time and printing one line per card, is 800 cards per minute. Up to 25 lines can be printed on a standard mM card. Section 401:082 of the mM 1401 report contains a more complete description of the 1404 Printer. Deliveries of the 1404 started in 1962. Cards can be printed on either side depending on how they are loaded into the hopper; however, cards are stacked in reverse of the order in which they are loaded into the hopper. This condition will present file sequencing problems if additional processing is required. 7/65 With the optional Read-Compare special feature, up to 30 columns of punched information (specified by plugboard wiring) read from the card itself can be printed on the card during the same pass (or used for computation by the system, with the results printed on the same card during the pass). The Interchangeable Chain Cartridge Adapter special feature is available, as on the 1403 Printer, to adapt the printer for convenient changing of type fonts for special printing jobs. The variations in card feeding and printing rates, as the number of printed lines per card varies, are shown in the following table. Lines printed per card 1 2 4 8 16 Speed, cards per minute (one-up!two-up) 400/800. 240/480. 136/272. 72/144. 37/74. Printing speed on continuous paper forms, as a function of average line spacing, is shown by the curve for the 1403 Model 2 in the graph on Page 420:081. 121. A single 1404 is controlled, buffered, and connected to a System/360 channel by a 2821 Control Unit, Model 4. See Section 420:031, System Configuration, for the rules governing the connection of a 1404 Model 2 Printer to a particular System/360 configuration. 420:083.100 IBM System/360 Input-Output 1443 Printer INPUT-OUTPUT: 1443 PRINTER .1 GENERAL • 11 IdentitY:......... • 12 Description 1443 Printer, Model N1. The 1443 Printer is a low-speed line printer originally developed for use with the mM 1440 system. The 1443 utilizes a horizontal oscillating typebar printing mechanism whose chief advantage is rapid interchangeability of character sets. Peak speed, using the standard 52-character set, is 240 singlespaced or double-spaced lines per minute. Using the optional character sets, peak speeds range from 200 to 600 single- or double-spaced lines per minute: • 13-character set 600 lines per minute • 39-character set 300 lines per minute • 52-character set 240 lines per minute • 63-character set 200 lines per minute. See the graph on page 420:081.121 for the effective speeds of the ,1443 Printer when multiple-line skips are made between printed lines. The standard printed line is 120 characters long, at a horizontal spacing of 10 characters to the inch. An additional 24 printing positions are available as an optional feature. Line spacing can be set at six or eight lines per inch by an external switch. Continuous fanfold, sprocket-punched forms can vary from 4 to 16.75 inches in overall width. Maximum form length is 22 inches at 6 lines per inch and 16. 5 inches at 8 lines per inch. Skipping speed is © approximately 15 inches per second, and skipping and spacing are controlled by a 12-channel paper tape loop. All editing and format control is performed by the stored program; there is no plugboard. A "sync" check is made to insure that each print hammer was actuated at the proper time. A print error causes the setting of a testable indicator. The 1443 Model N1 contains its own control circuits and storage buffer, so no separate control unit is required for use in the System/360. See Section 420:031, System Configuration, for the rules governing the connection of Model N1 to a particular System/360 configuration. Operational Features Selective Character Set feature: Required for use of any of the optional typebars described below. Character Sets: Can be interchanged with the standard typebar in approximately 15 seconds. A dial must be manually set to the proper number of characters. The following sets are available: * • 13-character: 0-9 and specials . - • 39-character: 0-9, A-Z, and specials. , $ • 52-character: 0-9, A-Z, and 16 specials • 63-character: 0-9, A-Z, and 27 specials. Additional Print Positions: Provides 24 additional print positions, expanding the print field from 120 to 144 positions. Printer operation is unchanged. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 420:084.100 IBM System/360 Input-Output 1445 Printer INPUT-OUTPUT: 1445 PRINTER .1 GENERAL .11 Identity: . . . . . . . . . . 1445 Printer, Model Nl. . 12 Description The 1445 Printer, Model Nl, is a modified version of the 1443 Printer (Section 420:083) that can print both the A. B.A.-approved font E-13B characters and conventional characters in magnetic ink. The standard character set contains 56 characters: 26 alphabetics, 10 numerics, 6 special symbols, and the 14 font E-13B symbols. The magnetic-ink ribbon feed can be r.eplaced by a conventional ribbon feed for conventional printing requirements. The peak printing speed, using the standard character set, is 190 lines per minute. The 1445 Printer, Model Nl, is presently available for use with the System/360 Model 30 only. 7/65 There are 113 print positions on a line, spaced at 8 characters per inch across a print span of 14 inches. Vertical spacing can be set at six or eight lines per inch, as in the 1443. Forms feeding and sizes are the same as for the 1443 printer . The Selective Character Set special feature provides a choice of two· non- standard typebars. The 14-character (numeric plus specials) typebar allows a peak printing rate of 525 lines per minute. The 42-character alphameric type bar (alphabetics, numerics, and six specials) allows printing speeds up to 240 lines per minute when the Font E-13B symbols are not required. The 1445 Printer, Model Nl, contains its own control circuits and storage buffer, and can be connected directly to a control unit position of either a Multiplexor or Selector channel. First customer delivery of a 1445 Printer was made in May, 1965. 420:085.100 IBM System/360 Input-Output 2203 Printer INPUT-OUTPUT: 2203 PRINTER .1 GENERAL . 11 Identity:......... . 12 Description 2203 Printer, Model AI. The 2203 Printer is a speeded-up version of the 1443 Printer. Currently, the 2203 is available only for the Model 20, and it requires a special attachment on the processor, as do other Model 20 peripheral devices. The peak speed with the 52character set, the one most commonly used, is 350 single-spaced lines per minute. Using optional character sets, peak speeds range from 300 to 750 single-spaced lines per minute: and spacing are controlled by a 12-channel paper tape loop. Two sets of forms can be printed simultaneously or independently, under program control, with the Dual Feed Carriage optional feature . All editing and format control is performed by the stored program; there is no plugboard. A "sync" check is made to insure that each print hammer was actuated at the proper time. Optional Features Character Sets: Can be interchanged with the standard typebar in approximately 15 seconds. A dial must be manually set to the proper number of characters. The following sets are available: • 13-character set 750 lines per minute. • 39-character set 425 lines per minute. • 13-character: 0-9 and specials • 52-character set 35.0 lines per minute. • 39-character: 0-9, A-Z, and specials. , $ • 63-character set 300 lines per minute. • 52-character: 0-9, A-Z, and 16 specials • 63-character: 0-9, A-Z, and 27 specials. The effective speeds for larger interline spacings with the 52-character set are shown in the graph on page 420:081.121. The standard printed line is 120 characters long, at a horizontal spacing of 10 characters to the inch. An additional 24 printing positions are available as an optional feature. Line spacing can be set at six or eight lines per inch by an external switch. Continuous fanfold, sprocket-punched forms can vary from 4 to 16.75 inches in overall width. Maximum form length is 22 inches at 6 lines per inch and 16.5 inches at 8 lines per inch. Skipping speed is approximately 15 inches per second, and skipping © .-* Additional Print Positions: Provides 24 additional print positions, expanding the print field from 120 to 144 positions. Printer operation is unchanged. Dual Feed Carriage: Two tape-controlled paper drive units are provided, one at each end of the platen. Two sets of forms can be printed upon and advanced individually or in unison under program control. The main carriage has a 12channel tape; the other carriage tape has 6 channels standard, with an additional 6 optional. The 13-character set cannot be used in combination with this feature. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 420: 091. 100 IBM System/360 Input-Output 2400 Series Magnetic Tape Units INPUT-OUTPUT: 2400 SERIES MAGNETIC TAPE UNITS .1 GENERAL .11 Identity: Note: . 12 . 2401 Magnetic Tape Unit, Models 1, 2, 3. 2402 Magnetic Tape Unit, Models 1, 2, 3. 2403 Magnetic Tape Unit and Control, Models 1, 2, 3. 2404 Magnetic Tape Unit and Control, Models 1, 2, 3. 2803 Tape Control. 2804 Tape Control. 2816 Switching Unit, Modell. This report section does not cover the 2415 Magnetic Tape Unit; see Section 420:093. on each character rather than a bit-by-bit comparison of the recorded character code with the correct one. The methods used to check that the data has been read correctly from magnetic tape into the System/ 360 computers are distinctly different from the checking methods used in the older IBM magnetic tape units. The parity of each individual character and the parity of each tape row are checked, as before. In addition, a new check called the Cyclic Code Check is performed upon each tape block, or physical record. This check is based upon an eight-bit character which is computed from the data characters during the write operation and recorded at the end of the tape block. During the read operation this check character is recomputed, and the neWly-computed version is compared with the check character that was originally recorded . Description The new IBM 2400 Series Magnetic Tape Units read and record data in 9 tracks (8 data, 1 parity) on half-inch tape at a density of 800 bytes per inch. Each byte holds one alphameric character or two decimal digits and is transferred to or from core storage without translation, packing, or unpacking. The ability to read backward is a standard feature that will help to speed tape sorting operations. The 2400 Series includes the following tape drives, tape controls, and combination units: • 2401 Magnetic Tape Unit (one drive). • 2402 Magnetic Tape Unit (two drives in a single cabinet). • 2403 Magnetic Tape Unit and Control (one drive and a read or write control). • 2404 Magnetic Tape Unit and Control (one drive and a simultaneous read-write control). • 2803 Tape Control (read or write) . • 2804 Tape Control (simultaneous read-write). Each of the four tape drives (2401, 2402, 2403, and 2404) is available in three models, whose characteristics are summarized in Table 1. See Section 420:031 for the rules governing the connection of these magnetic tape units to a particular System/360 configuration. Checking that correct information has been recorded upon the tape is handled, as in the 7-track IBM 729 tape units, by reading back each character after it has been recorded. With the increased number of tracks, the degree of assurance provided by this check is appreciably reduced because the readafter-write check consists of a simple parity check © 1965 The 2400 Series magnetic tape equipment has the ability to reconstruct small amounts of data lost through any cause. The first bit lost from any tape block can always be recovered, and in favorable circumstances it may be possible to reconstruct additional bits. The data reconstruction occurs during an automatic repeat read operation which edits the data being read through the use of special circuitry. Each tape control can control up to eight tape drives of any model. The simultaneous readwrite controls connect to two channels and permit a read operation on one tape drive to be overlapped with a write, erase, or write tape mark operation on another drive connected to the same control. Tape controls can be connected to either Selector or Multiplexor Channels. When a Multiplexor Channel is used, the tape control always operates in the "burst mode" (i. e., no other I/O device can use the channel simultaneously and, in Models 30 and 40, no overlapped internal processing can occur). The basic IBM 2816 Model 1 Switching Unit permits four 2400 Series tape drives to be addressed by either of two single-channel tape controls under program control. Various adapters are available to permit up to four single-- channel control units to address a common pool of up to eight tape drives. With the 16-Drive Addressing feature and a second 2816 Model 1 Switching unit, up to 16 tape drives can be addressed by 2, 3, or 4 controls. Any 2400 Series tape units and controls except the dual-channel models 2404 and 2804 can be included in the tape-SWitching pool. The control units in this pool can be connected to separate channels of the same processing unit or to channels of different processing units. In general, there can be as many simultaneous magnetic tape data transfer operations as there are control units in the pool. Thus, in the maximum configuration, any 4 of the 16 tape drives in the pool can be simultaneously transferring AUERBACH Corporation and AUERBACH Info, Inc. 7/65 420:091.120 . 12 IBM SYSTEM/360 Description (Contd.) data. Note that each control unit must be addressed individually by the program; i. e., an I/O command to a magnetic tape unit in this pool that is directed to a busy controller will not be automatically switched to a non-busy controller. The optional Seven-Track Compatibility feature enables a 2400 Series tape drive and control to read and write seven-track tape at a density of 200, 556, or 800 characters per inch, thereby achieving tape compatibility with the IBM 729 and 7330 Magnetic Tape Units used in most current IBM systems - and with many competitive tape units. Conversions between the seven-track BCD tape code and the System/360 code are performed automatically. Tapes written in seven-track format by a System/360 can be read backward, but tapes written by other systems cannot. This compatibility feature also permits the System/360 to read tapes recorded on IBM 7701 and 7702 Magnetic Tape Terminals. A tape drive can have either a nine-track or a seven-track head installed, but not both. .213 Feed drive: . . . . . . 214 Take-up drive: .. · 22 · 13 Availability:.......? . 14 First Delivery: . . . . . April, 1965. .2 PHYSICAL FORM · 21 Drive Mechanism . 211 Drive past the head: .. · 212 ReservoirsNumber: . . . . . . . . Form: . . . . . . . . . . Capacity: . . . . . . . . 7/65 pinch roller friction. 2. vacuum columns. about 7 feet. Sensing and Recording Systems .221 Recording system: ... magnetic head. .222 Sensing system: . . . . . magnetic head. · 223 Common system: . . . . two-gap head provides readafter-write checking. .23 Multiple Copies: . . . . none. · 24 Arrangement of Heads Use of station: . . . . . . recording. Stacks: . . . . . . . . . 1. Heads/ stack: . . . . . . 9. Method of use: . . . . . 1 row at a time. Use of station: . . . . . . sensing. Distance: . . . . . . . . . 0.3 inch after recording head. Stacks: . . . . . . . . . . . 1. Heads/ stack:. . . . . . . 9. Method of use: . . . . . 1 row at a time. Use of station: . . . . . . 2-stack unit, as above, for recording and sensing 7track tapes (optional feature; replaces 9-track heads). Stacks: . . . . . . . . . . . 1 for recording, 1 for sensing. Heads/ stack:. . . . . . . 7, as special compatibility feature, in place of standard 9-head stack. Method of use: . . . . . 1 row at a time. Installations using the Seven- Track Compatibility feature may also add the Data Conversion feature, which converts three 8-bit System/360 bytes to four 6-bit tape characters or vice versa. The Data Conversion feature facilitates the handling of binary data on seven-track tapes. These binary tapes can be read only in the forward direction. All operations performed by the tape controls and tape units result from the four basic System/360 input-output instructions: Start I/O, Test Channel, Test I/O, and Halt I/O. The Test Channel instruction permits general testing of channel status, while the Test I/O instruction presents more detailed information about channel and device status and the presence of errors. The Halt I/O instruction provides for. an arbitrary termination of an operation. The Start I/O instruction initiates an input-output operation based on one of six possible input-output commands found in a Channel Command Word located in main storage: Read, Write, Read Backward, Control, Sense, and Transfer In Channel. These general commands are interpreted for the device specifically addressed. The first three transfer data to or from main core storage. The Sense instruction permits more detailed interrogation of status and error conditions of the device, and the Control command initiates various control operations of the device (backspace, reWind, etc.). Transfer In Channel causes a transfer to a different area of main storage for obtaining subsequent Channel Command Words. motor . motor. .3 EXTERNAL STORAGE .31 Form of Storage .311 Medium:. . . . . . . plastic tape with magnetizable coating. .312 Phenomenon: . . . . . . . magnetization. .32 Positional Arrangement .321 Serial by: . . • . . • . . . 12 to N rows at 800 rows per inch; N limited by available core storage. .322 Parallel by: . . . . . . . 9 tracks, standard. 7 tracks, using SevenTrack Compatibility special feature. .324 Track useData: . . . . . . . . . . . 8. Redundancy check: . . 1. Timing: . . . . . . . . . o (self-clocking). Control signals: ... . o. Unused: .. . O. Total: . . . . . . . . . . 9 . With optional Seven-Track Compatibility feature Data: . . . . . . . . . . . 6 . Redundancy check: . . 1. Timing: . . . . . . 0 (self- clocking). Control signals:. o. Unused: . . o. Total: . . . . . . . 7. (Contd. ) INPUT-OUTPUT: 2400 SERIES MAGNETIC TAPE UNITS .325 Row useData: • • • . • . . . . . . Redundancy check: .. Timing: . . . . . . . Control signals: . . . . Unused: . . . . . . . . . Gap: O. O. O. O. 6 inch (nominal). See Data Code Tables, Section 420:141. Com~atibility: .34 Format . 35 Physical Dimensions with IBM 729 and 7330 tape units when optional SevenTrack Compatibility feature is used. .351 Overall width: . . . . .352 Length: 0.5 inch. 50 to 2,400 feet per reel. ........ .4 CONTROLLER . 41 Identity: . . . .42 2403 Magnetic Tape Unit and Control (single channel). 2404 Magnetic Tape Unit and Control (simultaneous read/write capability). 2803 Tape Control (single channel). 2804 Tape Control (simultaneous read/write capability) . Connection to System .421 On-line 2403, 2803: . . . . each requires one available control unit position on a System/360 Multiplexor or Selector Channel. 2404, 2804: . . . . . . . each requires one available control unit position on each of two System/360 Multiplexor or Selector Channels. .422 Off-line: . . . . . . . . . none. .43 The control units used are the single-channel units (2403, 2803). The basic 2816 switch provides switching between two tape controls and four tape drives. The largest system permits switching between 4 tape control units and 16 tape drives. 1 to N. 2. ........... Coding: . . . . . . . . . . one 8-bit byte per tape row . .33 420:091.325 Connection to Device .431 Devices per controller: 1 to 8 tape drives total, in any combination of 2401's or 2402's, unless 2816 Model 1 Switching Units are connected. In this case, the single-channel control units (2403, 2803) can address up to 16 tape drives. .44 .441 Size of load: . . . . . . . .442 Input-output areas: ... .443 Input-output area access: . . . . . . . . . . 444 Input-output area lockout: . . . . . • . . . • Permits a control unit to address up to 16 tape drives (using two 2816's, Modell). © each byte . .5 PROGRAM FACILITIES AVAILABLE .51 Blocks .511 Size of block: . . . . . . 1 to N bytes, limited by available core storage. .512 Block demarcation Input: . . . . . . . . . . . gap on tape or count in command. Output: . . . . • . . . • . count in command. .52 Input-Output Operations .521 Input: . . • • . . . . . • . . read data from tape, forward or backward, into core storage, with input stopped by count or gap. Data read backward is placed in descending .order in main storage. · 522 Output: . • . . . • . . . . . write one block forward from core storage. · 523 Stepping: none. skip forward and erase · 524 Skipping: defective tape areas. skip one block forward or backward during a read operation, with data transfer inhibited. · 525 Marking: . . . . . inter-block gap. end-of-file mark (tape mark) . . 526 Searching: . . . . . . . . none. .53 Code Translation: ... matched codes (i. e., no translation), except when using the optional SevenTrack Compatibility feature. In that case, translation between internal 8-bit bytes and 6-bit BCD tape codes is automatic. With 7track recording, the optional Data Conversion feature permits three 8-bit bytes to be recorded as four 6-bit tape characters. .54 Format Control: . . . . none. The 2816 Switching Unit: Permits a group of tape drives to be addressed by anyone of up to four control units, under program control. 1 to N bytes. core storage. blocks of 2, 048 bytes can be protected (optional on Model 30 and 40 Processing Units, standard on larger models) . .445 Table control: . . . . . . yes, using data chaining in Channel Command Words . . 446 Synchronization: . . . . automatic. 2816 Switching Unit, Modell • Data Transfer Control 1965 AUERBACH Corporation and AUERBACH Info, Inc. IBM SYSTEM/360 420:091.550 . 55 Control Operations .8 Request interrupt: ... automatic. Select format: . . . . . . yes (using optional Data Conversion feature with 7 - track recording). Select code: . . . . . see "format" above. yes. Rewind: . . . . . . . yes. Unload: . . . . . . . . .56 Error Check or Interlock Recording: read-after-write parity check lateral, longitudinal, and cyclic parity checks set indicator. byte count check Storage Protection set indicator. program interrupt. Reading: Testable Conditions Disabled: . . . . . . . . . Busy device: . . . . . . . Output lock: . . . . . . . Nearly exhausted: ... Busy controller: . . . . End of medium marks: File protect condition: . .6 PERFORMANCE . 61 Conditions: . . . . .62 ERRORS, CHECKS AND ACTION yes. yes. yes. no. yes. yes. yes. standard operation of 2400 Series tape drives, except where use of the optional Seven-Track Compatibility feature is indicated. Input area overflow: Output block size: byte count check Invalid code: all 8-bit codes are valid. Imperfect see recording check, medium: above. Timing coninterlock flicts: Invalid command: check by channel Speeds .621 Nominal or peak speed (bytes/sec): Standard Operation Modell: 30,000 Seven-Track Compatibility Feature 7, 500 at 200 bits/inch 20, 800 at 556 bits/inch 30,000 at 800 bits/inch Model 2: 60,000 15,000 at 200 bits/inch 41,700 at 556 bits/inch 60,000 at 800 bits/inch Model 3: 90,000 22, 500 at 200 bits/inch 62,500 at 556 bits/inch 90,000 at 800 bits/inch. .622 bnportant parameters: see Table I. .623 Overhead: . . . . . . . . . see Table 1. .624 Effective speeds: ..•. see Table 1. (See also graph of effective speed, Page 420:091.900.) .63 Demands on System: .. varies with System/360 model and type of channel used; see Simultaneous Operations, Section 420:111. .7 EXTERNAL F ACIIJTIES .73 Loading and Unloading .731 Volumes handled Reel: . . . . . . . . . . . 2,400 feet; holds a maximum of 15,600,000 bytes when in blocks of 1, 000 bytes. .732 Replenishment time: .. 1. 0 to 1. 5 minutes; tape unit must be stopped. . 734 Optimum reloading period Modell: . • . . . . . . . 12.9 minutes. Model 2: . . . . • . . . . 6. 5 minutes. Model 3: . . . • . . . . . 4.3 minutes. Invalid data address: check Data or command chaining error: check Channel control signal parity error: check I/O interface invalid signal (timing, parity, wrong bit combinations, format): check Input rate too high for address resolution: check Note: set indicator and prepare for rereading with attempted reconstruction of bad data. set indicator. wait, or set indicator and interrupt. program-check or interruption condition set. terminate operation; set indicator; interrupt. set indicator. set indicator; possible terminate operation. terminate operation, set indicator. terminate operation, set indicator. These error indications and other status information are tranEmitted from the Tape Control to core storage in response to a Sense Command . (Contd. ) INPUT-OUTPUT: 2400 SERIES MAGNETIC TAPE UNITS 420:091.900 EFFECTIVE SPEED 2400 SERIES TAPE UNITS 1,000,000 7 4 2 100,000 ModelS 7 4 Bytes per Second ~ 10,000 7 ./ 4 1,000 .~ LL V ~"" ~ ----- ~ ",; 1-0-"" Model 2 I MJde~ 1 ~ ./ ~ !;i' ~ I'" V "" ~ "" ./ 2 2 --- ~ ~ / i..- )1 V V ~ 7 4 2 100 10 2 7 4 2 100 4 7 2 4 1,000 7 10,000 Bytes per Block TABLE I: CHARACTERISTICS OF IBM 2400 SERIES MAGNETIC TAPE UNITS Model No. Tape Recording Speed, Density, inches bits per per sec inch Peak Speed, bytes per sec Interb~~ck Gap Lengths nominal) incbes msec (1) Efficiency, % (3) bytes (2) 100-byte blocks 1,000-byte blocks Demand on Core Storage, % Full Rewind Time, minutes 1 37.5 800 30,000 0.6 16.0 480 17.2 67.5 (4) 2 75.0 800 60,000 0.6 8.0 480 17.2 67.5 (4) 1.4 3 112.5 800 90,000 0.6 5.3 480 17.2 67.5 (4) 1.0 (1) (2) (3) (4) 3.0 Time in milliseconds to traverse each interblock gap when reading or writing consecutive blocks. Number of byte positions occupied by each interblock gap. Effective speed at the indicated block size, expressed as a percentage of peak speed. Varies widely with System/360 model and type of channel used; see Simultaneous Operations, Section 420:111. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 420:092: 100 IBM System/360 Input-Output 7340 Hypertape Drive INPUT-OUTPUT: 7340 HYPERTAPE DRIVE .1 GENERAL . 11 Identity: . .12 Description The IBM 2816 Model 2 Switching Unit permits four or eight Hypertape Drives to be switched to any one of up to four 2802 controls, under program control. With the 16-Drive Addressing feature and a second 2816 Model 2 Switching Unit, up to 16 drives can be switched between 2, 3, or 4 controls. 7340 Hypertape Drive, Model 3. The 7340 Model 3 is a new version of IBM's cartridge-loaded Hypertape Drive that operates at either of two recording densities: 1,511 or 3,022 bytes per inch. At the 3,022 byte-per-inch densitythe highest density yet announced for a commercial magnetic tape drive - a data transfer rate of 340,000 bytes per second (or 680, 000 packed decimal digits per second) will be achieved. At the 1,511 byte-per-inch density, the 7340 Model 3 can read tape written by the 7340 Modell or 2 Hypertape Drives used in other IBM systems, with character .code translations performed by the System/360 program. According to IBM, tapes written by Model 3 can be read by Models 1 and 2, despite the fact that Model 3 tapes have a shorter interblock gap. The data transfer rate at the lower density is 170,000 bytes (or 340,000 digits) per second. Density is selected under program switch control. Ten tracks are recorded on one-inch-wide tape. Eight tracks are used for data (one byte per tape row), and two tracks are used for double odd parity checking. This enables the Hypertape Drive to detect all single and double bit read and write errors and, during reading, to correct all single-bit errors and 33 of the possible 45 double-bit errors, including all double-bit errors in adjacent tracks. The read-write head is located in a port at the side of the ri.ght-hand vacuum column. The surface of the head is shaped in such a way that, as the tape moves past the head for reading and recording, an air film is created which lifts the tape slightly off the head. IBM states that the tape is in contact with the head only when the tape is stationary. A major feature of the Hypertape Drive is its cartridge loading technique, which facilitates tape handling and reduces the posibility of tape contamination or damage. Supply and take-up reels holding 1,800 feet of tape are enclosed in l\. sealed cartridge that measures about 17 by 10 by 2 inches and weights about 8 pounds. The operator loads a reel of tape by simply raising the top cover, sliding the cartridge into place, lowering the cover, and depressing the load-unload button. Then the tape reels move backward to engage the hubs, the tape is lowered into the vacuum columns, and the read-write head moves into position. Unloading is accomplished by reversing the procedure. It is not necessary to rewind the tape before unloading. The file protection device on each cartridge can be turned on manually or by program control; resetting must be done manually when the cartridge is not loaded on the drive. Except for the addition of the 3, 022 byte-per-inch density, the 7340. Model 3 is quite similar to the 7340 Modell as analyzed in Section 417:093 (IBM 7080). Tape speed is 112. 5 inche~ per second, "nominal read/write access time" is 3.5 milliseconds (compared to 4.2 in Modell), and rewind time is 1. 5 minutes per full reel. Hypertape Drives can read backward as well as foward. Interblock gap spacing is reduced to 0.38 inches, nominal, from 0.45 inches in ModelL (The 7340 Model 2 Hypertape Drive is used in the IBM 1401, 1410, and 1460 systems. Model 2 operates at a tape speed of 22.5 inches per second, which reduces the data rate to 34, 000 bytes per second.) Up to eight 7340 Model 3 Hypertape Drives can be connected to a 2802 Hypertape Control, which requires an available control unit position on a MuItiplexor or a Selector Channel. See Section 420:031, System Configuration, for the ruIes governing the connection of Hypertape Drives and Controls to a particuIar System/360 configuration. The 2802 Hypertape Control Unit can control either a read or write operation, but not both at one time; no dual-channel controller is yet available for Hypertape in the System/360. A MuItiplexor Channel (or a Selector Channel when used with a Model 30 processor) can operate only with the Hypertape Drive set at "low" density (170,000 bytes per second). Data chaining cannot be used with Hypertape Drives on Model 30 and 40 Processing Units. Note also that the 2802 Hypertape Control carmot be attached to a ?ystem/360 Model 30 or Model 50 Multiplexor Channel if the Additional Multiplexor Subchannels feature is installed. An optional Automatic Cartridge Loader unloads one Hypertape cartridge and loads another in less than 30 seconds under manual or program control. .13 Availability:... ? .14 First Delivery: ? (7340 Model 2's were delivered in December, 1963. ) ·2 PHYSICAL FORM · 21 Drive Mechanism · 211 Drive past the head: . . tape is drawn past readwrite head by vacuum action of reservoirs. (Contd. ) 7/65 AUERBAC~ INPUT-OUTPUT: 7340 HYPERTAPE DRIVE .212 ReservoirsNumber: . . . . . • . . . Form: . . . . . . . . . . Capacity: . . . . . . . . . 213 Feed drive: . . . . . . . • .214 Take-up drive: . . . . . .22 2. vacuum columns. about 4 feet . motor. motor. Sensing and Recording Systems . 221 Recording system: ... magnetic head . .222 Sensing system: . . . . . magnetic head .223 Common system: . . . . two-gap head provides readafter-write checking. .... none. .23 Multiple Copies: .24 Arrangement of Heads . . . .. Use of station: Stacks: . . . . . . . . . . . Heads/ stack: . . . . . Method of use: . recording . 1. 10. 1 row at a time . sensing. Use of station: ... Distance: . . . . . . . . . 0.150 inch after recording head. Stacks: . . . . . . . . . . . 1. Heads/ stack: . . . . . . . 10. Method of use: . . . . . . 1 row at a time. Use of station: . . . . . . erase. Distance: . • . . . . . . . precedes read-write head and is located at reverse side of tape. Stacks: . . . • . . . . . . . 1. Heads/ stack:. . . . . . . 1. Method of use: . . . . . . all tracks at a time. 420:092.212 .34 Format Compatibility: only with 7340 Modell or 2 Hypertape Drives at 1,511 bytes per inch. . 35 Physical Dimensions . 351 Overall width: . . 352 Length: . . . . . .4 CONTROLLER .41 Identity: . . . . . . . . .42 Connection to System 1. 0 inch . 1,800 feet per cartridge. IBM 2802 Hypertape Control. .421 On-line:. . . . . . . .. one 2802 Control per available control position on Multiplexor or Selector Channel. Multiplexor Channels in any System/360 and Selector Channels in a System/360 Model 30 will operate only at the 170,000 byteper-second (low density) rate. .422 Off-line: . . . . . . . . . none. .43 Connection to Device .431 Devices per controller: . . . . . . 1 to 8 tape drives, unless 2816 Model 2 Switching Units are connected. In this case, a 2802 Control can address up to 16 tape drives. 2816 Switching Unit, Model 2 .3 EXTERNAL STORAGE The 2816 Switching Unit: .31 Form of Storage • Permits a group of tape drives to be addressed by anyone of up to four control units, under program control. • Permits a control unit to address up to 16 tape drives (using two 2816's, Model 2) . . 311 Medium: . . . . . . . plastic tape with magnetizable surface. . 312 Phenomenon: . . . . . . • magnetization. . 32 Positional Arrangement . 321 Serial by: .. 1 to N rows at 1,511 or 3,022 rows per inch; N is limited by available core storage . . 322 Parallel by: . . . . . . . 10 tracks. .44 .324 Track useData: . . . . . . • . . . . 8. .441 Redundancy check: . . 2. .442 Timing: . . • • . . . . • o (self-clocking). .443 Control signals: ... . o. Unused: . . . . . . . . . O. .444 Total: 10. . 325 Row use Data: . . . . . . . . . . Redundancy check: . Timing: . . . . . . . . Control signals: ... Unused: . . . . . . . . Inter-block gap: .. • 33 Coding:........ . . . . . 1 to N. O. O. O. O. 0.38 inch (nominal). one 8-bit byte per tape row. The basic 2816 switch provides switching between two tape controls and four tape drives. The largest system permits switching between 4 tape control units and 16 tape drives. Data Transfer Control Size of load: . . . . . . . 1 to N bytes. Input-output areas:. . . core storage. Input-output area access: . . . . . . . . . each byte. Input-output area lockout: . • • . . . . . . . . . blocks of 2, 048 bytes can be protected (optional on Model 30 and 40 Processing Units, standard on larger models). .445 Table control: . . • . . . yes, using data chaining in Channel Command Words. (Models 30 and 40 permit no data chaining using the 7340.) .446 Synchronization: ..•. automatic. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360 420:092.500 .5 PROGRAM FACILITIES AVAILABLE . 51 Blocks · 511 Size of block: Note: data presented is for the common tapelimited condition, in which case the tape unit passes the gaps at full tape speed . Under compute-limited conditions, the gap can increase in size by an approximate maximum of 0.2 inches, and the interblock time can increase by an approximate maximum of 2.5 milliseconds. The tape drive will continue to pass tape at full speed if an order is given to it within 1 millisecond after detection of the gap terminating the previous read or write operation. 1 to N bytes; limited by available core storage. · 512 Block demarcationInput: ..•..••...• gap on tape. Output: . . • • . . . • . . count in command. .52 Input-Output Operations .521 Input: . . . . . . . . . . . . read data from tape, forward or backward, into core storage, with input stopped by count or gap . • 522 Output: ..•.•.••..• write one block forward. .523 Stepping: . • . . . . . . . none. · 524 Skipping: . . . . . . . . . skip one block forward (space) or backward (backspace) . skip forward or backward to tape mark or end-of-tape marker. skip forward and erase (to skip defective tape areas). • 525 Marking: . . . . • • . . . interblock gap. end-of-file mark (tape mark). • 526 Searching: . • . . . • • • none. .53 Code Translation: ... matched codes, from tape rows to bytes in core storage. .54 Format Control: . . . . recording density (1,511 or 3,022 bytes per inch). .55 Control Operations Disable: • . . • . . . . . Request interrupt: ... Select format: . . . . . • Select code: .•...•. Rewind: ... ' ... . Unload: . . . . . . . . . . Enter fUe-protect status: . . . . . . . . . .56 disabled after unloading. automatic. density only. no. yes. yes. .62 Speeds · 621 Peak speedI: . . . . . . . . . . . . . 170,000 bytes/sec. II: . . . . . . . . . . . . . 340,000 bytes/sec. · 622 Important parameters Recording density: .. 1,511 rows/inch at low density. 3,022 rows/inch at high density. Tape speed: . . . . . . 112.5 inches/sec. Start time: ..•• ' ... 3.0 msec maximum . Stop time: . . . . . . . 3.0 msec maximum. Full rewind time: ... 1. 5 minutes. Rewind speed: . . . . . 225 inches/sec. Inter-block gap: . . . . 0.38 inch . . 623 Overhead: . . . . . . . . . 3.5 msec/block, plus 0.25 to 0.5 msec for synchronization characters in record . . 624 Effective speeds (in tape-limited applications)I: . . . . . . . . . . . . . 170, OOON/(B + 655) bytes/sec. II: . • . • • . . . . . . . . 340, OOON/ (B + 1, 2·28) bytes/ sec. where B = number of bYtes per block. (See graph on Page 420:092.900). · 63 Demands on System: .. varies widely with System/ 360 model; see Simultaneous Operations, Section 420:111. Testable Conditions .7 EXTERNAL FACILITIES Disabled: . . • • . . . . . Busy device: .••.... Output lock: • . . . . . . Nearly exhausted: ... . 71 Adjustments:. ; . . . . . none . .72 Other Cont:rols yes. yes. yes. yes. yes; perforations 50 feet from end-of- tape mark. Busy controller: ••.. yes. End of medium marks: yes; perforations 15 feet from physical beginning and end. Operator attention required: . . . . . . . . yes. Correction occurred: yes. .6 PERFORMANCE .61 Conditions I: • . . . . . . . . . . low density (1,511 bytes per inch). II: . . . . . . . . . . . . . . high density (3,022 bytes per inch). 7/65 Function Form Address selection: dial Load-unload: button File protection: Rewind: Comment selects unit address 0 through 9. lowers tape into reservoirs and moves head into position. manual or program button and slide on recontrol. verse side of cartridge button. (Contd. ) INPUT-OUTPUT: .73 7340 HYPERTAPE DRIVE Loading and Unloading 420:092.730 .8 .731 Volumes handledCartridge: . . . . . . . 1,770 feet (1,800 feet less 15 feet unavailable at each end); data capacity is: • 19,400,000 bytes at low density, using 1,000byte blocks. • 27,700, 000 bytes at high density, using 1, O~~-byte blocks. • 38,700,000 bytes at high density, using 2, O~~-byte blocks. .732 Replenishment time: .. 0.3 to 0.5 minute; tape drive needs to be stopped. Cartridge can be removed without rewinding tape. (Automatic Cartridge Loader special feature automatically unloads one cartridge and loads another, under program or manual initiation. ) .734 Optimum reloading period:. . . • . . • . • • 3. 1 minutes. ERRORS, CHECKS AND ACTION Error Check or Interlock Action Recording: read-after-write dual parity dual parity set indicator. byte count check; storage protection set indicator. Reading: Input area overflow: Output block size: byte count check Invalid operation code: check Exhausted medium: reflective marker or tape mark Imperfect medium: none. Timing conflicts: overrun check Excessive skew: check Circuit failure: check Note: set indicator; correct error if possible. set indicator. 'set indicator. set indicator. set indicator. set indicator. set indicator. These error indications and other status information are transmitted from the Hypertape Control to core storage in response to a Sense command. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 420 :092.900 IBM SYSTEM/360 EFFECTIVE SPEED 7340 HYPERTAPE DRIVE, MODEL 3 10,000,000 7 4 2 1,000,000 7 4 3,022 Bytes/inch io""" ~ 2 V ~ 100,000 Bytes per Second ... ~I--"""'" 1, 511 Bytes/inch 7 /. ~~ 4 77 IP' 2 ~ 10,000 7 4 2 ~~~ II Vlr 1,000 7 4 2 100 10 2 4 7 2 4 7 100 Bytes per Block 7/65 2 1,000 4 7 10,000 420:093.100 IBM System/360 Input-Output 2415 Magnetic Tape Unit INPUT-OUTPUT: 2415 MAGNETIC TAPE UNIT .1 GENERAL .11 Identity: • . . . . . . . . • 2415 Magnetic Tape Unit, Models 1, 2, 3. .12 Description the 2400 Series Magnetic Tape Units. The 2415 is similar except for performance, which is presented below, and for the restrictions mentioned above. Deliveries of the 2415 Magnetic Tape Unit are scheduled to begin in the third quarter of 1966. The 2415 Magnetic Tape Unit is a new, low-speed, 9-track tape unit that is compatible with the higherperformance 2400 Series units announced previously. The peak speed of all models of the 2415 is 15,000 bytes per second. See Section 420:031 for the rules governing the connection of the 2415 to a particular System/360 configuration. The 2415 is available in three models, each containing a single-channel controller and the indicated number of tape drives: • Model 1 - two tape drives. • Model 2 - four tape drives. • Model 3 - six tape drives. The physical characteristics of the 2415, aside from speed, are similar to those of the 2400 Series units described in Section 420:091, except that in the 2415, the diagonal parity check code is calculated and recorded during writing but is ignored during reading. Thus, the error-correction feature of the other 2400 Series tape units is not incorporated, but compatibility is maintained. The programming characteristics of the 2415 are also similar to those of the other 2400 Series units, except when the 2415 is used in a System/360 Model 20 system. Input-output operations in the Model 20 are handled in a different manner than in the larger models. See Section 422:111, Simultaneous Operations, for a description of how the Model 20 inputoutput operations are handled. In general, errors and malfunctions cause the Model 20 processor to halt with a console panel display. Please refer to Section 420:091 for a description of the characteristics and special features provided by © .6 PERFORMANCE .61 Conditions: ••.••••. standard operation of 2400 Series tape drives, except where use of the optional Seven- Track Compatibility feature is indicated. .62 Speeds .621 Nominal or peak speed (bytes/sec) Standard operation: .• 15,000. Seven- Track Compatibility Feature: . 3,750 at 200 bits/inch; 10,425 at 556 bits/inch; 15,000 at 800 bits/inch. .622 Important parameters Density: . . • . • . . • . 800 bytes/inch. Tape speed: . • . . . . . 18.75 inches/sec. Full rewind time: . . . 4.0 minutes. Interblock gap: .•••. O. 6 inches. Interblock gap time: . 32.0 msec (nominal). .624 Effective speed: .•.•• 15, OOOB/(B + 480) bytes per second, where B is number of bytes per block (See also graph of effective speed, Page 420:092.900) . .63 Demands on System: •. varies with System/360 model and type of channel; see Simultaneous Operations, Section 420:111. The Model 20 processor is delayed for the entire duration of a tape read or write operation. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360 420:093.900 EFFECTIVE SPEED: 2415 TAPE UNIT 1,000,000 7 4 2 100,000 7 4 Effective Speed, char/sec 2 ----- 10,000 7 ~ ~ I' 4 /' 2 ~V 1,000 "" ., 7 4 I~ " ./ IL 2 100 2 10 4 7 100 2 4 7 2 1,000 Characters per Block 7/65 4 7 10,000 420:094.100 IBM System/360 Input.Output 1600 bpi Magnetic Tape Units INPUT·OUTPUT: 1600 BPI MAGNETIC TAPE UNITS .1 GENERAL • 11 Identity: • . . . . . . . • • 2.401 Magnetic Tape Unit, Models 4, 5, 6. 2402 Magnetic Tape Unit, Models 4, 5, 6. 2403 Magnetic Tape Unit and Control, Models 4, 5, 6. 2415 Magnetic Tape Unit and Control,' Models 4, 5, 6. • 12 Description In August 1965, IBM announced new models of the nine-track 2.400 Series Magnetic Tape Units that provide doubled peak data transfer rates through doubling of the recording density to 1600 bytes per inch. IBM states that the higher density is made practical by adoption of the "phase encoding" method of recording in place of the. "NRZI" (NonReturn to Zero, IBM) method used in the IBM 729 Series and in the SOO-bpi 2400 Series tape units •. The phase· encoding method, which has been in use for several years in IBM's 7340 Hypertape Drives and UNIVAC's Uniservo mc tape units, uses a magnetic flux reversal in phase with a uniform reference voltage to represent a O-bit and a flux reversal out of phase with. the reference voltage to represent a 1-bit. With the NRZI method, a flux reversal represents a 1-bit, while the absence of a flux reversal is interpreted as a O-bit. Because the phase encoding technique records a flux reversal in every track position of every properly-recorded. data-. frame, it has two inherent advantages: over the NRZI. technique: • The absence of a flux reversal indicates an error condition, permitting in,..flight correction of single-track errors. Each track is self-clocking,. so the chances of errors due to· skewed recording are greatly reduced._ The older SOO'-bpi models of the 2401, 2402, 2.403 and 2404 Magnetic Tape Units are described in detail in. Section 420:091 of this report, and the SOO-bPi models of the 2415 are described in Section 42.0:093 .. The newly-announced models are essentially the same tape units with 1600-bpi, ninetrack, phase encoding read/write circuitry in place of (or in addition to) the SOO-bpi, nine,...track, NRZI read/write circuitry in the. earlier models. Table 1. summarizes. the fUnctional characteristics of the. new models, and the Price Data on page 420:221. 104 will help to clarify the picture. The _1600-bpi density is. standard in all of the new models, and optional features are required to read and record atSOO bytes per inch. Note that IBM has not announced a 1600-bpi version of the 2404 Magnetic Tape Unit and Control, which combines a two-channel controller and a single tape drive. The increased recording density doubles the peak data transfer rate of each tape drive and enables each reel of tape to hold considerably more data. Because the inter block gap length (0. 6 inch) remains unchanged, its effect upon overall performance is greater at the increased density, as the "Efficiency" figures in Table I clearly show. This means that the effective data transfer rate, upon data blocks of a given length, will by no means be doubled when an installation shifts from SOO-bpi to 1600-bpi. tapes. For example, when converting from 2401 or 2402 Model 2 to Model 4 tape units, the peak data transfer rate goes from 60, 000 to 120,000 bytes per second; the effective data transfer rate on 1, OOO-byte blocks, however, increases by only 51%, from 40,500 to 61,200 bytes per second. The use of long data blocks, which tend to decrease the performance degradation due to the inter block gap, is therefore more desirable than ever with the new 1600-bpi tape drives. Error Detection and Correction When recording at 1600 bytes per inch, the 2400 Series Magnetic Tape Units will append a vertical check. bit to each byte, but the longitudinal parity check and the cyclic· redundancy check used at SOO bpi will be omitted; IBM maintains that the phase encoding technique eUminates the need for these two additional. check characters at the end of each tape block. The usual read-after-write check will be made while recording. When reading at 1600 bytes per inch, the tape units will continuously monitor the signals from all ninetracks. As soon. as anyone track fails to provide a flux reversal in any data frame, that track will be disabled for the remainder of the block. Using the vertical parity check bit for each frame, the information bits in the disabled track will then be regenerated automatically. This scheme will provide automatic detection and in-flight correction of all errors which are confined to a single track. Multiple-track errors will be. detected and recognized as non-correctable, and standard error recovery procedures (backspace and reread) will have to be used in. these cases •. Controllers The 2415 Magnetic Tape Unit and Control consists of a single-channel controller and two, four, or six tape drives in. Moder 4, 5, or 6, respectively; no external controller is therefore· required, and no additional tape drives can be connected. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/6-5 IBM SYSTEM/360 420:094.120 • 12 Description (Contd.) Also required, on each 2401/2402/2403 Modei 4, 5, or 6 tape drive to be operated at SOO bpi, is the Dual Density feature. The 2403 Magnetic Tape Unit and Control consists of a single-channel controller and one tape drive; a 2403 Model4, 5, or 6 can control its own drive plus up to seven more drives in any combination of 2401 and/or 2402 Models 1 through 6. (Each 2402 consists of two tape drives in a single cabinet.) The 2S03 and 2S04 Tape Controls are free-standing controllers for up to eight 2401 and/or 2402 tape drives. The 2S03 is a single-chamiel controller, while the 2S04 connects to two channels and permits simultaneous reading and writing. The newlyannounced 2S03 Model 2 and 2S04 Model 2 can each control up to eight drives in any combination of 2401 and/or 2402 Models 1 through 6. With the 16-Drive Addressing Feature and two 2S16 Model 1 Switching Units, a 2S03 can control up to 16 tape drives. Seven and Nine-Track Compatibility: A control unit feature that permits 1600-bpi tape drives to read and write at SOO-bpi in both the'nine-track and seven-track (729-compatible) modes, as well as in the 1600-bpi mode; the Dual Density feature is also required on each tape drive to be operated at SOO-bpi. Mode Compatibility: Required on each 2401/2402 Modell, 2, or 3 Magnetic Tape Unit to be connected to any of the following SOO/1600-bpi controllers: 2403 Model 4, 5, or 6, 2803 Model 2, or 2S04 Model 2. Optional Features Other optional features available for the 2400 Series Magnetic Tape Units are described in Report Section 420:091; also see the Price Data on page 420:221. 105. Nine-Track Compatibility: A control unit feature that permits 1600-bpi tape drives to read and write in the nine-track, 800-bpi, NRZI mode, as well as in the 1600-bpi, phase encoding mode. Deliveries of most of the 1600-bpi tape units are scheduled to begin in the second quarter of 1966, with 2415 Magnetic Tape Unit deliveries scheduled for the third quarter of 1966. TABLE I: CHARACTERISTICS OF IBM 1600-BPI MAGNETIC TAPE UNITS Model Number Tape Recording Peak Interblock Gap Lengths Speed, Density, Speed, (nominal) inches bytes bits per per sec inches' msec (1) bytes (2) per sec inch Full Rewind Time, 100-byte 1000-byte minutes blocks blocks 9.4 51. 0 3.0 17.2 67.5 Efficiency, %(3) 2401/2402/2403 Model 4 37.5 1600 SOO* 60,000 30,000 0.6 0.6 16.0 16.0 960 4S0 2401/2402/2403 Model 5 75.0 1600 SOO* 120,000 60,000 0.6 0.6 S.O 8.0 960 480 9.4 17.2' 51.0 67.5 1.4 2401/2402/2403 Model 6 112.5 1600 800* 180,000 90,000 0.6 0.6 5.3 5.3 960 480 9.4 17.2 51. 0 67.5 1.0 1600 800* 30,000 15,000 0.6 0.6 32.0 32.0 960 480 9.4 17.2 51.0 67.5 4.0 2415 Models 4, 5, 6 * 18.75 Optional features are required for operation at 800 bpi. (1) Time in milliseconds to traverse each inter block gap when reading or writing consecutive blocks. (2) Number of byte positions occupied by each interblock gap. (3) Effective data transfer rate at the indicated block size, expressed as a percentage of peak speed. / 8/65 420:101.100 IBM System/360 Input-Output 2250 Display Unit INPUT-OUTPUT: 2250 DISPLAY UNIT .1 GENERAL . 11 Identity: . . . . . . . . . 2250 Display Unit, Models 1 and 2. . 12 Description The IBM 2250 Display Unit can provide dynamic visual displays of charts, graphs, and alphameric characters on a 12-inch-square screen on the face of a 21-inch cathode ray tube. The display area contains a 1024-by-1024-point matrix, providing over one million discrete points that can be addressed by their X and Y coordinates. Within this area, 3,848 "basic size" characters (52 lines of 74 characters each) or 1,715 "1-1/2 size" characters (35 lines of 49 characters each) can be displayed. When a buffer is used, the keyboard can control the location of a movable electronic marker used to identify data locations on the display screen. The keyboard-buffer combination permits entering a message into the buffer and displaying it for validity checking before it is transmitted to the computer. • Buffer - 4, 096 or 8, 192 bytes of core storage, useful for holding addresses and data so that displays can be regenerated without tying up the processor. Maximum buffer loading speed from the processor is 475,000 bytes per second. • Character Generator - translates a byte code into the analog signals required to trace a char. acter on the face of the tube. The two character sizes are program-selectable. Both models of the 2250 use the same type of cathode ray tube, which requires regular regeneration of the display. Optional features provide for buffering, keyboard data entry, and use of a light pen (a hand-held electronic pointer which permits program detection of specific lines, characters, and symbols that are displayed on the face of the tube). The prospective user should keep in mind that effective application of this type of display unit requires good system design and considerable programming effort. • Absolute Vectors - permits displaying a straight line between the present beam position and any other point in the matrix by specifying only the X and Y coordinates of the end point. • Programmed Function Keyboard - consists of 32 keys, indicator lights, and 8 overlay code senSing switches. Each key initiates a subroutine associated with the respective overlay program. Up to 256 different overlays can be identified by means of the overlay switches. See Section 420:031, System Configuration, for the rules governing the connection of these devices to a particular System/360 configuration. • Light Pen - a hand-held electronic device used by the operator to identify to the program a particular point or character on the display screen. Modell • The 2250 Model 1 has a self-contained control unit that connects directly to a System/360 input-output channel; it is designed for applications where only one display unit is required. (IBM 2250 Model 2's are used in multiple displays, and up to eight Model 2's can be connected to a single IBM 2840 Display Control. ) Model 1 without optional features has only the basic capability of displaying dots at any addressed points in the 1024-by-1024-point matrix and of plotting horizontal, vertical, or 45-degree lines. Curves are drawn as a series of short straight lines. The matrix address of each point must be supplied by the computer. In order to plot curves, graphs, symbols, or alphameric characters, computer subroutines or tables must provide the necessary matrix addresses. When no buffer is used, the display must be regenerated about 30 times each second by the computer to keep it visible. Model 1 Optional Features • Alphameric Keyboard - a keyboard similar to that on a 1052 Printer-Keyboard, which permits an operator to enter messages into the computer. © Operator Control Panel, First and Second these panels duplicate the on/off and program load facilities on the control panel of the Processing Unit of a first or second Model 50, 65, or 70. The first of these two features is a prerequisite for the second. Model 2 One or two 2250 Model 2 Display Units can be connected to the basic 2840 Display Control. The Display Control requires an available control position on a System/360 data channel. Optionally, up to three more pairs of 2250 Model 2 Display Units can be connected to the Display Control through the use of up to three Display Multiplexors. The 2840 Display Control provides common circuits, control, and buffer storage for the 2250 Model 2 Display Units connected to it. Standard features in the 2840 are a character generator and 8,192 bytes of core storage, which are timeshared by all of the connected 2250 Model 2's. Buffer areas are addressable, permitting seli9cted lines or characters to be changed without the need to reload the entire buffer. The 2250 Model 2 Display Units can be located up to 2,000 feet away 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 420: 101.120 . 12 IBM SYSTEM/360 Description (Contd.) from the controlling 2840. The 2840 also serves as the control for IBM 2280, 2281, and 2282 Film Units. The 2250 Model 2 and the Film Units can be intermixed on the same 2840 Control. See. Section 420:031, System Configuration, for the rules governing the connection of these two types of devices to the 2840. Model 2 Optional Features • • • The Alphameric Keyboard, Absolute Vectors, Light Pen, and Programmed Function Keyboard, as described under "Modell Optional Features. " Buffer - an additional 8,192 bytes of core buffer storage. Display Multiplexer - up to three of these permit up to three pairs of additional Model 2 Display Units to be connected to a single 2840 Display Control. Note: the Operator Control Panel features are not available for use with a 2250 Model 2 Display Unit. Programming The visible display on the face of the cathode ray tube is produced by the action of an electron beam hitting a phosphor coating, which causes the coating to glow briefly. Since the glow normally fades in a few milliseconds, the display must be regenerated (redisplayed) about 30 times each second in order for the human eye to observe a steady visible image. In 2250 units equipped with the buffer, this regeneration is performed automatically. For units lacking a buffer, the regeneration must be programmed; i. e., the complete display must be sent to the 2250 unit by the processor about 30 times each second for as long as the display is required. The electron beam of the cathode ray tube can be deflected in either of two basic programming modes: graphic mode and character mode. A twobyte prefix code always precedes the display data to identify the mode of operation and the particular operation to be performed. The graphic mode is used for point plotting, for beam positioning, and for plotting hOrizontal, vertical, or diagonal lines under program control. Points plotted four or more raster units apart can be distinguished by the human eye as discrete points. (A raster unit is the distance between two adjacent addressable locations in the matrix.) Four bytes are required to hold the coordinates of 7/65 each point addressed. Operations available in the graphic mode include movement of the beam from one point to any other point, displaying the end point, and displayiJ;lg the straight-line path between two points. (Note that display of a diagonal path at a slope other than 45 degrees requires the Absolute Vectors special feature.) Alphanumeric characters can be displayed in this mode only through complex programming; i. e., the outline of each character must be traced under program control. The character mode (optional with Modell; standard with Model 2) can be used to reduce the time required to display alphanumeric data. The twobyte prefix code specifying the character mode also specifies which of the two character sizes shall be displayed. Each byte following the prefix code then represents one character to be displayed. The beam must initially be positioned to the first display position by means of a graphic mode operation. Horizontal spacing from character to character is automatic. A new line can be started by a special New Line character in the data. A new line is also begun automatically after encountering the end of the available display line. Alternatively, another beam-positioning operation can be used to begin a new line anywhere in the display area. The time required to display a point ora line is . the largest of the data acquisition time, the vertical positioning time, or the horizontal positioning time. These three functions are overlapped. The data acquisition time is 16.8 microseconds. A deflection of up to 136 raster units can be made during this time. The positioning time for deflections larger than 136 raster units is given by the formula: . POSitioning Time = 0.0894 (N-136) + 16.8 microseconds, where N is the vertical or horizontal deflection, whichever is larger, in raster units. The average time to display alphanumeric data using the Character Generator feature is 15 microseconds per "basic size" character and 17 microseconds per "1-1/2 size" character. The only demand imposed upon the System/360 Processing Unit by a 2250 display operation is the time required to send the necessary data and control codes to the 2250. Note that for the 2250 Modell without the buffer feature, this data must be sent repetitively, about 30 times each second, which can represent a very significant demand upon the Processing Unit. See Section 420:111, Simultaneous Operations, for the demand imposed on the system by data transfers via the various data channels. 420: 102.1 00 IBM System/360 In put-Output 2260 Display Station INPUT-OUTPUT: 2260 DISPLAY STATION .1 GENERAL . 11 Identity:.... 2260 Display Station. 2848 Display Control, Models 1, 2, 3. . 12 Description The 2260 Display Station is a cathode ray tube unit for displaying alphameric data. It is controlled and buffered by the 2848 Display Control. Up to 960 characters can be displayed on the face of the tube, depending on which model of the 2848 Display Control is used. Multiple Display Stations can be connected to the 2848; each station can be located up to 2,000 cable feet away from the 2848. Display Station Characters are presented on a 4-by-9-inch display area; each character is formed by a 5-by-7-dot matrix. Sixty-four different symbols can be displayed; 26 letters, 10 numeric digits, and 28 special symbols. Two of the special symbols cannot be transferred between the processing unit and the display station; these are the parity error and cursor symbols. A Display Adapter is required for each pair of 2260 Display Stations. If more than two Display Adapters are connected to the 2840 Modell, or more than one to either the Model 2 or the Model 3, one or two Expansion Units are required. In addition, one 1053 Printer can be attached to the 2848 through a special adapter for each model. The 2848 can be connected directly to a System/360 processor through an input-output channel. See Section 420:031, System Configuration, for the rules governing the connection of the 2848 Display Control to a particular System/360 configuration. Alternatively, the 2848 can be remotely connected to a System/360 through a 2701 Data Adapter Unit (see Section 420: 106) and an appropriate data set. The 2848 operates in a half-duplex mode over a common-carrier, leased, 4-wire, private-line telephone system, on Schedule 4A lines or better. One keyboard, either alphameric or numeric, can be attached to each Display Station, permitting the 2260 to function as an input station. The maximum data rate of the 2848 when connected to an input-output channel is 2,560 characters per second. When connected through a communications data set, the maximum data rate is either 120 characters per second (1,200 bits per second) or 240 characters per second (2, 400 bits per second), depending on the data set used. Operation at 120 characters per second requires a Western Electric Data Set 202D or the equivalent; operation at 240 characters per second requires a Western Electric Data Set 201B or the equivalent. Display Control Optional Features The 2848 Display Control provides the control logic and buffer storage unit for 2260 Display Stations. Three models of the 2848 are available; they differ in the number of characters that can be displayed per .station and the number of stations that can be connected to each control. The characteristics of the three models are as follows: The following special features are available for the 2848 Display Control. • Model 1 - can control the display of up to 6 lines of 40 characters each (240 characters total) on up to twenty-four 2260 Display Stations. • Model 2 - can control the display of up to 12 lines of 40 characters each (480 characters total) on up to sixteen 2260 Display Stations. • Model 3 - can control the display of up to 12 lines of 80 characters each (960 characters total) on up to eight 2260 Display Stations. Line Addressing: Permits the computer program to specify the starting locations of incoming data. The starting location can be the first character of any row. . Non-Destructive Cursor: Allows the operator to move the cursor symbol anywhere on the display without changing the displayed information. A special Non-Destructive Adapter is also required on each Display Adapter. 1053 Adapter: contains a 960 -character buffer and logic for controlling a 1053 Printer. Data can be printed from the 2848 buffer or directly from the computer system. Only one 1053 Printer can be connected to a 2848 Display Control. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 420; 103.100 IBM System/360 Input-Output 7770 Audio Response Unit INPUT -OUTPUT: 7770 AUDIO RESPONSE UNIT .1 GENERAL .11 Identity: .12 Description 7770 Audio Response Unit, Model 3. The IBM 7770 Audio Response Unit, Model 3, is a buffered data communication unit that accepts telephoned digital requests and relays them to a System/360 Processing Unit, which processes the data and returns a coded reply to the 7770. The 7770 interprets the reply, selects the proper words from its stored ~ocabulary, and transmits these words as a human-voice'response (optionally male or female) back to the inquirer. See Section 420:031, System Configuration, for the, rules governing the connection of a 7770 to a particular System/360 configuration. The Audio Response Unit is composed of three sections: inquiry, control, and audio output. The inquiry section accepts dialed or keyed digital inquiries transmitted from the connected inquiry terminals through common-carrier communication facilities. Transmission of the inquiry between the common-carrier receiver and the 7770 is accomplished in a 3-out-of-14 or 2-out-of-8 inquiry code. The 7770 receives the inquiry from the receiver terminal in serial-by-character, parallel-by-bit form. An inquiry is assumed to be complete when the 7770 receives no data within a fivesecond period. The inquiry is then translated and transferred to the Processing Unit. The digital control section controls the data flow between the Processing Unit and the 7770. A Read command causes the inquiry to be transferred from the 7770 to the processor. When the proc'essor completes its interpretation of the inquiry, it composes a coded response message. The processor then issues a Write command, and the response message is transferred to the 7770. The response me'ssage is composed of vocabulary word locations (located on the 7770's magnetic drum), and is sent one word location at a time to the 7770. The audio output section provides the actual audio response to the inquirer. These words, recorded on the magnetic drum in analog form as an audio signal, are amplified and transmitted to the terminal originating the inquiry. The vocabulary is recorded on the removable magnetic sleeve of a drum 4 inches in diameter and 10 inches long. There are 128 tracks on the drum, each having a unique address. In general, each track contains one "word" which can be an alphabetic letter, a numeral, or a short word from the master list. Some polysyllabic words require more than one track and consequently more than one word-location specification in the response message. Vocabularies requiring 64 or fewer tracks are recorded twice on the drum. The drum revolution time is 500 milliseconds. The first track always contains 500 milliseconds of "silence, " permitting a programmer to insert pauses in the voice response. The prerecorded drum vocabulary can consist of 32, 48, or 64 words and can be increased to BO, 96, 112, or 12B words by a special feature. The vocabulary is chosen from a master vocabulary, provided by IBM, which consists of a list of fre,quently used industry words, the numbers from zero through nine, and the letters of the alphabet. The vocabulary can be changed, by exchanging the analog recorded cylinder, at any time by the ()ustomer. (Changes or additions to the vocabulary recorded on,a cylinder can only be made at the factory.) The 7770 operates in a half-duplex mode over toll, leased, or privately-owned voice-grade lines. The basic 7770 handles up to four lines. The line capacity can be expanded, in 4-line increments, to a maximum of 48 lines. Random inquiries on any or all input-output lines can be serviced simultaneously. The 7770 operates with any of the following inquiry terminal devices, provided the proper arrangements have been made by the customer with the common carrier: 1001 Data Transmission Terminal, rotary dial' telephone with associated pushbutton manual dialing device, rotary dial telephone with pushbutton card dialer device, pushbutton manual dialing telephone, and pushbutton type card dialer telephone. The 7770 Model 3, used in the System/360, differs from the 7770 Modell (used in IBM 1401, 1440, or 1460 systems) and Model 2 (used in 1410 or 7010 systems) in that the inquiry and response messages are transmitted character by character between the 7770 Model 3 and the Processing Unit, whereas Models 1 and 2 contain internal message buffers. Analysis of 7770 throughput (number of inquiry calls processed per hour) is complex and depends on such factors as the number of lines, the length of the inquiry messages, the amount of internal processing required on each message, the length of the response messages, and the number of inquiries outstanding. An approximation by IBM of the throughput rate of a 7770 for short calls (less than one minute) is presented in the following formula; C = N(10B-T)-70 where C = the number of calls per hour. N = the number of lines. T = the average length of a call in seconds. (Contd. ) 7/65 INPUT-OUTPUT: 7770 AUDIO RESPONSE UNIT . 12 420:103.120 Description (Contd.) • Queueing time (0.3 sec/4 lines) . The length of a call is the total time after the telephone connection to the computer has been made until the connection is broken. The call length depends on the sum of the following factors: • Processor time (about O. 1 second). • Number of words in response (0. 5 sec/word). • Inquirer disconnect (5 seconds). • Number of digits in the inquiry (rotary dial, 1. 3 sec/digit; pushbutton dial, 0.4 sec/digit; card dial, 0.2 sec/digit). • Time-out delay (5 seconds). © The numbers in parentheses show the time for each operation. The queueing, processor, and disconnect times are approximate since they vary with the application. The minimum length for a call is approximately 12 seconds. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 420:104.100 IBM System/360 Input-Output 7772 Audio Response Unit INPUT-OUTPUT: 7772 AUDIO RESPONSE UNIT .1 GENERAL .11 Identity: . . . . . . . . . • 7772 Audio Response Unit, Model 3. . 12 Description The IBM 7772 Audio Response Unit is currently for use with the System/360 only. It performs the same general function as the IBM 7770 Audio Response Unit described in the previous rep0rt section (420:103) and features a larger vocabUlary; conversely, it cannot control as many communications lines as a 7770. See Section 420:031, System Configuration, for the rules governing the connection of a 7772 unit to a particular System/360 configuration. availabl~ The 7772 is a buffered data communications unit that accepts telephoned digital requests through data sets over appropriate communications facilities. It transmits the inquiry messages to a System/360 Processing Unit, under program control. The processor processes the input message and composes a response, selecting the desired words in proper sequence from a vocabulary .stored in digitally-coded voice form. The response message consists of a list of addresses that refer to a group of words digitally encoded in a random access storage unit. The digital information stored for each word is used to activate a set of band filters that cover the total telephone frequency band. The sum of the band-filter outputs constitutes the audio response. Approximately 2,400 bit poSitions (300 bytes) of random access storage are required to store the information for generating one second of audio output. Each syllable, which can be an alphabetic letter, numeral, part of a multi-syllable word, or a pause, requires approximately 0.5 seconds of audio output. Thus, about 250 simple words or syllables can be stored on one "cylinder" (36,250 bytes) of it 2311 Disc storage Drive. The 7772 Audio Response Unit's vocabulary is chosen from a library of frequently-used words associated with commercial and industrial applications and is presented in a male voice. The vocabulary itself is provided to the user in digitally-coded form on either punched cards or magnetic tape. The customer may have any number of words from the available library for entry into his system. The 7772 operates in a half-duplex'mode over toll, leased, or privately-owned voice-grade lines. The basic 7772 handles up to two lines. The line capaCity can be expanded, in 2-line increments, to a maximum of 8 lines. Random inquiries on any or all lines can be serviced simultaneously. The 7772 operates with any of the follOwing inquirr terminal devices, provided the proper 7/65 arrangements have been made by the customer with the common carrier: 1001 Data Transmission Terminal, rotary dial telephone with associated pushbutton manual dialing device, rotary dial telephone with pushbutton card dialer, pushbutton manual dialing telephone, pushbutton type card dialer telephone, mM 1093 Programmed Keyboard, or IBM 1094 Line Entry Keyboard. The functional differences between the two Audio Response Units can be summarized as follows: • The 7772 generates audio responses from a vocabulary prerecorded in digitally-coded form on an external disc file, whereas the 7770 generates audio responses from a vocabulary prerecorded in analog form on a magnetic drum within the 7770. • Input from the ProceSSing Unit to the 7772 is the digitally-coded voice response itself, whereas the 7770 receives a string of drum addresses of the words comprising the response. • The 7772 offers a virtually unlimited vocabulary with a small number of communication lines (2 basic, 8 maximum), whereas the 7770 has a limited vocabulary (32 words basic, 128 maximum) and can handle a: large number of lines (4 basic, 48 maximum). Analysis of 7772 throughput (number of inquiry calls processed per hour) is complex and depends on such factors as the number of lines, the length of the inquiry messages, the amount of internal processing required on each message, the length of the response messages, the time required to access the digitally-encoded response words, and the number of inquiries outstanding. The length of a call is the total time after the telephone connection to the computer has been made until the connection is broken, and depends on the sum of the following factors: • Number of digits in inquiry (rotary dial, l. 3 sec/digit; pushbutton dial, 0.4 sec/digit; card dial, 0.2 sec/digit). • Time-out delay (5 seconds). • Queuing time (0.3 sec/2 lines). • Processor time (about 0.5 sec). • Number of words in response (0.5· sec/word plus access time). • Inquirer disconnect (5 seconds) .. The numbers in parentheses show the time for each operation. The queuing, processor, response, and disconnect times are approximate since they vary with the application. The minimum length for a call is approximately 15 seconds. 420: 105.100 IBM System/360 Input-Output Optical and Magnetic Readers INPUT-OUTPUT: OPTICAL AND MAGNETIC READERS .1 GENERAL .11 Identity: .12 IBM 1412 Magnetic Character Reader, ModelL IBM 1419 Magnetic Character Reader, ModelL IBM 1418 Optical Character Reader, Models 1, 2, 3. IBM 1428 Alphameric Optical Reader, Models 1, 2, 3. IBM 1231 Optical Mark Page Reader, Model N1. IBM 1285 Optical Reader. Use of the IBM System/360 1412 Input/Output Control Program or an equivalent routine is required. Operation of the 1412 is not included under the System/360 1401, 1440, or 1460 Compatibility Features. A detailed description of the 1412 appears in Section 401:104 of the IBM 1401 report. Optional Features Multiple Column Select-Sort Suppress: • Description Six different types of optical and magnetic readers can be connected to a System/360. These units are described below. The two magnetic character readers offer two speeds at which documents encoded with Font E-13B magnetic ink characters can be read. The optical readers permit reading of more conventional type styles, such as IBM 407 Accounting Machine and 1403 Printer output (except for the output of the faster 1403 Model 3 Printer). The IBM 1285 Optical Reader is a new unit that reads data from journal tapes. The 1231 Optical Mark Page Reader, Model Nl, is used for automatic reading of pencil marks from 8-1/2 by 11 inch test sheets, questionnaires, etc. .121 1412 Magnetic Character Reader, Model 1* The 1412 Magnetic Character Reader reads 950 documents (6 inches long) per minute and sorts them into any of 13 pockets. Documents up to 8-3/4 inches long can be handled at proportionately lower rates, and the documents can be of intermixed sizes and thicknesses. Document length can range from 6 to 8.75 inches, width from 2.75 to 3.67 inches, and thickness from 0.003 to 0.007 inches. The 1412 is functionally similar to the later Model 1419 Magnetic Character Reader, whose rated speed is 1,515 documents per minute (see Paragraph .122 below). Characters printed in magnetic ink character Font E-13B (adopted as standard by the American Bankers' Association) are recognized by the reader head. Only the 10 numerical characters and 4 special symbols comprising Font E-13B can be read, and all magnetic ink imprinting must be on a single line within five-eighths of an inch of the bottom edge of the document. The 1412 can be used on-line for document sorting and reading, or off-line for sorting. * See Section 420:031, System Configuration, for the rules governing the connection of this device to a particular System/360 configuration. © Permits the sorting to pocket A or B of documents with specific digit values in up to four selected digit positions. o Permits the routing to pocket A or B of documents that do not have specified numbers in designated column positions of a predetermined field. a Permits the routing to pocket A or B of documents that contain a specific code in a predetermined field, while sorting all other documents. Document Counter: counts all documents passing through the 1412 and maintains a running total. Self-Checking Number Verification: provides verification of account numbers. Available in either Modulo 10 or Modulo 11; the latter is more effective and more expensive. Electronic Accumulator and Sequence Checking: permits accumulated totals of the amounts read from documents to be printed as lists, and checks selected positions for correct document sequencing. (Multiple Column Select-Sort Suppress is a prerequisite. ) Endorser: imprints a full endorsement at the normal speed of the 1412. .122 1419 MagnetiC Character Reader, Model 1* The 1419 Magnetic Character Reader is a faster version of the 1412 reader described in the preceding paragraph. It reads 6-inch documents at a speed of 1,515 per minute, compared to 950 for the 1412, and can also be used for off-line sorting. A System/360 Adapter unit is required. A detailed description of the 1419 appears in Section 401: 103 of the IBM 1401 report. Use of a 1419 involves more restrictions than use of a 1412. The use of the IBM System/360 1419 Input/Output Control Program or an equivalent routine is required. Operation of the 1419, like the 1412, is not included under the System/360 1401 or 1460 Compatibility Features. Reprogramming of 1419 operations will therefore be required when a System/360 replaces an IBM 1400 Series installation. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360 420: 105.122 .122 1419 Magnetic Character Reader, Modell (Contd.) Minimum processing time, including pocket selection, is 32.2 milliseconds. Since the 1419 has only one operating speed, if the required processing time exceeds this figure, the data will have to be transcribed to magnetic tape for processing in a subsequent run. Optional Features Features in addition to those offered for the 1412 are: • • 51-Column Card Sorting: permits intermixed feeding of 51-column cards and standard-size documents. Feeding rate of 51-column cards by themselves is approximately 1,875 per minute. Split Field: the first ABA dash symbol following a digit will separate any field into two elements; either element can be treated as a separate field. .123 IBM 1418 Optical Character Reader; Models 1, 2, 3* The 1418 reads numerical characters printed in IBM 407 -style type at the rate of 413 six-inch documents per minute. The standard model reads one line of data, which may be positioned anywhere on the document. Acceptable input data for the reader can be produced by an IBM 407, 408, or 409 Accounting Machine, by a 1403 (except Model 3) or 1404 Printer, or by a typewriter equipped with the 407 type font. The 1418 can alt€rnatively be specified to read documents printed by plastic plate imprinters with a type style resembling the 407 type style elongated to 0.114 inches high. Models 1 and 3 have three stackers and are designed for on-line use only. Model 2 is equipped with 13 stackers and can be used off-line for singledigit sorting on any digit position. Models 1 and 2 handle document lengths from 5.875 to 8.75 inches and widths from 2.75 to 3.67 inches, and Model 3 handles a broader range of document sizes. All models have an "overflow stacking" mode that permits unloading the stackers without stopping the reader when no sorting is required. Use of the IBM System/360 1418 Input/Output Control Program or an equivalent routine is required. Operation of the 1418 is not included under the System/360 1401 or 1460 Compatibility Features. Thirteen characters can be re(;ognized by the standard 1418 reader: the digits 0 to 9, the lozenge, the dash, and a solid vertical line (preprinted on the forms) . A detailed description of the 1418 appears in Section 401:102 of the IBM 1401 report. * See Section 420:031, System Configuration, for the rules governing the connection of this device to a particular System/360 configuration. Optional Features Additional Read Station: permits reading data from two lines on each document in a single pass. Switching between the two read stations, which are 4.25 inches apart, is under program control. Mark Reading Station: permits the reading of up to 37 columns of numerical data marked on a standard IBM card with an ordinary black pencil or ink; cannot be used when the Additional Read Station or the Mark Reading Station, Slanted Mark, is installed. Mark Reading Station, Slanted Mark: permits the reading of slanted marks, made with certain types of pens or pencils, on Models 1 or 2 only; cannot be used when the Additional Read Station or Mark Reading Station is installed. .124 IBM 1428 Alphameric Optical Reader, Models 1, 2, 3* The 1428 reader can read upper case alphabetic characters, numeric characters, and several special characters printed on card and paper documents in the 1428 type font, which is available on IBM 1403 Model 1, 2, 4, and 5 Printers and on certain IBM electric typewriters. The reading rate is approximately 400 six-inch documents per minute - about 4 per cent slower than the reading rate of the 1418 Optical Character Reader described in the preceding paragraph. . The 43 characters which can be read are as follows: upper case letters A through Z, digits 0 through 9, dollar sign ($), diagonal (/), asterisk (*), dash (-), decimal point (.), comma (,), and a solid vertical line preprinted on the documents. Optional features permit the reading of pencil marks or slanted marks, as described for the 1418 above. The 1428 Alphameric Optical Reader, Model 1, 2, or 3, is the same in all other respects, including the optional features, as the 1418 Optical Character Reader described above. A detailed description of the 1428 appears in Section 401: 105 of the IBM 1401 report. .125 IBM 1231 Optical Mark Page Reader, Model Nl* The Optical Mark Page Reader, Model Nl, reads ordinary pencil marks (not printed characters) from 8-1/2 by 11 inch data sheets directly into a System/360 Data Processing System. The 1231 (or its off-line counterpart, the 1232) will be useful in organizations that use standardized forms for such functions as surveys, orders, applications, medical records, payroll time records,. inventory listings, and sales analyses. The 1231's chief advantage is the elimination of much of the key punching and verifying normally associated with the preparation of input for automatic data processing. In a single pass of the pencil-marked data sheets through the 1231, the marks are read and the data is transferred to the computer. (The 1232, working off:-line, converts the marked information into punched cards.) Documents are read at varying rates of speed, depending upon the mode switch settings. When set to (Contd. ) 7/65 420: 105.125 INPUT-OUTPUT: OPTICAL AND MAGNETIC READERS .125 IBM 1231 Optical Mark Page Reader, Model Nl. (Contd. ) "continuous", feeding is at a constant speed of 2,000 documents per hour. When set to "demand", feeding is controlled by the computer program with speeds varying up to 1,600 documents per hour. The appropriate feeding mode depends upon the computer program control method used. .126 IBM 1285 Optical Reader* The IBM 1285 Optical Reader is a recentlyannounced unit that can optically read numeric digits and several upper case alphabetic characters printed in the 1428 type font from continuous rolls of paper (journal tapes) prepared by adding machines, cash registers, and similar devices. The 1285 is available for use with the IBM 1401, 1440, and 1460 as well as the IBM System/360. Data sheets are fed from a pneumatically-controlled hopper (600-sheet capacity) through the reading area and directed to one of two stackers. The main stacker holds 600 sheets. Sheets with detected errors are directed to a separate stacker (50-sheet capacity) . Documents are stacked in reverse sequence in both stackers. The 1285 reads the digits 0 to 9 and the upper case letters C, N, S, T, X, and Z. Up to 25 characters per line can be read from a tape whose width can range from 1- 5/ 16 to 3-1/2 inches and whose length can vary from 3 to 200 feet. Printing color should be black for optimum operation of the 1285. All marks read from a data sheet are stored as bits in a sonic delay line storage unit until they are transferred to the computer by execution of a Read instruction. Less than 10 milliseconds are required to transfer the data read from one data sheet from the sonic delay line to the computer storage. The reading station contains an electronic flying spot scanner consisting of a cathode ray tube, an optical system, and photomultipliers. Initially unreadable characters are automatically rescanned, followed by either a halt for on-line correction by the operator or by automatic marking of the unreadable line and an advance to the next line. The user may have up to 1, 000 mark positions on each side of a sheet (2, 000 on both sides). Mark positions are pre-printed in rows of 20 positions. Each row is divided into two 10-position groups. Each 10-position group is called a "word" for the purpose of defining a marking area. Each word can be divided into two 5-position segments. Data words and segments can be grouped in various combinations to form fields. First deliveries of the 1231 were made in the third quarter of 1964. Reading rates of the 1285 are in the range of 1, 500 to 2,500 lines per minute. The formula for determining the speed is: LPM = 1000 ( 600 ) 13N + 518/L + 14 where LPM = reading rate in lines per minute N = characters per line L = lines per inch. Marking of lines which contain unreadable characters does not appreciably reduce the throughput. Optional Feature Master Mark: a master data sheet, containing up to 10 words of marked data, can be read and stored in the delay line for transfer to the computer. The master sheet is identified by a special preprinted mark and contains data that is to be associated with all subsequent data sheets until a new master sheet is read. Thus, data common to a series of data sheets need be recorded and read only once. * See Section 420:031, System Configuration, for the rules governing the connection of this device to a particular System/360 configuration. © Acceptable type styles are the IBM 1428 font and the NCR Optical Type Font. The 1428 Alphameric Optical Reader is described in paragraph . 124 above. Optional Feature NCR Optical Type Font: permits reading the "NOF" type style developed by NCR; reading of this type style and IBM 1428 type style is interchangeable under operator switch control. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 420:106.100 IBM System/360 Input-Output 2701 Data Adapter Unit INPUT-OUTPUT: 2701 DATA ADAPTER UNIT .1 GENERAL • 11 Identity: •••••••.•• IBM 2701 Data Adapter Unit* .12 Description The IBM 2701 Data Adapter Unit (and the 2702 and 2703 Transmission Controls described in the next two report sections) make possible direct connection of a wide variety of data communications equipment to'an IBM System/360. Numerous adapters are available for connecting the 2701 to various types of communications facilities and terminal equipment. These adapters provide the necessary bit-byte conversions, interfaces, and control circuits. Devices that can be connected include the 1030 Data Collection System, the.1050 and 1060 Data Communication Systems, the 1070 Process Communication System, remote 2260 Display stations, telegraph terminals, and the new 2740 and 2741 Communication Terminals. See Section 420:031, System Configuration, for the rUles governing the· connection .of the 2701 to a particular System/360 configuration. The adapters are contained on one or two gates. Each gate can have two adapters for start/stop communications lines or one adapter for a synchronous line. Thus, a maximum of four lines can be controlled by a 2701. Some of the communications adapters can be equipped with an automatic call feature. When this feature is used with start/stop adapters, the total number of adapters that can be included in the 2701 is reduced by one. One or both of the adapters on the second gate can be connected to a different input-output channel from the channel used by the other adapters by means of the Second Channel feature .. This effectively converts a single 2701 into two logically independent data communications controllers. Input-output operations involving a 2701 are programmed in much the same way as operations involving other System/360 peripheral devices. See Section 420:111, SimUltaneous Operations, for a general description of the System/360 inputoutput process. In addition to the normal I/O commands, special diagnostic commands have also been implemented. These commands vary according to the particUlar communications adapter, but in general they permit sending data to a special one-character register and reading it back into core storage. This permits many of the functions of the adapter to be checked. The 2701 operates in a half-duplex mode (transmission in either direction, one way at a time), and can use the following types of lines: * See Paragraphs .121 through .135 of this report section for descriptions of the numerous devices and systems that can communicate with a 2701 Data Adapter Unit. 7/65 • Common-carrier switched telephone network at 150, 1200, or 2000 bits per second . • Common-carrier leased private-line telephone' service, at up to 2400 bits per second. • Common-carrier leased private line telegraph service at 45, 55, or 75 bits per second, depending on service. • Teletypewriter Exchange (TWX) Network at 150 bits per second. • Telephone company schedUle 3A Data Channel (150 bits per s~cond). • Western Union Class D Channel (180 bits per second). • Western Union Class E Channel (600 or 1200 bits per second). • Western Union Class F Channel (2400 bits per second). • Privately-owned or· leased communication networks. • Common-carrier broadband communication' service at 19,200 or 40,800 bits per second (Telpak A). Special functions that can be provided by the 2701 Data Adapter Unit and its various adapters include: • Parallel data transmission - the Parallel Data Adapter provides a data path from 16 to 48 bits wide (in 8-bit increments) that permits parallel half-duplex data transfers at high speeds (limited by the computer configuration) between the 2701 and anyone of up to 8 connected devices. Odd parity checking is provided. • Synchronous serial data transmission using 4out-of-8 checking code - provides for connection of IBM Synchronous Transmit-Receive (STR) communication terminals or other terminals satisfying a standard industry interface specification (RS 232). Such IBM terminals are the 1009, 1013, 7701, 7702, 7710, 7711, and the 7740 and 7750 program-controlled terminals. These units are described more fUlly on -the followiilg pages. • Automatic calling - permits processor-initiated automatic dialing on common-carrier switched telephone or 150-bits-per-second TWX networks. (Automatic answering of incoming calls can be provided by use of the proper common-carrier data set.) (Contd. ) 420: 106.120 INPUT-OUTPUT: 2701 DATA ADAPTER UNIT . 12 Description (Contci.) • Programming systems under the Basic Operating System/360 will be provided for 1030, 1050, 1060, and 1070 systems, for 2740 Terminals, and for Telegraph Adapters. • The 2741 Communications Terminal will be supported by the Administrative Terminal System/360 application program. Specific adapters enable the 2701 to communicate over appropriate communication facilities with the following terminals: • IBM 1050 Data Communication Systems - 14.8 or 8.33 char/sec. • IBM 1060 Data Communication Systems - 14.8 char/sec. • IBM 1070 Process Communication Systems 14.8 or 66.6 char/sec. • IBM 1031 Input Stations - 60 char/sec. • IBM 1033 Printers - 14.8 char/sec. • Bell System 83B2 or 83B3 Selective Calling Terminals - 45, 57, or 75 bits/sec. • Western Union Plan 115A Outstations - 57 or 75 bits/sec. • Common Carrier TWX Stations using 8-level code - 110 bits/sec. only. • 1009 Data Transmission Units - 150, 250, or 300 char/sec. • 1013 Card Transmission Terminals - 150, 250, or 300 char/sec. • 2740 Communications Terminal- 14.8 char/sec. • 2741 Communications Terminal- 14.8 char/sec. • 7701 Magnetic Tape Transmission Terminals 150 char/sec. • 7702 Magnetic Tape Transmission Terminals 150, 250, or 300 char/sec. • 7710 or 7711 Data Communication Units - 150, 250, 300, 2400, or 5100 char/sec. • 7740 Communication Control Systems - 150, 250 or 300 char/sec. • 7750 Programmed Transmission Controls - 250 char/sec. • System/360 Model 20 equipped with a Communication Adapter - 150, 250, or 300 char/sec. • 2848 Display Control with 2260 Display Stations 120 or 240 char/sec. • Another System/360 equipped with a 2701 Data Adapter Unit - 150, 250, 300, or 5100 char/sec. IBM programming support for 2701 users will be as follows: • Programming systems under the Operating System/360 will be provided for 1030, 1050, and 1060 systems, for 2740 Terminals, and for Telegraph Adapters. © Descriptions of most of the devices and systems that can communicate with a 2701 Data Adapter Unit are presented in the following paragraphs. .121 IBM 1050 Data Communication System The 1050 is a multi-device, general-purpose communication system that operates and transmits data at 14.8 or 8.33 characters per second over toll, leased,. or privately-owned half-duplex telephone, telegraph, or TWX circuits. Input can be from punched tape, punched cards, or keyboard; and output can be printed or punched on tape or cards. Devices which are not on-line at any particular time can'be used for off-line data recording or preparation. Every 1050 system includes a 1051 Control Unit, which provides the basic connection between the input-output units and the modulator-demodulator equipment for the transmission line. A 1050 system can also include one 1052 Printer-Keyboard and one or two of each of the following units: 1053 Printer, 1054 Paper Tape Reader, 1055 Paper Tape Punch, 1056 Card Reader, 1057 Card Punch, and 1058 Printing Card Punch. The only configuration restrictions are that neither the total number of readers nor the total number of punches may exceed two. The associated remote transmission control units can provide communication with the System/360, the 1240 Bank Data Processing System, and nearly any IBM 1400 or 7000 series system. .122 .IBM 1060 Data Communication System The 1060 System is designed for on-line or off-line banking and savings and loan applications, and utilizes 1061 Control Units and 1062 Teller Terminals. When used on-line with a data processing system, the 1060 operates in a half-duplex mode over commoncarrier leased telephone or sub-voice-grade lines or private lines, at a speed of 14.8 characters per second. The associated remote tr.ansmission control units can provide communication with the System/360, the 1240 Bank Data Processing System, and nearly any IBM 1400 or 7000 series system. (see also Section 414:102. ) .123 IBM 1070 Process Communication System The 1070 is a new IBM communication system designed to handle two-way transmissions of data and control information between remote process locations and a central System/360 equipped with a 2701 Data Adapter Unit or a 2702 Transmission Control (or an IBM 1050 Data Communication System). In an on-line process control application, 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360 420:106.123 . 123 mM 1070 Process Comm~cation System (Contd.) a 1070 system can address up to 300 input-output points, and can perform input-output functions involving digital/analog conversion, contact operation and sensing, BCD and decimal transfers, thermocouple sensing, data display, and printing. The 1071 Terminal Contror Unit controls selection and conversion of process signals in either a random or sequential mode for up to 50 points. Additional system units provide a variety of other functions. Transmission is in half-duplex mode at 14.8 or 66. 6 characters per second, depending upon the communication facilities used. . 124 IBM 1031 Input Station and 1033 Printer These units are elements of an IBM 1030 Data Collection System. The 1030 can operate as an independent privately-wired system for in-plant data collection, or it can transfer data in either direction over communication facilities. Associated IBM data processing systems can be the IBM System/360, the 1440 or 1460 systems, the 1240 Bank Data Processing System, and the 1410 or 7010 systems via a 1440. The 1031 Input Station transmits data at 60 characters per second from cards, badges, data cartridges, or manually-set slides. The 1033 Printer provides alphameric printed copy at remote locations at a rated speed of 14.8 characters per second. Used in conjunction with the 1031 Input Station, the 1033 Printer provides twoway on-line inquiry and reply capabilities. .125 Bell System 83B2 and 83B3 Teletypewriter Selective Calling System The 83B2 is a private line. service that sends and receives messages over one or more telegraphspeed circuits. It provides for automatically selecting in sequence ("polling") automatic punched tape transmitters at a central office and up to 39 remote stations. The messages contain calldirecting codes which determine the message routing. Messages are transmitted at speeds of 60, 75, or 100 words per minute (6, 7.5, or 10 characters per second). The central or switching office punches each message as received, and then transmits the message over the required output line as directed by the address code when the line becomes free. The 83B3 service is similar to the 83B2 but features a higher polling rate. The 1009 is able to transmit or receive data at line speeds of 75, 150, 187.5, 250, or 300 characters per second when using appropriate line facilities. The terminal at the remote end of the line can be: another 1009, a Magnetic Tape Transmission Terminal (a 7701 at 75 or 150 char/sec or a 7';'02 at 150, 250, or 300 char/sec), a 1013 Card Transmission Terminal (at 150, 250, or 300 chari sec), a 7710 or 7711 Data Communication Unit (at 150, 250, or 300 char/sec), a 7740 Communication Control System (at 150, 250, or 300 char/sec), a 7750 Programmed Transmission Control (at 150 char/sec). or the 2701 Data Adapter Unit (at 150, 250, or 300 char/sec) . Data is transferred in a serial-by-bit synchronous (timed) mode which does not require start-stop bits. Characters are transmitted in 8-bit groups, using either 4-out-of-8 checked BCD codes or binary characters. .128 IBM 1013 Card Transmission Terminal The 1013 is an independent, synchronous communication terminal used for transmission and reception of punched card data with another 1013, with other IBM synchronous terminals, or with data processing systems via appropriate control units. The 1013 can transmit 1 to 80 columns per card of Hollerithcoded data only, via a buffer which stores up to 329 characters per transmission record. Data from up to 7 cards can be sent per transmission record, with some fixed data being stored in the buffer as part of the 329 characters if desired. Transmission takes place at line speeds of 150, 250, or 300 characters per second over appropriate dialed or leased communication facilities, resulting in card transmission rates of 50 to over 400 cards per minute (depending on the number of characters per card, cards per record, line speed, and type of receiving terminal). Reception of data by a 1013 permits card punching at 160 columns per second, which will limit the card rate to 30 fullypunched cards per minute at best. Transmission is in the half-duplex mode. Alternative receiving terminals can be the IBM 1009, 7701, 7702, 7710, 7711, 7740, or 7750, as well as the 2701 Data Adapter Unit of a System/360. These units permit the high~r card transmitting rates to be'achi,eved and are described elsewhere in this report section. . 129 IBM 7701 and 7702 Magnetic Tape Transmission Terminals . 126 Western Union 'Plan 115A: Plan 115A is a Western Union service which is generally similar to the Bell System 83B2 service described above. .127 IBM 1009 Data Transmission Unit The 1009 is a data transmission control unit used to connect a number of different IBM data processing systems to communication lines. These systems are the 1401, 144,0, and 1460, as well as the 1410, 7010, 7040, 7044, 7070, 7074, 7080, 7090, 7094, and 7094-11 when connected to a 1414 Input-Output Synchronizer, Model 4, 5, or 6. 7/65 Both the 7701 and 7702 are independent, synchronous communication terminals used for transmission and reception of magnetic tape data with another 7701 or 7702, with other IBM synchronous terminals, or with data processing systems via appropriate control units. The 7702 is a newer tape transmission terminal than the 77 01 and can transmit or receive at line speeds of 150, 250, or 300 characters per second oyer appropriate dialed or leased communi·cation facilities. The 7701 operates at 75 or 150 characters per second. Tape records of any size can be coded in either binary or BCD format. Recording density is 200 characters per inch. Polyester or heavy duty tape is recommended. (Contd.) INPUT-OUTPUT: 2701 DATA ADAPTER UNIT 420: 106.129 .129 IBM 7701 and 7702 Magnetic Tape Transmission Terminals (Contd.) The table below shows the terminals which can communicate with the 7701 and 7702, and the usable line speeds. Line Speed (characters per second) Unit 7701 7701 Magnetic Tape Trl:!l1smission Terminal: 7702 Magnetic Tape Transmission Terminal: 1009 Data Transmission Unit: 1013 Card Transmission Terminal 7710 Data Communication Unit: 7711 Data Communication Unit: 7740 Communication Control System: 7750 Programmed Transmission Control: 7702 75/150 150 150 150/250/300 75/150 150/250/300 150 150/250/300 150 150/250/300 150 150/250/300 150 150/250/300 150 150 All of the listed units are described elsewhere in this report section. Data is read-checked by means of transverse and longitudinal parity checking. The receiving terminal performs the same checks, and magnetic tape recording terminals also perform a read-afterwrite data check. The units will stop and signal the operator only after three unsuccessful attempts to record a: valid record. Both the 7701 and the 7702 will operate in either the half-duplex or fullduplex mode. . 130 IBM 7710 Data Communication Unit The 7710 is a synchronous data transmission control unit used with an IBM ;I.401 Data Processing System to permit data transmission or reception at 150, 250, or 300 characters per second over suitable voice-grade communication services and at 5,100 characters per second over broad-band communication services. Two 1401's can communi-cate with one another by means of 7710's under 1401 program control, sending variable-length records in binary or BCD formats. Transmission code is the 4-out-of-8 checking cQde, and a longitudinal redundancy check character is included. Retransmission is performed under program control. A 1401-7710 combination can communicate with the IBM 1009, 1013, 7701, 7702, 7711, 7740, or a 2701 Data Adapter Unit used with a System/360. . 131 IBM 7711 Data Communication Unit The 7711 is an independent, synchronous communication terminal used for transmission and reception of magnetic tape data with another 7711, with other IBM synchronous terminals, or with data processing systems via appropriate control units. The 7711 controls either an IBM 729 Series or 7330 Magnetic Tape Unit, unlike the 7701 and 7702 which have self-contained tape transports. A © 200-character buffer is standard with the 7711, and its capacity can be expanded to 2,400 characters. Line speeds are the same as those of the 7710 Data Communication Unit: 150, 250, 300, or 5100 characters per second. Data checking is done as in the 7710. The usable associated units and data processors are the same as those listed in the 7710 description above. .132 IBM 7740 Communication Control System The 7740 is a stored-program computer designed to provide message storage and switching, using common-carrier lines and its own switching facilities. By means of appropriate communication services, the 7740 system is capable of data transmission and reception using telegraph-speed equipment and higher-speed (up to 300 characters per second) synchronous data transmission terminals. The 7740 system can stand alone as an independent message switching system, but will more typically be used as a switching facility for an IBM data processing system. As an independent system, the 7740 can connect to up to five IBM 1311 Disk Storage Drives, each capable of storing over two mil~ lion characters. (Magnetic tap!,!s are not available to the 7740.) As a system serving a "host" computer, the 7740 transfers messages to the·host computer for disc or magnetic tape storage. The 7740 can be connected directly to any of the following IBM computers: 1401, 1410, 1440, 1460, 7010, 7040, 7044, 7070, 7074, 7080, 7090, 7094. From 1 to 84 low-speed half-duplex lines (45 to 200 bits per second) and 1 to 4 high-speed half-duplex lines (1200 to 2400 bits per second) can be connected to the 7740 system. The maximum number of each type of line depends on the combination of lines desired, and on Whether or not a disc file is connected. Pairs of half-duplex connections can be used to form full-duplex connections . Communication lines can be leased (private) lineS or toll lines to exchanges. Telegraph or voicegrade lines or exchanges can be used by the system. The 7740 has facilities for automatic dialing and for automatic answering of dialed input messages. Transmission terminals and systems that can be connected to a 7740 include: • Telegraph terminals, operating at speeds up to 180 bits per second (approximately 24 Baudot characters per second). • IBM 65/66 Card Data Transceivers. • IBM 1009 Data Transmission Units. • IBM 1013 Card Transmission Terminals. • IBM 1050 Data Communication Systems . • IBM 1060 Data Communication Systems. • IBM 7701 and 7702 Magnetic Tape Transmission Terminals. • IBM 7710 Data Communication Systems. • Other IBM 7740 systems. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360 420:106.132 • 132 IBM 7740 Communication Control System (Contd.) • IBM 7750 Programmed Transmission Controls (~n~ect~~ to other IBM Data Processing Systems). • IBM System/360. The total number of characters per second that the system can handle varies greatly with the amount of processing performed on header and message characters, and on overall message processing. Typical gross throughput values range from 300 to 1,000 characters per second. A symbolic assembly program is available for assembling 7740 programs; it runs on an IBM 1401 or 1410 computer. Card or magnetic tape assembler output can be loaded into the 7740 from an associated computer. Assembler output on an IBM 1311 Disk storage Drive can be used for direct loading into a 7740. For further details on the IBM 7740, refer to Section 414:106. . 133 IBM 7750 Programmed Transmission Control The 7750 is a stored-progrartJ. computer designed to provide message storage and switching using common carrier lines and -its own switching facilities. It performs the input-output function for a directly-connected "host" coinputer, which can be an IBM 1410 Data Processing System or any 7000 series system except the 7072. Unlike the IBM 7740 Communication Control System, the 7750 has no provision for connection to its own disc storage file. Using appropriate communication services, the 7750 is capable of data transmission and reception using telegraph-speed equipment and higher-speed (up to 150 characters per second) synchronous data transmission terminals. The 7750's stored program is generally used to perform code conversion, editing, formatting, network monitoring, checking, etc., and to control the assembly and distribution of messages. . Data processing can be performed in the host computer. From 4 to 112 low-speed lines (45 to 200 bits per second) or 1 to 16 high-speed lines (voice quality, 1,200 bits per second) or a combination of the two types can be connected. Communication lines can be leased (private) lines or toll lines to exchanges. Telegraph or voice-grade facilities can be used. Transmission terminals and systems that can be connected to a 7750 include: • 7/65 Telegraph terminals, operating at speeds up to 180 bits per second (approximately 24 Baudot characters per second). • IBM 65/66 Card Data Transceivers • • IBM 1009 Data Transmission Units. • . IBM 1013 Card Transmission Terminals. • IBM 7701 and 7702 Magnetic Tape Transmission Terminals. • IBM 7740 Communication Control Systems. • Other IBM 7750 systems. • IBM System/360. A symbolic assembly program using mnemonic operation codes and symbolic addresses ·is available for assembling 7750 programs. This assembly program includes a Data Control Package and an Input-Output CQntrol System. After assembly, programs are loaded into the 7750 via the host computer. For further details on the IBM 7750, refer to Section 402:105. .134. 2740 Communications Terminal The 2740 is a new IBM remote terminal designed around the IBM Selectric Typewriter; it provides manual keyboard input and printed output. Data is transmitted or received in a half-duplex mode at 14.8 characters per second over common-carrier switched telephone, TWX, or leased or private communications facilities capable of operating at 133. 2 bits per second. Optional features permit dial-up operation over common-carrier dial networks, vertical and longitudinal parity checking, and multistation operation (multiple stations interconnected by a single co~munications line). .135 2741 Communications Terminal The 2741 is another newly-announced remote terminal designed around the IBM Selectric Typewriter. It is similar to the 2740 (see above) but can operate only in a point-to-point mode; 1. e., one terminal per line .. The .2741 is primarily intended for use as a remote inquiry station for a System/360. Dial-up operation over the common-carrier dial telephone network is available as an optional feature when used with the apprOPriate data set. When connected to a System/360 via a 2702 or 2703 Transmission Control (see Sections 420:107 and 420:108), but not via a ·2701, the 2746 can interrupt the computer while the computer is. transmitting data to it .. A full-duplex circuit is required for this facility. 420:107.100 IBM System/360 Input-Output 2702 Transmission Control INPUT-OUTPUT: 2702 TRANSMISSION CONTROL .1 GENERAL .11 Identity: .••.•••... IBM 2702 Transmission Control. . 12 Description The 2702 Transmission Control permits on-line connection of various low-speed communication terminals to a System/360 via private or commercial common-carrier transmission facilities. See Section 420:031, System Configuration, for the rules governing the connection of the 2702 to a particular System/360 configuration. The 2702 differs from the IBM 2701 Data Adapter Unit in transmission speeds and in the number of lines it can handle. The basic unit provides for attachment of up to 15 half-duplex communication lines, all of which can transfer data simultaneously at speeds up to 200 bits per second per line. Each line has ,an eight-bit buffer used for data transfers to or from the Processing :Unit. Optional features enable a 2702 to handle up to 31 lines, at 200 bits per second each, or the basic 15 lines at up to 600 bits per second each. The 2702 operates in a start/stop mode, and data transmission is serial by bit. The 2702 accomplishes all necessary bit-byte conversion, data control, and interfacing functions. Characters from incoming messages are interleaved and assembled in processor storage, so the 2702 imposes no restrictions upon message length. Optional features permit processor-initiated automatic dialing on common-carrier switched telephone or 150 bits-per-second TWX networks on a maximum of 16 lines. Automatic answering of incoming calls can be provided by use of the proper commoncarrier data set. Input-output operations involving the 2702 are programmed in much the same manner as other System/360 peripheral operations; each line is individually addressed. A general description of the input-output process is presented in Section 420:111, Simultaneous Operations. A special diagnostic command, Autowrap, is provided to allow the functioning of the 2702 to be checked under program control. This command causes the output of an addressed line to be "wrapped" around to the input of line O. If line 0 is free, the data can be read into core storage and checked. The test data can be inhibited from being sent over the communications line. The 2702 can utilize common-carrier switched telephone or 150-bits-per-second typewriter Exchange (TWX) networks, leased private line telephone or telegraph service, Western Union Class D or E (180 or 1200 bits-per-second) channels, and privately-owned communication networks. Specific terminal devices that can be connected to a 2702 include: • 1060 Data Communication System - 14.8 chari sec . • 1050 Data Communication System - 14.8 or 8.33 char/sec. • 1031 Input Station - 60 char/sec. • 1032 Digital Time Unit - 600 bits/sec. • 1033 Printer - 14.8 char/sec. • 1070 Process Communication System - 14.8 or 66.6 char/sec. • 2740 Communications Terminal- 14.8 chari sec. • 2741 Communications Terminal sec. • Bell System 83B2 Selective Calling Terminals 45, 57, or 75 bits/sec. • Western Union Plan 115A Outstations - 57 or 75 bits/sec. • Common-carrier TWX stations using 8-level code - 110 bits/sec. only. 14.8 chari • 2712 Remote Multiplexor - up to 150 chari sec; see description of the 2712 on page 420:108.100. The 1032 Digital Time Unit can be connected directly to a 2702 by a 20-foot cable; the 1032 provides the time of day in hours and hundredths of an hour. It occupies one line position of the 2702. Two models are available: Modell contains a synchronous motor drive; Model 2 is minute impulse self-regulatmg for attachment to a user's master clock system. Refer to the previous report section (420:106) for descriptions of the functions of the other data communications devices and systems listed above. IBM Programming support for users of the 2702 Transmission Control will be as follows: • Programming Systems under the Operating System/360 will be provided for 1030, 1050, and 1060 Systems, for 2740 Terminals, and for Telegraph Terminal Controls. • Programming Systems under the Basic Operating System/360 will be provided for 1030, 1050, 1060, and 1070 systems, for 2740 Terminals, and for Telegraph Terminal Controls. • The 2740 Communication Terminal is supported by the Administrative Terminal application program. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 ~ 420: 108.100 ~ IBM System/360 Input-Output 2703 Transmissian Cantrol INPUT-OUTPUT: 2703 TRANSMISSION CONTROL .1 GENERAL .11 Identity: •.••••..•• IBM 2703 Transmission Control. IBM 2712 Remote Multiplexor. .12 Description The 2703 Transmission Control is a new (July 1965) addition to the IBM System/360 line of communications controllers. The 2703 is similar to the 2702 (Section 420:107) in the types of remote terminals and communications facilities that it can accommodate (except that the 1032 Digital Time Unit cannot be connected to a 2703); see Section 420:107 for a list of these facilities. Descriptions of each of these facilities are contained in Sections 420:106 and 420:107. See Section 420:031 for the rules governing the connection of the 2703 to a particular System/ 360 configuration. The primary differences between the 2703 and the 3702 are in the number of lines that can be connected and in certain hardware features. The 2703 can accommodate up to 176 low-speed communications lines (up to 180 bits per second) or up to 72 lines operating at 600 bits per second. All lines can be active simultaneously. The greater line capacity of the 2703, as compared with the 2702, can free control unit positions on the Multiplexor Channel, thereby making it possible to connect more card readers, punches, printers, etc. Hardware features of the 2703 include automatic polling (with no program interrupts when negative responses are received) and a four-character buffer for each line. The optional Two Processor Switch permits the 2703 and the connected communications equipment to be switched between the Multiplexor Channels of two different System/360 Processing Units. Programming support for 2703 users will include provisions for IBM 1030, 1050, and 1060 systems, the 2740 and half-duplex telegraph terminals, and the Auto-Poll capability. These capabilities will be available with the Basic Operating System/360 (16K Disk) and the Operating System/360 in late 1967. 2712 Remote Multiplexor The 2712 Remote Multiplexor is a new IBM unit (also announced in July 1965) that permits messages from multiple low-speed lines to be multiplexed over a single voice-grade line. The low-speed lines are terminated at the 2712 via data sets in the normal manner. The 2712 is connected to a System/360 through a 2702 or 2703 Transmission Control with the appropriate adapters and data sets. Two models of the 2712 are available. Modell can handle up to 10 lines from IBM 1050, 1060, 2740, or 2741 units in any combination. Model 2 can handle up to 14 Teletypewriter lines. All lines can be either single-station (point-to-point) or multistation, and all can operate simultaneously and independently. Use of a 2712 Remote Multiplexor has no effect on programming or logical considerations. A 2702 Transmission Control (see Section 420:107) can communicate with up to two 2712's; a 2703 Transmission Control can communicate with up to four 2712's. Each line among the group of low-speed lines concentrated by a 2712 requires one line position of a 2702 or 2703. ,/ 7/65 420: 109. 100 IBM System/360 Input-Output Film Units INPUT-OUTPUT: FILM UNITS .1 GENERAL There are four basic modes of data recording: .11 Identity: . . . . . . . . . . 2280 Film Recorder. 2281 Film Scanner. 2282 Film Recorder/ Scanner. • Vector mode - In this mode a straight line can be recorded between any two addressable points. This mode can also be used to position the beam at a desired location without recording the path. . 12 Description • Point plot mode - Individual points are plotted by positioning the beam at a specific location and then turning on the beam. • Character mode - The character generator of the 2840 Display Control can generate a series of vector addresses corresponding to alphanumeric data in the buffer. These addresses are converted into analog values and applied to a special deflection yoke on the cathode ray tube. The characters are written by a series of short, high-speed strokes. Three program-selectable character sizes of 14, 28, and 56 raster units can be recorded in this mode. Spacing between characters of up to 126 raster units can be specified in the command and is performed automatically by the circuitry. These Film Units use unsprocketed 35-millimeter film as the input-output medium for graphic and/ or alphanumeric information. A cathode ray tube is used to record or scan images within a 4, 096by-4, 096-point matrix on a 1. 2-inch (nominal) square frame of film. The Film Units are connected to a 2840 Display Control, as described in Section 420:101. Film Units and 2250 Display Units can be connected to the same 2840 Display Control. The buffer and character generator of the Display Control are time-shared by all attached units. Up to four Film Units can be attached to a 2840 Display Control. See Section 420:031, System Configuration, for the rules governing the connection of Film Units and 2250 Display Units to a 2840 Display Control and to a particular System/360 configuration. . 121 2280 Film Recorder The 2280 Film Recorder provides facilities for recording data on film, for developing the image, and for viewing the proceS'Sed image. The standard film produces dark lines on a light background; note that this type of image is the reverse of the type read by the 2281 and 2282 Film Scanner Units. The film path consists of a supply cassette with a film capacity of 400 feet, a recording station, a developing station, a projection station, and a take-up c,assette. Vacuum columns between the stations allow the various functions to proceed asynchronously by buffering film movements between the stations. An exposed (recorded) image can be processed and projected on the 22. 8-inch-square, rear-projection screen within 48 seconds after the exposure. Images previously projected can be backspaced by the operator to the projection station. Digital information from the buffer of the 2840 Display Control is used to generate analog signals that control the positioning of the electron beam from the cathode ray tube. All recorded images are composed of straight lines and/or points. A straight line can be recorded between any two addressable points. A point can be recorded at any addressable location. A matrix of 4, 096 points can be addressed within the 1. 2-inch-square frame of film. , The distance between two adjacent addressable locations is called a raster unit (RU). Either of two line densities and either of two line widths can be selected under program control. © • Stroke mode - The analog signals are generated as in the vector mode, but these ,signals are applied to the character yoke rather than to the main deflection yoke of the cathode ray tube. This mode provides the capacity for generating short strokes within anyone of the standard character sizes at a high rate of speed. Special symbols not available from the character generator can be written in significantly less time in the stroke mode than in the vector mode. • The film is advanced past the recording station under program control in increments of O. 756, 1. 008, 1. 212, or 2. 004 inches. With proper programming, continuous images longer than the 1. 2inch frame size can be recorded. The time required to record a line or pOSition the beam in the vector mode is a function of the line length. This time varies between 102 and 408 microseconds. The average time required to write a character and space to the next character position is 24 microseconds. The time required to reposition the beam to begin a new line of data in the character mode is 150 microseconds. Short lines can be recorded in the stroke mode at the rate of one every four microseconds. The time required to advance the film past the recording station varies between 147 and 321 milliseconds, depending upon the frame advance increment. The exposed film can be processed at the developing station at the rate of 40 inches per minute. . 122 2281 Film Scanner The 2281 Film Scanner converts negative images (light lines on a dark background) on unsprocketed 35-millimeter film into digital data. Note that it 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360 420: 109.122 122. 2281 Film Scanner (Contd.) Film can be advanced under program control in increments of O. 756, 1. 008, 1. 212, or 2.004 inches. In addition, the film can be registered in the film gate in increments of O. 012 inch under program control. A 3-inch-square viewing screen allows the operator to view the image at the scan gate. will not be practical for a 2281 to read the dark-onlight film images normally produced by the 2280 and 2282 Film Recorder units; this could be accomplished only by reading the light areas and interpreting (by program) the dark lines as those areas which are not found to be light. The operator can manually register the film image at the film gate. IBM states that digital responses can be obtained from high-contrast images with lines as fine as 1/2000 of the image size and spaced 1/500 of the image size (center-to-center), if the scan vector length does not exceed 2.5% of the image size or if the scan stroke length does not exceed 24 raster units. If a 24-inch-square document were reduced to the 1. 2-inch- square film format, these limits of resolution would correspond to lines 0.012 inch thick and spaced O. 048 inch apart in the original document. Information can be retrieved from a 1. 15-inchsquare image that is registered in the film gate. The beam from a cathode ray tube is directed along two paths: one through the film to a photomultiplier tube, and the other directly to a second photomultiplier tube. The amount of light passing through the film is compared with the light intensity of the,direct beam. A response which is above a preset threshold sensitivity is considered a "strike." Anyone of 63 threshold values can be selected under program control, which provides the ability to analyze film images of varying density and contrast. There are two basic modes of operation, the scan vector mode and the scan stroke mode. In the scan vector mode, .the beam from the cathode ray tube is moved in a straight line from one addressable matrix point to another. The same 4, 096-by-4, 096-point reference grid used in the Film Reader Units is used by the Film Scanner Units. The path of the beam, or vector, is divided into 16 logical parts, and the circuitry determines whether a strike occurs in each part. The 16 bits of information from each programmed vector scan are recorded in two data bytes in the buffer of the 2840 Display Control. The scan vector mode can also be used to position the electron beam without scanning. The time required to generate a vector scan varies between 102 and 408 microseconds, depending on the length of the vector. Negative images can be reduced to digital form with the 2281, but note that a complex computer program will be required to interpret the digital information, particularly if the subject material is alphanumeric data. . 123 2282 Film Recorder/Scanner The IBM 2282 Film Recorder/Scanner provides the capabilities of both the 2280 Film Recorder and the 2281 Film Scanner in a single unit. The operations of film recording and film scanning, however" cannot be performed simultaneously. To convert from one mode of operation to the other, the film must be changed, the proper mode switches must be set, and the status of the film processor must be reset. When switching from recording to scanning, the film developer heads must be blotted free of chemicals. In the scan stroke mode, the character yoke of the cathode ray tube generates high-speed scan strokes within a 14, 28, or 56 raster-unit square, as specified by the program. A single response is recorded for each stroke. Scan strokes can be generated at a rate of one every 20 microseconds. 7/65 .13 Availability: . . . . . . . ? . 14 First Delivery: . . . . . 2nd quarter, 1966. 420: 111.1 DO IBM System/360 Simultaneous Operations' SIMULTANEOUS OPERATIONS .1 GENERAL The important characteristics of a channel are: An mM System/360 processor* can concurrently execute: • The channel capacity, normally expressed in bytes per second. • One machine instruction; and • • Up to six fast input-output operations, depending upon the number of Selector Channels in the system (see Table I); and The demand on the processor, or "interference," normally expressed in terms of the percentage reduction in internal proceSSing capacity while data transmission is taking place. • Multiple slower input-output operations via a Multiplexor Channel, if incorporated in the system; and • As many previously-initiated buffered inputoutput operations as have not yet been completed. Details of each System/360 model's capabilities for simultaneous operations are presented in the Simultaneous Operations section of the subreport on the appropriate model (e.g., Section 423:111 for Model 30). The number of simultaneous operations should not be confused with the number of concurrent programs. In the System/360 only one program can be executed by a Processing Unit at anyone time, but a number of other programs may be residing in main storage and utilizing input-output equipment, although the programs themselves are passive. This "multiprogramming" mode of operation is made possible by the built-in interrupt system and the software Operating System/ 360, as described in Section 420:191. .2 CHANNELS Each System/360 input-output channel directs the flow of information between main storage and the connected input-output devices. The channel provides a standard interface that permits many different types of input-output devices to utilize the same Processing Unit instructions and channel commands. The channel contains the common facilities required to control input-output operations. All chanp.els are physically located within the Processing Unit in Models 30, 40, and 50; in Mod!'lls 65 and 75, however, the channels are separate units. The System/360 uses two basic types of inputoutput channels: Multiplexor Channels and Selector Channels. Both types are described in succeeding paragraphs. See Section 420:031 for details concerning the availability of channels and the connection of the various peripheral devices for a particular System/360 configuration. *Except for the Model 20, whose input-output operations are handled differently from those of the larger models, as described in Section 422:111. © .21 Channel Capacity The measurement of channel capacity is based upon the highest instantaneous gross data transmission rate that can be safely maintained. For this purpose, it is necessary to consider the peak rates of all the peripheral units that can simultaneously transmit data through the channel. In the separate subreports on each of the System/360 models, the capacity of each channel is listed, along with the overall system data capacity and the peak data rate of each of the individual peripheral units where known. A channel may have more than one capacity listed in its specifications. In this case, the different capacities will correspond to different servicing requirements during data transmission. There are two major considerations that can affect channel capacities in the System/360 computer family: one depends upon how the program is written, and the other upon how the data channel is being used. Programming considerations are related to tlie concept of "chaining." Between the transmission of one byte and the next, it is possible that the channel control system will have to change the input-output area in use. This will involve obtaining the address of the new area to be used, performing various operations on it, and bringing it into use. All of these operations must be safely completed before the next byte can be accepted by the channel, and therefore the rate at which bytes can be safely accepted when the data is chained is conSiderably slower than the rate at which they can be accepted if it is known that chaining does not occur in the program. Indiscriminate use of chaining by programmers could have drastic effects on the functioning of a system, particularly when very high-speed devices, such as Hypertape or some random access storage units, are included. Because of the possible effect on system performance, careful consideration should be given to the use of chaining prior to the selection of peripheral devices and during the system analysis for individual jobs. Hardware considerations are related to the Multiplexor Channel. On this channel, it is possible either to control a number of simultaneous operations or to operate in "burst" mode, 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360 420:111.210 .21 operations through automatic interleaving of accesses to main storage. Channel Capacity (Contll.) in which case the channel can control only a single operation at a time. Operation in the burst mode eliminates the need to scan and service the other connected devices after each byte is transmitted on the single operating subchannel, and this greatly increases the safe operational speed of the channel. . 22 In the burst mode, a single input-output device monopolizes all the channel controls throughout the data transfer operation. The advantage of the burst mode is that it can handle significantly higher data transfer rates than the multiplex mode. Internal proceSSing cannot be overlapped with operation in the burst mode in Models 30 and 40, though it can be overlapped in larger models . Processor Demands The measurements of processor demands, or "interference," are based on the average data transmission rates during specific peripheral operations, rather than upon the peak rates. The difference between these two rates can most easily be seen by considering the operation of a buffered printer. Typically, when a print order is issued, a complete line of 132 characters is sent from memory to the printer buffer, which may, for example, be able to accept the entire. line within 1.1 milliseconds. This defines the peak data transmission rate: around 120,000 bytes per second in this example. Subsequently, the data in the buffer will be printed, the forms will be advanced one line, and the printer will be ready for another operation. The entire print cycle takes 48 milliseconds in a 1,250-line-perminute printer, and it is this period which is used to define the average data transmission rate as 2,750 bytes per second, as compared with the peak rate of around 120,000 bytes per second. The Selector-Subchannel optional features for the 2870 Multiplexor Channel allow one to four relatively high-speed input-output operations (up to 100,000 bytes/sec each) to proceed concurrently with operations on the basic channel of the 2870. Each Selector-Subchannel clin have up to 8 control units (a maximum of 16 peripheral devices) connected to it, but only one can be active at a time. A special High-Speed Multiplexor Channel containing up to eight subchannels, depending on the processor model, is available for Models 30, 40, and 50. This channel permits relatively high-speed data transfel's in a multiplexing mode, and can be installed in place of one Selector Channel. .24 Selector Channels can be used in Model 30 and all larger models of the System/360. The maximum number of Selector Channels per system is two in Models 30 and 40, three in Model 50, and six in Models 65 and 75. Each Selector Channel transmits data to or from only one device at a time. Input-output operations on all Selector Channels can occur simultaneously and can be overlapped with internal processing, provided that the maximum data-handling rate of the Processing Unit is not exceeded. Selector Channels are designed primarily for high- speed input-output devices such as magnetic tape units and disc files, but most low-speed devices can also be connected. In the Simultaneous Operations sections of the subreports on each of the System/360 models, the average and peak data transmission rates of each of the peripheral units, and the resulting processor demand, are listed where known. .23 Multiplexor Channels A Multiplexor Channel provides facilities, for time-sharing ("multiplexing") a single channel among a number of slower peripheral devices. While the theoretical maximum number of units that can operate simultaneously is large (up to 256 in some configurations), the actual limiting factor will usually be the total data rate capacity of the channel (see "Max Data Rate" in Table I). Only one Multiplexor Channel can be incorporated in a System/360 configuration; it is standard in Models 30, 40, and 50 and optional (2870 Multiplexor Channel) in Models 65 and 75. A Multiplexor Channel can operate in two modes: "multiplexuor "burst." In the multiplex mode, the channel can be timeshared by a number of simultaneously operating low-speed input-output devices such as prInters, card readers, card punches, and communication terminals. The channel is effectively divided into a number of "subchannels." Each subchannel consists of a group of storage locations holding the addresses, count, and status information associated with one input-output operation. Thus, the number of simultaneous input-output operations that the Multiplexor Channel can accommodate in the multiplex mode is limited only by the number of subchannels and by the channel's maximum gross data rate. Internal proceSSing can always be overlapped with multiplexed input-output 7/65 Selector Channels A special High-Speed Channel is available for the Model 50 only. This channel permits the operation of one very high-speed (up to 1,200,000 bytes per second) peripheral device. The -ProceSSing Unit and other input-output channels are locked out during an operation on this channel. • 25 Channel Capabilities The input-output channel capabilities of the System/360 models are summarized in Table I. It is noteworthy that at press time, 15 months after announcement of the System/360 , mM still had not officially specified many of the pertinent figures regarding channel data rate capacities and processor demands. Estimated figures have been inserted, and marked accordingly, wherever the speCifications are sufficiently firm to allow reasonable estimates to be made. .26 Channel-to-Channel Adapter The Channel-to-Channel Adapter permits highspeed communication between two System/360 ProceSSing Units of any model by linking together (Contd. ) SIMULTANEOUS OPERATIONS . 26 420:111.260 Channel-to Channel Adapter (Contd.) two input-output channels - one from each of the two Processing Units. When this is done, each Processing Unit can treat the other as a standard peripheral unit. The adapter can be used on either Multiplexor or Selector Channels and requires one control unit position on each channel. .27 Control Units A control unit, which may be a separate unit or an integral part of an input-output device, adapts the characteristics of each type of inputoutput device to the requirements of the standard channel interface. Up to eight control units can be connected to each System/360 channel, and many of the control units can accommodate a number of input-output devices. .3 INPUT-OUTPUT CONTROL The System/360 (except Model 20) uses only four which can be executed only when the Processing Unit is operating in the supervisor state: I/o instructions, • start I/O - initiates an I/O operation and specifies the channel and I/O device to be used. • Test Channel - places an indication of the channel's status (available, busy, not operational, or interrupt pending) into the Program Status Word. • Test I/O - supplies the program with information (in the form of a 64-bit Channel status Word) about the status of the specified I/o device and its channel. • Halt I/O - causes immediate termination of an I/O operation (usually because the channel is required for an operation of higher priority). When the Start I/O instruction is executed, the specified channel fetches a 32-bit Channel Address Word (CAW) from a fixed main storage location. The CAW specifies the main storage location where the channel program for the desired I/O operation begins. The channel. program consists of one or more 64-bit Channel Command Words (CCW's), which are executed by the channel independently of the Processing Unit (except that in the smaller System/360 models, some circuits are shared between the Processing Unit and channel functions). There are six channel commands: Read, Write, Read Backward, Control, Sense, and Transfer in Channel. The Read, Write, and Read Backward commands initiate the corresponding data transfer operations. Control commands initiate functions peculiar to certain I/O devices, such as rewinding a tape unit, advancing forms on a printer, and seeking a particular disc record . Sense commands provide the program with detailed status information peculiar to a particular I/O device. The Transfer in Channel command simply causes a branch to a specified location during execution of the channel program. An input-output area is described in each Channel Command Word, along with the channel command itself. Where more than one input-output area is required to complete the input-output operation, additional Channel Command Words are "chained" to the original CCW simply by placing them in the next sequential storage locations. This facility allows scatter-read and gatherwrite operations, and is called "data chaining" to distinguish it from "command chaining. " Command chaining occurs where more than one type of channel command is required to complete the input-output operation - perhaps a Write followed by a Rewind. Command chaining, like data chaining, is accomplished through the use of a series of Channel Command Words in successive locations. Flags are provided in each CCW to indicate which type of chaining, if any, is to take place. Two additional facilities, Skip and ProgramControlled Interruption (PCI), add to the flexibility (and complexity) of the input-output capabilities of the System/360. Both are specified by setting flags in the appropriate CCW. If the skip flag is set on, write operations are unaffected; read operations proceed as usual except that the data read from the input medium is not transferred to main storage. Skipping combined with data chaining permits selected portions of a data block to be read into main storage. If the PCI flag is set on, an interrupt request will be generated when that CCW is fetched. This interrupt does not affect the execution of the current instruction. If chaining occurs prior to servicing this interrupt, the condition is carried over to the new CCW. The PCI conditions are not stacked; i. e., if a new CCW that has the PCI flag set on is fetched prior to servicing the previous PCI condition, only one interrupt occurs. The PCI flag can be used to alert the program to the progress of chaining during an input-output operation. Input-output interruptions are caused by termination of an I/o operation, by fetching a CCW with the PCI flag set on, or by operator intervention at an I/O device. See Paragraph 420:051.123 for a description of the interruption process. When a Selector Channel is used for a data transfer operation (Read, Write, or Read Backward), the selected channel is monopolized from the time the command is issued until the data transfer is completed. Control and Sense commands cause no transfer of data and tie up the channel for only a short period of time (on the order of 100 microseconds). \ '" © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360 420: 111.300 TABLE I: SYSTEM/360 INPUT-OUTPUT CHANNEL CAPABIliTIES SYSTEM MODEL 65 & 75 ? 696 1,200 768 ? 1,792 1 128 1 256 - 128 31 3.1% est. 256 40 1.6% est. - 1 200 (4) 1 200 0.6% 40 SYSTEM DETAILS Maximum throughput, KB/sec (1) Maximum number of addressable devices 450 736 STANDARD MULTIPLEXOR CHANNEL_ Number of channels per system Maximum number of Bubchannels 1 224 Multiplexed Mode Maximum number of simultaneous data transmissions Maximum total data rate, KB/sec (2) Processor demand, per KB/sec (3) 224 31 ::6.25% Burst Mode Maximum number of simultaneous data transmissions Maximum total data rate, KB/sec (2) Processor demand, per KB/sec (3) 1 267 (4) 2870 MULTIPLEXOR CHANNEL Number of channels per system Number of subchannels Number of Selector-Subchannels 0 - - 0 -- 0 - -- - -- Selector Subchannels Maximum number of simultaneous data transmissions Maximum total data rate, KB/ sec (2) Processor demand per KB/sec (3) - -- - -- o or 1 o or 1 Multiplexed Mode Maximum number of simultaneous data transmissions Maximum total data rate, KB/sec (2) 4 200 Processor demand, per KB/sec (3) 0.15% Burst Mode Maximum number of transmissions Maximum total data rate, KB/sec (2) 1 200 Processor demand, per KB/sec (3) 0.15% SELECTOR CHANNELS Number of channels per system Maximum data rate per channel, KB/sec (2) Maximum total data rate, KB/ sec (2) Processor demand, per KB/sec (3) HIGH SPEED CHANNEL Number of channels per system Maximum total data rate, KB/sec (1) Processor demand, per KB/sec (2) o to 2 250 450 0.15% 0 - 4 4 200 est. 0.25% est. - o or 1 - 0.2% est. Oto3 400 800 0.05% 0 o or 1 (2) Kilobytes (thousands of bytes) per second; ~ data rate, based on no chaining and with no Transfer in Channel commands. The permissible data rate will be reduced if data chaining, command chaining, or Transfer-in-Channel commands are used, and, in some cases, if other input-output channels are in operationa (3) Processor demand (or "interference") for each kilobyte of data being input or output during each second. (This is a measure of the percentage of the total processor cycles which is required to store or access the data being input or output and/or to control the I/O process, and which is therefore unavailable for computational purposes.) (4) Processing Unit is inhibited for the entire duration of each data transfer operation of this tYPe. 0 8 ? Oto2 400 600 0.13% Kilobytes (thousands of bytes) per second; this is the maximum data rate with the most advantageous combination and usage of channels. 4 400 0.01% - 0.05% est. (1) o or 1 8 1 200 est. 0.13% est. - 1 - - 192 110 0.08% - 4 - 192 Oto4 - - 0 - Multiplexed Mode, Basic Channel Maximum number of simultaneous data transmissions Maximum total data rate, KB/sec (2) Processur demand, per KB/sec (3) HIGH SPEED MULTIPLEXOR CHANNEL Number of channels per system Maximum number of subchannels 7/65 50 30 1 ? 1,200 (4) o to 6 ? 1,300 0.0094% 0 - .- 420: 121.1 00 IBM System/360 Instruction list INSTRUCTION LIST: MODELS 30, 40, 50, 65, AND 75 The Instruction List presented below can be more easily understood if the report section on the IBM System/360 Central Processors, Section 420:051, is previously read, with particular attention to the paragraphs entitled Instruction Format and Interrupt System. The instruction Type heading below refers to the five basic classes of instructions: Register to Register (RR), Register to Indexed Storage (RX), Register to Storage (RS), Storage and Immediate Operand (81), and Storage to Storage (8S). The instruction Exceptions, which refer to instruction or data situations that cause program interrupts, are listed with their symbols at the end of this Instruction List. Standard Instruction Set NAME Add Add Add Halfword Add Logical Add Logical AND AND AND AND Branch and Link Branch and Link Branch on Condition Branch on Condition Branch on Count Branch on Count Branch on Index High Branch on Index Low or Equal Compare Compare Compare Halfword Compare Logical Compare Logical Compare Logical Compare Logical Convert to Binary Convert to Decimal Diagnose Divide Divide Exclusive OR Exclusive OR Exclusive OR Exclusive OR Execute Halt 110 Insert Character Load Load Load Address Load and Test Load Complement Load Halfword Load Multiple Load Negative Load Positive LoadPSW Move Move Move Numerics Move with Offset Move Zones Multiply MNEMONIC EXCEPTIONS TYPE IF IF IF CODE lA 5A 4A IE 5E 14 54 94 04 05 45 AR A AH ALR AL NR N NI NC BALR BAL RR C RX C RX C RR C RX C RR C RX C SI C SS C RR RX BCR RR 07 BC BCTR BCT RX RR RX 47 06 46 BXH RS 86 BXLE CR C CH CLR CL CLC CLI CVB CVD RS RR RX RX RR RX SS SI RX RX SI RR RX RR RX SI SS RX SI RX RR RX RX RR RR RX RS RR RR SI SI SS SS SS SS RR 87 19 59 49 15 55 D5 95 4F 4E 83 DR D XR X XI XC EX HIO IC LR L LA LTR LCR LH LM LNR LPR LPSW MVI MVC MVN MVO MVZ MR © C C C C C C C A,S, A,S, A,S, A,S P,A P,A A,S A,S A,S A A A,S,D, IK P,A,S M, A,S S, IK A,S, IK C C C C A,S P,A P,A A,S, CM A A,S C C A,S A,S C C LM, A,S P,A P,A P,A P,A P,A S 1D 5D 17 57 97 D7 EX 44 9E 43 18 58 41 12 IF 13 48 98 11 IF 10 82 92 D2 Dl Fl D3 lC Multiply Multiply Halfword OR OR OR OR Pack Set Program Mask Set System Mask Shift Left Double Shift Left Single Shift Left Double Logical Shift Left Single Logical Shift Right Double Shift Right Single Shift Right Double Logical Shift Right Single Logical Start 110 Store Store Character Store Halfword Store Multiple Subtract Subtract Subtract Halfword Subtract Logical Subtract Logical Supervisor Call Test Channel TestI!O Test Under Mask Translate Translate and Test Unpack OC PACK SPM SSM SLDA SLA RX RX RR RX SI SS SS RR SI RS RS SLDL RS SLL SRDA SRA RS RS RS SRDL RS SRL SIO ST STC STH STM SR S SH SLR SL SVC TCH TIO TM TR TRT UNPK RS SI RX RX RX RS RR RX RX RR RX RR SI SI SI SS SS SS M MH OR 0 or A,S A,S C C C C A,S P,A P,A P,A L M, A S, C C C C IF IF S 80 S 89 8E 8A S 8C CM P,A,S P,A P,A,S P,A,S C C C C C CM CM C C 5C 4C 16 56 96 D6 F2 04 80 8F 8B A,S, A,S, IF IF IF A,S A P,A A P,A 88 9C 50 42 40 90 IB 5B 4B IF 5F OA 9F 9D 91 DC 00 F3 Floating-Point Feature Instructions NAME Add Normalized (Long) Add Normalized (Long) Add Normalized (Short) Add Normalized (Short) AddUnnormalized (Long) Add Unnormalized (Long) Add Unnormalized (Short) Add Unnormalized (Short) Compare (Long) MNEMONIC TYPE EXCEPTIONS CODE NADR RRF,C S,U,E,LS 2A NAD RXF,C A,S,U,E,LS 6A NAER RRF,C S,U,E,LS 3A NAE RXF,C A,S,U,E,LS 7A AWR RRF,C S, E,LS 2E AW RXF,C A,S, E,LS 6E AUR RRF,C S, E,LS 3E AU CDR RXF,C RRF,C A,S, S E,LS 7E 29 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 420: 121.1 01 IBM SYSTEM/360 NAME Compare (Long) Compare (Short) Compare (Short) Divide (Long) Divide (Long) Divide (Short) Divide (Short) Halve Long Halve (Short) Load and Test (Long) Load and Test (Short) Load Complement (Long) Load Complement (Short) Load (Long) Load (Long) Load Negative (Long) Load Negative (Short) Load Positive (Long) Load Positive (Short) Load (Short) Load (Short) Multiply (Long) Multiply (Long) Multiply (Short) Multiply (Short) Store (Long) Store (Short) Subtract Normalized (Long) Subtract Normalized (Long) Subtract Norma\ized (Short) Subtract Normalized (Short) MNEMONIC TYPE EXCEPTIONS CODE RXF,C RRF,C RXF,C RRF RXF RRF RXF RRF RRF A,S LTDR RRF,C S 22 LTER RRF,C S 32 LCDR RRF,C S 23 LCER LDR LD RRF,C RRF RXF S S A,S 33 28 68 LNDR RRF,C S 21 LNER RRF,C S 31 LPDR RRF,C S 20 LPER LER LE NMDR NMD NMER NME STD STE RRF,C RRF RXF RRF RXF RRF RXF RXF RXF S S A,S S,U,E A,S,U,E S,U,E A,S,U,E P,A,S P,A,S 30 38 78 2C 6C 3C 7C 60 70 NSDR RRF,C S,U,E,LS 2B NSD RXF,C A,S,U,E,LS 6B NSER RRF,C S,U,E,LS 3B NSE RXF,C A,S,U,E,LS 7B CD CER CE NDDR NDD NDER NDE HDR HER S A,S S,U,E,FK A,S,U,E,FK S,U,E,FK A,S,U,E,FK S S 69 39 79 2D 6D 3D 7D 24 34 Subtract Unnormt.lized (Long) Subtract Unnormalized (Long) Subtract Unnormalized (Short) Subtract Unnormalized (Short) SWR RRF,C S, E,LS 2F SW RXF,e A,S, E,LS 6F SUR RRF,e S, E,LS 3F SU RXF,C A,S, E,LS 7F The scientific instruction set includes the instructions of both the standard instruction set and the lIoating-point feature. Decimal Feature Instructions NAME Add Decimal Compare Decimal Divide Decimal Edit Edit and Mark Multiply Decimal Subtract Decimal Zero and Add AP CP DP ED EDMK MP SP ZAP EXCEPTIONS TYPE MNEMONIC SS SS SS SS SS SS SS SS T,e T,C T T,C T,e T T,e T,C Commercial Instruction Set The commercial instruction set includes the instructions of both the standard instruction set and the decimal feature. Universal Instruction Set The universal instruction set includes the instructions of the standard instruction set, the lIoating-point feature, and the decimal feature. Direct Control Feature Instructions NAME Read Direct Write Direct TYPE MNEMONIC RDD WRD EXCEPTIONS SI Y M,P,A SI Y M, A C D DF DK E EX F FK IF IK L LS M N P S T U Y Z Insert Storage Key Set Storage Key ISK SSK RRZ RRZ M, A,S M, A,S Addressing I'xception Condition code is set Data exception Decimal-overllow exception Decimal-divide exception Exponent-overllow exception Execute exception Floating-point feature Floating-point divide exception Fixed-point ovcrllow exception Fixed-point divide exception New condition code loaded Significance exception Privileged-operation exception Normalized operation Protection exception Specification exception Decimal feature Exponent-underflow exception Direct control feature Protection feature Reproduced from IBM System/360 Principles of Operation, Appendix G. 7/65 CODE 85 84 Protection Feature Instructions Meaning of symbols in TYPE and EXCEPTIONS columns A CODE P,A, D, DF FA F9 A, D P,A,S,D, DK FD DE P,A, D DF P,A, D FC P,A,S,D P,A, D, DF FB P,A, D, DF F8 09 08 420: 131.1 DO IBM System/360 Compatibility With IBM 1401/1440/1460 COMPATIBILITY WITH IBM 1401/1440/1460 .1 GENERAL System/360 Models 30 and 40 can, under certain circumstances, execute machine-code programs written for IBM 1401 and 1460 computers. Programs written for IBM 1440 computer systems can be similarly run on a properly-equipped System/360 Model 30, but not on a Model 40. A number of configuration requirements must be met before a user can run IBM 1400 Series programs on his System/360 processor, and these are summarized in Table I. The basic purpose of the ability to run programs written for older IBM systems on a System/360 is simply to allow an installation more time to reprogram. Reprogramming is always necessary in moving from any older IBM computer to a System/360, because the machine code used by the System/360 is fundamentally different from that of any of IBM's older systems. The basic method selected by IBM to allow programs written in "foreign" machine codes to run on the System/360 Model 30 is different from the method used on Model 40. In Model 30, the whole simulation operation is performed by hardware, with no software contribution whatsoever. This means that the peripheral units in the new system must appear to operate exactly like the peripheral units in the older system, which in turn necessitates the use of speCialized adapters on most of the new peripheral units. It also means that the entire main core memory of the Model 30 is available for simulating the program storage of the old system, with no additional core storage area being needed to hold routines that simulate the old machine codes. In contrast to the hardware method used in Model 30, a combined hardware/software method is used in Model 40 systems. Here the operational differences between the old and new peripheral units are handled by the use of simple routines held in core memory, thus obviating the need for special hardware adapters on the peripheral units, but requiring the use of some core storage to hold the routines. This means that a larger amount of core storage is used in Model 40 systems than was used in the systems being simulated. I \. Although both Model 30 and Model 40 use special hardware to duplicate the functions of the basic 1400 Series instructions, the overall performance of the faster System/360 Model 40 computer will generally be somewhat below the performance of the slower Model 30 when simulating a 1400 Series system. A Model 30 can execute 1400 Series machine instructions at about 3.5 times the speed of the 1401, while Model 40 generally executes them at only about 3 times the speed © of the 1401. An exception is the important Move Characters and Edit instruction, which is handled by software simulation routines in Model 40 and takes 20 times as long as in a 1401 computer. The System/360 peripheral devices are not significantly faster than their 1400 Series counterparts, but the System/360's greatly increased capabilities for simultaneous operations should lead to significant increases in overall throughput in most applications. The basic 1401/1440/1460 Compatibility Feature for Model 30, however, does not enable it to take advantage of System/ 360's capability to overlap magnetic tape reading and/or writing with computation. An optional Tape Overlap feature for Model 30 provides for special buffering and reblocking in a 4, 096-byte area of core storage; this permits read/compute or write/compute simultaneity in systems with one Selector Channel, and read/write/compute simultaneity in systems with two Selector Channels. In Model 40, the configuration restriction that all emulated tape units must be connected to the same Selector Channel effectively prevents simultaneous reading and writing. Details of the operational efficiency of 1400 Series programs when operating on a System/360 Model 30 or 40 are presented in Paragraph 420:131. 7 below, and the techniques used in these emulations are described in Paragraph 420:131.6 IBM tends to use the term "compatibility" for the hardware-only approach used in Model 30 and the term "emulation" for the combination hardware/software approach used in Model 40. From the user's point of view, the main difference between the two approaches is that the extra costs entailed by the compatibility approach are entirely for special-purpose hardware; when the last of the user's own programs has been rewritten in System/360 code, these special features can be discontinued. Thus, the extra rental cost involved in running programs written for the old computer can be ended as soon as there are no more unconverted programs to be executed. By contrast, the extra cost/> involved in the emulation technique will end only if and when the additional main core storage needed for this approach is· removed from the system. Historically, although many systems have been purchased with additional core storage for reasons of this type, this additional core storage has rarely been removed when it has served its original purpose. Some programs usually will have been written to use all of the available core storage, even though there were rio absolute requirements for using it. In such cases, the.added cost of emulation will continue to be paid as long as the System/360 is installed. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360 420: 131.200 TABLE I: CONFIGURATION REQUIREMENTS FOR EMULATION OF IBM 1401/1440/1460 SYSTEMS System/360 Model: Model 40 Model 30 Processors that can run 1401/ 1440/1460 programs Any Model 30 system with at least 8K bytes and 1401/1440/1460 Compatibility Features. Any Model 40 system with at least 16K bytes and 1401/1460 Compatibility Features. Peripheral units whose operations can be duplicated Card unlts. magnetic tapes. printers. and Console Inquiry stations (replaced by System/3GO equivalents with special adapters). Card units. magnetic tapes. printers. and Console Inquiry stations (replaced by System/3GO equivalents; no special adapters required). 1311 Disk Drives are replaced by 2311 Disk Drives (with noncompatible recording mode). No provision for use of 1311 or other random access devices. Core storage requirements during emulation No extra core storage required (i.e •• BK-byte Model 30 can run BK-char 1400 programs; 16K-byte Model 30 can run 16K- char 1400 programs). BK bytes required for emulator software (I.e •• an 8K Model 40 cannot emulate any 1400 system; a IGK Model 40 can emulate only an 8K 1400; and a 32K Model 40 is required to emulate either a 12K or a 16K 1400 system). 1400 Series features emulated by standard Compatibility Features Advanced Programming. Bit Test. Expanded Print Edit. High-lDw-Equal Compare. Multiply/Divide. Print Storage. Additional Print Control. Read Punch Release. Space Suppression Sense Switches. (processing Overlap Is not provided as such. but all printer- and 1402 Card Read Punch operations are buffered.) Advanced Programming. Bit Test. Expanded Print Edit. High-lDw- Equal Compare. Print storage. Additional Print Control. Processing Overlap. Read Punch Release. Space Suppression. Sense Switches. Additional 1400 Series features that can be emulated Column Binary (1401). Binary Transfer (1460). 51-Column Interchangeable Read Feed. Punch Feed Read. Column Binary (1401). Binary Transfer (1460). 51-Column Interchangeable Read Feed. Punch Feed Read. Computers that can be simulated by a single System/360 installation A single system can run both 1401 and 14GO programs; a card deck resets parts of the simulating hardware to handle either system. A single system can run both 1401 and 1460 programs without restriction. 1440 programs that use a 1442 or 1443 cannot be run on the same System/3GO as 1401 or 1460 programs. .1 GENERAL (Contd.) 8/65 The 1401/1460 and 1410/7010 Compatibility Features are mutually exclusive. or 1405 Disk Storage, etc. Lists of the nonsimulated 1400 Series peripheral devices and special features are included in Paragraph 420:131.8. Although IBM has officially placed limitations on the scope of the compatibility and emulating techniques, a user can normally expect to continue to patch and debug his old programs while running them on the new system. IBM says it anticipates that only operational, fully-tested programs will be run this way, but IBM is in fact supporting the provision of the standard assemblers and debugging aids for 1400 Series programs on the System/360. IBM is not promising direct System/360 compatibility for all of the existing 1400 Series installations; only basic card, tape, and (on Model 30) 1311 Disk systems can be simulated at the present time. This means that reprogramming will probably be necessary for any 1400 Series installation that uses data communications equipment, optical or magnetic character readers, paper tape, 1301 1440 programs cannot be run by a Mode14O. The Compatibility Features for Model 30 have bee... in use at IBM's Endicott facility since January . 1965, and they have already been used to run a variety of 1400 Series programs. First deliveries of the Compatibility Feature for Model 40 are scheduled for September 1965. .2 CONVERSION OF DATA .21 Punched Card Files Punched card data is handled exactly the same way in the System/360 (using EBCDIC coding) as it was in the older IBM system. (Contd.) COMPATIBILITY WITH IBM 1401/1440/1460 .22 Magnetic Tape Files Either seven-track or nine-track tape can be used with the 1400 Series Compatibility Features. Seven-track tape requires use of the Seven-Track Adapter Unit to perform conversions between the BCD tape code and the EBCDIC internal code of the System/360. To use nine-track tape, the user must first convert his existing tape fiies from the seven-track mode (used in all 1400 Series systems) to the nine-track mode by transcribing them on a System/360 equipped with tape units of both the seven-track and nine-track types. It should be noted that at least one seven-track tape unit will be needed on the System/360 if the user requires any tape communications between his System/360 and any second-generation IBM equipment. .23 • 24 420: 131.220 Disc Files Data presently on 1311 Disk Packs, in either the load mode or the move mode, must be dumped (on cards or tape) and then reloaded onto the new 2311 Disk Packs. In the System/360, load-mode data can be used only by the Emulator and Simulator Programs; it must be translated before it .can be used by any other System/360 program. . 52 • 53 .4 The machine language of the System/360 and the 1400 Series systems are totally different, and all personnel who will be required to use the System/ 360 other than via emulation will need extensive retraining. Operators will require familiarization courses before they start running emulated programs on the System/360. .5 OPERATION OF CONVERTED PROGRAMS .51 Operation of Individual Programs A simulated program requires the same general operating procedures on the System/360 as on the IBM 1400 Series system. Some differences will be encountered, including the following: Processing of error conditions will not be identical. Utilization of Program Libraries Utilization of Operating Systems Preparation of Operating Instructions and Program Documentation An Automatic Documentation and Flow-Charting Program for the IBM 1401 allows an Autocoder program to be listed and flowcharted automatically. This routine is useful where no other documentation exists, or where there are doubts as to whether the existing documentation is up to date. The routine can also be used for IBM 1460 and 1440 programs, but it cannot be run on an IBM 1440 system. CONVERSION OF PROGRAMS CONVERSION OF PERSONNEL • No standard, IBM-supplied operating systems are presently in use with IBM 1401, 1440, or 1460 computers, so this problem will not normally arise . • 54 IBM expects a properly-equipped System/360 to be able to run most 1400 Series programs with little or no hand editing. This does not include time-dependent programs and certain other types of programs, which are listed in the "Limitations" section below. It will, however, be possible to use the normal 1400 Series programming support packages such as assemblers, debugging aids, compilers, and other IBM-provided software. Most application packages will also be able to operate in the compatibility mode, although IBM has not committed itself to support all application packages. Card positions in the card reader and the card punch may not be identical upon termination of a program. An installation requiring the use of a program library must prepare its own library facilities, either by emulating the appropriate 1400 Series programs or by writing new procedures in System/360 language. Some of the special symbols on the 1400 Series printers and console typewriter are not available on equivalent System/360 models. .3 • Programs that have been converted to System/360 coding will normally use completely new operational procedures. Collating Sequence Printed Records Register contents at the various program halts may not be identical. A specially-prepared mask can be placed over the console of the System/360 to help the operator set sense switches, read indicator lights, etc. The original 1400 Series collating sequence is maintained in the System/360 EBCDIC code. • 25 • .6 SPECIAL TECHNIQUES • 61 The Model 30 Compatibility Technique Use of the Compatibility Features modifies the internal organization of the System/360 Model 30 by adding a special 1400 Read-Only storage (ROS) Control and an area of core storage called the Auxiliary Storage. This area includes residence for general-purpose, floating-point, and condition registers, for the Decimal-to-Binary Conversion Table, the 1400 EBCDIC-to-BCD Table, the Op Code Table, the Unit Control Words, etc. Auxiliary Storage cannot be addressed by a System/360 programmer. Sequences of the Read-Only Storage words, combined with timing pulses, define data paths in the Model 30; these sequences - called "microprograms" - have been written so that the function of each IBM .1401, 1460, or 1440 instruction is effectively simulated. Most of the main core storage is used to simulate the 1400 Series core memory, on a byte-percharacter basis. Because the 1400 Series core © 1965 AUERBACH Corporotion and AUERBACH Info, Inc. 8/65 420: 131.610 .61 The Model 30 Compatibility Technique (Contd.) IBM SYSTEM/360 .7 storage capacities are exact multiples of 1,000 while the System/360 capacities are exact multiples of 1,024, a few additional locations are available in the System/360; these are used to detect wraparound and for other functional requirements. A word-mark on a character in core storage is coded into bit position 1 in the EBCDIC code; this bit position of each byte is not.otherwise used in the compatibility mode. In operation, an instruction held in main core storage is read by the ROS Control microprogram, which examines the operation· code and branches to the microprogram which simulates that specific instruction. This microprogram, where appropriate, uses the Decimal-to-Binary Conversion Table to convert the addresses of operands from decimal mode to binary mode before using them to control the actual execution of the instruction. This decimal-to-binary conversion - which takes approxImately six microseconds - occurs immediately before each operand address is used, and the addresses in core storage are always held in decimal form. This means that no complications will occur when a programmer modifies his instructions during a program. The rest of the microprogram duplicates the functions of the appropriate 1400 Series machine instruction and then fetches the next 1400 Series instruction to be simulated. . 62 Table II summarizes the operational efficiency of IBM 1401 and 1460 programs when executed in the compatibility mode on System/360 processors. No details are presently available regarding the performance of IBM 1440 programs on the System/360 Model 30, but it is anticipated that the internal processing speeds will be about 3. 5 times as fast as in the 1440. .8 LIMITATIONS .81 1400 Series Peripheral Devices Which Cannot Be Handled in the Compatibility Mode IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM The Model 40 Compatibility Technique During emulation, certain registers and core storage locations of the Model 40 are used to represent the instruction counter, registers, sense switches, and other facilities of the original 1400 Series computer system. The Model 40's core storage is divided into two areas; one is used to duplicate the original computer system's core storage, on a byte-per-character basis, and the other holds the Emulator Program. The latter area presently occupies 8,192 bytes of core storage. The simulation of the 1400 Series program is performed by two different, complementary procedures. Special hardware, which IBM calls the 1401/1460 Compatibility Feature, is used to decode the instructions and simulate all the basic operations except those related to input-output and the Move Characters and Edit instruction. The Compatibility Feature analyzes the operation code of each 1400 Series machine instruction immediately before its execution; controls the setting of the Instruction Counter, the A and B storage Address Registers, and the A Character Register; and finally either executes the 1400 Series instruction by direct simulation or transfers control to the Emulator Program. When an operation code is encountered that must be handled by the Emulator Program, the Compatibility Feature transfers control to a specific location within the Emulator Program. A software routine simulates the 1400 Series instruction and then returns control to the Compatibility Feature. The cycle is repeated for each instruction in the original 1400 Series program. OPERATIONAL EFFICIENCY 1009 Data Transmission Unit. 1011 Paper Tape Reader. 1012 Paper Tape Punch. 1026 Transmission Control Unit. 1301 Disk Storage 1231 Optical Mark Page Reader. 1235 Optical Reader. 1404 Printer (when not using continuous forms). 1405 Disk Storage. 1409 Console Auxiliary. 1412 Magnetic Character Reader. 1418 Optical Character Reader. 1419 Magnetic Character Reader. 1428 Alphameric Character Reader. 1447-1050 system and its components. 1448 Transmission Control Unit. 7340 Hypertape Drive • 7641 Hypertape Control. 7710 Data Communication Unit. 7770 Audio Response Unit. Note: It may be possible to emulate some of the devices listed above through the use of equivalent System/360 devices and special routines if there is enough additional core storage available. IBM is not promising software to support such configurations, so the responsibility for .the programming involved (which can be extremely complicated) will fall upon the user. .82 1400 Series Features Which Cannot Be Handled in the Compatibility Mode Compressed Tape. * Direct Data Channel. Numeric Print Control. Serial I/O Adapter. . 83 Programming Restrictions and Limitations The 1401/1440/1460 Compatibility Feature and the 1401/1460 Emulator permit the execution of programs written in accordance with IBM principles-of-operation manuals. The user must, however, consider the following program restrictions and limitations: • Programs written for a 1401/1460 system which depend on the absence of a particular optional feature may not be properly emulated. *A "standard" RPQ feature is available which can handle Compressed Tape. (Contd.) 8/65 420:131.830 COMPATIBILITY WITH IBM 1401/1440/1460 TABLE II: OPERATIONAL EFFICIENCY IN THE 1401/1460 COMPATIBILITY MODE ~ IBM 1460 IBM 1401 NEW COMPUTER When available: Now. Now. Processing: Approx. 3.5 times as fast. Approx. 1. 8 times as fast. Input-output operations: Depends upon the specific units involved. Depends upon the specific units involved. Average new performance: Approx. 2. 5 times as fast. Approx. 1. a times as fast. Reserved hardware: (In addition to simulated core memory, at one byte/character) None. None. Rental cost of special features, reserved hardware, etc. $265 to $460. $265 to $460. When available: Sept. 1965. Sept. 1965. Approx. 3.0 times as fast. Approx. 1. 5 times as fast. Approx. 20 times slower. Depends upon the specific units involved. Approx. 2.4 times as fast. Approx. 40 times slower. Depends upon the specific units involved. Approx 1. 2 times as fast. Reserved hardware: (In addition to simulated core memory, at one byte/character) 8K bytes* 8K bytes* Rental cost of special features, reserved hardware, etc. $500, or $1,400 if additional core storage is obtained in order to allow 1401 emulation. $500, or $1,400 if additional core storage is ob~ained in order to allow 1460 emulation. Performance, as compared with original system - IBM System/360 Model 30 with at least BK bytes of core storage Performance, as compared with original system - IBM System/a60 Model 40 with at least 16K bytes of core storage Processing, except for Move Characters & Edit instruction: Move Characters & Edit instruction: Input-output operations: Average new performance: *The available Model 40 core storage sizes may, in fact, make it necessary to procure up to 20K additional bytes beyond the requirements of the 1401/1460 programs. . 83 Programming Restrictions and Limitations (Contd. ) • Time-dependent programs may not yield results identical to those obtained in a 1400 Series system. • The operator cannot perform equivalent 1400 Series console operations, except for altering the Instruction Counter and setting sense switches. • The emulator does not check for effective addresses beyond the limits of core storage. Such an address, instead of causing a machine stop as in the 1400 Series, produces a memory wrap-around. • Programs which contain undetected programming errors may not yield results identical to those obtained in a 1400 Series system. • The System/360 device unit-!addresses "00" and !IFF" may not be used. © Certain differences between the operation of the System/360 emulators and the 1400 Series systems will result from differences in the two sets of I/O devices and different internal speeds. Three examples of I/O differences are: o The Read-Release and Punch-Release instructions do not cause an actual card-feed motion in the IBM 2540 Card Read Punch. After a System Stop operation, the cards in the hoppers and stackers of the 2540 may not be in the same relative positions as in a 1400 Series system. o In a 1400 Series system, after a card is read, about 10 milliseconds are available for starting a Stacker Select operation. With the emulators, a Stacker Select operation issued at any time between two Read instructions affects the first of the two cards. o The channel-9 and channel-12 indicators, used with the 1400 Series printer carriagecontrol tape, do not remain set until the next tape punch is detected. The indicators are reset at the end of the printer operation after the one in which they are set. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 420: 132.100 IBM System/360 Compatibility With IBM 1410/7010 COMPATIBILITY WITH IBM 1410/7010 .1 GENERAL System/360 Models 40 and 50 can, under certain circumstances, execute machine-code programs written for IBM 1410 and 7010 computer systems. A number of configuration requirements - notably those governing the core storage requirements of the new system - must be met before a user can run 1410/7010 programs on a System/360 processor. These requirements are summarized in Table I. The basic purpose of the ability to run programs written for older IBM systems on a System/360 is to allow an installation more time to reprogram. Reprogramming is always necessary in moving from any older IBM computer to a System/360, because the machine code used by the System/360 is fundamentally different from that of any of IBM's older systems. Emulation by means of the hardware/ software approach adopted by mM is most practical where users are trading up to significantly larger and more powerful systems. In such cases, the additional core storage required on the new system to run the emulator programs can be economically used when emulation is not in process. These additional core requirements are considerable: in some cases more than twice as much core storage is needed in the emulating System/360 as was installed in the original 1410 or 7010 computer system. The cost of this additional core storage may make emulation impractical for users who wish to apply third-generation computer technology to reduce their computer rentals rather than to handle a vastly increased processing load. An estimate of the cost of emulation from such a user's point of view can be obtained by comparing his present rental with the rental of an equally powerful modern computer and with the rental of the least expensive system capable of emulating his present system. Using a 6-tape IBM 1410 installation as a basis, the resulting figures are compared below. Installations whose workload includes a number of IBM 1401 programs as well as 1410 or 7010 pro- grams will need to recode either the 1401 programs or the 1410/7010 programs before transferring to a System/360. This is necessary because, although a System/360 Model 40 can emulate either IBM 1401 or 1410/7010 systems, the two compatibility features are mutually exclusive. Furthermore, the 1401 Compatibility Mode, which is a standard feature in IBM 1410 and a standard option in IBM 7010 systems, is not available when a System/360 is used to emulate !I. 1410 or 7010. In both Model 40 and Model 50, IBM uses a combined hardware/ software method of emulation. Operational differences between the old and the new peripheral units are resolved by the use of routines held in core memory. This obviates the need for special hardware adapters on the peripheral units themselves, but adds to the amount of core storage that is required. From the user's point of view, the main difference between the all-hardware approach to emulation (used in Model 30) and this hardware/software approach is that it is rarely practical to discontinue the use of the additional core storage areas when emulation of 1410/7010 programs is no longer required. This may lead to an installation's using a more expensive system than it actually needs, and effectively continuing to pay for the ease of transferring to the System/360 long after reprogramming has been concluded. Although IBM has officially placed limitations on the scope of the emulating technique, a user can normally expect to continue to patch and modify his old programs as necessary during the emulation phase. IBM disclaims responsibility for the proper operation of any programs other than fully-tested, properly-written, time-independent programs, but in fact IBM is supporting the provision of the normal complement of assemblers and debugging aids for the 1410/7010 systems on the System/360. Details of the operational efficiency of 1410/7010 programs when operating on a System/360 Model 40 or 50 are presented in Paragraph 420:132.7, and the techniques used in these emulations are described SYSTEM DETAILS* 6-tape, 20K IBM 1410 Present System Equally Powerful System/360 6-tape, 32K System/360 Model 30 Minimum System That Can Emulate User's Present System 6-tape, 65K System/360 Model 40 Additional Cost Due To Need To Emulate APPROXIMA TE RENTAL $12,240 $ 7,000 $10,300 plus $650 for the Compatibility Feature. $ 3,950 * Based on Standard Configuration III, as defined in the Users' Guide, Page 4:030.120. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360 420: 132.101 TABLE I: CONFIGURATION REQUffiEMENTS FOR EMULATION OF IBM 1410/7010 SYSTEMS System/360 Model: .1 Model 50 Model 40 Processors that can run 1410/7010 programs Any Model 40 system with at least 65K bytes, 1410/7010 Compatibility Feature, Decimal Arithmetic, and 1052 Adapter. Any Model 50 system with at least 65K bytes, 1410/7010 Compatibility Feature, and 1052 Adapter. Peripheral units whose operations can he duplicated Card units, magnetic tapes, printers, and 1415 Console Printer are replaced by System/360 equivalent units on a one-for-one basis. Card units, magnetic tapes, printers, and 1415 Console Printer are replaced by System/360 equivalent units on a one-furone basis. 1301 Disk Storage units are replaced by 2302 units, sometimes with fewer units being required. 1301 Disk Storage units are replaced by 2302 units, with a· single 2302 replacing up to four 1301's. Core storage requirements during emulation 25K bytes extra core storage required (i. e., a 65K Model 40 can only emulate a 40K 1410 or 7010; a 131K Model 40 can emulate an SOK 1410 or 7010). 25K bytes extra core storage required (i. e., a 65K Model 50 can only emulate a 40K 1410 or 7010; a 131K Model 50 can emulate an SOK 1410 or 7010). 1410/7010 features that can be emulated by standard Compatibility Features Processing Overlap, Dual Synchronizer Adapter, Priority. Processing Overlap, Dual Synchronizer Adapter, Priority. Additional 1410/7010 features that can be emulated 51-Column Interchangeable Read Feed. 51-Column Interchangeable Read Feed. Computers that can he emulated by a single System/360 installation A single System/360 can run 1410 and 7010 programs; no other Compatibility Feature can he installed in the same Processor. A single System/360 can run 1410 and 7010 programs; no other Compatibility Feature can he installed in the same Processor. cations between his System/360 and any secondgeneration IBM equipment. GENERAL (Contd) in Paragraph 420:132. 6. mM is not promising direct System/360 compatibility for all 1410/7010 installations; lists of the non-emulated equipment and other restrictions on the use of the emulation technique are shown in Paragraph 420:132.8. .23 Data presently on 1301 Disk Storage Units, in either load mode or move mode, can be simply dumped and reloaded onto the new 2302 Disk Storage Units. In the System/360, load-mode data can be used only in the emulation mode; it must be translated before it can be used by other System/360 programs. First customer deliveries of the mM 1410/7010 emulators are scheduled for March 1966 on Model 40 systems and June 1966 on Model 50 systems. .2 CONVERSION OF DATA .21 Punched Card Files Punched card data is handled exactly the same way in the System/360 (using EBCDIC coding) as it was in the older IBM system. . 22 .24 Collating Sequence The original collating sequence is maintained in the System/360 EBCDIC code. • 25 Printed Records Some of the special characters on the 1415 Console Typewriter are not available on the 1052 PrinterKeyboard used with System/360. MagnetiC Tape Files Either seven-track or nine-track tape can be used with the 1400 Series Compatibility Features. Seventrack tape requires use of the Seven-Track Adapter Unit to perform conversions between the BCD tape code and the EBCDIC internal code of the System/ 360. To use nine-track tape, the user must first convert his existing tape files from the seven-track mode (used in all 1400 Series systems) to the ninetrack mode by transcribing them on a System/360 equipped with tape units of both the seven-track and nine-track types. It should be noted that 'at least one seven-track tape unit will be needed on the System/360 if the user requires any tape communi- Disc Files .3 CONVERSION OF PROGRAMS IBM expects a properly-equipped System/360 to be able to run most 1410/7010 programs with little or no hand editing. Exceptions are time-dependent programs and certain other types of programs which are listed in the "Restrictions" section below. It will be possible to utilize the 1410/7010 programming support packages, including assemblers, debugging aids, and other mM-supplied software. Most application packages will also be able to operate in the compatibility mode, although IBM has not committed itselfto support all application packages. (Contd.) 8/65 420: 132.400 COMPATIBILITY WITH IBM 1410/7010 .4 CONVERSION OF PERSONNEL bytes of core storage, simulates all 1410/7010 inputoutput instructions and the instructions "Move Characters and Edit" and "Move Characters and Suppress Zeros." All other 1410/7010 instructions are handled by direct hardware simulation. The machine languages of the System/360 and the 1410/7010 systems are totally different, and all personnel who will be required to use the System/360 other than in the 1410/7010 compatibility mode will need extensive retraining. Operators will need special training to run the new system in the compatibility mode, a special operating mode which is different from the normal operational methods for the System/360. A prior familiarity with 1410/7010 operations will be very desirable for operators running emulated programs. •5 OPERATION OF CONVERTED PROGRAMS • 51 Operation of Individual Programs A more detailed description of this type of emulation is included in Section 420:135, Compatibility with IBM 7040/7090 Systems. .62 In general the method used in Model 50 is the same as the one used in Model 40. There are some detail differences (e. g., in register allocation), but these need not concern a programmer . .7 .52 The required console operations may not be available, or they may require modified operational procedures. • The handling of error conditions may differ. • Register contents in the processor and card positions in on-line readers and punches may not be identical when a program halts or terminates. OPERATIONAL EFFICIENCY Table III summarizes the estimated operational efficiency of IBM 1410 and 7010 programs emulated by a System/360 Model 40 or Model 50. An emulated program requires the same general operating procedures on the System/360 processor as on the IBM 1410/7010 system. Some differences will be encountered, including the following: • The Model 50 Compatibility Technique .8 LIMITA TIONS .81 Peripheral Devices All of the 1410/7010 peripheral devices whose operations can be emulated in the 1410/7010 Compatibility mode are listed below. Users should not assume that any other peripheral device can be emulated. IBM IBM IBM IBM IBM IBM IBM Utilization of Program Libraries An installation requiring the use of a program library must prepare its own library facilities, either by emulating the appropriate programs or by writing new procedures in System/360 language. .82 • 53 1410/7010 Features Which Cannot Be Emulated utilization of Operating Systems 1401-1410 Compatibility Mode 7010 Fourth I/O Channel Program Relocate and Storage Protect Interval Timer Floating-Point Column Binary The IBM 1410/7010 Operating System can be used during emulation on a System/360. .54 1402 Card Read Punch, Model 2 1442 Card Reader, Model 3 1403 Printer, Models 1, 2, or 3 729 II, IV, V, and VI Magnetic Tape Units 7330 Magnetic Tape Units 1415 Console Printer 1301 Disk Storage, Model 1 or 2. Preparation of Operating Instructions and Program Documentation IBM has stated that, in general, it intends to provide special aids to assist in conversion and documentation of IBM 1400/7000 Series programs. No specific programs for the IBM 1410/7010 systems have yet been announced. .6 SPECIAL TECHNIQUES · 61 The Model 40 Compatibility Technique Some special instructions are provided in the Model 40's Read-Only Storage to assist in the emulation. Using these instructions, the hardware Compatibility Feature analyzes the operation codes of the 1410/7010 instructions which reside in the simulated 1410/7010 storage area in the Model 40's core memory. Then the Compatibility Feature controls the settings of the simulated 1410/7010 registers and either directly executes the functions required to simulate the 1410/7010 instruction or transfers control to the appropriate routine in the Emulator Program. The Emulator Program, which uses 25K . 83 Programming Restrictions and Limitations The Compatibility Features permit execution of IBM 1410/7010 object programs with little or no reprogramming, if they have been written according to IBM principles-of-operation manuals. The user must, however, consider the following program restrictions and limitations: • The 1410/7010 feature, 1401-1410 Compatibility Mode, cannot be emulated. • Time-dependent programs may not yield results identical to those obtained in a 1410/7010 system. • The following functions or instructions are not available with the Emulator: a. The 7010 diagnostic instructions, Branch on C Bit and Branch on Tape Indicate J (I) K. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360 420: 132.830 .83 Programming Restrictions and Limitations (Contd) b. g. Address error detection for effective addresses beyond the limits of the user's specified system storage. • c. Address error detection of operand addresses that contain illegal special characters, alphabetics, or word marks. d. Instruction checks caused by the absence of a terminating word mark. e. Replacement of invalid characters with asterisks during input operations. l. The underscore of invalid characters on the printer-keyboard. 1410/7010 OFF NORMAL functions (e. g. , Reset and Restart, Inhibit Printout). Console operations are limited to the following: Address Set (IAR only) Display Alter Console Read Console Write Computer Reset Program Reset Start Stop Inquiry Release Cancel. TABLE II: OPERATIONAL EFFICIENCY IN THE 1410/7010 COMPATIBILITY MODE ~ IBM 1410 (10K, 20K, 40K, 60K, or SOK characters) IBM 7010 (40K, 60K, SOK, or lOOK characters) March 1966. March 1966. Processing, except for Move Characters & Edit and Move Characters & Suppress Zeros Twice as fast as 1410 SlighUy better than half the speed of 7010. Move Characters & Edit, and Move Characters & Suppress Zeros 20 times slower than 1410. 70 times slower than 7010. Average new performance: Depends upon the specific units involved. At least as fast as 1410. Depends upon the specific units involved. Usually conSiderably slower than 7010, but in some cases may approach 7010 speeds. Reserved hardware: (In addition to simulated core memory, at one byte/ character) 2SK bytes in 65K Model 40; 51K bytes in 131K & 262K Model 40. 25K bytes in 65K Model 40; 51K bytes in 131K & 262K Model 40. Rental cost of special features, reserved hardware, etc. $1, 600 to $2,000. $1,600 to $2,000. When available: June 1966. June 1966. Processing, except for Move Characters & Edit, and Move Characters & Suppress Zeros 2 to 3 times as fast as 1410. Approaches 7010 speeds. Move Characters & Edit, and Move Characters & Suppress Zeros 14 times slower than 1410. 50 times slower than 7010. Depends upon the specific units involved. Twice as fast as 1410. Depends upon the specific units involved. Usually somewhat slower than 7010, but in some cases will approach 7010 speeds. Reserved hardware: (In addition to simulated core memory, at one byte/ character) 25K bytes. 25K bytes. Rental cost of special features, reserved hardware, etc. $1,400 to $1,600. $1,400 to $1,600. NEW COMPUTER When available: Performance, as compared with original system - IBM System/360 Model 40 with 6SK, 131K, or 262K bytes Input-output operations: Performance, as compared with original system - IBM System/360 Model SO with at least 65K bytes Input-output operations: Average new performance: (Contd. ) 8/65 COMPATIBILITY WITH IBM 1410/7010 .83 420: 132.831 Programming Restrictions and Limitations (Contd.) • • • Printer channel-9 and channel-12 branch conditions terminate differently depending on whether the 1410/7010 or the Emulator is used. The Emulator cannot be loaded from 51-Column cards; however, 51-column control cards are permitted. The Emulator issues a Single Space instruction to the 1403 Printer before each printout, unless © forms motion has occurred before the print instruction. • A "data check" or "condition" resulting from a Write-Line instruction may not inhibit printing. • Column binary card processing is not provided. • A number of programming limitations must be observed in the emulation of 1301 Disk Storage (e. g., no track may contain more than 24 records). 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 420: 133.100 IBM System/360 Compatibility With IBM 7070/7074 COMPATIBILITY WITH IBM 7070/7074 .1 GENERAL In Models 50, 65, and 67, IDM uses a combined System/360 Models 50, 65, and 67 can, under certain circumstances, execute machine-code programs written for IDM 7070 and 7074 computer systems. A number of configuration requirementsnotably those governing the core storage requirements of the new system - must be met before a user can run 7070/7074 programs on a System/360 processor. These requirements are summarized in Table I. The basic purpose of the ability to run programs written for older IDM systems on a System/360 is to allow an installation more time to reprogram. For efficient equipment utilization, reprogramming is always necessary in moving from any older mM computer to a System/360, because the machine code used by the System/360 is fundamentally different from that of any of the ffiM's older systems. Emulation by means of the hardware/software approach adopted by IDM is most practical where users are trading up to Significantly larger and more powerful systems. In such cases, the additional core storage required on the new system to run the emulator programs can be economically used when emulation is not in process. These additional core requirements are considerable: in some cases more than five times as much core storage is needed in the emulating System/360 as was installed in the original 7070 or 7074 computer system. The cost of this additional core storage may make emulation impractical for users who wish to apply third-generation computer technology to reduce their computer rentals rather than to handle a vastly increased processing load. An estimate of the cost of emulation from such a user's point of view can be obtained by comparing his present rental with the rental of an equally powerful modern computer and with the rental of the least expensive system capable of emulating his present system. Using a 6-tape, 5, OOO-word IDM 7070 installation as a basis, the resulting figures are compared below: hardware/software method of emulation. Operational differences between the old and the new peripheral units are resolved by the use of routines held in core memory. This obviates the need for special hardware adapters on the peripheral units themselves, but adds to the amount of core storage that is required. From the user's point of view, the main difference between the all-hardware approach to emulation (used in Model 30) and this hardware/softwaI'e approach is that it is rarely practical to discontinue the use of the additional core storage areas when emulation of 7070/7074 programs is no longer required. This may lead to an installation's using a more expensive system than it actually needs, and effectively continuing to pay for the ease of transferring to the System/360 long after reprogramming has been concluded. Although IDM has officially placed limitations on the scope of the emulating technique, a user can normally expect to continue to patch and modify his old programs as necessary during the emulation phase. IDM disclaims responsibility for the proper operation of any programs other than fully-tested, properly-written, time-independent programs, but in fact IDM is supporting the provision of the normal complement of assemblers and debugging aids for the 7070/7074 systems on the System/360. Details of the operational effiCiency of 7070/7074 programs when operating on a System/360 Model 50 or 65 are presented in Paragraph 420:133.7, and the techniques used in these emulations are described in Paragraph 420:133. 6. IBM is not promising direct System/360 compatibility for all 7070/7074 installations; lists of the non-emulated equipment and other restrictions on the use of the emulation technique are shown in Paragraph 420:133.8. First customer deliveries of the IDM 7070/7074 emulators are scheduled for the second quarter of 1966. SYSTEM DETAILS* APPROXIMATE RENTAL 6-tape, 5, OOO-word IDM 7070 $19,800 Equally Powerful System/360 6-tape, 65K-byte System/360 Model 40 $10,300 Minimum System That Can Emulate User's Present System $21,200 Present System Additional Cost Due To Need To Emulate 6-tape, 262K-byte System/360 Model 50 $10,900 *Based on Standard Configuration Ill, as defined in the Users' Guide, Page 4:030.120. (Contd.) 8/65 420: 133.200 COMPATIBILITY WITH IBM 707017074 TABLE I: CONFIGURATION REQUIREMENTS FOR EMULATION OF IBM 7070/7074 SYSTEMS System/360 Model: Model 50 Processors that can run 7070/7074 programs Model 50 system with at least 262K bytes, 7070/7074 Compatibility Feature, and 1052 Printer-Keyboard. Model 65 or 67 system with at least 262K bytes, 7070/7074 Compatibility Feature, and either 2150 Console or 1052 PrinterKeyboard. Peripheral units whose operations can be duplicated Card units, magnetic tapes, printers, and console printer are replaced by System/360 equivalent units on a one-forone basis. Card units, magnetic tapes, printers, and console printer are replaced by System/360 equivalent units on a one-forone basis. Core storage requirements during emulation 262K bytes are used to emulate a 10K word (50K character) 7070/7074 system. 262K bytes are used to emulate a 10K word (50K character) 7070/7074 system. 7070/7074 features that can be emulated by standard Compatibility features Floating Decimal Arithmetic. Floating Decimal Arithmetic. Additional 7070/7074 features that can be emulated None. None. Computers that can be emulated by a single System/ 360 installation 7070/7074 Compatibility Feature precludes installation of any other Compatibility Feature on same processor. 7070/7074 Compatibility Feature precludes installation of any other Compatibility Feature on same processor. .3 ·2 CONVERSION OF DATA · 21 Punched Card Files · 22 Punched card data is handled exactly the same way in the System/360 (using EBCDIC coding) as it was in the older IBM system. Magnetic Tape Files Either seven-track or nine-track tape can be used with the 7070/7074 Compatibility Features. Seventrack tape requires use of the Seven-Track Adapter Unit to perform conversions between the BCD tape code and the EBCDIC internal code of the System/ 360. To use nine-track tape, the user must first convert his existing tape files from the seventrack mode (used in all 7000 Series systems) to the nine-track mode by transcribing them on a System/360 equipped with tape units of both the seven-track and nine-track types. It should be noted that at least one seven-track tape unit will be needed on the System/360 if the user requires any tape communications between his System/360 and any second-generation IBM equipment . '-- • 23 CONVERSION OF PROGRAMS IBM expects a properly-equipped System/360 to be able to run most 7070/7074 programs with little or no hand editing. Exceptions are timedependent programs and certain other types of programs which are listed in the "Limitations" section. It will be possible to utilize the 7070/ 7074 programming support packages, including assemblers, debugging aids, and other IBMsupplied software. Most application packages will also be able to operate in the compatibility mode, although IBM has not committed itself to support all application packages. .4 CONVERSION OF PERSONNEL The machine languages of the System/360 and the 7070/7074 systems are totally different, and all personnel who will be required to use the System/ 360 other than in the 7070/7074 compatibility mode will need extensive retraining. Disc Files There are no present plans for emulation of the Disk Storage Units used in IBM 7070/7074 systems. • 24 Model 65 or 67 Collating Sequence The original collating sequence is maintained in the System/360 EBCDIC code. Operators will need special training to run the new system in the compatibility mode, a special operating mode which is different from the normal operational methods for the System/360. A prior familiarity with 7070/7074 operations will be very desirable for operators running emulated programs. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360 420: 133.500 .5 OPERATION OF CONVERTED PROGRAMS .51 Operation of Individual Programs instruction DIL - Do Interpretive Loop. The DIL instruction fetches the simulated instruction counter, converts its contents to the System/360 address of the next instruction to be executed, fetches this instruction, updates and re-stores the simulated instruction counter, performs any indexing that may be required, converts the resultant operand address to the corresponding System/360 address, interprets the operation code, and transfers control to the appropriate sequence of System/360 instructions that simulates the original instruction's functions. Use of the micro-instructions in this manner permits more efficient utilization of the limited amount of available Read-Only Storage. At present IBM states that it is not possible to increase the available Read-Only Storage space by adding additional modules. An emulated program requires the same general operating procedures on the System/360 processor as on the IBM 7070/7074 system. Some differences will be encountered, including the following: • The required console operations may not be available, or they may require modified operational procedures. • The handling of error conditions may differ. • Register contents in the processor and card positions in on-line readers and punches may not be identical when a program halts or terminates. .52 • Software simulation. Conventional software routines in main core storage are used to simulate the older computer's machine instructions, input-output operations, interrupt facilities, etc. The entire System/360 instruction repertoire, including the special Compatibility Feature instructions described in the preceding paragraph, is used in the simulation process . Utilization of Program Libraries An installation requiring the use of a program library must prepare its own library facilities, either by emulating the appropriate programs or by writing new procedures in System/360 language. . 54 Preparation of Operating Instructions and Program Documentation· IBM has stated that, in general, it intends to provide special aids to assist in conversion and documentation of IBM 1400/7000 Series programs. No specific programs for IBM 7070/7074 systems have yet been announced. IBM states that data conversion programs for the 7070/7074 will be announced in the first quarter of 1966. .6 SPECIAL TECHNIQUES . 61 The General Emulation Technique In System/360 Models 40, 50,65, and 67, emulation of IBM's second-generation computers is being achieved by a combined hardware/software approac that niakes use of three separate facilities: • Special hardware. Special-purpose transistor logic circuits are used where their high speed is essential; e. g., for overflow detection, character recognition, and address conversion. Because of the relatively high cost of such special-purpose hardware, however, its use is held to a minimum. • Special microprogramming. Models 50, 65, and 67 use microprogram sequences in ReadOnly Storage to define the functions of each System/360 machine instruction. In addition to the Read-Only Storage space required to define all of the standard and optional System/ 360 instructions, some additional space is available. This space can be, and is, used to define special instructions for use only by the Compatibility Features. These special Compatibility Feature instructions generally are not designed to simulate specific instructions in the older computer's repertoire, but rather to assist in the simulation of key parts of the older computer's instruction execution process. An important example is the key .62 Specific Techniques for 7070/7074 Emulation IBM 7070/7074 systems use a 2-out:-of-5 internal code to represent each decimal digit, which provides for additional checking on all data transfers. In the compatibility mode, the System/360 4-bit packed decimal representation is used, and the checking functions are handled by the standard parity checking circuits . The arrangement of the 262K-byte System/360 core memory during emulation is shown in Figure 1. The top half (131K bytes) is used to hold the emulated 7070/7074 core storage, using 8 System/360 bytes for each emulated 10-digit word. This area is not absolutely contiguous; some gaps have been left to facilitate conversions between the. decimal addresses used in 7070/7074 systems and the binary System/ 360 addresses. The System/360 Floating-Point Registers are used to hold the simulated 7070/7074 Instruction Counter and the Indicator Image. AU other indicators are simulated in the Emulator Program area. Thirty-five special System/360 instructions are provided with th(3 7070/7074 Compatibility Feature. These include the DIL instruction (see .61 above), which takes 3.8 microseconds, and Field Definition, Field Store, and Branch If instructions. 262K EMULATED IBM 7070/7074 CORE STORAGE (10K WORDS) 1:!lK EMULATOR PROGRAM, SUBROUTINES, AND I/O BUFFERS o Figure 1: System/3GO storage Map During 7070/7074 Emulation (Contd.) 8/65 COMPATIBILITY WITH IBM 7070/7074 420: 133.620 TABLE II: OPERATIONAL EFFICIENCY IN THE 7070/7074 COMPATmILITY MODE ~ NEW COMPUTER mM 7070 IBM 7074 (5,000 or 9,990 10digit words) (5,000 or 9,990 10digit words) 2nd quarter 1966. 2nd quarter 1966. Processing: Approx. 2.0 times as fast as 7070. Approx. 0.4 times as fast as 7074. Input-output operations: Average new performance: DependR upon specific units involved. Approx. 1. 5 times as fast as 7070. Depends upon specific units involved. Approx. 3 times slower than 7074. 131K bytes. 131K bytes. $4,500 (for 5,000word emulations); $10,700 (for 9,990word emulations) • $4,500 (for 5, OOO-word emula,tions) ; $10,700 (for 9, 990-word emulations) • December 1965. December 1965. Approx. 5.0 times as fast as 7070. Approx. same speed as 7074. When available; Performance, as compared with original system mM System/360 Model 50 with at least 262K bytes of core storage Reserved hardware: (in addition to simulated core memory, at 8 bytes per word) Rental cost of special features, reserved hardware, etc. When available: Performance, as compared with original system Processing: IBM System/360 Model 65 with at least 262K bytes of core storage Input-output operations: Average new performance: Reserved hardware: (in addition to simulated core memory, at 8 bytes per word) Rental cost of special features, reserved hardware, etc. I Depends upon specific Depends upon specific units involved. units involved. No estimate available. No estimate available. 131K bytes. 131K bytes. $3,750 (for 5,000word emulations); 13,050 (for 9,990word emulations). $3,750 (for 5,000word emulations); 13,050 (for 9,990word emulations). \ © I 965 AUERBACH Corporation, and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360 420: 133.700 .7 OPERATIONAL EFFICIENCY .82 Table ill summarizes the estimated operational efficiency of IBM 7070 and 7074 programs emulated by a System/360 Model 50 and Model 65. .8 LIMITATIONS .81 7070/7074 Peripheral Devices Which Cannot Be Emulated Additional core storage beyond 10,000 words. Interval Timer. Check disable, address stop, single-cycle storage test, and unit-record priority controls. The ability to read and write tape from storage locations 9990 through 9999. Halt mode for sign change, field overflow, and accumulator overflow. .83 1301 Disk Storage 1302 Disk Storage 7631 File Control 7340 Hypertape Drives 7740 Communication Control 7750 Programmed Transmission Control 1414 I/O Synchronizer, Model 6 7090 Inquiry Stations. 8/65 7070/7074 Features Which Cannot Be Emulated Programming Restrictions and Limitations IBM has provided only general indications of the programming restrictic;ms and limitations that may be encountered in the 7070/7074 Compatibility mode: time-dependent programs may not yield identical results, the handling of certain error conditions will differ, and diagnostic (customer engineering) operations will not be simulated. 420: 134.100 IBM System/360 Compatibility With IBM 7080 COMPATIBILITY WITH IBM 7080 .1 In both Model 65 and Model 67, IBM uses a combined GENERAL System/360 Models 65 and 67 can, under certain circumstances, execute machine-code programs written for IBM 70BO computer systems. A number of configuration requirements - notably those governing the core storage requirements of the new system - must be met before a user can run 70BO programs on a System/360 processor. These requirements are summarized in Table I.. The basic purpose of the ability to run programs written for older IBM systems on a System/360 is to allow an installation more time to reprogram. For efficient equipment utilization, reprogramming is always necessary in moving from any older IBM computer to a System/360, because the machine code used by the System/360 is fundamentally different from that of any of IBM's older systems. Emulation by means of the hardware/software approach adopted by IBM is most practical where users are trading up to significantly larger and more powerful systems. In such cases, the additional core storage required on the new system to run the emulator programs can be economically used when emulation is not in process. These additional core requirements are considerable: in some cases more than three times as much core storage is needed in the emulating System/360 as was installed in the original 70BO computer system. The cost of this additional core storage may make emulation impractical for users who wish to apply third-generation computer technology to reduce their computer rentals rather than to handle a vastly increased processing load. An estimate of the cost of emulation from such a user's point of view can be obtained by comparing his present rental with the rental of an equally powerful modern computer and with the rental of the least expensive system capable of emulating his present system. Using an B-tape, BO, OOO-character IBM 70BO installation as a basis, the resulting figures are compared below: hardware/ software method of emulation. Operational differences between the old and the new peripheral units are resolved by the use of routines held in core memory. This obviates the need for special hardware adapters on the peripheral units themselves, but adds to the amount of. core storage that is required. From the user's point of view, the main difference between the all-hardware approach to emulation (used in Model 30) and this hardware/software approach is that it is rarely practical to discontinue the use of the additional core storage areas when emulation of IBM 70BO programs is no longer required. This may lead to an installation's using a more expensive system than it actually needs, and effectively continuing to pay for the ease of transferring to the System/360 long after reprogramming has been concluded. Although IBM has officially placed limitations on the scope of the emulating technique, a user can normally expect to continue to patch and modify his old programs as necessary during the emulation phase. IBM disclaims responsibility for the proper operation of any programs other than fully-tes·ted., properlywritten, time-independent programs, but in fact IBM is supporting the provision of the normal complement of assemblers and debugging aids for the 70BO system on the System/360. Details of the operational efficiency of IBM 70BO programs when operating on a System/360 Model 65 are presented in Paragraph 420:134.7, and the techniques used in these emulations are described in Paragraph 420:134.6. IBM is not promising direct System/360 compatibility for all 70BO installations· lists of the non-emulated equipment and other re- ' strictions on the use of the emulation technique are shown in Paragraph 420:134. B. First customer deliveries of the IBM 70BO emulator are scheduled for the second quarter of 1966. SYSTEM D ETAILS* APPROXIMA TE RENTAL Present System B-tape, BOK IBM 70BO $ 45, BOO Equally Powerful System/360 8-tape, 131K System/360 Model 40 $14,000 Minimum System That Can Emulate User's Present System B-tape, 262K System/360 Model 65 $ 30, 700 Additional Cost Due To Need To Emulate $16,700 * Based on Standard Configuration VIIB, as defined in the Users' Guide, Page 4:030.120. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. B/65 IBM SYSTEM/360 420: 134.200 TABLE I: CONFIGURATION REQUffiEMENTS FOR EMULA TION OF IBM 7080 PROGRAMS Model 65 or 67 System/360 Model: Processors that can run 7080 programs Model 65 or 67 system with at least 262K bytes, 7080 Compatibility Feature, and either 2150 Console or 1052 Printer-Keyboard. Peripheral units whose operations can be duplicated Card units, magnetic tapes, printers, and console printer are replaced by System/360 equivalent units on a one-for-one basis. Core storage requirements during emulation 262K bytes are required to emulate an 80, OOO-character 7080; 524K bytes to emulate a 160K 7080. 7080 features that can be emulated by standard Compatibility Features None. Additional 7080 features that can be emulated None. Computers that can be emulated by a single System/360 installation 7080 Compatibility Feature precludes installation of any other Compatibility Feature on same Processor. (IBM 705 programs can be run because the 705 mode of the 7080 is emulated.) .2 CONVERSION OF D A T A . 3 CONVERSION OF PROGRAMS .21 Punched Card Files IBM expects a properly-equipped System/360 to be able to run most 7080 programs with little or no hand editing. Exceptions are time-dependent programs and certain other types of programs which are listed in the "Limitations" section. It will be possible to utilize the 7080 programming support packages, including assemblers, debugging aids, and other IBM-supplied software. Most application packages will also be able to operate in the compatibility mode, although IBM l:J.as not committed itself to support all application packages. Punched card data is handled exactly the same way in the System/360 (using EBCDIC coding), as it was in the older IBM system. · 22 Magnetic Tape Files Either seven-track or nine-track tape can be used with the 7080 Compatibility Feature. Seven-track tape requires use of the Seven-Track Adapter Unit to perform conversions between the BCD tape code and the EBCDIC internal code of the System/360. To use nine-track tape, the user must first convert his existing tape files from the seven-track mode (used in all 7000 S!,!ries systems) to the nine-track mode by transcribing them on a System/360 equipped with tape units of both the seven-track and ninetrack types. It should be noted that at least one seven-track tape unit will be needed on the System/ 360 if the user requires any tape communications between his System/360 and any second-generation IBM equipment. · 23 · 24 .4 CONVERSION OF PERSONNEL The machine languages of the System/360 and the 7080 system are totally different, and all personnel who will be required to use the System/360 other than in the 7080 compatibility mode will need extensive retraining. Operators will need special training to run the new system in the compatibility mode, a special operating mode which is different from the normal operational methods for the System/360. A prior familiarity with 7080 operations will be very desirable for operators running emulated programs. Disc Files There are no present plans for emulation of the Disk Storage Units used in IBM 7080 systems. .5 OPERATION OF CONVERTED PROGRAMS Collating Sequence .51 Operation of Individual Programs The original collating sequence is maintained in the System/360 EBCDIC code. An emulated program requires the same general operating procedures on the System/360 processor (Contd.) 8/65 420: 134.510 COMPATIBILITY WITH IBM 7080 .51 instruction fetches the simulated instruction counter, converts its contents to the System/360 address of the next instruction to be executed, fetches this instruction, updates and re-stores the simulated instruction counter, performs any indexing that may be required, converts the resultant operand address to the corresponding System/360 address, interprets the operation code, and transfers control to the appropriate sequence of System/360 instructions that simulates the original instruction's functions. Use of the micro-instructions in this manner permits more efficient utilization of the limited amount of available Read-Only Storage. At present IBM states that it is not possible to increase the available Read-Only Storage space by adding additional modules. Operation of Individual Programs (Contll..) as on the IBM 7080 system. Some differences will be encountered, including the following: ,52 • The required console operations may not be available, or they may require modified operational procedures. • The handling of error conditions may differ. • Register contents in the processor and card positions in on-line readers and punches may not be identical when a program halts or terminates. Utilization of Program Libraries An installation requiring the use of a program library must prepare its own library facilities, either by emulating the appropriate programs or by writing new procedures in System/360 language. · 53 Utilization of Operating Systems The Supervisory Control System and Input/Output Control System currently in use on IBM 7080 systems can be transferred to and emulated by the System/360. · 54 u Software simulation: Conventional software routines in main core storage are used to simulate the older computer's machine instructions, inputoutput operation, interrupt facilities, etc. The entire System/360 instruction repertoire, including the special Compatibility Feature instructions described in the preceding paragraph, is used in the simulation process. . 62 Preparation of Operating Instructions and Program Documentation IBM has stated that, in general, it intends to provide special aids to assist in conversion and documentation of IBM 1400/7000 Series programs. A data conversion package for the 7080 is scheduled for the first quarter of 1966. .6 SPECIAL TECHNIQUES · 61 The General Emulation Technique In System/360 Models 40, 50, 65, and 67, emulation of IBM's second-generation computers is being achieved by a combined hardware/software approach that makes use of three separate facilities: • Special hardware: Special-purpose transistor logic circuits are used where their high speed is essential; e. g., for overflow detection, character recognition, and address conversion. Because of the relatively high cost of such special-purpose hardware, however, its use is held to a minimum. • .7 Special microprogramming: Models 65 and 67 use microprogram sequences in Read-Only Storage to define the functions of each System/360 machine instruction. In addition to the ReadOnly Storage space required to define all of the standard and optional System/360 instructions, .8 some additional space is available. This space can be, and is, used to define special instructions .81 for use only by the Compatibility Features. These special Compatibility Feature instructions generally are not designed to simulate specific instructions in the older computer's repertoire, but rather to assist in the simulation of key parts of the older computer's instruction execution process. An important example is the key instruction DIL - Do Interpretive Loop. The DIL Specific Techniques for 7080 Emulation The arrangement of the System/360 core memory during 7080 emulation is shown in Figure 1. The 160, OOO-character simulated 7080 memory is held in the center 262K bytes of a 524K-byte System/360 core memory, thus allowing a 262K byte Model 65 to conveniently emulate an 80, OOO-character 7080. Eight System/360 bytes are used to simulate the five 6-bit characters of each 7080 word. The words themselves are packed 80K 7080 characters to 131K System/360 bytes, with some gaps between consecutive simulated words to ease the problem of address conversions between the decimal 7080 and binary System/360 addressing modes. The System/360 General-Purpose Registers are used to hold the simulated SPC and SAR registers. Additional hardware is provided with the Compatibility Feature to handle decimal-to-binary conversions, .incrementing or decrementing of 7080 addresses by 5, and a number of special 7080 instructions which are emulated on a direct, one-for-one basis because it would be difficult to simulate their highly specialized functions by means of sequences of standard System/360 instructions. OPERA TIONAL EFFICIENCY Table ITI summarizes the estimated operational efficiency of IBM 7080 programs emulated by a System/360 Model 65. LIMITA TIONS 7080 Peripheral Devices Which Cannot Be Emulated 1301 Disk Storage 1302 Disk Storage 7631 File Control 7340 Hypertape Drives 7622 Signal Control 7908 Data Channel. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360 420: 134.830 524K 524K SYSTEM/360 393K 262K SYSTEM/360 262K ~------------------------~ EMULATED 160K 7080 CORE STORAGE EMULATED 80K 7080 CORE STORAGE 131K 131K r-------------------------~ EMULATOR ROUTINES EMULATOR ROUTINES 7080 STORAGE IMAGE 7080 STORAGE IMAGE I/O BUFFERS I/O BUFFERS 01.---------------------------1 o Figure 1: System/360 Storage Maps During 7080 Emulation TABLE II: OPERATIONAL EFFICIENCY IN TIlE 7080 COMPATIBILITY MODE ~ NEW COMPUTER . When available: IBM 7080 (80K or 160K characters) March 1966 Performance, as compared with original system - IBM System/360 Model 65 or 67 with 262K or 524K bytes of core storage Processing: Approx. as fast as 7080. Input-output operations: Depends upon specific units involved. Reserved hardware: 128K bytes in addition to simulated 7080 core memory at 128K bytes per 80K 7080 characters. Rental cost of special features, reserved hardware, etc. .82 7080 Features Which Cannot Be Emulated 7080 systems without card or magnetic tape I/O. The Select 6001 and Select 6002 instructions. The Set Bit Redundant instruction. The Control 0005 instruction. The TMC, TEC, TAR, and SUP instructions. The RD 03, RD 04, RD 05, WR 03, WR 04, and WR 05 instructions. . 83 • The Automatic Restart Indicator is not turned on by execution of instructions exceeding the 2-second limit for execution time. • The Instruction Check Indicator is not turned on by the 4/9 check or the Data Register VRC Check. • The 1442 Model N1 Card Read Punch treats the 7080 Reader Storage Mark as an illegal character. " Time-dependent programs may not yield identical results . • Handling of error conditions will differ. • Customer-engineering diagnostic operations will not be simulated. Programming Restrictions and Limitations In addition to the non-emulated instructions listed above, the following differences in operation should be considered: 8/65 $3, 975 per month. 420: 135.100 IBM System/360 Compati bi Ii ty Wi th IBM 704017090 Series COMPATIBILITY WITH IBM 704017090 SERIES .1 GENERAL In Models 65 and 67, IDM uses a combined hardware/ System/360 Models 65 and 67 can, under certain circumstances, execute machine-code programs written for IDM 7040/7090 Series computer systems (the 709, 7040, 7044, 7090, 7094, and 7094 Il). A number of configuration requirements - notably those governing the core storage requirements of the nc;Jw system - must be met before a user can run 7040/7090 Series programs on a System/360 processor. These requirements are summarized in Table I. The basic purpose of the ability to run programs written for older IDM systems on a System/360 is to allow an installation more time to reprogram. Reprogramming is always necessary in moving from any older IDM computer to a System/360, because the machine code used by the System/360 is fundamentally different from that of any of IDM's older systems. Emulation by means of the hardware/software approach adopted by IDM is most practical where users are trading up to significantly larger and more powerful systems. In such cases, the additional core storage required on the new system to run the emulator programs can be economically used when emulation is not in process. These additional core requirements are considerable: in some cases up to 16 times as much core storage is needed in the emulating System/360 as was installed in the original 7040/7090 Series computer system. The cost of this additional core storage may make emulation impractical for users who wish to apply third-generation computer technology to reduce their computer rentals rather than to handle a vastly increased processing load. An estimate of the cost of emulation from such a user's point of view can be obtained by comparing his present rental with the rental of an equally powerful modern computer and with the rental of the least expensive system capable of emulating his present system. Using a 8-tape, 32K-word IDM 7090 installation as a basis, the resulting figures are compared below: software method of emulation. Operational differences between the old and the new peripheral wilts are resolved by the use of routines held in core memory. This obviates the need for special hardware adapters on the peripheral units themselves, but adds to the amount of core storage that is required. From the user's point of view, the main difference between the all-hardware approach to emulation (used in Model 30) and this hardware/software approach is that it is rarely practical to discontinue the use of the additional core storage areas when emulation of 7040/7090 Series programs is no longer required. This may lead to an installation's using a more expensive system that It actually needs, and in effect continuing to pay for the ease of transferring to the System/360 long after reprogramming has been concluded. Although IBM has officially placed limitations on the scope of the emulating technique, a user can normally expect to continue to patch and modify his old programs as necessary during the emulation phase. IDM disclaims responsibility for the proper operation of any programs 'other than fully-tested, properly-written, time-independent programs, but in fact IDM is supporting the provision of the normal complement of assemblers and debugging aids for the 7040/7090 Series systems on the System/360. Details of the operational efficiency of 7040/7090 Series programs when operating on a System/360 Model 65 is presented in Paragraph 420:135.7, and the techniques used in these emulations are described in Paragraph 420:135. 6. IDM is not promising direct System/360 compatibility for all 7040/7090 Series installations; lists of the nonemulated equipment and other restrictions on the use of the emulation technique are shown in Paragraph 420:136.8. First customer deliveries of the IDM 7040/7090 Series emulators are scheduled for December 1965. SYSTEM DETAILS* APPROXIMA TE RENTAL Present System 8-tape, 32K-word IDM 7090 $60,700 Equally Powerful System/360 8-tape, 262K-byte System/360 Model 50 $24,600 Minimum System That Can Emulate User's Present System 8-tape, 524K-byte System/360 Model 65 $42,600 Additional Cost Due To Need To Emulate $18,000 * Based on Standard Configuration VIm, as defined in the Users' Guide, Page 4:030.120. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360 420: 135.200 TABLE I: CONFIGURATION REQUIREMENTS FOR EMULATION OF IBM 7040/7090 SERIES SYSTEMS System/360 Model: Model 65 or 67 Processors that can run 7040/7090 Series programs Model 65 or 67 system with at least 524K bytes, 7040/7090 Compatibility Feature, and either 2150 Console or 1052 Printer-Keyboard. Peripheral units whose . oPerations can be duplicated Card units, magnetic tapes, printers, and console printer are replaced by System/360 equivalent units on a one-for-one basis. Core storage requirements during emulation 524K bytes are required for all 7040/ 7090 Series emulations. Computers that can be emulated by a single System/360 installation 7040/7090 Compatibility Feature precludes installation of any other Compatibility Feature on same Processor. The 7040/7090 Compatibility Feature can be modified by control cards to handle IBM 709, 7040, 7044, 7090, 7094, or 7094 II programs . .2 CONVERSION OF DATA · 21 Punched Card Files 7040/7090 Series programming support packages, including assemblers, debugging aids, and other IBM-supplied software. Most application packages will also be able to operate· in the compatibility mode, although IBM has not committed itself to support all application packages. Punched card data is handled exactly the same way in the System/360 (using EBCDIC coding) as it was on the older IBM system. · 22 · 23 Magnetic Tape Files CONVERSION OF PERSONNEL The machine]anguages of the System/360 and the 7040/7090 Series systems are totally different, and all personnel who will be required to use the System/360 other than iri the 7040/7090 compatibility mode will need extensive retraining. Either seven-track or nine-track tape can be used with the 7000 Series Compatibility Features. Seven-track tape requires use of the Seven-Track Adapter Unit to perform conversions between the BCD tape code and the EBCDIC internal code of the System/360. To use nine-track tape, the user must first convert his existing tape files from the seventrack mode (used in all 7000 Series systems) to the nine-track mode by transcribing them on a System/ 360 equipped with tape units of both the seven-track and nine-track types. It should be noted that at least one seven-track tape unit will be needed on the System/360 if the user requires any tape communications between his System/360 and any second-generation IBM equipment. .5 OPERATION OF CONVERTED PROGRAMS Disc Files . 51 Operation of Individual Programs There are no present plans for emulation of the Disk Storage Units used in IBM 7040/7090 Series systems. · 24 .4 Collating Sequence The original collating sequence is maintained in the System/360 EBCDIC code. .3 An emulated program requires the same general operating procedures on the System/360 processor as on the IBM 7040/7090 Series systems. Some differences will be encountered, including the following: • The required console operations may not be available, or they may require modified operational procedures. • The handling' of error conditions may differ. • Register contents in the processor and card positions in on-line readers and punches may not be identical when a program halts or terminates. CONVERSION OF PROGRAMS IBM expects a properly-equipped System/360 to be aqle to run most 7040/7090 Series programs with little or no hand editing. Exceptions are timedependent programs and certain other types of programs which are listed in the "Limitations" section. It will be possible to utilize the 8/65 Operators will need special training to run the new system in the compatibility mode, a special operating mode which is different from the normal operational methods for the System/360. A prior familiarity with 7040/7090 Series operations will be very desirable for operators running emulated programs. ./ 420: 135.520 COMPATIBILITY WITH IBM 704017090 SERIES . 52 IBM states that it is not possible to increase the available Read-Only Storage space by adding additional modules. Utilization of Program Libraries An installation requiring the use of a program library must prepare its own library facilities, either by emulating the appropriate programs or by writing new procedures in System/360 language. .53 " Software simulation. Conventional software routines in main core storage are used to simulate the older computer's machine instructions, input-output operations, interrupt facilities, etc. The entire System/360 instruction repertoire, including the special Compatibility Feature instructions described in the preceding paragraph, is used in the simulation process. Utilization of Operating Systems IBM-supplied operating systems can be used during emulation. . 54 Preparation of Operating Instructions and Program Documentation .62 IBM has stated that, in general, it intends to provide special aids to assist in conversion and documentation of IBM 1400/7000 Series programs. No specific programs for the IBM 7040/7090 systems have yet been announced. .6 SPECIAL TECHNIQUES . 61 The General Emulation Technique Specific Techniques for 7040/7090 Series Emulations The arrangement of the 524K System/360 core memory during emulation is shown in Figure 1. The top half (262K bytes) is used to hold the emulated core storage, using eight System/360 bytes (64 bits) for each emulated 36-bit word. This allows the Model 65 or 67 to access a complete 7040/7090 "word" during a single memory cycle . 524K In System/360 Models 40, 50, 65, and 67, emulation of IBM's second-generation computers is being achieved by a combined hardware/software approach that makes use of three separate facilities: • • EMULATED IBM 7040/7090 CORE STORAGE (32KWORDS) Special hardware. Special-purpose transistor logic circuits are used where their high speed is essential; e. g. for overflow detection, character recognition, and address conversion. Because of the relatively high cost of such special-purpose hardware, however, its use is held to a minimum. 262K EMULA TION SUBROUTINES EMULA TION PROGRAM AND I/O BUFFERS Special microprogramming. Models 40, 50, 65, and 67 use microprogram sequences in ReadOnly Storage to define the functions of each System/360 machine instruction. In addition to the Read-Only Storage space required to define all of the standard and optional System/ 360 instructions, some additional space is available. This space can be, and is, used to define special instructions for use only by the Compatibility Features. These special Compatibility Feature instructions generally are not designed to simulate specific instructions in the older computer's repertoire, but rather to assist in the simulation of key parts of the older computer's instruction execution process. An important example is the key instruction DIL - Do Interpretive Loop. The DIL instruction fetches the simulated instruction counter, converts its contents to the System/360 address of the next instruction to be executed, fetches this instruction, updates and re-stores the simulated instruction counter, performs any indexing that may be required, converts the resultant operand address to the corresponding System/360 address, interprets the operation code, and transfers control to the appropriate sequence of System/360 instructions that simulates the original instruction's functions. Use of the micro-instructions in this manner permits more efficient utilization of the limited amount of available Read-Only Storage. At present , 245K o Figure 1: System/360 Storage Map During 7040/7090 Series Emulation The System/360 General-Purpose Registers are used to hold the simulated Accumulator, MultiplierQuotient Register, and seven simulated index registers. The 7040/7090 Compatibility Feature adds a new hardware register to the Model 65 to hold the simulated Instruction Counter. The DIL instruction (see .61 above), which initiates the simulation process for each instruction, takes 0.8 microseconds to execute. The double-preCision floating-point multiply and divide instructions may produce different results on the System/360 than they did on the IBM 7094. A 27-bit adder was used to produce these results in the 7094, and this introduced inaccuracies. By contrast, a 54-bit adder is used in System/360; the new results are stated by IBM to be more accurate whenever there is any difference. .7 OPERA TIONAL EFFICIENCY Table III summarizes the estimated operational efficiency of IBM 7090 programs emulated by a System/360 Model 65. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 420: 135.800 IBM SYSTEM/360 TABLE II: OPERATIONAL EFFICIENCY IN THE 7090 COMPATmlLITY MODE ~ NEW COMPUTER ,When available: mM 7090* December 1965. Performance, as compared with original system ApproX. 2. 0 times as fast as 7090. Depends upon the specific units involved. Processing: mM System/360 Model 65 with at least 524K bytes of core storage Input-output operations: 262K bytes, in addition to simulated 7090 core memory at 8 bytes per 36-bit word. Reserved hardware: Rental cost of special features, reserved hardware, etc. $10,125. * No details are available to date regarding performance when emulating other 7040/7090 Series systems. .8 .81 LIMITATIONS Peripheral Devices Which Cannot Be Emulated 7340 Hypertape Drives All Disk Storage Units All Drum Storage Units All Tele-Processing Equipment 1401 Adapter Direct Data Adapter Direct Couple. • 82 Features Which Cannot Be Emulated No details are presently available. .83 Programming Restrictions and Limitations Few details are yet available. mM states that time-depend,ent programs may not yield identical results, that I/O operations dealing with very large records may have reduced performance, that the VLM and VDP instructions may not produce the same results as in the original system for counts greater than 35 bits, that the SCH ... X instruction will not detect a channel state in which there is a partially-completed command, and that the RDC ... instruction will not halt magnetic tape in the middle of a record. / 8/65 420: 136. 100 IBM System/360 Compatibility With IBM 1620 COMPATIBILITY WITH IBM 1620 .1 GENERAL A System/360 Model 30, when suitably equipped, can execute machine-code programs written for IBM 1620 systems at approximately the speed of a 1620 Model 2. The configuration requirements for 1620 emulations are summarized in Table 1. System/360 compatibility with IBM 1620 systems is programmed by a combination of special microprogrammed routines in the Model 30's Read-Only Storage and conventional simulation routines which occupy 3,500 bytes of main core storage. A 16K-byte Model 30 can emulate IBM 1620 programs requiring up to 20,000 storage positions; emulation of a 40K or 60K 1620 system requires a Model 30 system , with 32K or 64K bytes of core storage, respectively. It is important to note that, because no paper tape punch is currently offered as part of the System/ 360 line, it is not possible to duplicate the paper tape output function of the 1621 Paper Tape Unit - and paper tape is the principal input-output medium for many of the existing IBM 1620 installations. Areas where exact compatibility with IBM 1620 operations is not maintained include the following: • In the System/360, all arithmetic operations are performed without the use of tables; therefore, if the user has modified the standard 1620 addition or multiplication table, he will not get the same results in the System/360. • The ability to use "storage wraparound" is limited to I/O operations and the Transmit Record instruction. • Field lengths are limited to 256 IBM 1620 digits. • Console operating procedures are different. First customer deliveries of the 1620 Compatibility Feature are scheduled for June 1966. TABLE I: CONFIGURATION REQUIREMENTS FOR EMULATION OF IBM 1620 System/360 Model: Model 30 Processor that can run 1620 programs Model 30 systems with at least 16,384 bytes, 1620 Compatibility Feature, and 1052 Printer-Keyboard. Peripheral units whose operations can be duplicated Console Typewriter (by 1051-1052); 1621 Paper Tape Unit (reader only, by 2671); 1622 Card Read Punch (by 2540; or by 1442, 2501, and/or 2520 in any combination that provides separate paths for card reading and punching); 1311 Disk Storage Drives (by 2311's on a one-for-one basis) ; 1443 Printer (by 1443 or 1403). Core storage requirements during emulation 16K bytes are required for emulation of a 20K-digit 1620, 32K bytes for a 40K 1620, and 64K bytes for a 60K 1620. 1620 features emulated by standard Compatibility Feature Additional Instructions, Automatic Divide, Index Registers, Indirect AddreSSing, Binary Capabilities, Floating-Point Operations. Additional 1620 features that can be emulated None. Computers that can be emulated by a single System/360 installation 1620 Compatibility Feature precludes installation of any other Compatibility Feature on same Processor. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 / 420:141.100 IBM System/360 Data Code Tables DATA CODE TABLES The System/360 Processing Units can manipulate and translate any 8-bit character code, although decimal arithmetic and editing operations assume the use of either the "Extended BCD Interchange Code" (EBCDIC) or an 8-bit representation of the 7-bit American Standard Code for Information Interchange (ASCIl-8). The code to be used is designated by the setting of Bit 12 in the Program Status Word. IBM states that it offers the user a choice of the EBCDIC or ASCII-8 code. In fact, IBM is using EBCDIC exclusively in its currently-announced software systems and has no immediate plans for similar usage of ASCII-B. Data files on tape, disc, and drum that are organized in either code can be processed and/or sorted without intermediate code translation; such peripheral devices can perform direct data transmissions of any B-bit code. But most character-set-sensitive System/360 input-output devices (printers, card readers, card punches, typewriter, etc.) expect data in EBCDIC form in their normal modes of operation. At present, only the 2260 Display Station uses ASCII-B in data transfers. The card readers can operate in the binary mode, accepting any punched-card data code, but an internal translation to the EBCDIC or ASCII-B code will then be required in most cases. The card punches can also operate in the binary mode. Several line printers available with the System/360 can utilize the Universal Character Set optional feature and can be programmed to print virtually any character (up to 240 graphic symbols) upon sensing any bit configuration in the data record. The following tables shmy the graphics that have been defined to date for both codes. Note that graphics have not yet been defined for many of the 256 bit combinations in each code, so there is ample room for expansion of the character sets. TABLE I: AMERICAN STANDARD CODE FOR INFORMATION INTERCHANGE (ASCll) EXTENDED TO EIGHT BITS LL-.::::: Bit Positions---". 76 X5 00-----, r----Ol----, r----l0 I I 11-----, 10 11 0 @ P ! 1 A. DC 2 2 B R b r DC3 C 5 c s DC4 5TOP *$ 3 4 D T d t WRU ERR % 5 E U e u 0110 RU 5YNC & 0111 BELL LEM 1000 BKSP 50 1001 HT 51 1010 LF 52 1011 VT 53 1100 FF 54 1101 CR 55 1110 50 56 1111 51 57 4321 00 0000 NULL DCO 0001 50M DC l 0010 EOA 0011 EOM 0100 EOT 0101 01 10 11 00 D blank , ( . .) + / 01 10 11 00 01 00 Q 01 10 11 a q P 6 F V f V 7 G W 9 w B H X h X 9 I Y i , Y J Z i z ; K C k '" = L \ I M J m > N f n E5C ? 0 4- a DEL \ Table reproduced from IBM System/360 Principles of Operation, Appendix F, p. 141. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360 420: 141.101 TABLE II: EXTENDED BINARY-CODED DECIMAL INTERCHANGE CODE (EBCDIC) (Note that both internal and punched card code representations are illustrated on these tables.) c==c:J Bit Positions 0, 1 01 ~ I 00 r_ ~ @ (3 Q; I~ p 01 110 .~ [;2i 7;P ¥ ,@ / ~ Bit Positions 2,3 III -0 Q:; &. (!, ~:2': ~ ~ ~ ,I~ p, RE BY PN I~ HT NL L' RS I~ LC BS E. UC ~ I~ DL IL PR ET t--.!.. I~ Bit PosltionsO,1 II 10' ti~ l,i!~" I. ,',\>:- :9 ~ d .29, ,~ 12 0 :0 9 12 \I 9 11 0 9 12 II 0 ho.o------Zone Punches----~.~I ~~~_~_~-r·~lt~P~~'~'tI~.m~O,~1 ~~00:.l~-L~..L~lIy.~lt~P~~;~tI~."=-.2"',=-3 1001 8-1 1010 , 5M lOti Q§ ! $ < 1100 . % 1101 r , 1110 . + ; > I ~ ? 1111 [I: 9" I. CD ® ® @ 9 9 II 1121 II 0 Zene Punches ® 12-ow9·8-1 12-11-9-8-1 @ 11-0-9-8...1 12-11-0-9-8-1 0 ® - ~ 1010 ~ "- 1011 1100 rill 8-5 '. --:- ~ ~ 8-6 '" ~ : 8-2 # ~ ] @l -!:i. ~ j , - ---, ~: I 1"( . !:L; ~ 12 0 12 II 12 H 0 0 • • • ® ® 12-0 II @ @ 0-8-2 11-0 @ @ @ 12 12 II, Il ,0 'II '0 0 "I.;O------Zcne Punches No Punches 12 12-11"() !i..', \111 1:1 '11 ~ : ----~....I 0-1 11-0-9-1 12-11 Control Characters PF Punch Off HT LC DL Horizontal Tob Lower Case Delete RE Restore NL New Line BS IL BY LF Backspace Idle Bypass Line Feed E. PR End of Block Prefix PN Punch On RS UC ET SM SP Reader Stop Upper Case End of Transmission Set Mode Space > Greater-than Sign Question Mark Colon Number Sign At Sign Prime, Apostrophe Equal Sign Quotation Mark Special Graphic Characters < ( + I & I $ ~ent Sign Period, Decimal Point Less-than Sign left Parenthesis Plus Sign Vertical Bar, logical OR Ampersand Exclamation Point Dollar Sign -, / % Asterisk Right Parenthesis Semicolon logical NOT Minus Sign, Hyphen Slash Comma Percent Underscore ? N @ Table reproduced from mM Form N22-0155, p.2. 8/65 ,/ 420: 151.100 IBM System/360 Problem Oriented Facilities Operating System/360 PROBLEM ORIENTED FACILITIES: OPERATING SYSTEM/360 Note: Software for the IBM System/360 is grouped into three major categories according to the level of operating system with which it functions: the Operating System/360, the Basic Operating System/360, and the Basic Programming Support. TheProblem Oriented Facilities associated with the Operating System/360 are described in this section; the corresponding facilities supplied with the Basic Operating System/360 and the Basic Programming Support are described in Sections 420:152 and 420:153, respectively. It should also be noted that the System/360 features and routines provided for "emulation" of older IBM computer systems are analyzed in the Compatibility sections of this report, Sections 420:131 through 420:136. .1 UTILITY ROUTINES .11 Simulators of Other Computers IBM 7090/7094 and 7070/7074SimulationPrograms* Date available: . . . . . . 1st quarter, 1966. Description: These programs will reproduce most of the functions of ffiM 7090/7094 and 7070/7074 Data Processing Systems on a System/360. Simulation of a 10K 7070/7074 requires a Model G (12SK) System/360; simulation of a 32K 7090/7094 requires a Model I (512K) System/360. ffiM states that programs may require more than 10 times as long when run on a System/360 in the simulation mode as they did when run on the original machines. Therefore, it is clear that these simulators are intended only as stop-gap measures during the reprogramming period, or for routines that are run infrequently. IBM 1410/7010 and 70S0 Simulation Programs* Date available: . . • . . . 2nd quarter, 1966. Description: \. .12 Simulation by Other Computers IBM 7090/7094 Support Package Reference: ..•..•.• IBM Publication C2S-6501-2. Date available: ..•.•. 3rd quarter, 1964. Description: The IBM 7090/7094 Support Package for the IBM System/360 consists of three programs designed to permit the assembly, testing, and execution on an IBM 709, 7090, or 7094 of programs written for a System/360. The 7090 Assembly Program will accept source programs written in System/360 Basic Assembler Language and will produce object programs in System/360 machine language, ready for execution. Such programs may be executed either on an actual System/360 or by further use of the 7090/7094 Support Package. The 7090 Simulator Program will accept the output of the Assembly Program, or a System/360 machine-language program prepared by other means, and will simulate its execution. Input to both 7090/7094 programs is prepared originally in punched card form and is converted to magnetic tape format by the 1401 Input Program, the third of the Support Package programs. The Support Package is capable of processing most System/360 programs that are not specifically dependent on input-output timing considerations. The Assembly Program can accept all of the machine instruction and pseudo-instruction mnemonic codes of the Basic Assembler Language, and the Simulator can process the Standard, Floating-Point, and Decimal Arithmetic instruction sets of the System/ 360, and can handle the Direct Control and Storage Protection hardware features. It also simulates most of the input-output operations and interruption procedures. In addition, it provides facilities to aid the programmer in detecting and tracing errors in an object program. However, only 64K bytes of System/360 object program can be simulated with the Support Package. These programs will reproduce most of the functions of IBM 1410/7010 and 70S0 Data Processing Systems on a System/360. Simulation of a 40K 1410/7010 or an SOK 70S0 requires a Model G (12SK) System/360. A lOOK 1410/7010 or a 160K 70S0 can be simulated on a Model H (256K) System/360. IBM states that programs may require more than 10 times as long when run on a System/360 in the simulation mode as they did When run on the original machines. Therefore, it is clear that these simulators are intended only as stop-gap measures during the reprogramming period, or for routines that are run infrequently. The Assembly and Simulator Programs operate as one system under a supervisor program called in by the 7090/7094 Operating System Monitor, IBSYS. * See. Sections 420:131 through 420:136 for detailed descriptions of the "emulators" which will permit more efficient System/360 simulation of these second-generation IBM systems through the use of optional Compatibility Features. The 7090/7094 Support Package requires the use of an IBM 709 with data channel traps, or a 7090 Or 7094 with 32, 76S positions of core storage, a 711 Card Reader, a 716 Printer, one input-output unit containing the Assembly and Simulator Programs, The System/360 input-output devices whose operations can be simulated by the 7090/7094 Support Package include the following: 1052 PrinterKeyboard, 2540 Card Read Punch, 1403 Printer, 1442 Card Read Punch, 144;3 Printer, 2311 Disk Storage Drive, and the 2401, 2402, 2403, and 2404 Magnetic Tape Units. The tape Read Backward feature is also simulated. © 1965 AUERBACH Corporation and AUERBACH Infa, Inc. 8/65 IBM SYSTEM/360 420: 151.120 .12 The minimum machine requirements of the Sort/ Merge program include 12K bytes of core storage, an input unit, three tape units or one direct access device for intermediate storage, and one output device. Any of the follOWing types of devices may be used for input, output, and/or intermediate storage: 2400 Series Magnetic Tape Unit, 7340 Hypertape Drive, 1302, 2311, and 2314 Disk Storage Drives, and 2301 Drum Storage Unit. In addition, a 2540 or 1442 Card Read Punch can be used to read the input file, and a 1403 Printer to list messages. Simulation by other Computers (Contd.) and 2, 5, or 6 mM 729 Magnetic Tape units depending on whether simulation, assembly, or both are to be performed. In addition, an IDM 1401 with 4,000 positions of core storage, Advanced Programming, Column Binary, !High-Low-Equal Compare features, one 729 or 7330 Magnetic Tape Unit, a 1402 Card Read Punch, and a 1403 Printer, is required. • 13 Data Sorting and Merging One input-output channel satisfies the minimum requirements for the Sort/Merge program, but two channels will greatly improve the efficiency of the operation. Increased performance can also be gained by making large blocks of core storage available for use by the sorting procedures, arid by allocating additional units of work storage. Operating System/360 Sort/Merge Reference: . . . . . . • Record size: . . . . . . . Block size: . . • . . . . . Key size: . . . . . . . . . IDM Publication C28-6543-0. 2,400 bytes for 32K systems. 2,400 bytes for 32K systems. 256 bytes, separated into up to 12 control fields. File size: . . . . . . . • up to one reel of tape when three tapes are used for intermediate storage; up to 1. 8 tracks of a direct access device for every 3 tracks allocated for intermediate storage. Number of tape/diSC units: . . . . . . • . . . . a minimum of three tape units or one direct-access device. Date available: . . . . . . December 1965 for 2400 Series tapes and 2311 Disk Storage. 2nd quarter 1966 for 7340 Series tapes, 1302 Disk Storage, and 2301 Drum Storage. Description: .14 Operating System/360 Report Program Generator Reference: . . . . . . . mM Publication C24-3337-0. Date available: . . . . . June 1966. Description: The Operating System/360 Report Program Generator (RPG) is an extended and improved version of the standard mM report writers currently in use. The power and flexibility of the RPG are derived principally from its use of all the on-line facilities of the Operating System/360. The RPG is more than a report generator: object programs are, as usual, generated from user-coded specification sheets, but an additional facility is provided to process the input files immediately following the compilation of the object program. The Operating System/360 Sort/Merge program is a generalized routine designed to perform tape or disc file sorts and merges under the supervison of the Operating System/360. The program can provide up to 16-way merge passes to speed the sorting operation, and can process the merging of information from up to 16 input "data sets" (logically related files of records) . Interesting additions to the standard RPG features include: the ability to perform Virtually any type of arithmetic operation on input data, with conditional branchings depending upon the results of the calculations; the use of numeric and alphabetic literals as operands of arithmetic and compare operations; the provision to read input files from several devices during the same job; data chaining operations; table lookup procedures; and the provision to exit to user-supplied routines that cannot be conveniently coded in RPG language. All RPG features and job descriptions are contained on six user-prepared specification sheets. The sheets are edited for proper entries and for possible illogical situations. Information is supplied to the Sort/Merge program by the user's control statements. Included in the user-supplied information is a general description of the records to be processed, specifications of the sorting control fields, and any modifications to be made to the Sort/Merge program prior to or during its execution. The user's control statements follow the Operating System/360's Job Control cards in the input data stream. Job Control provides the Supervisor with descriptive information concerning the job to be executed. Features include .provisions for blocked or unblocked fixed-length and variable-length records, use of up to 12 control fieldS, sorting and/or merging in either ascending or descending sequence (which may be specified separately for each control field), optional linkage to checkpoint and restart routines, ability to handle label checking through use of the Operating System's control functions, and the capability to add routines to the Sort/Merge program at any predetermined end-of-phase points. Report Writing A single RPG program is available with the Operating System/360. The minimum machine requirements for its use include 12K bytes of core storage for the generator itself, one input device, four magnetic tape units or one direct access device for intermediate storage, and one output device. The Decimal Arithmetic option is required in the System/360 Processing Unit. .15 Data Transcription ! Operating System/360 Utility Programs Reference: ....•.•. mM Publication C28-6519-0. Date available: .•.•.. 1st quarter 1966. (Contd. ) 8/65 / 420: 151.150 PROBLEM ORIENTED FACILITIES: OPERATING SYSTEM/360 .15 and all are capable of printing the symbolic program names associated with the data that is tested or displayed. Data Transcription (Contd.) Description: These utility programs are designed to operate under control of the Operating System/360. They must be stored on the direct-access device that serves as the program library for the Operating System/360, and can be accessed by a series of control cards or by a call from a user-written program. The user can specify which portions of fixed-length input records are to be transferred and indicate where in the output records the selected fields are to be written. The user can also specify the blocking factor and format of output records. The programs included are: Card to Printer/Punch Card to Tape Card to Direct Access Storage Tape to Card Tape to Printer Tape to Direct Access Storage Tape to Tape Tape Compare Direct Access Storage to Tape Direct Access Storage to Printer Clear Direct Access Storage Dump Direct Access Storage Restore Direct Access Storage. The Utility Programs are available at one design level - 12K bytes of core storage. The input-output units required are dependent upon the specific application. . 16 File Maintenance: . . . . routines and macroinstructions are available in all of the Operating System/360's language translators to provide for the organization and maintenance of the tape and direct-access files. .17 ~ Test Translator (TESTRAN) Reference: . . . . . . . . IBM Publication C28-6541-0. Date available:. . . . DecemQer 1966. Description: The Test Translator is a group of diagnostic routines controlled by the Operating System/360 and generated by macro-instructions in assembly language. The TESTRAN routines must reside on the direct-access device that is used as the program library for the Operating System/360. TESTRAN performs its program diagnostics during the execution of the object program. All of the programmer-requested routines can reside in core storage with the problem program; or optionally, each routine can be called from its direct-access device residence only as required. All TESTRAN routines can print test results in any data mode (e.g., binary, decimal, alphabetic), © Several varieties of dump and trace routines are provided, and all can be entered and modified by dynamic conditions during object program execution. Dumps are provided for system tables and directories, general and floating-point registers, and specified control sections of main storage. Traces can be performed of program segment transfers, subroutine calls, and reference to specific data. Limits and counters can be set to avoid interminable tracing of runaway program loops. All test results are written on magnetic tape, disc, or drum, and specified sections or classes of results can optionally be selected for printing. The minimum amount of core storage required for TESTRAN control is 3,600 bytes. Conversion Aids Reference: . . . . Date available:. Description: .. IBM Publication C20-1S12-0. . . ? This is a series of routines designed to facilitate the production and updating of documentation for current user programs which are to be converted to run on a System/360. The routines produce printed documents that reflect the current status of a user's production model object program compared with the corresponding original source program. The routines will flag any operation code the user specifies. Thus, the listing can disclose object program patches and selected operation codes that will require attention during the manual portion of the conversion process. Several automatic flowcharting programs are also available to produce printed listings of the current logic design of each program to be converted, together with any descriptive documentation that was incorporated in the source program. Individual conversion packages will be provided for the IBM 1401, 1410/7010, 1460, 7040/7044, 7070/ 7074, 7080, and 7090/7094 systems. The routines will operate on current IBM equipment, primarily the 1401. Mathematical Programming System (MPS) Reference: . . . . . . . . ? Date available: . . . . . . ? Description: MPS is a general-purpose linear programming system designed for use in conjunction with the Operating System/360. MPS consists of a number of routines - called "procedures" - that reside on the direct-access device that houses the Operating System's program library. Procedures are called into storage as requested by user-supplied control statements. The procedures included within MPS include the MARVEL language processor and mathematical routines that can be used on both raw and refined data to accomplish matrix generation, solution analysis, and management report writing. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 / 420: 152.100 IBM System/360 Problem Oriented Facilities Basic Operating System/360 PROBLEM ORIENTED FACILITIES: BASIC OPERATING SYSTEM/360 Note: Software for the IBM System/360 is classified into three principal groups, according to the operating system with which it is available and under whose control it functions. The Problem Oriented Facilities associated with the Basic Operating System/360 are described in this section. Similar routines related to the Operating System/360 and the Basic Programming Support are described in report Sections 420:151 and 420:153, respectively. .1 UTILITY ROUTINES .11 Simulation of Other Computers: . . • . . . . . . . see Paragraph 420:151.11. .12 Simulation by Other Computers: . . . . . . . see Paragraph 420:151.12. . 13 Data Sorting and Merging The Disk Sort/Merge Program is a generalized routine that provides the facility to sort fixed or variable length tape or disc records in ascending or descending sequence. Files on punched cards can be converted to tape or disc storage during an initialization program pass. The sort key can consist of up to 12 control fields with a maximum total length of 256 bytes. All sorting specifications, including I/O file descriptions, machine configuration, and optional features, are included in userprepared control statements, which follow the Basic Operating System's Job Control cards in the input job stream. The Sort/Merge routines are retrieved as needed from disc storage residence by the Basic Operating System. The sort operation is performed in five phases. The Sort/Merge Program includes such features as the writing of program status checkpoint records at specified intervals, thus permitting operatorinitiated program restarts at the beginning of any sort-merge phase. In addition, the facility is provided to allow exits to user-supplied routines at various points in the program, and to automatically recognize and check standard tape and disc file and volume labels. A possible problem area in the design of the Sort/Merge Program lies in the fact that tape input files containing checkpointed records cannot be processed by this program. Disk Sort/Merge Program Reference: . . . . . . . . IBM Publication C24-3321-0. Record size: . . . . . . . maximum of 640 bytes When sorting with an SK-byte processor, 1250 bytes with a 16K-byte processor. Block size: . . . . . . . . same maximum lengths as for records, above. Key size: . . . . . . . . . up to 12 control fields using a total of up to 256 bytes. File size: . . . . . . . . . up to 15,500 SO-character records for each 2311 Disk Storage Drive available for use, to a maximum of 6 Drives. Number of tape/disc units: . . . . . . . . . . . up to four 2400 Series Magnetic Tape Units for input-output, and up to six 2311 Disk Storage Drives 'for input-output and intermediate work storage for sorting operations. Date available: ...•.• third quarter 1965 for SK disc version; fourth quarter 1965 for 16K tape version. Description: Four Sort/Merge programs have been announced for use with the Basic Operating System/360: two tape sorts for systems that have 16K bytes of core storage, and two disc versions for systems that have SK and 16K bytes of core storage, respectively. Apart from their configuration requirements, both tape versions and the 16K disc version are expected to include features similar to those of the SK disc version described in the following paragraphs. In order to use the Disk Sort/Merge Program, the following minimum machine requirements must be met: SK bytes of core storage; one 2311 Disk Storage Drive; one 1403, 1404, or 1443 Printer; and one 2540, 1442, 2501, or 2520 Card Reader. Up to 65K bytes of core storage can be utilized by the program to provide increased sorting efficiency and handle larger record sizes. IBM estimates that the Disk Sort/Merge Program will be able to sort 10,000 100-character discstored records in 26 minutes, using one 2311 Disk Storage Drive and a System/360 Model 30 Processing Unit. . .14 Report Writing Basic Operating System Report Program Generator Reference: . . . . . . . . IBM Publications C2433S7-1 and C26-3570-0. Date available: ..•••. third quarter 1965 for SK Disk BOS; fourth quarter 1965 for 16K Disk or Tape BOS. Description: Two Report Program Generators have been announced for use with the Basic. Operating System/ 360: a disc version at the 4K program design level, and a disc or tape version at the 10K design level. Aside from the differences in required © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360 420: 152.140 .14 options. By means of the Field Select features, specified fields within each input record can be rearranged, deleted, or converted to zoned or packed decimal data format before being transcribed to an output file. In addition, input records can be blocked or deblocked as specified. However, only fixed-length records can be deblocked or fieldselected. Report Writing (Contd.) machine configurations, the higher-level RPG will include features similar to those of the 4K disc version described below. The BOS Report Program Generator offers many extensions and improvements to the standard mM report writers currently iri use. The range and flexibility of its facilities result primarily from its use of the on-line services of the Basic Operating System. All RPG features and job descriptions are contained on five user-prepared specification sheets. The RPG generates an object program from the specification sheets; then, if desired, it ean immediately execute the generated program to process specified input files, producing updated output files and printed reports. . The minimum machine requirements to operate the Disk Resident Utilities include: SK bytes of core storage; one 2540, 1442, 2520, or 2501 Card Read Punch or Reader; and one 2311 Disk Storage Drive. Other input-output devices that are supported include the 1403 and 1443 Printers and the 2400 Series Magnetic Tape Units. The printers and the 1052 Printer-Keyboard can also be used to record logging and error messages provided by the Basic Operating System/360. Noteworthy features included within this improved RPG are: • The ability to perform virtually any type of arithmetic operation on input data, with conditional branching dependent upon the results of these calculations. • The ability to use numeric and alphabetic literals as operands of arithmetic and compare operations. • The provision to read input files from several devices during the same job. • The facility to perform data record chaining and table lookup operations. • The utility programs provided include the following; Tape-to-Tape Tape-to-Disk Tape-to-Card Tape-to-Printer Disk-to-Tape Disk-to-Disk Disk-to-Card Disk-to-Printer Card-to-Tape Card-to-Disk Card-to-Printer and/or Punch Clear Disk. Utility Programs for 16K Tape and Disk Resident Systems The provision to exit to user-supplied routines that cannot be conveniently coded in RPG language. Reference: . . . . . . . . ? Date available: . . . . . . fourth quarter 1965. Description: The minimum machine requirements for use of the 4K-Ievel RPG include: SK bytes of core storage; one 2540, 2520, or 1442 Card Read Punch (or 2501 Card Reader); one 1443, 1403, or 1404 Printer; one 2311 Disk Storage Drive; and the Standard Instruction Set with the Decimal Arithmetic feature. . 15 An additional group of Utility Programs is available for use with 16K tape and disk versions of the Basic Operating System. Facilities that·have been added to those of the SK Disk Utilities include file-to-file capabilities for the 2321 Data Cell Drive with printers, 2400 Series Magnetic Tape Drives, and the 2311 Disk Storage Units. In addition, a Tape Compare program will be supplied. Data Transcription Utility Programs for SK Disk Resident Systems Reference: . . . . . . . . mM Publication C24-3409-0. Date available: . . . . . . third quarter 1965. Description: The Utility Programs offered for use with the SK Disk Resident Basic Operating System are generalized file-to-file routines that are controlled and modified by Job Control and other user-supplied specification cards. Eleven file-to-file routines are available for use, as well as one Clear Disk routine for the 2311 Disk Storage Drive. Fixed or variable length tape and disc storage records, as well as punched card files, can be processed as input to these routines. Standard System/360 tape and disc file labels can be recognized as such, checked, and updated if desired. These programs are more than data transcription routines; they als 0 provide us eful file maintenance 8/65 .16 File Maintenance: ... file maintenance facilities are provided in the utility programs described in Paragraph 420:152.15, above. . 17 Other Facilities. Autotest Reference: . . . . . . . . mM Publication C24-337S-0. Date available: ....'. third quarter 1965 for Disk Resident Autotest; fourth quarter 1965 for Tape Resident Autotest. Description: Autotest is a set of diagnostic routines that provides debugging facilities for use during the execution of object programs. Three versions of (Contd. ) PROBLEM ORIENTED FACILITIES: BASIC OPERATING SYSTEM/360 .17 Other Facilities (Contd.) Autotest have been announced by IBM for use with the Basic Operating System/360: versions for the 16K Disk Resident BaS, for the 16K Tape Resident BaS, and for the 8K Disk Resident BaS. The principal difference between these three versions lies in the source and method of Autotest initialization. Once the object program to be tested has been loaded into core storage with the Autotext control routines, the functional operations are essentially the same for each version. Autotest provides many useful facilities to assist in the preparation of a production program. Included in these facilities is Autopatch - a group of rou~ines designed to patch object programs at execution time by exchanging, adding, or deleting instructions and constants by means of control cards. Printed listings of the patched areas are provided to file with the assembly listing. Several other routines are provided to dump core storage and/or the registers at specified points during the execution of the test program. The dumps can also be contingent upon dynamic conditions that develop during execution, and upon abnormal job termination. © 420: 152. 170 Autotest is also capable of generating variablelength tape records to serve as test data for the program being tested. Card to tape, card to print, and tape to print utility routines are included among the Autotest routines. Any program that has been assembled in relocatable form by the Basic Operating System Assembler can use the facilities of Autotest, provided sufficient core storage is available. Since the relocatable test program and theAutotest program are combined into one load module by the Linkage Editor routine of the BaS just prior to loading, both programs occupy core storage concurrently. Thus, in order to test a program, core storage must be allotted for the following routines: Basic Operating System Supervisor (4K to 6K bytes), an area to store patch entries, a table containing all Autotest requests, the Autotest program itself (1,300 bytes), and the problem program. The minimum machine requirements' for the use of Autotest with the Basic Operating System/360 include 8K bytes of core storage, one card reader, one printer, and one 2311 Disk Storage Drive or 2400 Series Magnetic Tape Drive for residence of the BaS and its program libraries. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 g .- 420:153.100 ~---------~-~l~~ IBM System/360 Problem Oriented Focillties Basic Programming Support PROBLEM ORIENTED F'ACILITIES: BASIC PROGRAMMING SUPPORT the facility is provided to recognize and check standard System/360 tape labels, and to permit exits to user-supplied routines at specified exit points in the Sort/Merge program. Note: Problem Oriented Facilities that are controlled by or associated with the Basic Programming Support software are described in this section. The facilities that are supervised by and supplied with the Operating System/ 360 and the Basic Operating System/360 are described in Sections 420:151 and 420:152, respectively. ·1 UTILITY ROUTINES · 11 Simulators of Other Computers: . . . . . . . see Paragraph 420:151.11. · 12 Simulation by Other Computers: . . . . . . . see Paragraph 420:151. 12. · 13 Data Sorting and Merging The Sort/Merge program is a generalized routine that is modified by control-card statements. Records can be sorted in ascending sequence by control fields, twelve of which are permitted per record. A single input file of fixed or variable length records can be sorted, and up to five input files can be merged. All input-output files are stored on magnetic tape. The record length and general sorting efficiency are increased if more than 8K bytes of core storage are available for use. Up to 65K bytes of storage can be utilized when available. . 14 Report Writing Tape Sort/Merge Program Reference: . . . . . . . . C24-3320-2. Record size: . . . . . . . for 8K systems using 3 tape units: 2200 bytes on input, 1400 bytes on output. for 16K systems using 3 tape units: 7700 bytes on input, 4100 bytes on output. Block size: . . . . . . . . up to 255 records per block. Key size: ... . . . . . . up to 12 control fields using a total of up to 256 bytes. File size: . . . . . . . . . a single reel of tape at optimum record blocking. Number of tapes: .... up to six 2400 Series Magnetic Tape Units (7- and/or 9-track) can be used as work units. Date available: . . . . . 3rd quarter 1965 for single and dual I/o channel versions. Description: Two Sort/Merge programs have been announced for use with the Basic Programming Support package. Both programs require a minimum of 8K bytes of core storage, three 2400 Series Magnetic Tape Units, one card reader, and one line printer. One Sort/Merge is designed to make use of one input-output channel, and the other - for increased effiCiency in I/O data transfers - is designed to utilize two channels. The BPS Sort/Merge programs operate independently of any control programs. The Sort/Merge Program includes such features as the writing of program status checkpoint records at specified intervals, thus permitting operatorinitiated program restarts at the beginning of any pass of the External Sort Phase. In addition, 8/65 Basic Programming Support Report Program Generator Reference: . . . . . . . . IBM Publication C24-3374-0. Date Available: . . . . . 4th quarter 1965 for card and tape versions. Description: The IBM System/360's Basic Programming Support offers a card version of the Report Program Generator that is capable of performing its reportwriting services independently of any supervisory control program. A tape-oriented RPG is also offered for use as a processing program under control of the Tape Basic Programming Support software system. Apart 'from differences in configuration requirements, the features of both RPG versions are essentially the same. The BPS Report Program Generator offers many extensions and improvements to the standard IBM report writers currently in use. It not only generates object programs from five userprepared specification sheets, but it can optionally continue the data processing task by calling in input data, performing the generated program steps, and producing output in various specified forms. Noteworthy features included within this improved RPG are: • The ability to perform virtually any type of arithmetic operation upon the input data, with conditional branchings dependent upon the results of these calculations. • The ability to use numeric and alphabetic literals as operands of arithmetic and compare operations. • The provision to read input files from up to three devices during the same job. (Contd. ) 420: 153.140 PROBLEM ORIENTED FACILITIES: BASIC PROGRAMMING SUPPORT .14 The minimum machine requirements to operate the BPS utility Programs include 8K bytes of core storage and one 2540, 1442, or 2501 Card Reader. Other input-output devices that are supported include the 2520 Card Punch, the 1403 and 1443 Printers, the 2311 Disk Storage Drive, and the 2400 Series Magnetic Tape Units. The printers and the 1052 Printer-Keyboard can also be used to record logging and error messages provided by the programs. Report Writing (Contd.) • The facility for performing table lookup operations. • The provision to exit to user-supplied routines that cannot be conveniently coded in RPG language. The minimum machine requirements for use of the Basic Programming Support RPG in card form are listed below. The tape version of RPG designed for use with the BPS control programs has the same basic requirements plus the addition of three 2400 Series Magnetic Tape Units. The minimum RPG requirements include: • 15 • 8,192 bytes of core storage. • One card reader. • One card punch (if object program card deck is desired). • One printer (if source-card speCification diagnostics are desired). • The Decimal Arithmetic instruction set. The data transcription routines provided with the BPS utility Programs include the following: Tape-to-Tape Tape-to-Disk Tape-to-Card Tape-to- Printer Disk-to-Tape Disk-to-Disk Disk-to-Card Disk-to-Printer Card-to-Tape Card-to-Disk Card-to-Printer and/or Punch. . 16 File Maintenance: ... file maintenance facilities are provided in the utility programs described in Paragraph 420:153.15, above. .17 Other Facilities Data Transcription Utility Programs for Basic Programming Support Reference: . . . . . • . • . IBM Publications C24-3363-1 and C24- 3392-1. Date available: . . . . . . 3rd quarter 1965. Description: The utility Programs designed for use with the Basic Programming Support consist of eleven generalized file-to-file data transcription routines. Each routine is self-loading and nonrelocatable, operating independently of any control programs. The job descriptions and any selected optional features are specified on free-form user-prepared control cards. The-specialized Multiple Utility Program provides the capability to process up to three data transcription operations simultaneously. The routines that can be performed with this program are Card to Tape, Tape to Card, and Tape to Printer. Any combination of these routines, up to a total of three, can be run simultaneously. Fixed or variable length tape and disc storage records, as well as punched card files, can be processed as input to these routines. Standard System/360 tape and disc file labels can be recognized as such, checked, and written if desired. These programs are more than data transcription routines; they also provide useful file maintenance options. By means of the Field Select features, specified fields within each input record can be rearranged, deleted, or converted to zoned or packed decimal data format before being transcribed to an output file. In addition, input records can be blocked or deblocked as specified. Only fixed-length records, however, can be deblocked or field-selected. © Basic Programming Support Dump Programs Reference: . . . . . . . . IBM Publication C28-6557-0. Date available: . . . . . . April 1965. Description: These program dump routines are supplied as part of the Basic Programming Support package for use as independently-controlled programs. The Single-Phase Dump program can be assembled with the problem program by the BPS's Relocatable Loader; or it can be assembled separately and used as an independent program. At points designated by the problem program, the dump routine produces a listing of the registers and/or core storage areas as requested. The Two-Phase Dump program has these same characteristics, except that the dumped output can additionally be produced on cards or tape. If a problem program being executed comes to an abnormal endof-job, the Self-Loading Dump program can be loaded into lower core storage, after which a complete dump of all main storage and the registers is produced. Autotest Reference: . . . . . . . . C24-3343-1. Date available: . . . . . 3rd quarter 1965. Description: Autotest is a set of diagnostic routines that provides debugging facilities for use during the execution of object programs. BRS Autotest can be used with 16K and larger tape systems. Autotest provides many useful facilities to assist in the preparation of a production program. Included in these facilities is Autopatch - a group 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65· 420: 153. 170 .17 Other Facilities (Contd.) of routines designed to patch object programs at execution time by exchanging, adding, or deleting instructions and constants by means of control cards. Printed listings of the patched areas are provided for filing with the assembly listing. Several other routines are provided to dump core storage and/or the registers at specified points during the execution of the test program. The operation of the dumps can be contingent upon dynamic conditions that develop during execution, and upon abnormal job termination. Autotest is also capable of generating variable-length tape records to serve as test data for the program being tested. Card-to-tape, card-to-print, and tape-to-print utility routines are included among the Autotest routines. Any BPS object program in punched card form can utilize the testing facilities of Autotest, provided sufficient core storage is available. In order to test a program using the Autotest routines, core storage must be allotted for the BPS Supervisor (averaging 2500 bytes), for Autopatch value entries (about 8 bytes per value card), for a table of Autotest control cards (about 14 bytes per entry), for the Autotest control program (a maximum of 1100 bytes), and for the problem program. The BPS Autotest programs support the use of up to 65K bytes of core storage for program testing. The minimum machine requirements for the use of Autotest with the Basic Programming Support include 16K bytes of core storage, one card reader, one printer, one 9-track 2400 Series Magnetic Tape Unit, and the standard instruction set. The program also supports the use of the 1052 Printer-Keyboard for printed messages to the operator. IOCS for Magnetic Character and Optical Readers . C24-3398-1. Reference: •.. Date available: . . . . . 4th quarter 1965 for 1412, 1418, 1419, 1428, 1231, and 1285 IOCS; 1st quarter 1966 for 1419 Dual Operation IOCS. Description: The 1412/1419 Control Program is supplied by IBM to control the input-output operations of the 1412 and-1419 Magnetic Character Readers. Provided in symbolic form, these routines can be 8/65 IBM SYSTEM/360 modified if desired, and then inserted into the user's programs prior to assembly. The user need only code the pocket-select routine necessary to route the MICR document to a particular pocket or stacker. The 1412/1419 Control Program includes coding to handle I/O requests, input buffering, operator communication, interrupt conditions, and device error situations. These routines can be assembled with independentlyoperating problem programs or with programs designed to operate in conjunction with the BPS control routines. A minimum of 16K bytes of core storage is required for the use of the 1412/1419 I/O program package with the Basic Programming Support system. Similar input-output support will also be provided for the 1418 and 1428 Optical Character Readers and for the 1231 and 1285 Optical Mark Page Readers. Communications Control Application Reference: . . . . Date available:. Description: ? ? The Communications Control package is a set of programs written in System/360 Basic Assembler language and designed to assist in the implementation of a computer-controlled data communications network. The basic functions of message and network control are supplied with this package, to which modifications can be made as necessary. The Communications Control programs perform functions such as: terminal polling, receipt and transmission of all inquiries, logging and routing of all inquiries, line and network status reporting, queuing of inquiries and messages, and line and terminal error detection and reporting. Information concerning symbolic names of terminals, polling characters, and message header formats must be included in the communications program by the user. The minimum machine requirements for using the Communications Control package include 16K bytes of core storage, a 1051 Control Unit, a 1052 Printer-Keyboard, a 2841 Storage Control Unit with at least one 2311 Disk Storage Drive, a 2702 Transmission Control Unit, the Decimal Arithmetic instruction set, and the Interval Timer. 420: 161.100 IBM System/360 Process Oriented Language Operating System/360 FORTRAN IV PROCESS ORIENTED LANGUAGE: OPERATING SYSTEM/360 FORTRAN IV .1 GENERAL .11 Identity:......... .12 Origin:.. • . • • • . . . . .. IBM Corporation. .13 Reference: ••...••... IBM Publications C28-65153 and C28-6513-0. • 14 Description Operating System/360 FORTRAN IV (200K); Operating System/360 FORTRAN IV (E Level Subset). Mathematical processing on the System/360 will be facilitated by the availability of two programming languages -FORTRAN and Programming Language/ I (PL/I). FORTRAN is at present the most widely used mathematical language in America. The specifications for P L/I have only recently become available, so whether it will eventually displace FORTRAN as the mathematical language of the future cannot yet be predicted. Naturally, the relative emphasis placed upon each language by IBM will play an important part in this matter. Two FORTRAN compilers are being prepared for use with the Operating System/360. Both are based upon the FORTRAN IV language. One, a fairly full version with most of the facilities of 7090,7094 FORTRAN IV and numerous extensions (e. g., subscripts to 7 levels and random processing control with direct-access devices), is designed for large systems which include direct-access storage and have at least a Model H Processing Unit (262,144 bytes of core storage). Users of smaller equipment configurations who want a FORTRAN compiler and the control facilities of the Operating System/360, but who cannot justify more than 32K bytes of core storage, can utilize IBM's FORTRAN IV "E Level Subset" language. The E Level Subset is designed at a 13K program level for use in the controlled, direct-access-device environment of the Operating System/360. The restrictions of this limited FORTRAN IV language as compared with the full 200K version are listed below. Two additional FORTRAN IV languages/compilers are provided with the IBM System/360: a 10K tape or disc version for use with the Basic Operating System/360, and a 10K card or tape version for use with the Basic Programming Support. These versions of FORTRAN IV are described in Sections 420:162 and 420:163, respectively. 200K Version The full version of Operating System/360 FORTRAN, called the IBM System/360 FORTRAN IV (200K) language, closely resembles IBM 7090/7094 FORTRAN IV as described in Section 408: 162. The principal restrictions on the IBM System/360 FORTRAN IV (200K) language are the lack of fixed symbolic input-output unit designations and the reduced maximum sizes of constants, as summarized below: Type of Constant IBM System/360 1-10 digits Integer 1-7 digits Real Double Precision 1-16 digits IBM 7090/7094 1-11 digits 1-9 digits 1-17 digits Other restrictions of System/360's full FORTRAN IV language are listed in Paragraph .142 below. The most important extension of Operating System! 360's full FORTRAN (relative to 7090/7094 FORTRAN IV) is the ability to read and write FORTRAN data records on direct-access devices in a random order that is specified by the programmer. Toward this end, two additional forms have been added to the READ and WRITE statements, allowing the programmer to specify by means of an integer expression the relative position within the data set of the record to be read or written. Also, an executable FIND statement has been added to permit the retrieval of a relatively-referenced record while computation proceeds. A new DEFINE FILE specification statement (describing the characteristics of a data set to be placed on or retrieved from a direct-access device) is required in order to utilize these random processing facilities. It should be noted that standard forms of READ and WRITE can be used for sequential processing of data on directaccess storage devices. Another important extension of IBM System/360 FORTRAN is the capacity to use up to seven levels of subscripting. Other useful extensions are the implementation of the "T" -specification in FORMAT statements to indicate the print or punch position of data simply by column number, an "V'-conversion to specify logical variables, a "G"-specification for generalized data formats, and increased possible scaling of real and double precision constants to 16 63 (or about 1075~ for IBM System/360 FORTRAN, as compared to 10 3 for 7090/7094 FORTRAN IV. Other extensions of the Operating System/360's 200K FORTRAN with respect to 7090/7094 FORTRAN include a "double-precision" concept applied to integer, real, and complex variables and constants. All variables can be explicitly assigned a length value other than their standard 4-byte or 8-byte lengths. Also, by means of an IMPLICIT statement, the type of each variable can be specified according to the first letters of its name. Mixed-mode expressions (i. e., those that consist of constants and variables of various types and lengths) are also © '965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 420: 161.140 IBM SYSTEM/360 ------====================~~~~~~~~~~~~~~~~~------- .14 Description (Contd) An IBM-supplied timing example shows the estimated time requirements to perform a full compilation of a FOR TRAN IV (200K verSion) main program of 200 statements and ten 100-statement, user-supplied subprograms on a System/360 sample Configuration C. ill this example, it is assumed that four arithmetic function library routines are linked into the compiled program. The estimated time in seconds to perform this FORTRAN IV compilation, reading the source statements from disc storage and writing the compiled program to disc storage, is 28.38 seconds. permitted. 'The full FORTRAN IV compiler provides a variety of options to control and format input-output data transfers, as well as additional facilities in the use of subprograms. The principal FORTRAN language extensions are listed in Paragraph • 143 below. Full FORTRAN IV for use with the Operating System/360 requires a minimum machine configuration of 256K bytes of core storage, one directaccess device (disc or drum) for program residence and intermediate storage, one input device, and one output device (cards, tape, or disc for I/O). The Standard illstruction Set with the Floating-Point Feature is required in both the compiling and object Processing Units. .141 Availability: Language specifications: ••.•••. E Level Subset The E Level Subset FORTRAN IV available with the Operating System/360 is a restricted version of the full 200K FORTRAN IV. This subset compiler requires the same machine configuration for its operation as the full version, except for the size of core storage. The E Level Subset can function with a minimum of 32K bytes of core storage. Among the features of the Operating System/360's full FORTRAN IV (200K) that have not been implemented in the E Level Subset are the following statements: ASSIGN BLOCK DATA Labeled COMMON COMPLEX DATA Assigned GO TO Logical IF PRINT PUNCH READ b, list END and ERR parameters in a READ IMPLICIT ENTRY RETURNi NAME LIST PAUSE with literal. Other full-version features not implemented in the E Level Subset include: more than three dimensions for array storage allocation, adjustable dimensions, the ability to read FORMAT statements at execution time, the "double-precision" concept for constants and variables (although a DOUBLE-PRECISION type specification is provided), and G and L FORMAT codes. The restriction and extensions of E Level FORTRAN IV with respect to 709017094 FORTRAN IV are listed in Paragraphs . 144 and . 145 of this report section. Compilation Times IBM has provided us with estimated FOR TRAN IV compilation times based on three sample System/360 configurations. Table I describes these sample configurations and indicates the several timing factors that must be summed to arrive at a total time for a FORTRAN IV compilation performed in conjunction with the Operating System/360. Compiler: ••••••• April 1964 and March 1965 for 200K FORTRAN; March 1965 for E Level Subset. June 1966 for 200K FORTRAN; December 1965 for E Level Subset. .142 Restrictions of 0l2erating System/360 200K FORTRAN IV Relative to IBM 709077094 FORTRAN IV 31-1 (1) illteger constants can range to 2 as compared to 235-1 in 7090/7094 FORTRAN IV; real (floating-point) constants can be from 1 to 7 digits in length as compared to a maximum of 9 digits for 7090/7094 FORTRAN IV; and double precision constants can range from 1 to 16 digits as compared to a maximum of 17 digits for 7090/7094 FORTRAN IV. (2) ill FORMAT statements: O-type conversions are not available; X-conversion fields must be separated from other fields by commas. (3) Fixed symbolic input-output unit designation is not provided. (4) The SSWTCH subroutine is not provided. (5) ill statement functions, a maximum of 15 variables that appear within an expression can be used as arguments of the function. .143 (1) The processing of randomly-accessed records on direct-access devices is provided by means of a FIND and two new forms of READ and WRITE input-output statements. (2) Up to seven levels of subscripts are permitted. (3) In FORMAT state,ments, the T-specification indicates the print position of the data; Lconversion specifies logical variables; Gspecification indicates a generalized format for integer, real, complex, or logical forms of data. (4) Dumps can be in hexadecimal, logical, double-precision, real, integer, complex, or literal format. (Contd. ) 8/65 ---- PROCESS ORIENTED LANGUAGE: OPERATING SYSTEM/360 FORTRAN IV 420: 161.143 TABLE I: FORTRAN IV COMPILATION TIME FACTORS Configuration Components Sample Configura.tions Configuration A System/3GO Model 30 with 32K bytes of core storage, one Multiplexor Channel, one Selector Channel, one 2540 Ca.rd Read Punch, one 1403 Printer (Model 3). two 2311 Disk Storage Drives, and the Operating System/3GO's sequential scheduler. * Configuration B System/3GO Model 50 with 65K bytes of core storage, two Selector Channels, two 2311 Disk Storage Drives, and the Operating System/3GO's priority scheduler. ** Configuration C System/3GO Model 65 with 262K bytes of core storage, two Selector Charmels. two 2301 Drum Storage Units, four 2311 Disk Storage Drives, and the Operating System/360's concurrent job scheduler. ** Compilation Time in Seconds Estimated Timing Factors FORTRAN IV- E Level, Configuration A For compilation initiation For each compilation For each user-supplied subprogram For each source card For library initialization For each library access For each library routine used For each byte of library routine used For each 2, 04B-byte control section compiled For each byte compiled FORTRAN IV200K. Configuration B FORTRAN IV200K. Configuration C 18.3 23.0 11.7 16.0 2.52 0.95 23.0 0.25 19.1 2.0 0.75 16.0 0.10 13.9 1.4 0.37 0.10 0.013 4.01 0.32 0.088 0.0004 0.00009 0.00002 0.46 0.00084 0.088 0.00018 0.045 0.0001 Source program input is assumed to be entered through the Card Read Punch, and object program output is assumed to be \Vl"itten on disc storage. Source-program input and object program output are assumed to be read and disc storage. .143 Extensions of Operating System/360 200K FORTRAN IV Relative to IBM 7090/7094 FORTRAN IV (Contd.) (5) The magnitude of real and double-precision constants can range to 16 63 (about 10 75 ) as compared to 10 38 for 7090/7094 FORTRAN Literal constants (enclosed within quotation marks) of up to 255 characters are permitted. (7) In SUBROUTINE subprograms, exit to any numbered statement in the calling program is permitted. (8) An IMPLICIT statement permits assignment of type-specification to the first letter of variable names. (9) A "double-precision" concept is applied to integer, real, and complex constants and variables, and is not considered to be a separate type specification. Variables can be optionally assigned specific lengths other than the standard 4- or 8-byte lengths. to (13) An integer constant can be included in the STOP statement. (14) Integer constants and variables can have real exponents. (15) The END statement is used to define the end of a source subprogram, as well as main program. (16) The NAME LIST statement can be used with a READ or WRITE statement to eliminate the need to enumerate list-entries after such statements. N. (6) ~itten (17) The parameters END and ERR can be used with READ statements to indicate the statement number to which transfer is made when end-of-file and error conditions are encountered. (18) In the FORMAT statement, the length of Afields is not limited, and literal data can be included. (19) A "+" character can be used for carriage control purposes, indicating "no advance." (10) Mixed modes are permitted within expressions. (20) Variables within EQUIVALENCE statements can have multiple subscripts. (11) (21) The ENTRY statement permits transfer to a subroutine or function at a point other than the first statement. (22) Eleven additional built-in functions and mathematical subroutines are provided. Subscripted variables can be used with logical operators. Complex logical expressions are permitted. (12) A literal constant can be used with the PAUSE statement. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 420: 161. 144 IBM SYSTEM/360 .144 Restrictions of Operating System/360 FORTRAN IV (E Level Subset) Relative to IBM 7090/7094 FORTRAN IV (1) (2) 31-1 Integer constants can range to 2 as 35 1 compared to 2 - in 7090/7094 FORTRAN IV; real (floating-point) constants can be from 1 to 7 digits in length as compared to a maximum of 9 digits for 7090/7094 FORTRAN IV; and double precision constants can range from 1 to 16 digits as compared to. a maximum of 17 digits for 7090/7094 FORTRAN IV. In FORMAT statements: O-type conversions are not available, and X-conversion fields must be separated from other fields by commas. (3) Fixed symbolic input-output unit designation is not provided. (4) The ATAN2 mathematical subroutine is not provided. (5) The SSWTCH subroutine is not provided. (6) In statement functions, a maximumQf 15 variables that appear within an expression can be used as arguments of the function. (7) Variables and constants cannot be of type COMP LEX or LOGICAL; logical and ,tela~ tional expressions are not permitted. (16) The following statements are not implemented: ASSIGN BLOCK DATA Assigned GO TO Logical IF PRINT PUNCH READ Q, list. .145 Extensions of Operating System/360 FORTRAN IV (E Level Subset) Relative to IBM 7090/7094 FORTRAN IV (1) In FORMAT statements, the T-specification indicates the starting print position of the data. (2) Storage dumps can be printed in hexadeCimal, double-precision, real, or integer formats. (3) The magnitude of real and doubleprecision constants can range up to 16 63 (about 1075), as compared to 10 38 for 7090/7094 FORTRAN IV. (4) Literal data' ill FORMAT statements can extend up to 255 characters in length. (5) Mixed modes are permitted in arithmetic expressions and statements. (6) Integer constants and variables can have real exponents. (8) FORMA T statements cannot be read at object time. (7) An integer constant can be included in the STOP statement. (9) Only one level of parentheses (in addition to those enclosing the entire statement) is permitted in FORMAT statements. (8) The END statement is used to define the end of a source subprogram, as well as a main program. (10) Specification statements must precede the first executable statement of the source program. In addition, all Statement Function definitions must follow the speCification statements and precede the executable program. (9) In FORMAT statements, the length of Afields is not limited, and literal data can be included. (10) A "+" character can be used for carriage control purposes, indicating "no advance." (11) Variables in EQUIVALENCE statements can have multiple subscripts. (11) Adjustable dimensions are not permitted. (12) COMMON block names are not permitted. (12) The double-precision float (DFLOA T) mathematical function has been included. (13) Thirty-nine words are reserved for use by the compiler and cannot be used as names of variables, arrays, or subprograms. (13) (14) All complex mathematical functions and common logarithm functions have been excluded. (15) Literals cannot serve as arguments in a CALL statement. Special statements can optionally be provided for handling the input-output operations of direct-access storage devices when data records are to be randomly accessed. These include a DEFINE FILE specification statement, new forms of the READ and WRITE verbs, and a FIND verb which permits record retrieval to proceed -concurrently with computation. 8/65 420: 162. 100 IBM System/360 Process Oriented Language BOS FORTRAN IV PROCESS ORIENTED LANGUAGE: BASIC OPERATING SYSTEM/360 FORTRAN IV .1 GENERAL .11 Identity: ..•••.•..• Basic Operating System/360 FORTRAN IV. . 12 Origin: •••••.••••. IDM Corporation . . 13 Reference: . . . . • . . . not published to date . .14 Description A single FORTRAN compiler has been announced by IBM for use in conjunction with the Basic Operating System/360. The compiler is designed to operate with the Tape or Disc Resident BOB, in a minimum environment of 16, 384 bytes of core storage. FORTRAN IV for the Basic Operating System/360 is a proper, though very restricted, subset of the Operating SYlltem/360 full (200K) FORTRAN IV language, which is described in report Section 420:161. In fact, the BOS FORTRAN IV language resembles to a high degree the Operating System/ 360's E Level Subset FORTRAN language, except that BOB FORTRAN IV is a slightly less flexible language than the E Level Subset. Upward compatibility will definitely exist among these three compilers; i. e., any program successfully compiled by the BOB FORTRAN IV compiler will produce identical results if subsequently compiled by the Operating System/360's E Level Subset or full 200K FORTRAN compiler. The language facilities of BOS FORTRAN IV are identical to those offered with the Operating System/360's E Level Subset FORTRAN IV, except for the four restrictions listed below. (Report Section 420:161 should be referred to for a description of the E Level Subset language.) The capability to process data records stored on direct-access devices, in a random order specified by the programmer, is a notable inclusion in the Disk BOB FORTRAN IV language. The restrictions of the BOB FORTRAN IV language with respect to the Operating System/360's E Level Subset FORTRAN IV include the following: • l Embedded blanks are not permitted within real and double-precision constants, all statements, and FORTRAN key words. • In the F-specification of FORMAT statements, ,an extra space must be allotted for a digit to the left of the decimal point. • The last statement in every DO loop must be executable and cannot be STOP, pAUSE, or RETURN. • Forty-one key words are reserved by the compiler - two more than are reserved by the E Level Subset compiler. The BOS FORTRAN IV language can be obtained in a slightly altered form that excludes the use of all statements related to direct-access devices. This version will be available to those users of the Basic Operating System whose configurations include 2400 Series Magnetic Tape Units but no direct-access storage' units. Among the features of the Operating System/360's full FORTRAN IV (200K) that have not been implemented either in the E Level Subset or in BOS FORTRAN IV are the following statements: ASSIGN BLOCK DATA Labeled COMMON COMPLEX DATA Assigned GO TO Logical IF PRINT PUNCH READ b, list END and ERR parameters in a READ IMPLICIT ENTRY RETURN i NAMELIST P A US E with literal. other full-version features not implemented in the BOS FORTRAN IV subset include: more than three dimensions for array storage allocation, adjustable dimensions, the ability to read FORMAT statements at execution time, the "double-precision" concept for constants and variables (although a DOUBLEPRECISION type specification is provided), and G and L FORMA T codes. The minimum machine configuration required to operate the Basic Operating System FORTRAN IV compiler includes 16,384 bytes of core storage, one card reader and punch, one printer, three 2400 Series Magnetic Tape Units or one 2311 Disk Storage Drive for intermediate storage, and the Standard Instruction Set with the Floating-Point feature. No performance figures have been released by IBM to date relative to the estimated compilation speed or operating efficiency of BOB FORTRAN IV. (See Section 420:161 for estimated compilation times for the Operating System/360 FORTRAN compilers.) In Paragraphs .142 and .143 that follow, BOS FORTRAN IV is compared with IBM 7090/7094 FORTRAN IV, a language that has gained wide acceptance for use in the solution of scientific and engineering data processing problems. IDM 7090/7094 FORTRAN IV is described in detail in Section 408:162 of the IDM 7090 report. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 420: 162. 141 • 141 Availability Language specifications: ? Compiler: . . . . . . . . . 4th quarter 1965. 31-1 (1) Integer constants can range to 2 as 1 35 compared to 2 - in 7090/7094 FORTRAN IV; real (floating-pOint) constants can be from 1 to 7 digits in length as compared to a maximum of 9 digits for 7090/7094 FORTRAN IV; and double precision constants can range from 1 to 16.digits as compared to a maximum of 17 digits for 7090/7094 FORTRAN IV. (2) In FORMAT statements: O-type conversions are not available; X-conversion fields must be separated from other fields by commas. IBM SYSTEM/360 (17) In the F-specification of FORMA T statements, an extra space must be allotted for a digit to the left of the decimal point. (18) Embedded blanks are not permitted within variable names, real and double-precision constants, all statements, and FORTRAN key words. (19) The following statements are not implemented: ASSIGN BLOCK DATA Assigned GO TO Logical IF PRINT PUNCH READ Q; list. .143 Extensions of Basic 02erating S;ystem/360 FORTRAN IV Relative to mM 709077094 FORTRAN IV (1) In FORMAT statements, the T-specification indicates the starting print position of the data. (4) The A TAN2 mathematical subroutine is not provided. (2) Storage dumps can be printed in hexadecimal, double-precision, real, or integer formats. (5) The SSWTCH subroutine is not provided. (3) The magnitude of real and double-precision constants can range up to 16 63 (about 1075), as compared to 10 38 for 7090/7094 FORTRAN IV. (4) (7) Variables and constants cannot be of type COMPLEX or LOGICAL; logical and relational 'expressions are not permitted. Literal data in FORMAT statements can extend up to 255 characters in length. (5) Mixed modes are permitted in arithmetic expressions and statements. (8) FORMAT statements cannot be read at object time. (6) Integer constants and variables can have real exponents. (9) Only one level of parentheses (in addition to those enclosing the entire statement) is permitted in FORMAT statements. (7) An integer constant can be included in the STOP statement. (3) Symbolic input-out unit designation is not provided. (6) In statement functions, a maximum of 15 variables that appear within an expression can be used as arguments of the function. (8) (10) Specification statements must precede the first executable statement of the source program. In addition, all Statement Function definitions must follow the specification statements and precede the executable program. The END statement is used to define the end of a source subprogram, as well as a main program. (9) In FORMAT statements, the length of Afields is not limited, and literal data can be included. (11) Adjustable dimensions are not permitted. (10) A " + " character can be used for carriage control purposes, indicating "no advance." (11) Variables in EQUIVALENCE statements can have multiple subscripts. (12) The double-precision float (DFLOAT) mathematical function has been included. (13) Special statements can optionally be provided for handling the input-output operations of direct-access ~torage devices when data records are to be randomly accessed. These include a DEFINE FILE specification statement, new forms of the READ and WRITE verbs, and a FIND verb which permits record retrieval to proceed concurrently with computation. (12) Common block names are not permitted. (13) Forty-one words are reserved for use by the compiler and cannot be used as names of variables, arrays, or subprograms. (14) All complex mathematical functions and common logarithm functions have been excluded. (15) Literals cannot serve as arguments in a CALL statement. (16) The last statement in every DO loop must be executable and cannot be STOP, PAUSE, or RETURN. 8/65 / 420: 163. 100 IBM System/360 Process Oriented Language BPS FORTRAN IV PROCESS ORIENTED LANGUAGE: BASIC PROGRAMMING SUPPORT FORTRAN IV .1 GENERAL .11 Identity:......... Basic Programming Support FORTRAN IV. • 12 Origin:.......... IBM Corporation. . 13 Reference:....... IBM Publications C28-65042, C28-6583-0, and C28-6584-0. • 14 Description Two versions of FORTRAN IV compilers have been announced for users of the IBM System/360 Basic Programming Support (BPS): a Tape FORTRAN IV and a Card FORTRAN IV, both of which operate independently of any control programs. Both BPS FORTRAN IV compilers require a minimum of 16,384 bytes of core storage for their operation, in addition to the Standard Instruction Set with the Floating-Point feature. The tape version requires two 2400 Series Magnetic Tape Units for intermediate storage of compiler results, and another 2400 Series Magnetic Tape Unit for compiler and control program storage. In order to "compileand-go," a fourth magnetic tape unit is required. The BPS Tape FORTRAN IV compiler is currently available for use in the field. The language specifications of BPS Card FORTRAN IV have not been released by IBM to date. It is assumed that the card version's language facilities will be very similar to those of the BPS Tape FORTRAN IV language, which are described throughout the remainder of this report section. Basic Programming Support FORTRAN IV is a proper, though very restricted, subset of the Operating System/360's full (200K) FORTRAN IV language, which is described in report Section 420:161. In fact, BPS FORTRAN IV resembles very closely the Operating System/360's E Level Subset FORTRAN and the Basic Operating System's FORTRAN. Upward compatibility will definitely exist among the various System/360 FORTRAN compilers; i. e., any program successfully compiled by the BPS FORTRAN IV compiler should produce identical results if subsequently compiled by the BOS or Operating System/360 FORTRAN IV compilers. The language facilities of Basic Programming Support Tape FORTRAN IV are identical with those of Basic Operating System FORTRAN IV (described in Section 420: 162), except for the lack of any statements relating to direct-access storage devices in the BPS version. Both of these languages are . proper subsets of the Operating System/360's E Level Subset FORTRAN IV. Listed below are the only known language restrictions of BPS FORTRAN IV as compared with the Operating System/360's E Level Subset FORTRAN IV (described in Section 420: 161): • Embedded blanks are not permitted within variable names, real and double-precision constants, all statements, and FORTRAN key words . • In the F-specification of FORMAT statements, an extra space must be allotted for a digit to the left of the decimal point. • The last statement in every DO loop must be executable and cannot be STOP, PAUSE, or RETURN. • Forty-one key words are reserved by the compiler - two more than are reserved by the E Level Subset compiler. • No statements related to the use of directaccess devices are permitted. In Paragraphs . 142 and • 143 that follow, BPS FORTRAN IV is compared with IBM 7090/7094 FORTRAN IV, a language that has gained wide acceptance for use in the solution of scientific and engineering data processing problems. IBM 7090/ 7094 FORTRAN IV is described in detail in Section 408:162 of the IBM 7090 report. No performance figures have been released by IBM to date relative to the estimated compilation speed or operating efficiency of the BPS Tape FORTRAN IV compiler. The core storage requirements for BPS Tape FORTRAN IV program compilation and execution are listed in Table I. .141 Availability Language specifications: . • .. Compiler: . •• • . • •• April 1964 and March 1965 for BPS Tape FORTRAN IV; Not yet available for BPS Card FORTRAN IV. 2nd quarter 1965 for BPS Tape FORTRAN IV; 1st quarter 1966 for BPS Card FORTRAN IV. • 142 Restrictions of Basic Programming Support FORTRAN IV Relative to IBM 7090/7094 FORTRAN IV (1) Integer constants can range to 2 31 - 1 as compared to 2 35 - 1 in 7090/7094 FORTRAN IV; real (floating-point) constants can be from 1 to 7 digits in length as compared to a maximum of 9 digits for 7090/7094 FORTRAN IV; and double precision constants can range from 1 to 16 digits as compared to a maximum of 17 digits for 7090/7094 FORTRAN IV. (2) In FORMAT statements: O-type conversions are not available; X-conversion fields must be separated from other fields by commas .. (3) Symbolic input-output unit designation is not provided. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65· 420: 163.142 IBM SYSTEM/360 • 142 Restrictions of Basic Programming Support FOI,tTRAN IV Relative to IBM 7090/7094 FORTRAN IV (Contd.) (19) The following statements are not implemented: ASSIGN BLOCK DATA Assigned GO TO Logical IF PRINT PUNCH READ Q, list. (4) The ATAN2 mathematical subroutine is not provided. (5) The SSWTCH subroutine is not provided. (6) In statement functions, a maximum of 15 variables that appear within an expression can be used as arguments of the function. (7) Variables and constants cannot be of type COMPLEX or LOGICAL; logical and relational expressions are not permitted. (8) FORMAT statements cannot be read at object time. (9) Only one level of parentheses (in addition to those enclosing the entire statement) is permitted in FORMAT statements. (10) Specification statements must precede the first executable statement of the source program. In addition, all Statement Function definitions must follow the specification statements and precede the executable program. (11) Adjustable dimensions are not permitted. .143 Extensions of Basic Programming Support FORTRAN IV Relative to IBM 7090/7094 FORTRAN IV (1) In FORMAT statements, the T-specification indicates the starting print position of the data. (2) Storage dumps can be printed in hexadecimal, double-precision, real, or integer formats. (3) The magnitude of real and double-precision constants can range up to 16 63 (about 10 75 ), as compared to 103 8 for 7090/7094 FORTRAN IV .. (4) Literal data in FORMAT statements can extend up to 255 characters in length. (5) Mixed modes are permitted in arithmetic expressions and statements. (12) Common block names are not permitted. (I?) Forty-one words are reserved for use by the . compiler and cannot be used as names of variables, arrays, or subprograms. (14) All complex mathematical functions and common logarithm functions have been excluded. (6) Integer constants and variables can have real exponents. (7) An integer constant can be included in the STOP statement. (15) Literals cannot serve as arguments in a CALL statement. (8) The END statement is used to define the end of a source subprogram, as well as a main program. (16) The last statement in every DO loop must be executable and cannot be STOP, PAUSE, or RETURN. (9) In FORMAT statements, the length of A-fields is not limited, and literal data can be included. (17) In the F-specification of FORMAT statements, an extra space must be allotted for a digit to the left of the decimal point. (18) Embedded blanks are not permitted within variable names, real and double-precision constants, all statements, and FORTRAN key words. (10) A "+" character can be used for carriage control purposes, indicating "no advance." (11) Variables in EQUIVALENCE statements can have multiple subscripts. (12) The double-precision float (DFLOAT) mathematical function has been included. TABLE I: BPS TAPE FORTRAN IV CORE STORAGE SIZE CONSIDERATIONS System/360 Core Storage Size in Bytes Average number of source statements permitted per compilation 32K 65K 400 1,000 2,000 Core storage reserved at execution time by FORTRAN control system, bytes 9K 9K 9K Core storage available at execution time for object program, bytes 7K 23K 55K Average number of source statements permitted for a compilation and immediate execution 8/65 16K 150 400 1,000 420: 164. 100 IBM System/360 Process Oriented Language Operating System/360 COBOL PROCESS ORIENTED LANGUAGE: OPERATING SYSTEM/360 COBOL .1 GENERAL . 11 Identity: ... . 12 Origin: .. . . . . . . • • • IBM Corporation• .13 Reference: ••...•.. IBM Publication C28-6516-2. .14 Description Operating System/360 COBOL F ... Operating System/360 COBOL. The IBM Operating System/360 COBOL language is a subset of COBOL-61 Extended, the most widely accepted pseudo-English common language designed for use in business-oriented data processing applications. Operating System/360 COBOL includes all but six of the facilities prescribed for implementation in Required COBOL-61 (see Paragraph.142 below). It also includes two valuable Extensions to Required COBOL-61: the Report Writer and Sort functions. IBM has also chosen to include many of the COBOL-61 Electives in its Operating System/360 COBOL language. The restrictions, extensions, and elective facilities of Operating System/360 COBOL with respect to Required COBOL-61 are tabulated for ease of reference in Paragraphs. 142 through. 145. Although Operating System/360 COBOL includes most of the facilities officially suggested for inclusion in COBOL compilers - including the features currently being studied by the American Standards Association for COBOL - yet it still falls short of being a really "common" language. Conversion of existing COBOL source programs to System/360 COBOL will not be an automatic process. Ignoring program differences that will result from environmental and data format considerations, IBM lists 64 Operating System/360 COBOL language elements that are sensitive to conversion operations from currently-operational IBM COBOL source programs. Acknowledging the COBOL program conversion problem, IBM has offered its 1400 and 7000 Series COBOL users a COBOL Language Conversion Program (LCP) that flags items which are incompatible with System/360 COBOL and reconstructs them into compatible statements wherever possible. Operating System/360 COBOL is implemented at two program design levels: "COBOL E" at 13K and "COBOL F" at 44K bytes of core storage. Both compiler versions operate in cooperation with and under the supervision of the Operating System/360 in a direct-access device environment. Among the language facilities of COBOL F that are not included in its subset, COBOL E, are the random processing and multiprogramming (asynchronous processing) language extensions. A complete listing of differences between the two Operating System/360 COBOL language versions is supplied below. Operating System/360 COBOL F requires a minimum of 65, 536 bytes of core storage for its operation, in addition to a direct-access device for system residence and another such device for intermediate storage. Input-output devices can include card readers, printers, 2400 Series Magnetic Tape Units, and any available direct-access storage devices. The Standard Instruction Set with the Decimal Arithmetic optional featur!=l is also required as part of the minimum equipment configuration for using the COBOL F compiler. Two different programming techniques are provided through the use of certain Operating System COBOL F facilities. One of these is the conventional technique of processing instructions sequentially and handling data records in the same order in which they are read. This technique is referred to as "synchronous processing." The other technique "asynchronous processing" - permits the programmer to take full advantage of direct-access storage devices in the performance of multiprogramming tasks. By means of a newly-implemented PROCESS statement, a named direct-access-device-oriented routine is entered and executed in an out-of-line mode, while the in-line portion of the program proceeds in its sequential operations. Control over this method of asynchronous processing is facilitated by the addition of a HOLD processing statement. The out-of-line program that is to be processed in the asynchronous, multiprogramming mode must be written in the USE FOR RANDOM PROCESSING Section in the Declarations portion of the Procedure Division. The primary function of this programming technique is to allow the overlapping of random accessing time with the processing of other data records. Operating System/360 COBOL F supports various data organizations, record formats, and access methods. The three available types of data organization include the standard sequential, the indexed, and the relative organization. Since the number and type of control fields used to locate logical records within a file differ, depending on the data organization method used, incompatibility between the methods results. Thus, records created in a standard sequential file cannot also be read as an indexed file. The indexed and relative data organizations are, based on symbolic or actual keys, supplied by the programmer, which direct the positioning of direct-access devices in preparation for logical ;record processing. Special forms of the READ and WRITE statements control these sequential and random-access methods of proCeSsing logical data records. A complete list of the clauses and statements that permit random processing of records stored on direct-access devices is © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360 420: 164.140 . 14 Description (Contd.) provided in Paragraph. 143, Extensions to Required COBOL-61. Another useful extension included in Operating System/360 COBOL (both E and F versions) is a program debugging language. Debugging statements can be included anywhere in the source program, or they can be arranged in groups or "packets" according to program section-names referenced and entered for compilation immediately following the source program. A TRACE statment causes specific messages to be written as the object program enters every program paragraph or section. EXHIBIT produces formatted snapshots of any datanames listed in the statement, and (optionally) inhibits the printing of the data-names until the values contained therein are changed. Another control statement that regulates the execution of the debugging entries is ON - a conditional statement that permits the operation of specified diagnostics only when given conditions are satisfied. If the debugging statements are grouped in packets, a DEBUG statement must be used to indicate the beginning of each logical testing operation. The Report Writer facility of Extended COBOL-6i is also included in System/360 COBOL F. This facility is implemented by entries in the Data Division and by three new verbs. Report specifications in the Data Division are contained in the File Description, Report Description, and Report Group Description entries. The latter two entries describe the format of the report page. A report group describes a set of data that is to be considered as an individual unit (i, e., a detail line, a set of constant report headings, or a series of variable control totals). The INITIATE verb initiates the processing of a particular report, the GENERATE verb links the Procedure Division to the Report Writer at object time, and the TERMINATE verb terminates the processing of a report. Additional flexibility in controlling the Report Writer is provided by the ability to enter control parameters by means of the USE BEFORE REPORTING declarative statement of the Procedure Division. Operating System/360 COBOL F also provides the SORT feature of Extended COBOL-61. This facility can be used for two purposes: to sort an intermediate file (intermediate data is created and then sorted into some sequence for further processing); and to process data before it is sorted and to further process it after it has been sorted. The SORT facility is implemented by a Sort Description entry in the Data Division and by three new verbs. The SORT verb controls the sequencing of records, the RELEASE verb transfers records to the initial phase of a sort operation, and the RETURN verb obtains sorted records from the final phase of a sort operation. Corresponding to the flexibility of internal data formats inherent in the System/360 design, the COBOL language permits data to be maintained in storage in five different formats, as specified by the USAGE clause of the record description entry. The five USAGE entries and their corresponding data formats are as follows: DISPLAY ......••• one character per byte • COMPUTATIONAL ..• binary data item. COMPUTATIONAL-1 . short (one-word) floating point. COMPUTATIONAL-2 . long (two-word) floating point. COMPUTATIONAL-3 . packed decimal (2 digits per byte). Noteworthy elective features included within Operating System/360 COBOL F are the Segmentation Feature, the Source Program Library Facility, and the COMPUTE verb. (A complete listing of COBOL-61 electives implemented in Operating System/360 COBOL is provided in Paragraph. 144. ) The Segmentation Feature of Elective COBOL is implemented in a nonstandard way in that the linking mechanism between the main program and called subprograms is not provided automatically by the compiler. Instead, the System/360 programmer must construct and control the program call-in procedures according to his needs. The ENTER statement, used in conjunction with CALL or ENTRY statements, sets up the framework of communication between the COBOL object program and one or more COBOL subprograms or subprograms in other languages. Data-names describing the subprograms to be linked to the main program are listed in the ENTRY statement and defined in the Linkage Section of the Data Division. The RETURN VIA statement enables the restoration of whatever registers were saved at a subprogram entry point, and indicates the point of return in the main program. The Source Program Library facility permits source program entries in the System/360 program library to be included in the COBOL program at compile time. Thus, an installation can utilize standard COBOL file dE;lscriptions, record descriptions, or procedures without having to program them repetitively. These entries and procedures are entered into the source program by means of a COPY clause or an INCLUDE statement. The COMPUTE verb is another valuable elective incorporated into Operating System/360 COBOL F. COMPUTE permits arithmetic operations to be expressed in a concise formula notation similar to that of FORTRAN. For example, the COBOL operations: SUBTRACT B FROM A GIVING T DIVIDE C INTO T GIVING X can alternatively be expressed as: COMPUTE X = (A-B)/C. Operating System/360 COBOL F as announced by IBM provides no direct language facilities to control Teleprocessing operations. However, the Operating System/360's Queued Telecommunication Access Method (QT AM) can be used to obtain messages from and place messages on a message queue by means of specialized GET and PUT macro-instructions. Operating System/360 COBOL E Operating System/360 COBOL E is a proper subset of COBOL F. It is designed at a 13K-byte program (Contd. ) 8/65 420: 164.141 PROCESS ORIENTED LANGUAGE: OPERATING SYSTEM/360 COBOL . 14 Description (Contd.) design level and requires a minimum of 32,768 bytes of core storage in order to perform compilations in conjunction with the Operating System/ 360. A direct-access devicE:! is required for compiler and control program residence, and another direct-access device or four 2400 Series Magnetic Tape Units are required for intermediate storage of compiler results. The Standard Instruction Set with the Decimal Arithmetic feature is also required. Among the features of Operating System/360 COBOL F that are not included in the COBOL E subset are: • Asynchronous Processing, including the USE FOR RANDOM PROCESSING sentence and the HOLD and PROCESS statements. • The Report Writer Feature. • The Sort Feature. • The CORRESPONDING option of the ADD, SUBTRACT, and MOVE statements. • Implied subjects and relations in compound conditions. • Nested IF statements. The following features cif Operating System/360 COBOL F will be available in COBOL E, but in restricted forms: figurations and indicates the several timing factors that must be summed to arrive at a total time for a COBOL compilation performed in conjunction with the Operating System/360. An IBM-supplied timing example shows the estimated time requirements to perform a full COBOL E compilation of a program consisting of 500 source statements on a System/360 sample Configuration A. In this example, it is assumed that the compiled program will be 10,000 bytes long. The estimated time in seconds to perform this COBOL E compilation, reading the source statements from punched cards and writing the compiled program to disc storage, is 308 seconds. · 141 Availability Language: . . . . . . . Compiler COBOL E: . . . . . . . COBOL F: . . . . . . • April and December 1964. December 1965. June 1966. · 142 Deficiencies of Operating System/360 COBOL E and F With Respect to Required COBOL-61 Environment Division: • • • The SOURCE-COMPUTER and OBJECTCOMPUTER paragraphs cannot be copied from the COBOL library. A SPECIAL-NAMES paragraph is not provided. The OPTIONAL, RENAMING, and MULTIPLE REEL options of the FILE-CONTROL paragraph have not been implemented. Data Division: • The DEPENDING ON option of the OCCURS clause. • The Sterling Currency conversion feature. • The EXHIBIT statement in the debugging language. Finally, the following features of Operating System/ 360 COBOL F will eventually be made available in COBOL E, according to IBM, although they will not be available initially. • The Source Program Library facility that permits copying of entire source programs. • Random Processing capability with direct-access devices. (These devices can still be used, but only with sequential processing methods. ) / Among the noteworthy language and compiler features of Operating System/360 COBOL F that are implemented in the smaller COBOL Eversion are the Debugging Language, the Segmentation Feature, a restricted Source Program Library facility, the COMPUTE verb, and the use of five different data formats by means of the USAGE clause. Compilation Times IBM has provided us with estimated COBOL compilation times based on three sample System/360 configurations. Table I describes these sample con- © • • • The recorddescription clauses SIZE, POINT, CLASS, ZERO SUPPRESS, CHECK PROTECT, and FLOAT DOLLAR SIGN are not allowed. The JUSTIFIED LEFT option in the record description section is not permitted. No Constant Section is permitted. · 143 Extensions of Operating System/360 COBOL With Respect to Required COBOL-61. Extensions Included in Both COBOL E and COBOL F • • A COBOL debugging language is provided which includes TRACE, EXHIBIT, ON (conditional control), and DEBUG verbs. Sterling currency conversion requirements can be satisfied by defining sterling nonreport items to be used internally, and sterling report data items to be edited for printing. Facilities will be provided to handle sterling nonreport items in the MOVE, ADD, and SUBTRACT verbs. The use of sterling nonreport items in other arithmeti.c statements is permitted only in COBOL.F. Other provisions for international use of COBOL are interchangeability of commas and decimal points, ability to alter character sets and the currency symbol, and substitution of sentences to allow translation of output messages into any non-English language. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 420: 164.143 .IBM SYSTEM/360 TABLE I: COBOL COMPILATION TIME FACTORS Sample Configurations Configuration Components Configuration A System/360 Model 30 with 32K bytes of core storage, one Multiplexor Channel, one Selector Channel, one 2540 Card Read Punch, one 1403 Printer (Model 3) two 2311 Disk Storage Drives, and the Operating System/a60'S sequential scheduler. lie Configuration B Syatem/360 Model 50 with 65K bytes of core storage, two Selector Channels, two 2311 Disk Storage Drives, and the Operating System/360 I s priority scheduler. Configuration C System/360 Model 65 with 262K bytes of core storage, two Selector Channels, two 2301 Drum Storage Units, four 2311 Disk Storage Drives, and the Operating System/360's concurrent job scheduler. *'" "'* Compilation Time in Seconds Estimated Timing Factors COBOLE, Configuration A For compilation initiation For each compilation For each soUrce card For library initiation For "each library access For each library routine used For each byte of library routine used For each 2, 048-byte control section compiled For each byte compiled 1\1 ** 21.1 30.0 0.45 19.1 2.0 0.75 16.1 13.0 0.054 13.9 1.4 0.37 0.00009 0.00002 0.088 0.00018 0.045 0.0001 Source program input is assumed to be entered through the Card Read Punch, and object program output is assumed to be written on disc stor~ge. Source program input and object program output are assumed to be read from and written to disc storage. A TRANSFORM verb is provided to alter characters according to a set transformation rule. The rule is determined by the combination of FROM and '1'0 options that is chosen. The format for the statement is: • An extended Source Program Library facility provides the option of attaching a complete source COBOL program to the calling COBOL program at compilation time. • The technique of asynchronous processing permits the COBOL programmer to take advantage of direct-access storage devices in the performance of multiprogramming tasks. To implement this technique, . a USE FOR RANDOM PROCESSING sentence and PROCESS and HOLD verbs have been developed. • Clauses and statements are provided to handle random processing of data stored on directaccess devices. These include: the ORGANIZATION, ACCESS, SYMBOLIC KEY, ACTUAL KEY, and ASSIGN to DffiECT-ACCESS clauses; the RESTRICTED SEARCH OF integer TRACKS option of the APPLY clause; the REWRITE statement; the 1-0 option of the OPEN statement; and the INVALID KEY option of the READ and WRITE verbs. • The Report Writing facility is implemented, although with some restrictions. The following clauses are not allowed in the Report Group Description entries: CLASS, POINT, SIGNED, SIZE, USAGE, ZERO SUPPRESS, CHECK, FLOAT SIGN, and the SELECTED option of the SOURCE clause. A PRINT-SWITCH option can inhibit printing of ·specified report groups. • The SORT facility is also implemented in a slightly restricted manner. In the Sort Description (SD) entry, the FILE CONTAINS optional clause is omitted. Also not included are the FROM option of the RELEASE verb and the INTO option of the RETURN verb. TRANSFORM data .... name-3 CHARACTERS TO figurative-constant-1 non-numeric-literal-1 data-name-1 { { figurative-constant-2 non-numeric-literal-2 data-name-2 } } • Floating-pOint literals and items (external and internal) are permitted. • A NO REWIND option is available with the OPEN verb. Extensions Included in COBOL F Only: • 3.92 7.0 0.013 4.01 0.32 0.088 0.046 0.00084 • The Source Program Library facility is included to permit the automatic inclusion of catalogued COBOL file descriptions, record descriptions, and procedure statements into the source program at compilation time. FROM COBOLF, Configuration C 0.0004 • 143 Extensions of Operating System/360 COBOL With Respect to Required COBOL-61 (Contd.) • COBOL F, Configuration !l The ADD, SUBTRACT, and MOVE verbs have a CORRESPONDING option that permits selective operation on matching data items only. (Contd. ) 8/65 420: 164.144 PROCESS ORIENTED LANGUAGE: OPERATING SYSTEM/360 COBOL .144 COBOL-61 Electives Implemented in Ope'ratihg System/360 COBOL (see 4: 161. 3) Note: the Elective features that are available only with Operating System/360 COBOL F are marked with an asterisk. 1 2 3 6 Semicolon Relationship characters Figurative constants File Description Label formats 13 Record Description Table length Label handling 22 24 Verbs COMPUTE ENTER 25 INCLUDE 26 USE 27 28 29 30 31 32 33 35 36 \, Characters and Words Formula characters 10 21 Comments Elective Key No. Verb Options LOCK MOVE CORRESPONDING* OPEN REVERSED ADVANCING STOP execution Formulas Operand size Tests Implied Conditionals* 37 38 Compound conditionals Complex conditionals* 39 Conditional statements I sequence* 43 46 Environment Division FILE-CONTROL I-O-CONTROL 47 Identification Division Date-compiled 48 49 Special Features Library Segmentation +, -, *, I, **, =. can be used for punctuation. =, >, and < are available. HIGH-VALUE(S), LOW-VALUE(S). NONSTANDARD labels are permitted. the "DEPENDING ON" option is provided so that lengths of tables and arrays can vary. labels may be omitted, or standard or nonstandard labels can be used. permits algebraic formulas. used for linkage to subroutines (not to· enter a new language). library routines can be called (no REPLACING option). non- standard I/o error and label handling routines can be used. rewound tapes can be locked. items can be moved in groups. tapes can be read backward. paper advance can be specified. coded message is printed. algebraic formulas can be used. up to 18 digits. IF { } IS NOT ZERO form ·is provided. implied operators with implied subjects are permitted. ANDs and ORs can be intermixed. conditional statements within conditional statements are permitted. !NVALID KEY can follow imperative statements. library descriptions can be copied. SAME and APPLY clauses can be used. current date can be printed when program is compiled. library routines can be called. implemented in nonstandard manner. * COBOL F version only. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 420: 164.145 IBM SYSTEM/360 .145 COBOL-61 Electives Not Implemented (see 4: 161.3) Key No. 4 5 Characters and Words Long literals Figurative constants Comments 7 Computer-name literals may not exceed 120 characters. HIGH-BOUND(S), LOW-BOUND(S) not available. no alternative computer names. 8 9 12 File Description BLOCK size FILE CONTAINS SEQUENCED ON HASHED no range in block size permitted. approximate file size cannot be shown. no list of keys can be given. hash totals cannot be created. 14 Record Description Item length 11 8/65 Elective 15 16 17 BITS option RANGE IS RENAMES 18 19 20 SIGN IS SIZE clause option Conditional range 23 Verbs DEFINE 34 Verb Options Relationships 40 41 42 44 45 Environment Division SOURCE-COMPUTER OBJECT-COMPUTER SPECIAL-NAMES PRIORITY IS 1..,0 CONTROL variable item lengths cannot be specified in a PICTURE. items cannot be specified in binary. value ranges of items cannot be shown. alternate groupings of elementary items cannot be specified. no separate signs allowed. variable length items cannot be specified. a conditional value cannot be a range. new verbs cannot be defined. IS UNEQUAL TO, EQUALS, and EXCEEDS are not provided. only "computer name" is allowed. only "computer name" is allowed. no special-names paragraph is permitted. priorities cannot be assigned to files. library descriptions cannot be used. 420: 165. 100 IBM System/360 Process Oriented Language BOS COBOL PROCESS ORIENTED LANGUAGE: BASIC OPERATING SYSTEM/360 COBOL •1 GENERAL .11 Identity:......... Basic Operating System/360 COBOL. .12 Origin:.......... IBM Corporation. • 13 Reference:....... IBM Publication C24-3433-0. • 14 Description A single COBOL language and compiler is offered by IBM for use with either the tape-resident or discresident Basic Operating System/360 in a minimum environment of 16,384 bytes of core storage. According to preliminary announcements, Basic Operating System/360 (BOS) COBOL will include aU but six of the facilities prescribed for implementation in Required COBOL-61. Many useful extended and elective features will also be provided to permit effective utilization of the hardware characteristics of the System/360. BOS COBOL has been designed at a 10K-byte program design level, to enable it to operate with 16K System/360 Processing Units in conjunction with the Basic Operating System's control programs. Included in this basic program design are all of the language facilities of Operating System/360 COBOL E. Statements related to the random processing of records stored on direct-access devices will also be supplied with BaS COBOL. For a complete description of the restrictions, extensions, and electives of BOS COBOL - relative to Required COBOL-61 and to Operating System/360 COBOL F-report Section 420:164 should be consulted. Since BOS COBOL and Operating System/360 COBOL E provide very similar language facilities, whatever is applicable to the COBOL E language, in Section 420:164 can also be considered as applicable to BOS COBOL. The random processing statements are standard features of Operating System/360 COBOL E, so they are described in Section 420:164 of this report • These statements permit use of the direct-access and indexed sequential file organization methods and the direct-access method of random record retrieval. If these optionally available COBOL statements are not selected, direct-access devices can still be used for input-output operations in the sequential record access method • The minimum equipment configuration required to operate the 10K-level BOS COBOL compiler includes: a System/360 Processing Unit with at least 16,384 bytes of core storage and the Standard Instruction Set with the Decimal Arithmetic feature; one 2400 Series Magnetic Tape Unit or 2311 Disk Storage Drive for Basic Operating System/360 program residence; three additional 2400 Series Magnetic Tape Units or one 2311 Disk Storage Drive for intermediate storage of compiler results; and any standard-model card reader, printer, and punch unit. A list of the input-output devices supported by the BOS COBOL compiler includes the following: 2501 Card Reader; 1442, 2520, and 2540 Card Read Punches; 1403, 1404, 1443, and 1445 Printers; 2400 Series Magnetic Tape Units; 2311 Disk Storage Drive; 2321 Data Cell Drive; 1052 Printer-Keyboard; and 1015 Inquiry Display Terminal IBM has released no performance estimates to date relative to the compilation speed or object program efficiency of the Basic Operating System/360 COBOL compiler. However, IBM expects the performance of BOS COBOL to be similar to that of Operating System/360 COBOL E, as described in Section 420:164. • 141 Availability Language specifications: . . . . . September, 1965. Compiler: . . . . . . . . . 4th quarter 1965; direct access statements by 2nd quarter 1966. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 420:167.100 IBM System/360 Process Oriented Language Operating System/360 PL/I PROCESS ORIENTED LANGUAGE: OPERATING SYSTEM/360 PLiI .1 GENERAL .11 Identity: .12 Origin: .13 Reference: . . . . . . . . IBM Publication C28-6571, published May, 1965. .14 Description . . . . . . . . . Programming Language/I. PL/I. (Formerly NPL or New Programming Language). . . . • . . . . . . IBM Corporation and the SHARE NPL committee. The PL/I language is a new high-level programming language, developed jointly by IBM and the SHARE organization, for use in both commercial and scientific applications. It includes facilities that are more powerful and extensive than those of any other presently-announced computer compilation language. These facilities include: o Program check-out operations. " Handling of self-identifying input and output files. " Random-access file facilities, with a choice of a number of access methods. " Dynamic storage allocation facilities. Q Asynchronous operation facilities, enabling different parts of a program to run in parallel with each other. o Program modification ability, allowing parameters and other changes to be inserted into a skeleton text immediately before compilation. . In addition, PL/I includes a number of more con- ventional functional facilities, such as sorting, report-writing, data conversion, and communications facilities, as well as the conventional proces s ing statem ents . \ An important part of PL/I's design has been concerned with the development of useful subsets that can be selected from the full language. These subsets will be less complex than the full language and can be learned and used by programmers who have no immediate use for the complete range of language facilities. This subset feature should be particularly useful in training programmers for business applications, where PL/I's extensive scientific facilities will be of little or no value and could easily cause confusion. This report covers the PL/I language, as defined by IBM, rather than any subset or specialized implementation. IBM has cautioned that not all of the language features will be available in the initial versions of the compilers, but no other specifications have been announced regarding the specific restrictions that will apply to various PL/I implementations. Paragraph .15 of this report presents preliminary information and performance figures for the Operating System/360 PL/I compilers. Because the PL/I language introduces several new concepts and language features, and because many of the terms used in describing it may be unfamiliar to the reader, this report is unusually lengthy and comprehensive. The language facilities offered in PL/I are described on the following pages in a manner consistent with the coverage of other Process Oriented Languages in these reports. Section 4:160 of the Users' Guide can be consulted for explanations of the various paragraph headings. The last portion of this report is an Appendix, or general reference section, that provides a list of key terms used in describing the PL/I language (Table VI); a comparison of the principal features of PL/I, FORTRAN, and COBOL (Table X); and other useful information. In its outward appearance, a PL/I source program will probably resemble a FORTRAN program more than a COBOL program, although many coding conventions of both compilers have been incorporated. However, unlike COBOL, the PL/I program is not broken into separate elemental divisions. Instead, file descriptions and data characteristics can be defined within the body of the program. PL/I offers a wide variety of data formats and many types of operands and expressions. For example, the operational repertoire provides for the use of fixed-point and floating-point operands, coded in either binary or decimal form. Both real and complex numbers can be represented, although complex numbers must be written as expressions consisting of a real part and an imaginary part, rather than as single items; e. g., 2.1 + 3.71. In addition, constants can be entered in the form of character-strings or bit-strings of binary digits. Mixed-mode operations make feasible the use of PL/I's variety of data formats and operand types. For example, fixed-point decimal fields can be added to floating-point binary fields in order to obtain an integer value. PL/I automatically provides the necessary mode and radix conversions during the evaluation of the expressions. PL/I follows a number of specified rules in establishing the size and characteristics of the intermediate results during an evaluation of mixed-mode expressions and statements. Because these evaluation rules assume worst-case situations, unnecessary time-consuming computations may well © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 9/65 IBM SYSTEM/360 420: 167.140 . 14 become known. Some preliminary information on the Operating System/360 PL/I compilers is presented in the following paragraphs. Description (Contd.) result. Table IX contains a sampling of the manner in which PL/I treats intermediate results when evaluating expressions. .15 .The operators provided in PL/I include the standard arithmetic and comparison operations, as well as the AND, NOT, and inclusive OR logical operations. PL/I also provides the concatenation operator (" ) to assist in handling character-strings and bit-strings of data. An example of the concatenation (stringingtogether) operation is the following: 3 + 4 II 5 equals 75. PL/I's operational repertoire includes more than 70 built-in functions. Several of these functions, such as ADD, SUBTRACT, etc., appear to have been provided in imitation of COBOL operations. Most of the functions, however, add new, mainly scientific facilities to the language. An interesting feature of some of the built-in functions is the capability to select the amount of precision desired in function evaluation. The PL/I language, as described by IBM, appears to offer many valuable and convenient programming facilities. It will not be possible to assess PL/I's true value until the various PL/I compilers become available and their operational characteristics Operating System/360 PL/I Compilers Two compilers have been announced by IBM for compilation of PL/I programs in conjunction with the Operating System/360. The PL/I F Level compiler operates in a minimum environment of 65K bytes of core storage, and the PL/I H Level compiler requires at least 262K bytes of core storage. Both compilers will be capable of handling the full PL/I language, but IBM indicates that the implementation of some of the language features will be "deferred" in the initial version of the compilers. Full upward and downward compatibility exists between these compilers, and a source program compiled by each version should produce identical results when executed, except for operations that are time-dependent, such as asynchronous processing and interrupt-controlled features of PL/L IBM expects to deliver the F level PL/I compiler in March, 1966, and the H Level PL/t compiler in September, 1966. IBM has provided us with estimated· PL/I compilation times based on three sample configurations. Table I describes the sample configurations and indicates the timing factors that must be summed to arrive TABLE I: OPERATING SYSTEM/360 PL/I COMPILATION TIME FACTORS Configuration Components Sample Configurations Configuration A System/360 Model 30 with 65K bytes of core storage, one Multiplexor Channel, one Selector Channel, one 2520 Card Read Punch, one 1403 Printer (Model 3), two 2311 Disk Storage Drives, and the Operating System/360's sequential scheduler. * Configuration B System/360 Model 50 with 65K bytes of core storage, two Selector Channels, two 2311 Disk Storage Drives, and the Operating System/360's sequential scheduler. ** Configuration C System/360 Model 65 with 262K bytes of core storage, two Selector Channels, two 2301 Drum Storage units, four 2311 Disk Storage Drives, and the Operating System/360's sequential scheduler. ** Time in Seconds Configuration A Configuration B Configuration C Estimated Timing Factors Commer- Scien- Commer- Scien- Commer- Sciencial tific cia! tific cial tific System overhead for each independent subprogram (maximum size of 2,048 bytes) For each input source card 9/65 16.4 0.47 17.1 0.68 12.3 0.09 13.0 3.1 3.2 0.14 0.026 * Source program input is assumed to be entered through the Card Read Punch, and object program instructions and listing are assumed to be written in disc storage. ** Source program input and object program output are assumed to be read from and written in disc storage. 0.041 420:167.150 PROCESS ORIENTED LANGUAGE: OPERATING SYSTEM/360 PL/I .15 Operating System/360 PL/I Compilers (Contd.) • Built-in Functions: specific functions (which may or may not be generic) that are provided in the PL/I compiler. Built-in functions can return both scalar and array values to the program statement, whereas programmer-defined functions can return only a single scalar value. • Subroutine Procedure: a procedure block designed to be entered and executed by means of a special CALL statement. Unlike function procedures, a subroutine procedure is not restricted to returning an explicitly-specified value to the program statement. at a total time for a PL/I compilation that is performed in conjunction with the Operating System/360. These estimates are based upon the compilation of two types of source programs: typical commercial programs and typical programs for scientific applications. The assumption is made that there is an average of two cards per executable statement in the commercial source programs and one card per executable statement in the scientific programs. In both cases it is assumed that the number of cards in the source program is not greater than 200 for System/360 sample configurations A and B, and not greater than 800 for configuration C. .2 PROGRAM STRUCTURE . 21 Divisions • Do Group: a collection of statements used to control program looping . • Statement: the basic element of the program's procedures. Examples of various kinds of PL/I statements follow . DO I = J TO 10; A = B + C; IF A = B THEN GO TO S1; ELSE A = C; ON OVERFLOW GO TO OVFIX; PROCEDURE (X, Y, X); SBPRIM: Z = A**2-A*B+B**2;. PL/I programs are not broken down into different types of specification divisions. The characteristics of the files and data can be specified at any point in the program. No program identity is established until execution time, so there is no need for an Identification Division, as in COBOL. Target computer descriptions are not provided in the language. .22 . 23 Procedure Entities All statements of a P L/I program are organized into program sections called "blocks. n Program blocks define the scope of data variables and statement names. They also make possible the dynamic allocation and release of the core storage required for data variables within each block. The procedural entities used in the PL/I language are listed below. • A list of the types of statements in the PL/I language and their functions is shown in Table II . Block: a collection of statements that define a program region. Blocks that are nested in other blocks are called "internal" blocks, in contrast to the non-nested "external" blocks. • Begin Block: a block that can be executed wherever it stands in the written program. • Procedure Block: a block that can be entered only through programmed jumps. • Function Procedure: a procedure block designed to be entered and executed as part of the execution of a program statement. Function procedures use the arguments specified in the function reference in order to return a result to a referring statement. • Generic Function: a family of function procedures with a single name. Reference to a generic function causes the selection of a certain member of the function family. The member selected and the characteristics of the value returned are determined by the attributes of the programmersupplied arguments. . © Data Entities The data entities used in the PL/I language are listed below. • Structure: a collection of scalar variables, arrays, and other structures, arranged by level numbers in a manner very similar to that of COBOL's Data Division. The outermost or major structure must have a level 1 description; the inner or minor structures must always have a level number numerically greater than the structure in which they are contained. • Array: an n-dimensional, ordered collection of elements, all of which must have an identical data description. The elements of an array can be non-numeric; they can also consist of structures. • Cross Section of an Array: a grouping of all those elements of an array that fit some general description. Thus, the cross section of a 3 x 3 array A(i, j, k), written as A(*, 1, 1), would consist of all elements of A where j equals k equals 1; i.e., A(1,1,1), A(2,1,1), and A(3, 1, 1). • Constant: Any data item whose representation is both its name and its value. Real arithmetic constants are allowed in either fixed-point or floating-point mode, and can be coded in binary or decimal format. A pure binary constant consists of a string of ones and zeros, and is referred to as a bit-string constant. other forms of constants include character-strings, . sterling currency figures, and imaginary arithmetic constants (i. e., complex numbers whose real part is zero). 1965 AUERBACH Corporation and AUERBACH Info, Inc. 9/65 420:167.151 IBM SYSTEM/360 TABLE IT: STATEMENTS USED IN THE PL/I LANGUAGE STATEMENT EFFECT STATEMENT EFFECT ALLOCATE Causes storage to be allocated for specifically controlled data. FREE Releases storage that was reserved by the ALLOCATE statement. Assignment (written as = sign) Evaluates expressions and assigns values to scalars, arrays, and structures. GET Brings data from the current file and automatically provides any necessary editing. BEGIN Functions as the heading statement of a begin block. GO TO Causes control to be transferred to a specified statement. Invokes a procedure and causes control to be transferred to a specified entry point in the procedure. GROUP Releases facilities that were allocated during the opening of a file, and causes proper disposition of the file. Releases a group of records from a program, and (optionally) skips to another specified group of records. IF Causes control to be transferred conditionally according to the value of an expression. Provides the attributes for simple names. IMPLICIT Causes execution of the controlling task to be suspended for a given number of milliseconds. Associates a particular set of attributes with the initial letter of the data name. LAYOUT Releases the facilities allocated to a specific program which was previously FETCHed and is now no longer needed. Specifies the horizontal layout of data on input and output. Null Statement (written as a semicolon) Causes no program action. CALL CLOSE DECLARE DELAY DELETE DISPLAY Causes messages to be displayed to the machine operator. ON Specifies what action is to be taken when an interrupt occurs. DO Provides controlled looping facilities. OPEN Obtains and prepares files for subsequent use. END Terminates groups and blocks of program statements. PAGE Specifies the pagination of files. POSITION ENTRY Specifies a secondary entry point to a subroutine. Indicates a variable position within a file. PROCEDURE EXIT Ends the execution of a task and, consequently, of any attached tasks. Functions as the head of a procedure, provides its major entry point, and specifies the parameters needed within the procedure. FETCH Brings a program from the program library into central memory and makes it available as a procedure through use of a CALL statement. PUT Inserts data into the current file, and automatically provides any desired data editing. READ Causes data to be transmitted from an external medium to internal storage. FORMAT Specifies a format list for use with data transmitted under format direction. (Contd.) 9/65 420:167.230 PROCESS ORIENTED LANGUAGE: OPERATING SYSTEM/360 PL/I TABLE II. STATEMENTS USED IN.THE PL/I LANGUAGE (Contd.) STATEMENT EFFECT STATEMENT EFFECT REPOSITION Moves back the position of the pointer by one data field; normally used when an error has occurred. SIGNAL Simulates the occurrence of an interrupt condition. SKIP Causes a specified number of records or lines to be skipped. SORT Specifies that the records on a particular file are to be sorted. SPACE Causes a specified number of records or lines to be spaced between each explicitly specified record or line. STOP Causes the immediate termination of a program. WRITE Causes data to be transmitted from internal storage to an external storage medium. RESTORE RETURN REVERT .23 .24 Causes data previously saved in auxiliary storage to be returned to internal storage. Ends the execution of a procedure, and returns control to the invoking procedure. Nullifies the specified treatment of an interrupt procedure within the same program block. SAVE Places data in auxiliary storage for possible later return to main storage. SEGMENT Defines positioning within a segmented file. Data Entities (Contd.) • 25 o Variable: any named data item whose value may or may not change during the execution of the program. Variables can consist of the same data types as constants: real arithmetic, bitstring, character-string, imaginary, and. sterling. · 251 Qualified names Names . 241 Simple names A simple name is an identifier of a file, statement, structure, entry, array, etc. Simple names must start with an alphabetic character and can include up to 31 characters. Blanks can be included within a name provided that two blank characters are not placed next to each other. . 242 DeSignators , \ '- PL/I uses very few signals or codes to designate the characteristics of entities in the source language. Most frequently, specific declarations of the attributes of each entity are used; these declarations are supplemented by default assump'" tions in the compiler. The designators used by PL/I include the following: o /* ........ */ indicates a comment. " Names starting with I, J, K, L, M, or N are assumed to refer to fixed-point real binary values unless otherwise defined. Structure of Data Names A qualified name is a compound name, with its components separated by periods, that is used to avoid ambiguities in cases where a particular simple name may be used within two or more different structures. Any name of a variable, array, or structure can be qualified by preceding the name of the item with the names of one or more of the containing structures. The structure names must be sequenced from left to right in order of increasing level numbers. The sequence of names does not need to include all of the containing structures, but it must include sufficient qualification to resolve all potential ambiguities. .252 Subscripted names A subscripted name is the name of an array followed by a list of subscripts. The subscripts are separated by commas and enclosed in parentheses, and the number of subscripts must equal the number of dimensions of the array. By means of subscripted names, the elements of any array can be individually referenced. · 253 Subscripted qualified names A subscripted qualified name is a sequence of simple and subscripted names separated by periods and used to identify potentially ambiguous elements of an array. • 254 Synonyms \ " Names starting with any other letter are assumed to refer to floating-point real binary values unless otherwise defined. Two or more labels can be assigned to a statement and used interchangeably. Through the use of the © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 9/65 IBM SYSTEM/360 420: 167.254 .254 Synonyms (Contd.) • DEFINE attribute, named data can be assigned to occupy the same storage area already assigned to another named data item. Thus the DEFINEd data can be referred to by either of the two data names. .26 Number of names • The IMPLICIT statement provides that any name beginning with a specified alphabetic letter or letter range shall have certain attributes, such as: IMPLICIT C BINARY COMPLEX;. This statement provides that all variableswhosenames start with C should be considered as binarycoded complex numbers . Any limitation on the number of names available in a specific PL/I implementation will be a characteristic of the implementation rather than of the language. . 27 Region of Meaning of Names Data items can be assigned hierarchical levels, permitting the programmer to refer to groups of the fields with a single name. The level numbers are written immediately before the name of the data items concerned, such as: DECLARE 1 CARDIN, 2 NAME, 2 WAGES, 3 NORMAL, 3 OVERTIME;. This statement declares that the data record CARDIN consists of the variables NAME and WAGES, and that the variable WAGES itself consists of the variables NORMAL and OVERTIME. .271 Universal names The only universal names are those identifying the built-in functions and the file names. • 272 Local names Most names used in PL/I are local names. Names of items are declared (either explicitly or implicitly) for use within a specific program block. The name will be reserved for the specific item throughout the block, and throughout any program blocks that are nested within the original block. However, should a further explicit declaration of an identical name be made in a nested program block, then this second declaration supplants the original meaning of the name within the program block where the second declaration was made and within any program blocks nested within that block. The area of the source program within which a name refers to the same specific entity is called the "scope" of the name. The PICTURE attribute of the DECLARE statement defines the internal and external formats of numeric or character-string data, and specifies the editing of data, such as: C PICTURE 'XAA. AA' . The item named C is here described as a six-position field of characters (X), letters (A's), and a decimal point. . 32 Files and Reels Data files are described in the PL/I language by ascribing attributes to them in DECLARE statements. The MEDIUM and~SAGE attributes specify device-dependent information for selected input-output files. The precise specifications of these attributes will be defined in individual P L/I implementations. Other file attributes include: • STANDIN or STANDOUT: defines a file as being the System Standard Input file or the System Standard Output file . . 273 Non-local names Any name that is used in two independent program blocks is assumed to refer to two different items unless the name is made non-local by an explicit "External" declaration. Names that are desired to be non-local must be declared to be External in every block from which they may be referenced. All file names are considered to be External names. Any other names are considered to be Internal- --(local to the program block in which they are declared and any nested program blocks) unless specifically declared to be External. •3 DATA DESCRIPTION FACILITIES .31 Methods of Direct Data Description Data is described in the P L/I language by directly ascribing "attributes" (specific characteristics) to each data item. These attributes can be specified in three ways: • The DECLARE statement specifies attributes of simple names, such as: DECLARE A FLOAT (3), B REAL (10) FLOAT. Two floating point variables named A and B are defined as requiring 3 and 10 digits of precision, respectively. B is further defined as !t real arithmetic variable. • BLOCK: defines the file's blocking factor, the maximum length of the block, and whether the records are of fixed or variable length. • DISCARD or KEEP: defines the final disposition of a file. • POOL: specifies that the same buffer areas can be used for two input-output files. The CONSECUTIVE, REGIONAL, INDEXED, and COMMUNICATIONS attributes define the organization of the data records within a file and the manner in which these records are located . REGIONAL indicates that the file is located within speCified direct-access-device cylinders; INDEXED specifies that an ordered index is used to locate records within a file; and COMMUNICATIONS specifies that records are obtained from the file in a sequence determined by a queue. The SEQUENTIAL and DIRECT attributes specify the manner in which records within a file are accessed. Only REGIONAL or INDEXED files can be accessed in DIRECT fashion. Standard file and reel labels can be checked through use of the !DENT option of the OPEN statement. (Contd.) 9/65 PROCESS ORIENTED LANGUAGE: OPERATING SYSTEM/360 PL/I . 33 Records and Blocks .4 OPERATION REPERTOIRE PL/I allows the records in a file to be of fixed or variable length, and to be arranged in groups of physical blocks and segments as designated by the programmer. (A segment is a group of records divided by an arbitrarily assigned segment symbol.) The language places no limits on block sizes, although individual compiler implementations may be more restrictive. .41 Formulae Used for Numeric Computations and Comparisons No facilities are included in the PL/I language for controlling the input-output error recovery methods, so the standard routines included in the Operating System/360 will probably be utilized. . 34 Data Items The classes of data items are designated explicitly by DECLARE and IMPLICIT statements within the program. Should these designations be incomplete, "default" assumptions or interpretations are made by the compiler based on the context. (Every attribute of a variable and every optional language specification in PL/I has a predefined default interpretation.) The various classes of data items permitted in the language are listed below: Integer: . . . . . . . only as a sub-class of fixedpoint. Fixed-point: . . . . either in binary or decimal coding. Floating-point: ... either in binary or decimal coding. Alphabetic: . . . . . either as a constant or in a character string. Alphameric: .... either as a constant or in a character string. Binary: . . . . . . . . either as a constant or in a binary string. Imaginary: . . . . . represents a complex value whose real part is assumed to be zero. . 35 .411 Operator list + •••••••••••••• addition. - . . . . . • • • . • . . • . subtraction. * .............. multiplication. / . • . • . . . . . . • • . . division. ** .............. exponentiation. 1 . . . . • • . . . • . . . . NOT (used for bit-strings). & .••••••••••••• AND (used for bit-strings). I .............. OR (used for bit-strings). < •..•.•..••.... compare for "less than" condition . <= •......•.... ; . compare for "less than or equal to" condition. = .............. compare for "equal to" condition. 1= . . . . . • . • . . . • . . compare for "not equal" condition. >= .••••••••••••• compare for "greater than or equal to" condition. > . • • . . • . . . . . • • . compare for "greater than" condition. II .............. concatenate into a single bit-string. . . . . . . . . . . . . . . replace by. .412 Operands allowed PL/I allows programmers to use operands that have different arithmetic modes and different code representations within the same expression. These operands can consist of literals, arrays, and structures. Fixed-point and floating-point numbers, real and complex numbers, binary and decimal-coded operands can be mixed as desired. The necessary conversions will be inserted into the object coding both before the expression is evaluated and after evaluation, just prior to storing the result . Data Values The PL/llanguage places no limit upon the values of the various data items. Specific PL/I implementations and subsets may be more restrictive. .36 420: 167.330 Special Description Facilities Several facilities are provided in the PL/I language to permit data to be described in unusual ways. Among these facilities are the following data attributes: • LIKE: specifies that the name being described is to have the same data structure as another named item. • DEFINED: specifies that a name data item is to occupy the same storage area as that already assigned to another data item. The DEFINED data can then be referred to by either of two equated names. All data tables are expliCitly DECLAREd to be arrays, whether or not the elements of the array are numeric items. Thus the array manipulation features of the PL/I language can be utilized with any type of tabular information. © Various combinations of arrays and structures can be included within an expression. When only one of the operands of an expression is an array or a structure and the other part is a single value, the expression is evaluated for each element of the array or value. For example, the expression 3 + A, where A is the two-dimensional array 568 3 4 7, is evaluated by adding 3 to each element of A, yielding another two-dimensional array: 8 9 11 6 7 10. When both operands of an expression are arrays or structures, they must have identical descriptions in order for the expression to have meaning. In this case, the corresponding elements of each operand are used to evaluate the expression. For example: A + B, where both A and B are structures of one floating-point number followed by three fixed-point numbers, will result in another structure of the same description, each element of which will be the sum of the corresponding elements of the original structures. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 9/65 IBM SYSTEM/360 420:167.413 .413 Statement structures .422 Logical operations PL/I language statements can include expressions that involve any combination of operators. For instance, the expression (A - B**3)/(C*DIIE) is a valid statement although it includes concatenation as well as conventional arithmetic operators. The extent to which operators can be mixed within an expression appears to be governed simply by the ability of the expression to produce a meaningful result, rather than by any arbitrary rules of the language. In evaluating an expression, the operations are performed by the compiler in a strict sequence that depends upon the priority levels of the operators (see Table TIl below) and their positions in the expression. When an expression includes more than one operator at a particular level, the operations are performed from left to right, just as the expression is written, except in the case of the top priority level, where the scan proceeds from right to left. The bullt-in functions provide for AND and INCLUSIVE OR operations on all the elements of an array, yielding a bit-string as long as the longest element in the array. No standard facilities are included for EXCLUSIVE OR and NOT operations on arrays. .423 Scanning The built-in function SCAN produces a new array with one dimension less than the original array. The function value of the SCANned array is determined by a decimal integer and operator parameters. Provision is made for the use of any given operator during the creation of the new array from the elements of the original array. .424 other array operations Arrays form an integral part of the data structure used by PL/I, and a large number of array operations are provided. These include built-in functions for locating the current higher bound, the current lowerbound, and the current extent of a given dimension of an array. TABLE III: PRIORITY LEVELS OF OPERATORS IN THE PL/I LANGUAGE LEVEL OPERATORS Levell ** , prefix +, prefix - Level 2 *, / Level 3 infix Level 4 >=, >,1 =, =, <, <= TABLE IV: LIST OF BUILT-IN FUNCTIONS Level 5 1 FUNCTION NAME Level 6 & Level 7 I GENERIC ARITHMETIC FUNCTIONS Level 8 II ABS (s) Absolute value of x. MAX (x, y ..• ) Value of maximum argument. MIN (x, y ... ) Value of minimum argument. MOD (x, y) x-FLOOR (xiy)*y (see "FLOOR" below). SIGN (x) 1 if x> 0, 0 if x -1 if x < O. FIXED (x, y, z) x converted to a y-digit fixed-point value with z positions following the decimal or binary point. FLOAT (x, y) x converted to a floatingpoint value with y digits precision. FLOOR (x) Largest integer not exceeding x. +, infix - .414 Results representation The results of an operation can legitimately be -.:'epresented in more than one manner, such as rounded or truncated. PL/I permits the programmer to assign specific attributes to final results through the attributes of defined variables. However, when the PL/I compiler evaluates mixed-mode expressions, it represents all intermediate results according to a specific set of rules. These rules, illustrated in Table IX of this report, will be of considerable importance to anyone making use of mixed-mode expressions. .42 .43 Other Computation Numerous built-in functions are provided in the PL/I language. These functions normally allow their operands to be either constants, variables, arrays, or structures. Table IV lists the various built-in functions provided in the PL/I language. Operations on Arrays .421 Matrix operations PL/I's built-in functions provide for the addition, subtraction, and multiplication of matrices. No standard facilities are included for inversion, normalization, eigen roots or eigen vectors, correlation or probability moments. FUNCTION VALUE = 0, and (Contd.) 9/65 420: 167.430 PROCESS ORIENTED LANGUAGE: OPERATING SYSTEM/360 PL/I TABLE IV: LIST OF BUILT-IN FUNCTIONS (Contd.) F UNCTION NAME FUNCTION VALUE FUNCTION NAME FUNCTION VALUE CEIL (x) Smallest integer not exceeded by x. COSH (x) Cosh (x). SINH (x) Sinh (x). TRUNC (x) FLOOR (x), if x ~ 0; otherwise CEIL (x), if x < O. ATANH (x) Arctanh (x). ATAN (x, y) Arctan (x/y). BINARY (x, y, z) x converted to binary base; y and z specify the precision of the result. DECIMAL (x, y, z) x converted to decimal base; y and z specify the precision of the result. PRECISION (x, y, z) x converted to precision specified by y and z. ADD (w, x, y, z) wadded to x; y and z specify the precision of the result. STRING GENERIC FUNCTIONS BIT (x, y) x converted to a bit string of size y. CHAR (x, y) x converted to a character string of size y. SUBSTR (x, y, z) Substring of string x, starting at position y with length of z. INDEX (x, y) Decimal integer specifying the index of the initial position of string y as a substring contained in string x. HIGH (x) Character string of length x, composed of the highest characters of the data character set. LOW (x) Character string length x, composed of the lowest characters of the data character set. REPEA T (x, y) String x repeated y times. UNSPEC (x) Internally coded representation of x. LENGTH (x) Decimal integer with length of x. MULTIPLY (w, x, y, z) w multiplied by x; y and z specify the precision of the result. DIVIDE (w, x, y, z) w divided by x; y and z specify the precision of the result. COMPLEX (x, y) Complex number with x as the real part and y as the imaginary part. REAL (x) Real part of complex number x. IMAG (x) Imaginary part of complex number x. CONJG (x) Conjugate of x. EXP (x) Exp (x). LOG (x) Log (x). LOGlO (x) Log10 (x). LOG 2 (x) Log 2 (x). ARRAY FUNCTIONS *ATAN (x) Arctan (x). SUM (X) The sum of all the elements of X. *TAN (x) Tan (x). PROD (X) *SIN (x) Sin (x). The product of all the elements of X. *COS (x) Cos (x). ALL (X) TANH (x) Tanh (x). A bit string of the maximum length of any element of X, with a 1 wherever all the elements of X are 1. ERF (x) (2/,/ir) ./fX) ANY (X) SQRT (x) ERFC (x) 1 - ERF (x). A hit string of the maximum length of any element of X, with a 1 wherever any of the elements of X are 1. o fX EXP (_t 2) dt. (always positive). (Contd.) © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 9/65 420: 167.440 IBM SYSTEM/360 TABLE IV: LIST OF BUILT-IN FUNCTIONS (Contd.) FUNCTION NAME FUNCTION VALUE FUNCTION NAME POLY (X, Y) X (M:N) and Y (P:Q) are vectors; the result is: OTHER BUILT-IN FUNCTIONS N-M 2: N-M (X(M+J) * II Y (p+I)). J=O I=J LBOUND (X, S) Current lower bound of the Sth dimension of X. 'HBOUND (X, S) Current higher bound of the 8th dimension of X. DIM (X, S) Current extent of the Sth dimension of X. SCAN (A, I, operator) ,Specialized function; see text, Paragraph. 423. CONDITION BUILT-IN FUNCTIONS ONPOINT I/O buffer pointer position when interrupt occurred. ONLOC Procedure name in which interrupt occurred. ONFIELD Contents of field being processed when I/O interrupt occurred. ONCHAR Character which caused an I/O conversion error. ONCODE Code character identifying type of error causing interrupt. * • 44 FUNCTION VALUE DATE Date, in form YYMMDD, using year (y), month (M), and day (D). TIME Time, in form HHMMSSTTT, using hours (H), minutes (M), seconds (S), and milliseconds (T). A LLOCA TION (X) "I" if storage has been allocated for major structure X; otherwise "0 . " POINT (Filename) Position within current logical record. COUNT (Filename) Number of data items transmitted during the last read or write operation. COMPLETE (Task Identifier) "I" if task has been completed; otherwise "0." ROUND (Expression, Constant) A fixed-point operand rounded at a specific point; or a floating-point operand with any bias removed. STRING (Structure Name) Concatenation of all the structure elements. A separate function is available for operands expressed in terms of degrees, rather than radians; e.g., ATAND (X) • Data Movement and Format The assignment statement is used to copy data from one location to another and to evaluate expressions. It is written by using the equality sign (=) rather than the formal word ASSIGN. Operands on the left of the equality sign are set to the value of the operand on the right. Single values, arrays, and data structures can be used as operands in assignment statements, and more than one result location is possible; for example, A, B, C, D = E will set each of the entities A, B, C, and D equal to E. All the operands of a single assignment statement should be of the same class; i. e., either all arrays, all single values, or all structures. When arrays and structures are used as operands in assignment statements, it is not necessary that the descriptions of the various operands be the same. The data is treated as a stream of scalar values: the first value is stored in the first available position, the second value in the second position, and so on. A special BY NAME option is available for use with array and structure assignments. This option permits the selective assignment of only the correspondingly named and ordered values within each array or structure; it is conceptually equivalent to the CORRESPONDING option in COBOL. During the movement and copying of data, changes of radices and data class occur automatically. The result fields have the characteristic attributes that have been declared or implied according to the standard rules. The insertion and removal of editing symbols, floating of dollar signs, etc., are normally handled as part of the READ or WRITE statements. However, if the programmer wishes to have these operations performed during the execution of an assignment statement, insertions of editing symbols can be (Contd.) 9/65 420: 167.441 PROCESS ORIENTED LANGUAGE: OPERATING SYSTEM/360 PL/I .44 Data Movement and Format (Contd.) .47 made by using the PICTURE attribute for the result location; deletions will require a separate concatenation of sub-fields operation. During the READ or WRITE operations, a Format List can supply a list of data values. Two format modes can be specified in a PL/I Format List: external format mode, which is designed to be readable through use of character representation; and internal format mode, which is coded and individually defined for each PL/I implementation. In addition, the actual formats of various items can be specified either by standard notation or by the PICTURE attribute. Table VII show" the PL/I standard notation for the various data formats, and Table VIII lists the PICTURE characters and defines their use; both tables are included in the Appendix to this report. The PL/I language allows conditional tests to be made for a number of object-time conditions. This facility permits specific program actions to be taken in the event of object-time errors. Whenever the programmer does not provide specific actions for various types of object-time error conditions, the PL/I language provides that standard actions be taken. The programmer can also specify that the standard action is to be taken in addition to his own programmed action. Table V shows various objecttime error conditions and the corresponding actions that will be taken by the system unless these standard actions have been overruled by the. programmer. .5 PROCEDURE SEQUENCE CONTROL .51 Jumps File Manipulation By means of the GO TO statement, the PL/I programmer can write jumps to any labelled statement within the current program block or any internally nested blocks. Jumps to accessible external program blocks are normally handled by returning to a prespecified entry point. Four types of file manipulation are provided in PL/I; they are distinguished by the means used to direct the transmission of data. The four methods are: Multiple switching is not explicitly included in the PL/I language, but it can be programmed by using variables as statement labels, by using subscripted label variables in a GO TO statement, etc. Data movement between main and auxiliary storage is facilitated through use of the SAVE and RESTORE statements. .45 • List-Directed Transmission: the user supplies a list of the storage areas to be used. • Data-Directed Transmission: input data includes information defining the storage areas to be used, and output data includes the name of the data being transmitted. • Procedure-Directed Transmission: a CALLed program procedure within the READ or WRITE statement directs the transmission and manipulation of each data field. • Format-Directed Transmission: a format list is used to define the form of the data being transmitted, and a separate data list is used to define the program storage area which is to be used for the data. . 52 Positioning of a file within or between data records can be accomplished through use of the SKIP, SPACE, GROUP, and SEGMENT statements. The POSITION and TAB statements are supplied specifically to facilitate report writing, but they can be used as necessary by other file operations; these two statements control field positioning within data files. .46 Operating Communication PL/I provides tbe facility to display messages to the machine operator through use of DISPLAY statements. An internal machine log is maintained automatically, but no language provision is described to permit program-controlled log entries. © Conditional Procedures The IF and ON statements control conditional program jumps according to dynamic execution-time conditions. In the IF statement, an expression is evaluated, and the subsequent program flow depends on the result of the evaluation. IF statements can be nested within other IF statements, as shown in the following example, where two IF statements are nested within IF statement A. A: IF X> Y THEN IF Z =W THEN IF W < P THEN Y = 1; ELSE P = Q The READ and WRITE statements specify the type of file manipulation to be used. The GET and PUT statements are used only when accessing individual fields during the transmission of proceduredirected data. ''''-- Object Program Errors ELSE X =4; The ON statement controls conditional jumps that are based on conditions such as error status, program check-out conditions, and programmerdefined conditions. Conditional jumps can also be effected through use of the logical AND, NOT, and INCLUSIVE OR operators. .56 Loop Control Loop control in the P L/I language is handled by the DO statement. In its general form, the DO state~ ment includes both controlled iteration with incrementation and loop-inhibiting conditions. The control operands of the DO loop can be any legal expressions of the language. Condition testing is performed at the start of each iteration. The statement "DO COUNTER = 0 TO 100 BY 5 WHILE A = B" will initiate a loop based on the 1965 AUERBACH Corporation and AUERBACH Info, Inc. 9/65 IBM SYSTEM/360 420: 167.560 TABLE V: STANDARD ERROR-HANDLING TECHNIQUES CLASSIFICA TION OF CONTINGENCY DEFINITION OF CONTINGENCY COMPUTATIONS Error occurring during conversion of data from one type to another (CONVERSION) • Undefined. Place comment in log; continue with program. Results of fixed-point arithmetic exceed the machine capability (FIXEDOVERFLOW) . Most significant digits are lost. Place comment in log; continue with program. Exponent of a floating-point number exceeds maximum permitted value (OVERFLOW) • Maximum allowable Place comment in log; terminate program. positive number is substituted. A fixed-point variable is too large for the assigned size of the data field (SIZE). Most significant digits are lost. Place comment in log; terminate program. Exponent of a floating-point number is smaller than the permitted minimum value (UNDERFLOW). Smailest positive non-zero value is substituted. Place comment in log; continue with program. Zero has been used as the divisor in division operation. Undefined. Place comment in log; terminate program. Input-output error, control program error, or conversion error has prevented successful record access (ACCESS). Record not available to program. Place comment in log; terminate program. INPUT/OUTPUT CONDITIONS • 56 OBJECT~TIME STANDARD SYSTEM ACTION An illegal character has occurred in the output data (EDIT). - Place comment in log; terminate program. Reading past a group delimiter on a file has been attempted (ENDGROUP). - Place comment in log; terminate program. Reading past a record delimiter on a file has been attempted (ENDRECORD) - Place comment in log; terminate program. The data for an output field cannot fit into the assigned space (FIELDOVERFLOW). - Place comment in log; terminate program. Label checks on a file have failed (IDENT). - Place comment in log; terminate program. The name of a specified file cannot be recognized (NAME). - Place comment in log; terminate program. A record that has been requested by its key cannot be found (SEARCH). - Place comment in log; terminate program. An error has occurred during the transmission of a data file (TRANSMIT) . - Place comment in log; terminate program. A requested file is unavailable (UNDEFINED FILE) • - Plac·e comment in log; terminate program. Loop Control (Contd.) value of COUNTER, which starts at zero and is incremented by 5 after each iteration. The operation will be ended either when the value of COUNTER passes 100 (either by means of the increment within the DO statement or by a modification of the counter's value in the body of the DO loop), or when A is not equal to B. When the DO statement listed above 9/65. RESULT is encountered and A is not equal to B, the entire DO loop is bypassed. The values of loop-controlling operands can be made to depend upon the satisfaction of a series of conditional values within the DO statement. Thus, if certain conditional values are never satisfied during the looping operations, iteration will continue indefinitely. (Contd.) 420:167.561 PROCESS ORIENTED LANGUAGE: OPERATING SYSTEM/360 PL/I .56 ment. The program can then be entered by means of the CALL statement. Loop Control (Contd. ) DO loops can be nested to any desired extent, and control jumps can be made from any point within a basic loop or nested loop to any point in the containing program. .6 OTHER LANGUAGE FACILITIES · 61 Program Check-out .8 ThePL/Ilanguage includes ABNORMAL, USES, and SETS attributes which describe unusual uses of procedures and variables to assist the compiler in optimizing the object program. Optimization of file handling is assisted by the ACTIVITY option of the OPEN statement, which indicates the relative activity of the file that is being OPENed. Details concerning the utilization of these language facilities in specific PL/I implementations are not available to date. P L/I includes a number of facilities designed for use during program testing. Two statements are used for this purpose: • • .62 ON: specifies the action to be taken when an interrupt occurs for the named condition. ON-conditions allow monitoring of data transfers, and testing of particular instructions and the ranges of subscripts that control loops and data structures. The P L/I language does not directly provide for a description of the target computer's environment, although the file descriptions indicate the storage areas involved in certain types of direct assessing, There are no source-language provisions for controlling the amount or type of documentation produced by the compiler. SIGNAL: causes the simulation of external interrupt conditions. SIGNAL permits simulation of overflow, underflow, and other error conditions to facilitate testing of the program paths used under these abnormal conditions. The storage level of a particular independent data structure or array can be designated in the PL/I language as SECONDARY, a permanent attribute that results in the assignment of a less-efficient storage area to the data item. Transmission of data items from main to auxiliary storage is accomplished by means of the SAVE statement; retrieval can then be effected by the RESTORE statement. Program Modification A separate language,· the PL/I Macro Language, allows a P L/I program to be constructed from a skeleton source text immediately before compilation. This Macro Language allows parameterization and modification of source statements depending upon the value assignments supplied for the macro variables. The facilities of the Macro Language also permit semi-automatic creation of repetitive PL/I programs. • 63 The allocation of primary core storage is controlled by the assigned attributes of the various data items. Storage can be allocated permanently by means of the STATIC attribute, or temporarily - for the duration of the execution of the program block containing the data item - by means of the A UTOMATIC attribute. In addition, the programmer can retain control of the allocation and freeing of core storage for individual items by specifying the CONTROLLED data attribute and then alternately issuing the ALLOCA TE and FREE statements. Asynchronous Execution of Different Tasks In cases where facilities for multiprogramming and/or multiprocessing are available, PL/I allows logically independent parts of a program to be executed asynchronously, and thus, in some cases, more economically. For example, it might well be advantageous to execute a sorting operation concurrently with a lengthy computational operation in order to keep both the central processor and the peripheral devices productively occupied. Each of the independent parts of an overall program is called a "task," and each task can have subordinate tasks "attached" to it. Any operational task can initiate execution of an attached task, can check on whether the asynchronously-initiated attached task has been completed, and can wait for its completion before proceeding. · 64 .7 The arrangement of data items within core storage can be controlled by using the ALIGNED and PACKED attributes. These attributes determine whether individual strings of data items will start at word boundaries or be packed into contiguous character positions of core storage. Separate input-output areas are normally used for each file, and they are assigned in accordance with the file description statements in the program. Common buffer areas can be established by means of the POOL option of the DECLARE statement, but the programmer must assume responsibility for the successful use of the shared input-output areas. Extension of the Language No provision for enabling PL/I programmers to create new language facilities (as distinguished from special-purpose functions or subroutines) has been defined to date. LffiRARY FACILITIES All programs written in the PL/I language can be stored in an on-line program library. Any program can be brought into core memory and prepared for execution by means of the FETCH state- © TRANSLA TOR CONTROL AND STORAGE ALLOCATION .9 APPENDIX This section of the PL/I language report includes tables and charts that provide supplementary information about the various facilities of the language. Table X provides a brief summary of the principal features of PL/I as compared with those of FORTRAN and COBOL. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 9/65 420: 167. 900 IBM SYSTEM/360 TABLE VI: KEY TERMS IN PL/I LANGUAGE DESCRIPTIONS TERM DEFINITION Array An array is a special form of a data structure, each element of which has the same characteristics. This definition includes, but is not restricted to, conventional mathematical arrays. Attribute Attributes are keywords that specify characteristics (such as DECIMAL, FIXED, RECURSIVE, SEQUENTIAL, etc.) of the various data elements and procedural parts of the language. Concatenation Concatenation is the operation that strings together characters so as to create new character strings of alphabetic, decimal, or bit-form information. Cross Section (of an array) A cross section of an array consists of all the elements in the array that have specified common subscripts. The full subscript range is not specified, since some levels can be written as asterisks. Default Interpretation Default interpretations are standardized assumptions made by individual PL/I implementations in the absence of the programmer's explicit specifications of data attributes, error procedures, and keywords of statements. These assumptions are called default attributes. hnplied Attributes Implied attributes are sets of characteristics that the programmer associates with the first letter of the data name. They are written expliCitly into the program in an IMPLICIT statement and are then implied throughout the program. Implied attributes should be differentiated from default attributes. Individual hnplementation Individual PL/I implementations are specific versions of the PL/I compiler that have characteristics (such as specific default interpretations) not defined in the language itself. Macros Macros in PL/I are not generative instructions that insert many instruction codes into an object program; PL/I macros are instructions in the PL/I Macro Language that are used to modify a source language program immediately before compilation. Structure A structure is a collection of data, each element of which is individually described. This is a recursive definition, permitting structures of structures. Task A task is an individually-executed part of a program or collection of programs. Variable A variable is any named data item, including those whose values are constant throughout the program. ", / (Contd.) 9/65 420: 167.901 PROCESS ORIENTED LANGUAGE: OPERATING SYSTEM/360 PL/I TABLE Vll: STANDARD FORMAT ITEMS AND METHODS OF DESCRIPTION USED IN PL/I DATA FORMAT LISTS Format Items Description for Internal Representation (1) Description for External Representation (1) Fixed-Point Format IF (precision) - for decimal data IFB (precision) - for binary data F (w, d, p) Floating-Point Format IE (precision) - for decimal data IEB (precision) - for binary data E (w, d, s) Complex Format (2) IC (some internal real format item) C (one or two real format items) Picture Format (3) IP 'picture-specification' P 'picturespecification' Bit-String Format B (length) A (w) Character-String Format A (w) A (w) General Format IG - see note (4) G (w, d, s) Remote Format (5) R (statement-label of Format List to be used) - Spacing Format X (x) Positioning Format (6) SPACE; SKIP; GROUP; or TAB with or without an expression - or \ POSITION (format List) - Legend w = the length of the field in characters including signs, decimal or binary points, and the letters E and B in the representation of constants. d = the number of positions after the decimal or binary point. p = the scale factor, which may be positive or negative. s = the number of significant digits to appear. Notes (1) The entire format specification need not be used. For example, F (w) represents an integer value. (2) Complex numbers are represented internally as imaginary values with assumed zero real parts; complex numbers with non-zero real parts must be written as expressions. (3) See Table VllI for details of the picture specifications. (4) In the IG representation, the internal format is the same as the external. (5) The Remote Format Item is used if it is desired to locate format items remotely from a prespecified FORMAT statement. (6) These format items act in the same way as the statements of the same names. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 9/65 IBM SYSTEM/360 420: 167. 902 TABLE VIlI: PICTURE CODES USED IN PL/I EDITING OPERATIONS CODE A FUNCTION Specifies that the associated field of a character string may contain any letter or blank. B Inserts a blank in the associated field position. CR Specifies that the letters "CR" should appear if the associated field value is negative. D Specifies that the sterling pence indicator "d" should be inserted. DB Specifies that the letters "DB" should appear if the associated value is positive or zero. E Inserts the letter "E" to indicate an exponent value. F Specifies the location of a decimal or binary point in a fixed-point number. G Specifies the start of a sterling currency picture. H Specifies that the sterling shilling indicator "s" should be inserted. Specifies that the + overpunch should appear if the associated field is a positive value. K Specifies that the exponent subfield should be assumed to follow the point in the field associated with K. R Specifies that the - overpunch should appear if the associated field is a negative value. S Specifies that the characters + or - should appear depending on the value of the associated field. T Specifies that an overpunch will be inserted to indicate the value of the associated field. v Specifies that a decimal or binary point should be assumed to appear at this point in the associated field. x Specifies that the associated field of a character string may contain any character. y Specifies suppression of all zeros and replacement by blanks. z Specifies suppression of leading zeros and replacement by blanks. 1 Specifies that the associated field position contains a binary digit. 2 Specifies that the associated field position contains a binary digit within a two's-complement coded field. 3 Specifies that the associated field position contains a binary digit within a one's-complement coded field. 6 Specifies the position of a sterling currency pence character in the IDM single-character representation. 7 Specifies the position of a sterling currency pence character in the British Standards Institution representation. Specifies the position of a sterling shilling character in the British Standards Institution representation. Specifies that the associated field position will contain any decimal digit. * Specifies that the asterisk should replace leading zeros. $ Specifies that the dollar sign should be inserted. When used in strings of two or more dollar signs, it is the editing character for a floating dollar sign. + Specifies that a + character should be inserted if the field value is positive. Multiple plus characters indicate a single floating character. Specifies that a minus sign should be ins erted if the field value is negative. Multiple minus characters indicate a single floating character. Specify that these same characters will appear in the associated field positions. In case of leading zero supression, these characters are also suppressed. (Contd.) 9/65 PROCESS ORIENTED LANGUAGE: OPERATING SYSTEM/360 PL/I 420:167.903 TABLE IX: PL/I'S METHODS OF HANDLING INTERMEDlA TE RESULTS OF EXPRESSION EVALUATION CASE PROBLEM P L/r TREATMENT Integer Results Whether to round or truncate. No rounding; truncate whenever necessary. Decimal Results How to establish the length of a decimal operand field that is equivalent to a giv!fIl binary operand field. Divide the binary field length by 3 . 32; take the integer equal to or higher than the quotient as the length of the field. Binary Results How to establish the length of a binary operand field that is equivalent to a given decimal operand field. Multiply the decimal field length by 3.32; take the integer equal to or higher than the product as the length of the field. Floating-Point Results How to establish the precision of a floating-point result. Use the greater preciSion employed by the floating point operands. How to establish the precision of a floating-point operand that is equivalent to a given fixed-point operand. Use the total length of the fixedpoint operand. How to establish the length of a fixed-point field after addition or subtraction. Retain all positions on the right and the left of the decimal or binary point in both operands; add an additional most significant position in case of overflows. How to establish the length of a fixed-point field after multiplication. Add the number of positions to the right and to the left of the decimal or binary point of the two operands; the total number of pOSitions is provided to the right and to the left of the decimal or binary point of the product. How to establish the length of a fixed-point field after division. Use the length of the largest possible number provided in the specific PL/I implementation. Fixed-Point Results TABLE X: COMPARISON OF FEATURES OF THREE PROGRAMMING LANGUAGES LANGUAGE FEA TUBES FORTRAN COBOL No No Yes Yes Yes Yes Business Pro!Q:amming Record handling File handling Decimal arithmetic Source language debugging Report writing Source language readily readable Yes Yes Yes No Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes No Yes No Yes Yes Yes Yes Yes Yes Yes * Yes No No Scientific Programming Formulae Floating-point representation Complex numbers Arrays Source language debugging Source language readily readable PeriEheral Devices Random-access processing Asynchronous processing Free control of tape blocking * PL/I General Tested language Compilers now available * Yes Yes * * * Yes This feature is not normally implemented in "standard" versions. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 9/65 420: 171.100 IBM System/360 Machine Oriented Language Operating System/360 Assembler MACHINE ORIENTED LANGUAGE: OPERATING SYSTEM/360 ASSEMBLER . 142 Instruction Elements .1 GENERAL .11 Identity: . . . . . . . . . . IBM Operating System/360 Assembler. .12 Origin: . . . . . . . . . . . IBM Corporation. .13 Reference: . . . . . . . . IBM Publication C28-6514-2. .14 Description .141 General Facilities and Design Levels The structure of the Operating System/360 Assembler is such as to encourage: • Use of system library routines and macros, and user-prepared macro-instruction definitions. • Use of separately-prepared program segments that are linked together as one object program only at program load time. Many cumbersome overlay control manipulations are thus removed from the concern of the programmer. • Use of programs which are dynamically variable at execution time, according to daily requirements and system configuration availability. • Use of the executive/monitor facilities of the Operating System/360 (see Section 420:191 for a description of the Operating System). All the System/360 assemblers are two-pass systems that produce a listing, a symbol table, and relocatable machine coding. Basically, the output of each assembly is a relocatable program block; a number of blocks loaded at one time by the Linkage Editor/Loader constitutes a program. System/360 instructions can have a variety of diff erent lengths and formats. The instructions basically deal with the contents of registers (there are 16 general registers which are dual-purpose arithmetic and index registers), the contents of core storage, and "immediate data" (i. e., a literal written in the instruction itself). Fewer bits are required to address a register (one of 16 possibilities) than a core storage location (one of over 16 million possibilities), so the different instructions have different lengths; in fact, there are five basic instruction formats. These are the RR (Register to Register), RX (Register to Indexed Storage Address), RS (Register to Storage), SI (Storage with Immediate Operand) and SS (Storage to Storage) types of instructions. They are discussed in the Central Processor section, Page 420:051. 121. In the Assembler, the instruction types· are 'distinguished by their mnemonic operation codes, which differ for each type of instruction format. (There are, for instance, no fewer than 14 different Add instructions and 22 Load instructions in the Universal Instruction Set.) From these mnemonics, implied lengths are derived for the instructions and, in some cases, for the operands. There are different alignment rules for floating-point binary, fixedpoint binary, variable-length deCimal, etc., and assignment of the proper type and alignment for each operand is also based on the instruction mnemonic. The details of length and type are held internally for each operand during the assembly process. Three design levels* of the Operating System/360 Assembler have been announced by IBM - the 12K, 44K, and 200K levels. (Several other Assemblers have been developed by IBM for use with the Basic Operating System and the Basic Programming Support package, as described in Sections 420:192 and 420: 193, respectively.) The 12K and 44K versions of the Operating System/360 Assembler are expected to become available in December 1965, with the full 200K version not expected until June 1966. The limitations and restrictions of the 12K and 44K versions - although these are the versions soon to be in the hands of users - have not been specified by IBM to date. Only the 200K Assembler has been documented. Both instructions and operands are referred to symbolically, using up to eight alphanumeric characters for any name. Thus, JOHN AP FIELD2, FIELDI creates an instructiop. adding FIELDI into FIELD2, where both are dechnal fields. This instruction is then referred to as JOHN, and the use of JOHN as an operand in a Branch instruction will cause a jump to the instruction AP FIELDl, FIELD2. In the System/360, this familiar concept of symbolic operand and instruction addressing is carried a step farther, in that expressions are allowed. Thus, instead of allowing only a simple name plus or minus a displacement factor, the System/360 allows for multiplication, division, parenthetical expression, and almost any form of address that can be arithmetically evaluated. * Core storage requirements of 12K, 44K, and 200K are being used as "design levels" for the Operating System/360 software by IBM. These three levels require, respectively: • a 16K system with 3 tapes or a random access device; • a 64K system with a random access device; • a 256K system with a random access device. This flexible addressing capability allows the size of the symbol table to be reduced, while providing for handling the complexities of the various data representations of the System/360. Relocatable and absolute operands may be mixed within an expression, although this mode of addressing naturally has its own rules which a programmer must carefully observe. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 420: 171.143 . 143 Types of Constants Constants can be expressed in binary, decimal, hexadecimal,fixed-point, floating-point, address, or chli.racter modes. The varied alignment requirements are satisfied by the Assembler. A distinction is drawn between: • Self-Defining Constants, which are written as part of the coding, assembled in position, and have no symbolic name attached to them, but which are not part of the actual machine instruction either on the coding sheet or in the machine .itself; • Literals, which are written as part of the instruction, but which, in the machine, are not p'art of the instruction but are located in the "literal pool, " whose contents are set by the assembler instructions; and • Defined Constants, which set the original contents of a location but allow later references to be made using symbolic names. Each arithmetic mode has its own rules, but in general the programmer can write in one mode (e. g., decimal) and, by explicitly or implicity describing the constants, can have the assembler perform the necessary conversions. Thus, floatingpoint binary constants, which are stored with an exponent expressed in powers of 16 rather than of 10, can still be written in decimal form with decimal exponents. In the definition of constants, as in the use of algebraic expressions in place of symbols as described above, the programmer can take advantage of a number of facilities designed to allow easier coding. Thus, a group of floating-point constants can be preceded by a common decimal scale factor (a power of 10). This would allow, for instance, a table of times to be expressed in terms of microseconds by the programmer but stored in terms of seconds by the Assembler. Another programmer aid of this sort is the ability to define a number of constants together, thus simplifying the setting up of initialized tables and other groups of constants which have some common characteristics. . 144 Programming in Blocks System/360 anticipates handling more than one job at a time, so it follows that absolute storage locations must be allocated when the program is loaded for execution rather than at assembly time. Where a loader is able to provide this standard of sophistication, it often takes on the additional task of tying logically independent parts of a program together to provide for efficient use of the internal store itself . An immediate result of this normal development of a loader for a multiprogramming computer system is that "computer programs," as precise entities, vanish from the programmer's desk and take on final form only as they are prepared for execution by the loader. The programmer writes program segments, or program blocks, and defines what external routines (outside his blocks) are needed. These can be picked up, used as necessary, and assigned the appropriate parameters and priorities 8/65 IBM SYSTEM/360 each time they are executed - right in the computer room and away from the programmer's personal supervision. This change of outlook provides the opportunity for more efficient equipment utilization through the use of parameters coming in from the day-today input and priorities adjusted to suit the day's needs. Potentially, it may provide a great deal more in specialiZed applications. .145 Pseudo-Instructions A number of pseudo-instructions are available for controlling the Assembler and providing data to the loader. Some are machine-based and require the programmer to appreciate that he is, in fact, working at machine level on an unusually complicated computer. He must, for instance, ensure that a sufficient number of base registers are made available, and he is responsible for their settings. The Assembler does decide which registers to use among the ones the programmer has made available. and set, but it definitely does not allow the programmer to think of the System/360 core storage locations as being directly addressable. Other pseudo-instructions handle routine control of the printouts, allow initial data to be set up, define symbols that can be referenced by programs external to the current block of coding, and allow coding to be copied from the system library. .146 Macro-Instructions The macro-instruction facilities provided by the full Operating System/360 Assembler to regulate supervisory control and data management are both extensive and powerful. Effective utilization of these facilities and efficient combinations thereof will not be easily attainable, due in part to their sheer weight of numbers , but also due to definite deficiencies in the integration of the total software documentation. In addition, the present documentation offers little in the way of specific aids to the programmer in the construction of actual programs. Because the elements of a System/360 program are numerous (e. g., assembly control, machine and assembly language statements, input-output control, Operating System interrelationships, data management, program linkage and job control at execution time), and because the choice of statements within each programming area is potentially great, there is a definite need for particularized suggestions in program formulation. The facilities offered to permit the insertion of user-designed macro-instructions are both comprehensive and flexible. A routine generated by a given macro-instruction can be modified during program execution, both in its instruction operands and its sequence of operation, depending upon dynamically-encountered circumstances. .147 Program Diagnostics and Dynamic Control An Operating System/360 control function called the Test Translator (TESTRAN) is provided to perform object program diagnostics at program execution time. Diagnostic controls of the dumps and traces are structured by the programmer in macro-instruction language during preparation (Contd. ) MACHINE ORIENTED LANGUAGE: OPERATING SYSTEM/360 ASSEMBLER care and considerable skill. Beyond this consideration, the programmer is faced with several other potentially difficult tasks. The addition of userdefined macro-instructions implies an understanding of another set of macro-definition and control instructions (up to 17). Linkage of the problem program to the Supervisor function of the Operating System/360 is accomplished by using up to 31 different macro-instructions according to specifically requested control functions. The operand parameters and their associated format rules differ according to the nature of the desired control function. The programmer must also code the input-output data management macro-instructions (up to 32) and, optionally, any of the 23 possible diagnostic macros. It seems apparent that coding simplicity has been sacrificed in favor of sophisticated language/machine utilization. .147 Program Diagnostics and Dynamic Control (Contd.) of the assembly language program. The diagnostic output is edited to print in whatever data structure the programmer may specify, with source and machhle language labels and addresses printed as applicable. Several varieties of effective dumps and traces are provided, and all are dynamically modifiable by the object program. Limits and counters can be set to avoid tracing runaway loops, for example, and parameters can be included to diagnose only specified classes of output. The inclusion of these comprehensive diagnostic facilities in the full Operating System/360 should greatly facilitate.program debugging. Such facilities seem, in fact, to be an absolute prerequisite for the E!ystem/360 since the programmer may be dealing with decimal, binary, alphabetic, hexadecimal, fixed-point, and floating-point operands, all within a few instructions. In addition, program control may frequently pass between the problem program and multiple supervisory functions of the Operating System. Debugging aids must necessarily be comprehensive and convenient. .149 Assembly Times IBM has provided us with estimated assembly times for the Operating System/360 Assemblers on three . sample System/360 configurations. Table I describes these sample configurations and indicates the several timing factors that must be summed to arrive at a total time for an assembly that is performed in conjunction with the Operating System/360. No method has been provided for referring to the working data that the Assembler keeps internally, and amending the coding depending on the status of this data during the assembly process. The lack of such a corrective facility may cause problems in handling the base register assignment and the displacement count (i. e., the elements of each main storage address). The inability to get at and amend the register-displacement relationship may lead to inefficient storage allocation. An ffiM-supplied timing example shows the estimated time requirements to perform a 44K assembly operation on a main program of 800 source statements on sample Configuration B (a 65K Model 50). In this example, it is assumed that 1,000 lines of source-program listing information will be produced. The estimated time to perform this assembly operation (reading the source statements from disc storage and writing the compiled program and source program listing to disc storage) is 51. 0 seconds. .148 Machine/Language Complexity A programmer uses an assembly language to allow him to control the computer at machine level, but without all the complexity of the machine language. In addition to this basic function, assemblers nowadays provide for routines to be inserted or referred to, for handling the needed relationships with the operating system (if any), and a variety of other aids to machine language programmers. It follows, therefore, that the more complex the computer system, the more complex the assembler needs to be if it is to be of maximum utility to the programmer. The ffiM System/360 is a complex computer. It has an eight-bit character code (and programmers are not yet used to handling such codes); it requires that most addresses be in two-part form (base and displacement); it uses five different classes of machine language instructions, each with its own format requirements; it can manipulate five types of data, with distinct instruction applicability and positional rules for each type. In addition, the System/360 operates in an environment that transfers control between one or more problem programs and the Operating System according to dynamically varying conditions. All these factors add complexities which must by handled by the Operating System/ 360 Assembler, and the facilities provided by IBM to do so seem, in general, to be both comprehensive and effective. To use the power and flexibility of the System/360 Assembler requires that the machine and assembler instructions (up to 184) be coded with meticulous 420: 171.147 .15 Publication Date: . . . . April, 1964. .16 Availability Design level 12K: . . . . December 1965. Design level 44K: . . . . December 1965. Design level 200K: ... June 1966. .2 LANGUAGE FORMAT .21 Diagram: . . . . . . . . . refer to System/360 Assembler Coding Form, Page 420:172.820. .22 Legend Name field: . . . . . . . . assigns a symbolic name to a statement. Operation field: . . . . . specifies a machine instruction or assembler instruction. Operand field: . . . . . . identifies and describes data to be acted upon by the instructions. Comments field: . . . . . permits lines of descriptive information to be listed. Identification-Sequence field: . . . . . . . . . . . optional field which identifies the program and/or sequences statements. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 420:171.230 IBM SYSTEM/360 TABLE I: ESTIMATED ASSEMBLY TIMES Sample Configurations Configuration Components Configuration A System/360 Model 30 with 32K bytes of core storage, one Multiplexor Channel, one Selector Channel, one 2540 Card Read Punch, one 1403 Printer (Model 3), two 2311 Disk Storage Drives, and the Operating System/360's sequential scheduler. '" Configuration B System/360 Model 50 with 65K bytes of core storage. two Selector Channels. two 2311 Disk Storage Drives. and the Operating System/3GO's priority scheduler. "'* 'Configuration C System/360 Model 65 with 262K bytes of core storage. two Selector Channels. two 2301 Drum Storage Units. four 2311 Disk Storage Drives, and the Operating System/ 360's concurrent job scheduler. ** Assembly Time in Seconds Estimated Timing Factors 12K Assembler. 44KAssembler, 200KAssembler. Configuration A Configuration B Configuration C For assembly initiation For each assembly For each output line 21.1 28.0 0.46 15.0 14.0 0.022 3.57 6.5 0.006 ... Input is assumed to be entered through the Card Read Punchj output is assumed to consist of a printed source-program listing and an object program written on disc storage. .... Source-program input and object-program output are assumed to be read from and written to disc storage. Formatted lines of the source-program listings are also written to disc storage. .23 Corrections:..... • 24 Special Conventions . no special provisions. .241 Compound addresses: · one term or an arithmetic . 242 Multi-addresses: . · 243 Literals: ••...•• · 244 Special coded addresses: combination of terms (operators +, -, *, and /). · separated by commas. · preceded by = and specified as to type (e. g., hexadecimal, floating-point, binary, etc.); only one literal is permitted per machine instruction. Data constants are preceded by quotation marks; address constants by parentheses. ·* represents current value of the location counter. · 245 othersSelf-defining terms: · the value of the term is inserted directly into the instruction and, as such, is independent of program relocation. The value is specified as to type and is enclosed by quotation marks. .3 LABELS . 31 General .311 Maximum number of labels: . . . . . . . . . . >5,000. • 312 Common label formation rule: • • • • . • . . yes. .313 Reserved labels: .• . none . . 314 other restrictions: ... none. .315 Designators: . . . . . . . ampersand (&) in first position of label indicates a prototype, model, or symbolic parameter statement as used in macroinstruction definition. .316 Synonyms permitted: •. yes; EQU pseudo • .32 Universal Labels .321 Labels for procedures Existence: . . . . . . . . mandatory if referenced by other program segments. Note: Universal labels defined within a segment and referred to in another segment are identified by the ENTRY pseudo; referencing segments must identify universal labels by the EXTRN pseudo. Formation rule First character:. · alphabetic. Others: . . . . . • alphanumeric (A-Z, 0-9). Number of characters: . · 1 to 8 characters. .322 Labels for library routines: . . . . . · same as procedures .., .323 Labels for constants: · same as procedures. • 324 Labels for files: ..• · same as procedures (in macros only) . .325 Labels for records: . same as procedures (in macros only). .326 Labels for variables: . same as procedures . • 33 Local Labels . 331 Region: . . . . . · local to a program segment . (Contd. ) 8/65 / 420: 171.332 MACHINE ORIENTED LANGUAGE: OPERATING SYSTEM/360 ASSEMBLER .332 Labels for procedures Existence: . . . • . . . . mandatory if referenced by an instruction in the same segment. Formation rule First character: ... alphabetic. others: . . . • . . . . . alphanumeric (A-Z, 0-9); no special characters and no embedded blanks. Number of characters: •..••..• . 333 Labels for library routines: . . . . . . . . . . 334 Labels for constants: . . 335 Labels for files:: .•.. 1 to 8 characters. same as procedures. same as procedures. same as procedures (in macros only). .336 Labels for records: .• same as procedures (in macros only). . 337 Labels for variables: . same as procedures. · 54 Translator Control .541 Method of control Allocation counter: .. pseudo-operation. Label adjustment: .•. pseudo-operation. Annotation: . • . . . . . pseudo-operation and special cards. · 542 Allocation counter Set to absolute: . . . . START. Set to label: . . . . . . . ORG. Step forward: . . . . . . ORG, CNOP. Step backward: . . . . . ORG. Reserve area: .•... DS, ORG, LTORG . .543 Label adjustment Set labels equal: . . . . EQU . Set absolute value: .. EQU . Clear label table: ... none. · 544 AnnotationComment phrase: ... * in first column. Title phrase: . . . . . . TITLE or START . .4 DATA .6 SPECIAL ROUTINES AVAILABLE .41 Constants · 61 Special Arithmetic: .. most can be provided by the System/360 hardware and optional features . Format used by coder Machine format . 62 Special Functions: Integer Decimal:. .63 Overlay Control . 411 Maximum size constants - . . decimal (up to 16 bytes) in packed or unpacked format. Binary: . . . . . . . . . . binary (up to 256 bytes). Fixed numeric Decimal: . . • . . . . . . decimal (up to 16 bytes) or binary (up to 8 bytes) . Hexadecim:al (up to 512 digits): . . . . • . . . . . binary (stored 2 hexadecimal digits per byte) . Floating numeric Decimal: . . • • . . . . . binary (4 or 8 bytes). Alphabetic: . . . . . . . . up to 256 characters (bytes). Alphameric: . . • . . . . up to 256 characters (bytes). .412 Maximum size literals:same as constants; see Paragraph .411 above. .5 PROCEDURES · 51 Direct Operation Codes · 511 MnemonicExistence: . . . . . . • . Number: . . . • . . . . . Example: . . . • . . . . . 512 Absolute: . . . . . . . . . . 52 mandatory. 142 plus 17 extended codes. A = Add. not permitted. Macro-Codes .53 · 631 Facilities: . . . . . . . . . provided by linkage macros and Operating System/360 loader routine . .632 Method of call: . • . . . . program segmentation and linkage are indicated by pseudo-instructions. · 64 Interludes: . . . • . . . . none. Data Editing · 641 Radix conversion: . . . . machine instructions are provided to convert between binary and decimal. Code translation: •..• a "Translate" machine instruction is provided for codes of up to 8 bits . . 642 Format control: ....• provided by "Edit" instruction (part of optional Decimal Arithmetic feature in Models 30 and 40). Zero suppression: .. yes. Size control: . . . . . . yes. Sign control: . • . . . . yes. Special characters: .. yes . · 643 Method of call: . . • . . . machine instructions . .65 · 521 Number available For macro-language control: . . . . . . . . 17. For supervisor services: . . . . . ' .. 31. For data management:32. For diagnostic services: . . . . . . . 23 . . 523 New macros: . . . . . . . defined in source program or inserted into library in a separate operation. . none announced to date . Input-Output Control .651 File labels: . • . . . . . . provided by Operating System/360. .652 Reel labels: . . . . . . . . provided by Operating System/360. .653 Blocking: . . . . . . . . . provided by Operating System/360. .654 Error control: . . . . . • provided by Operating System/360. . 655 Method of call: •....• macro-instructions . .66 Sorting: .•. see Paragraph 420:151.12 for Sort/Merge Program des cription. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360 420: 171.670 .67 Diagnostics: . provided by Test Translator function of Operating System/360. .7 LIBRARY FACILITIES .71 Identity:........ . System or Program Library. .72 Kinds of Libraries: . expandable master. .73 Storage Form:. . magnetic tape, disc, or drum. .74 Varieties of Contents: . statements in any source language, operating system control routines, all software packages, macros, data descriptions, independent programs. .75 Mechanism ,,751 Insertion of new item: . by means of job control statements at load time . . 752 Language of new item:. any acceptable to System/ 360. .753 Method of call: . . . . . . COpy pseudo causes a prewritten section of coding to be inserted. . 76 Insertion in Program .761 Open routines exist: .. .762 Closed routines exist: . . 763 Open-closed is oI\tional: . . • . . . . . . . 764 Closed routines appear once: . . . . . . yes. yes. yes . yes. .8 MACRO AND PSEUDO TABLES .81 Macros (Partial List) Code Description WAIT: . . . . . . . . . . . indicates the program cannot proceed until a certain condition is met; the operating system will initiate a new program. GET: . moves next logical record of input file into work area. PUT: . moves next logical record of output file into the output buffer. OPEN: . . . . . . . . . . . repositions file to be opened to the beginning and checks label if present. CLOSE: . . . . . . . . . . writes contents of remaining buffers, processes trailer labels, and disposes of file as indicated. .82 Pseudos (Partial List) Code ICTL:. 8/65 Description . specifies the format of the source program statements. Code Description !SEQ: . . . . . . . . . . . . causes the assembler to check the sequence of input cards . ORG: . . . . . . . . . . . . alters the setting of the location counter for the current control section. LTORG: . . . . . . . . . . specifies the location of the literal pool into which all literals thus far encountered are to be assembled. CNOP: .. aligns an instruction at a specific word boundary. COPY: . includes previously written source-language coding in a program. END: . . . . terminates assembly of a program. TITLE: . . identifies the assembly listing and assembly output cards. EJECT: . . . . . . . . . . causes next line of listing to appear at the top of a new page. SPACE: . inserts one or more blank lines in the listing. PRINT:. . designates how much detail is to be included in the assembly listing . EQU: . . . . . . . . . . . . defines a symbol by assigning to it the attributes of an expression in the operand field . DC: . provides constant data in storage. DS: . reserves areas of storage and assigns names to them . . defines and generates an CCW: . . . . • • • . 8-byte Channel Command Word. START: . . . . . • . . . . can be used to name the first control section of a program and specifies a tentative starting location for the program. CSECT: . . . • . • . . . . identifies the beginning or the continuation of a control section. DSECT: . . • . . . . . . . identifies the beginning or resumption of a dummy section. ENTRY: . • . . . . . . . . identifies linkage symbols that are defined in this program but may be used by some other program. EXTRN: . . . • . . . • . • identifies linkage symbols that are used by this program but defined in some other program. USING: . . • . . . . . . . . indicates that one or more general registers are available for use as base registers. DROP: . . . . . . . . . . specifies a previously available register that may no longer be used as a base register. 420: 172. 100 IBM System/360 Machine Oriented Language BOS Assembler MACHINE ORIENTED LANGUAGE: BASIC OPERATING SYSTEM/360 ASSEMBLER .1 GENERAL .11 Identity: . . • . . • . . . . IBM Basic Operating System/360 (BOS) Assembler. . 12 Origin: .13 Reference: ..••.••. IBM Publications C24-33611 and C24-3364-1. • 14 Description •..••••.•• IBM Corporation. Two Assemblers have been announced by IBM for use with the System/360 Basic Operating System: a 4K Disk version designed for use with the 8K Disk Basic Operating System and a 10K Tape/Disk version for use with the 16K Tape/Disk Basic Operating System. The 4K design level Disk Assembler is described in this report section; the advantages of using the larger 10K Assembler with the Basic Operating System have not been documented by IBM to date. Delivery dates for the two Basic Operating System Assemblers have been announced as September and'December 1965 for the 4K and 10K versions, respectively. The Basic Operating System/360 (BOS) Assembler can assemble programs written in the Basic Programming Support assembly languages and in the assembler language of the 7090/7094 Support Package for the IBM System/360 (see Sections 420: 173 and 420: 151 for descriptions of these additional assembly languages). The BOS Assembler language is a proper subset of the Operating System/360 Assembler described in the previous report section (420:171), and, as such, any program written in the 8K BOS language can be assembled with the Operating System/360 Assembler, with one notable exception: the XFR (Generate a Transfer Card) assembly instruction, which defines the transfer point or entry point of a phase or overlay, is not recognized as a valid mnemonic operation code by the Operating System/ 360 Assembler. I \ Other limitations and restrictions of the Basic Operating System Assembler, as related to the full Assembler of the Operating System/360, center principally on number of operands per statement, size of reserved storage, and depth of nesting per symbolic expression. Those differences are illustrated in Table I. It should be noted that the COM and COpy assembly instructions are not available in the Basic Operating System Assembler. (In the Operating System/360 Assembler, COM identifies and reserves a common area of storage for use by independent programs linked at load time; COPY obtains source language coding from a library and includes it in the program currently being assembled.) The facilities provided for use of macro-language statements are quite comprehensive. The user can define a macro instruction containing up to 49 symbolically-replaceable operands; he can set and alter the value of operands within a macro; and he can alter the sequence of instructions within a macro-definition depending upon dynamic execution time conditions by means of 5 conditional instructions. Unlike the Operating System/360 Assembler, the BOS Assembler cannot use the conditional instruction outside the macro-definition. Similarly, the use of operand sublists and SET symbol subscripts (to define the value of variable symbols) is not permitted when defining macro-instructions for use with the BOS Assemblers. Another limit to the facilities of the BOS Assemblers is that nesting of inner macro-instructions can be accomplished only to a depth of three, as compared with the virtually unlimited nesting potential in the Operating System/360 Assembler. The input-output control macro-instructions for the Basic Operating System Assembler bear the designations of Logical IOCS and Physical IOCS. Physical IOCS routines reside in core storage as part of the system's Supervisor; with the Supervisor they consume a maximum of 4,096 bytes of core storage. The facilities they provide will control as many I/O devices as can be connected to the one Multiplexor Channel and up to two Selector Channels. The logical record-handling routines provided by Logical IOCS do not require the permanent use of main storage. These routines reside on disc storage and are called into main storage by macroinstructions only as required by the programmer. Physical IOCS consists of four routines to control the actual transfer of records between the inputoutput device and core storage: Start I/O routine, Interrupt routine, Channel Scheduler, and Device Error routines. Logical IOCS, on the other hand, performs the following functions with regard to logical data records: blocking or unblocking of records; flip-flopping between I/O storage areas when two areas have been allotted to permit data transfer overlap; end-of-file and end-of-volume control; and checking and writing of standard tape/ disc labels. The core storage required to use the macro facilities of IOCS in support of programs that utilize both tape and disc components will be a minimum of 16K. The facilities contained within the logical 10CS package are extensive, but many of them (such as the optional dual input-output areas) will prove costly in terms of core storage requirements for systems of less than 16K bytes. Preceding the source program at assembly time must appear the declarative file-definition macroinstructions. The input-output file descriptions contained on these cards are utilized by the IOCS function to set up the routines necessary for each © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360 420: 172.140 TABLE I: LANGUAGE DIFFERENCES BETWEEN THE BASIC OPERATING SYSTEM AND OPERATING SYSTEM ASSEMBLERS OPERATING SYSTEM SPECIFICATION BASIC OPERATING SYSTEM LANGUAGE fEATURE .SPECIFICATION CODING CONVENTIONS Maximum of two continuotion lines allowed Continuation Une~ Maximum of one continuation line allowed Address Constants Only One odd,,,,, comtcnt may be specified in a DC statement or a literal One Or more Clddres5 canllanh may be specified in a DC Itatement or a literal Bit-Length Specification Feature excluded Feature i, provided in Operating Sptem Only one operand allowed per DC statement One or more operands allowed per DC statement Oupl icalion foctor exprehoble only by (] decimal self-defining Duplication factor expres!oble by any absolute expressiCln Exponent Modifier Exponent modifier expresmbJe only by a decimal self-defining term Exponent modifier exprellable by ony abalute expressian length Modifier Length modifier expressoble only by a decimal self-defining te,m length modifier expreslOble by any absolute exprelsion Literal> In case of duplicate lite,al" mare than one mClY be ,tOlrd In cme of duplicate literals, only On". is stored Scale modifiel exp,e~sable only Scale mod'!ie,. "xpresloble by CONSTANTS DC Operands Duplication FocI" Scale Modifier by a decimal self-defining tel_m_.~.~.--L_o_c_y_ob_'o_'c_,"_._'_'_p,_,,_siO_c_ _ _--j EXPRESSIONS 1'10 limit on the number of lets of parentheles ( ) allowed in an "xp,ellion Parenthe,es Only one let of porenthesel ( ollowed·in on expression Terms Maximum of three '",m, allowed per exprellion OS Operand Only one operand allowed in a OS statement One or male opeland, aliawed in a DS statement length Modi fier Maximum length designation of a storage field is 256 by tel Maximum length designation of a storage field is 65,536 byte, (NOP Each opel and explelloble only by a decimal self-defining term Eoch operand expresloble by any absolute exples~ion COM Stotement excluded Statement provided in Operating System COpy Statement excluded Statement provided in Operating System CSECT and DSECT In addition to the combined number of CSECTs, DSECT" EXTRN" and V-type address constants not being allowed to exceed 255, the combined numbe' of CSECT and DSECT stalements must not exceed 32. The combined number of (SECT ,tatements, DSECT statements, EXTRN Itotemenll" and V-type add res. constants mUlt not exceed ) No limit on the number of term, allowed per exp'ession STORAGE DEFINITION (OS STATEMENT) ASSEMBLER-INSTRUCTION STATEMENTS EXTRN ond ENTRY nTlE ed ane relocatable Iymbal ;, "lloweach EXTRN and ENTRY Ilote- The fir\t TITLE Itatement provide, the for p0ge~ of the listing that untt! the next TITLE statement any);' encoulltered 255 One or more relocatable symM boll are allowed in each EXTRN and ENTRY statement The first TITLE statement, in addition to providing the heading for all pages of the Ii,tthat lie between it and the TITLE ~Iatement also provido:;os the any of the listing that it. USING and DROP Maximum of 5 bale nations allowed DROP statement XFR Statement provided in Basic Operating System de'\gUSING or Maximum of 15 1.,,,.1' register de~ignations allowed in each USING or DROP statement Statement excluded Reprinted from IBM Publication C24-3361-1, p. 163. .14 Description (Contd.) type of processing, such as consecutive, direct access, or indexed sequential, and to set aside specified core storage areas for each file. This method of controlling input-output operations, although quite functional, offers little that is new in the area of automatic I/O device control for relatively small systems. The Basic Operating System Assembler contains many of the features of the Operating System/360 Assembler, such as the free-form or fixed-form coding sheet, operands in the form of multiple terms and expressions, the use of self-defining terms, program sectioning by control segments, the use of symbols external to the current program segment, and the use of explicit and implied operand lengths. All of the machine instructions in the full System/ 360 instruction s.et can be handled by the BOS Assemblers, as well as 17 extended mnemonic codes to express conditional branching instructions. Up to 24 Assembler control instructions are provided, as well as several macros to enable the (Contd. ) 8/65 MACHINE ORIENTED LANGUAGE: BASIC OPERATING SYSTEM/360 ASSEMBLER . 14 420: 172. 141 Description (Contd.) .2 LANGUAGE FORMAT programmer to communicate with the core-resident Supervisor in its performance of tasks relating to interrupt handling, I/O requests, and program retrieval.. Certain Job Control functions are also available to control the Assembler's various types of output decks and lists, and the amount of work area available to the Assembler. .21 Diagram: . . . . . . . • . refer to System/360 Assembler Coding Form, Page 420:172.820. .22 Legend Name field: . . . . . . . . assigns a symbolic name to a statement. Operation field: . . . . . specifies a machine instruction or assembler instruction. Operand field: •....• identifies and describes data to be acted upon by the instruction. Comments field: ...• permits lines of descriptive information to be listed. Identification-Sequence field: . . . . . . . . . . . optional field which identifies the program and/or sequences statements. In order to perform diagnostic routines while exe- cuting a program under control of the Basic Operating System/360, the Autotest functions of the BOS may be used. Autotest is a group of diagnostic routines that the programmer can call for by a special set of control cards while writing in the Assembly language. The Autotest Control Program resides in core storage along with the Supervisor and the user's problem program; as a result, the computer used for testing the object program with Autotest diagnostic requests must contain at least 16,384 bytes of core storage. Autotest facilities for users of 8K disc-oriented systems have not been offered by IBM to date. It must be noted that when using the Autotest facilities in a 16K target computer environment, under control of the Basic Operating System/360, the user's problem program must be considerably smaller than 16K bytes of core storage in size. .23 Corrections: .•....• no special provisions. .24 Special Conventions • Either one Multiplexor or one Selector Channel.. .241 Compound addresses: . one term or an an arithmetic combination of terms (operators +, -, *, and/). .242 Multi-addresses: .••. separated by commas. .243 Literals: . . • . . . . . • preceded by = and specified as to type (e. g., hexadecimal, floating-point, binary, etc.); only one literal is permitted per machine instruction. Data constants are preceded by quotation marks, address constants by parentheses. .244 Special coded addresses: .•.•.•. * represents current value of the location counter. .245 Others Self defining terms: . the value of the term is inserted directly into the instruction and, as such, is independent of program relocation. The value is specified as to type and is enclosed by quotation marks. • One mM 2311 Disk Storage Drive. .3 LABELS • One disc work area. .31 General • One Card Read-Punch (1442 or 2540). • One mM 1403, 1404, or 1443 Printer. • The following Basic Operating System functions: Loader, Supervisor, Job Control, Assembler, and Macro Library routines, as necessary. Autotest facilities include the ability to Autopatch; i. e., to exchange, add, or delete instructions without reassembling. Various types of registers and core storage dumps are also provided, plus a listing of all program phases fetched by the problem program. Users of 8K System/360 configurations are provided with several independent diagnostic routines in lieu of the Autotest facilities. These routines include data file and core storage dumps. Core storage dumps can be called by the BOS Supervisor at abnormal end-of-job, without any operator intervention. These dumps can also be called for by the problem program at normal end-of-job, or by the operator at any time. To perform a program assembly, the BOS Assembler requires a System/360 with at least the following features and units: • 8, 192 bytes of core storage. • Standard instruction set.; .15 Publication Date: ..•. April, 1965. .16 Availabilitv Design level 4K: . . . . September, 1965. Design level 10K: . . . . December, 1965. © , 965 .311 Maximum number of labels: . . . . . . . . . . ? .312 Common label formation rule: . . . . . . . . yes. .313 Reserved labels: . . . . none. .314 Other restrictions: .•. none . . 315 Designators: . • . . . . . ampersand in first position of label indicates a prototype, model, or symbolic parameter statement as used in macro-instruction definition. .316 Synonyms permitted: . yes; EQU pseudo. AUERBACH Corporation and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360 420: 172.320 • 32 Universal Labels • 321 Labels for procedures Existence: ••••••• mandatory if referenced by other program segments. Note: Universal labels defined within a segment and referred to in another segment are identified by the ENTRY pseudo; referencing segments must identify universal labels by the EXTRN pseudo. Formation rule First character: ••• alphabetic. others: ••••••••• alphanumeric (A-Z, 0-9). Number of characters: •••••• 1 to 8 characters. • 322 Labels for library routines: •••••••• same as procedures. .323 Labels for constants: • same as procedures. • 324 Labels for files: •••• same as procedures (in macros only). • 325 Labels for records: •• same as procedures (in macros only). • 326 Labels for variables: • same as procedures. • 33 Local Labels • 331 Region: .••••••••• local to a program segment. • 332 Labels for procedures Existence: ••••••• mandatory if referenced by an instruction in the same segment. Formation rule First character: ••• alphabetic. Others: ••••••••• alphanumeric (A-Z, 0-9); no special characters and no embedded blanks. Number of characters: ••••••••• 1 to 8 characters. .333 Labels for library routines: •••••••• same as procedures. • 334 Labels for constants: • same as procedures. • 335 Labels for files: .••• same as procedures (in macros only). • 336 Labels for records: •• same as procedures (in macros only). • 337 Labels for variables: • same as procedures. •4 DATA • 41 Constants • 411 Maximum size constants Format used by coder Machine format hlteger Decimal: ••••..•• decimal (up to 16 bytes) in packed or unpacked format. Binary: •••••..•• binary (up to 256 bytes). Fixed numeric Decimal: ••••••••. decimal (up to 16 bytes) or binary (up to 8 bytes). Hexadecimal (up to 512 digits): ••..••. binary (stored 2 hexadecimal digits per byte). Floating numeric Decimal: •••••.•• binary (4 or 8 bytes). 8/65 Alphabetic: ••••..•• up to 256 characters (bytes) . Alphameric: .••.•.• up to 256 characters (bytes) . .412 Maximum size literals: •••••••.. same as constants; see Paragraph .411 above. .5 PROCEDURES • 51 Direct Operation Codes .511 Mnemonic Existence: ..••••. Number: ••.••••• Example: .••..••• .512 Absolute: .••••.••. • 52 mandatory. 142, plus 17 extended codes. A = Add. not permitted. Macro-Codes .521 Number available For macro-language control: •••.•••• 12. For supervisor communication: • . • 8 • For supervisor assembly: .••••.. 4 . For input-output control (IOCS): .•• 25 . • 523 New macros: .•.•••• placed in the macro library by using the catalogue function of the system librarian • .53 Interludes: . . • . . . . . none. · 54 Translator Control • 541 Method of control Allocation counter: •• pseudo-operation. Label adjustment: .• pseudo-operation. Annotation: •••••• pseudo-operation and special cards. • 542 Allocation counter Set to absolute: •••• START. Set to label: •••••• ORG • Step forward: ••••• ORG, CNOP • Step backward: •••• ORG. Reserve area: .••.. DS, ORG, LTORG • .543 Label adjustment Set labels equal: ••• EQU • Set absolute value: •• EQU. Clear label table: .•• none • • 544 Annotation Comment phrase: ••• * in first column . Title phrase: .••••• TITLE or START • .6 SPECIAL ROUTINES AVAILABLE .61 Special Arithmetic: .• most can be provided by the System/360 hardware and optional features. .62 Special Functions: ••• none announced to date. .63 Overlay Control .631 Facilities: •••••••• provided by linkage macros plus Basic Operating System/360 loader routine. .632 Method of call: ••••• program segmentation and linkage are indicated by pseudo-instructions. (Contd. ) 420: 172.640 MACHINE ORIENTED LANGUAGE: BASIC OPERATING SYSTEM/360 ASSEMBLER .64 Code Data Editing PUT: •••••••••••• moves next logical record of output file into the output buffer. OPEN: ••••••••••• repositions file to be opened to the beginning and checks label if present. CLOSE: •••••••••• writes contents of remaining buffers, processes trailer labels, and disposes of file as indicated . .641 Radix conversion: ••• machine instructions are provided to convert between binary and decimal. Code translation: .••• a "Translate" machine instruction is provided for codes of up to 8 bits. .65 Input-Output Control .651 • 652 • 653 . 654 .655 File labels: .•••••.• provided by BOS. Reel labels: •••.••. provided by BOS . Blocking: ••••..••. provided by BOS • Error control: ••.••.• provided by BOS. Method of call: .•••• macro-instructions. • 66 Sorting: •••••.•••• see Paragraph 420: 151. 12 for Sort/Merge Program description. • 67 Diagnostics: •••••.• provided by Basic Operating System's Autotest function; not included in the Assembler language. .7 LffiRARY FACILITIES .71 Identity: ••••.••••• System or Program Library. • 72 Kinds of Libraries: ••• expandable master. • 73 Storage Form: .••••• magnetic tape or disc. • 74 Varieties of Contents: .75 Mechanism core image library, macro library, and relocatable library, including system programs, the Librarian programs, IBM-supplied programs and user programs. .751 Insertion of new item: . System librarian routine. .752 Language of new item:. any acceptable to System/ 360. .753 Method of call: ••.•• macro-instructions. • 76 Insertion in Program • 761 Open routines exist: •• yes. .762 Closed routines exist: . yes. .763 Open-closed is optional: ••.•...•. yes. . 764 Closed routines appear once: . • • • . • yes. .8 MACRO AND PSEUDO TABLES .81 Macros (Partial List) Code ,I \, '-. Description WAIT: ••••.•••••• indicates the program cannot proceed until a certain condition is met; the operating system will initiate a new program. GET: .••••••...•. moves next logical record of input file into work area. © Description .82 Pseudos Description ICTL: •••••.•••.• specifies the format of the source program statements . ISEQ: .••...•.••.• causes the assembler to check the sequence of input cards. ORG: ••••....•.•• alters the setting of the location counter for the current control section. LTORG: . . . . . . • . • • specifies the location of the literal pool into which all literals thus far encountered are to be assembled • CNOP: •••.••.•..• aligns an instruction at a specifiC word boundary • XFR: ••••.•..•••• generates a card that defines the transfer point or entry point of another program segment or overlay. END: •••••••.•••• terminates assembly of a program. TITLE: •••••.••.• identifies the assembly listing and assembly output cards. EJECT: .•••••.••• causes next line of listing to appear at the top of a new page. SPACE: .•.•••••.. inserts one or more blank lines in the listing. PRINT: •••••••••• designates how much detail is to be included in the assembly listing . EQU: ••••.••••••• defines a symbol by assigning to it the attributes of an expression in the operand field . DC: •••.••••.•..• provides constant data in storage. DS: .••••••••••.• reserves areas of storage and assigns names to them. CCW: .••..•••.•.. defines and generates an 8-byte Channel Command Word. START: •.••.•••.• can be used to name the first control section of a program and specifies a tentative starting location for the program. CSECT: •••••••••• identifies the beginning or the continuation of a control section. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360 420: 172.820 .82 Description Pseudos (Contd.) EXTRN: •••••••••• identifies linkage symbols ~at are used by this program but defi.ned in some other program. USING: • • • • • • • • • • • indicates that one or more general registers are available for use as base registers. DROP: ••••••••••• specifies a previously available register that may no longer be used as a base. register. Description DSECT: •••••••••• identifies the beginning or resumption of a dummy section. ENTRY: •••••••••• identifies linkage symbols that are defined in this program but may be used by some other program. IBM IBM Syltlml3BO AII'lmblel' Cad.IDg PIIl'IIl t===~-----------------------'----------~~~~NS Ir.=~~--r-~~-f~~+-~-+'~."~o... o:~~m---~ I I I I I: !I I! I I'I ·, 1I i I Ii I: : : I i I I TI'i I I TTl I I: : I II i I i"1 II I ! I ,I I, II II I, ,i'l II I II Ii Figure 1: mM System/a60 Assembler Coding Form / 8/65 420: 173.100 IBM System/360 Machine Oriented Language BPS Assembler,s MACHINE ORIENTED LANGUAGE: BASIC PROGRAMMING SUPPORT ASSEMBLERS .1 GENERAL .11 Identity: Basic Programming Support (BPS) Assemblers: Tape Assembler with Input-Output Macros. Card Basic Assembler. . 12 Origin: . . . . . . . . . IBM Corporation . .13 References: . . . . . . IBM Publications: C24-3355-1, C28-6503-3, C24-3364-1, C24-3343-0. .14 Description Two assembler programs are offered by IBM with the System/360 Basic Programming Support package. The Basic Programming Support (BPS) Tape Assembler functions under control of a Supervisor which permits program relocatability, the use of input-output macro instructions, interrupt handling, and control of device error routines. The BPS Tape Assel.Ilbler is constructed on a 4K-byte design level and will function with any model System/ 360 with 8,192 bytes of core storage. The BPS Tape Assembler was released to the field in July, 1965. The Basic Programming Support Card Basic Assembler is a simplified and somewhat restricted version of the other System/360 assembly languages. Its program design level, like that of the BPS Tape Assembler, is the somewhat-constricting 4K bytes, and it will function with any model System/360 with 8,192 bytes of core storage. But since the BPS Card Assembler uses no intermediate work storage, such as tape or. disc, its facilities are greatly limited in comparison with those of the BPS Tape Assembler. It is significant to note that despite all the limitations of the BPS Card Basic Assembler, it was the only Assembler available to early IBM System/360 users. The BPS Tape Assembler is now being used in most small System/360 installations. • 141 Basic Programming Support Tape Assembler The machine requirements necessary to use the BPS Tape Assembler include 8K bytes of core storage, three tape units (at least one must be 9-track), one card reader (2540 or 1442), one printer (1403, 1404, 1443, or 1445), and one I/O channel (either Multiplexor or Selector). The Tape Assembler supports the standard card reader-punches and printers, as well as the IBM 2400 Series Magnetic Tape Units, the 1052 Printer-Keyboard, the 1015 Inquiry Display Terminal, and the 2671 Paper Tape Reader. © The BPS Tape Assembler contains virtually all of the language facilities offered with the Basic Operating System's 8K Disk Assembler. The Disk Assembler is described in detail in the previous report section (420:172); this coverage should be consulted for specific information regarding the assembly language facilities available with the BPS Tape Assembler. The Tape Assembler has the same subset relationship to the full Operating System/ 360 Assembler as that of the previously-mentioned 8K Disk Assembler. The macro-language library facilities of the BPS Tape Assembler are both comprehensive and flexible. The user can insert and alter macro-routines in the library whenever desired, although not during the actual assembly operation. The input-output control macro-instructions (lOCS) should facilitate the opening and closing of files, blocking and unblocking of logical records, checking and writing of tape labels, and control of I/O device error routines. Any input-output channel configuration of up to one Multiplexor and two Selector Channels can be controlled by the IOCS routines. Since these routines, as well as other macro-facilities, are under control of the Basic Programming Support Supervisor, they can be called into core storage as required and overlaid whenever they are not needed. Nevertheless, the control routines that must reside in core storage will restrict the size of object programs that can operate in the control environment of an 8K system to a maximum of between 4K and 5K bytes of storage for each program phase. Program diagnostics can be utilized by calling on the Autotest functions of the BPS Tape Control System. However, as noted in the description of the BOS Disk Assembler, Autotest requires a minimum of 16K bytes of core storage to perform its operations. Therefore, if 16K bytes of core storage are not available for program testing, then the only available diagnostics are standard data file and core storage dumps. The System/360 Basic Programming Support Tape Assembler can assemble programs written in the BPS Card Basic Assembler language (described below) and the Basic Operating System's 8K Disk Assembler language . . 142 Basic Programming Support Card Basic Assembler The BPS Card Basic Assembler (hereafter referred to as the Basic Assembler) is a two-phase program that is loaded from punched cards'. Magnetic tape, if available, can be used as intermediate work storage for the Basic Assembler in order to speed up the assembly process. The Basic Assembler will operate on any System/360 system that has 8K bytes of core storage, the standard instruction set, and one IBM 1442 Model 2 or 2540 Card Read Punch. An IBM 1443 or 1403 Printer and an IBM 1052 Printer-Keyboard can be used to provide program listings. 1965 AUERBACH Corporation and AUERBACH info, inc. 8/65 IBM SYSTEM/360 420: 173. 142 • 142 Basic Programming Support Card Basic Assembler (Contd.) The Basic Assembler language is not a unique assembly language, but is in fact a proper subset of the larger Operating System/360 Assembler lanquage. However, the facilities of the Basic Assembler language are significantly restricted. Simplicity of programming has been the laudable goal in limiting the Basic Assembler'S facilities. By IBM's admission, the language features of the Basic Assembler "are designed to greatly simplify the writing of programs for the IBM System/360. By avoiding unnecessary complexity, the language features reduce program errors and, consequently, the time required to produce a program that is suitable for execution. ,,* While refreshing in its lack of complexity, the Basic Assembler possibly goes to an extreme in its omission of all macro-facilities. The programmer must provide not only his own input-output routines and the associated error routines, but also whatever machine interrupt routines might be required. The primary purpose of the Basic Assembler was to provide the first System/360 users with an assembly program, regardless of how restricted. The object program can be produced in absolute or relocatable form. Symbols that are external to the present program can nonetheless be utilized. The Relocatable Loader program can link related object program segments just prior to execution. The Absolute Program Loader loads object programs into the core storage locations specified in each text card of the object deck. The principal features of the Basic Assembler include the ability to translate all System/360 machine instructions and to use up to 15 assembler control instructions. Data constants can be represented by alphameric characters and hexadecimal or decimal digits, with conversions to internal machine lanquage performed by the assembler. Assembly-language symbolic labels can reference relocatable or absolute data, and self-defined constants can be included in many instructions. Expressions with multiple terms - connected by arithmetic operators are also perIllitted in simple or compound form. A special reassembly facility permits time-saving during program reassembly operations by retrans*IBM Publication C28-6503-3: IDM System/360 Basic Programming Support Basic Assembler Language. lating only the source cards which are in error . Object programs can be patched at execution time by inserting "replace" cards with storage addresses specified. In addition to the lack of all macroinstructions, the principal deficiences of the Basic Assembler with repsect to the other System/360 assemblers can be summarized as follows: • The use of literals is prohibited. • The insertion of constants in binary representation is not possible. • Continuation source cards containing operands, constants, or comments that cannot fit on one card are not permitted. • The capacity of the symbol table is greatly restricted: 8K system - 275 symbols; 16K system - 1299 symbols; 32K system - 3347 symbols. • The maximum size of a character constant is limited to 16 characters. • Scale and exponent modifiers of constants are not permitted. • More than one related program segment cannot be assembled at one time. • Only one general register can be specified for use by the Assembler in the formation of storage addresses. It should be noted that programs written in the Basic Assembler language are acceptable to the other Basic Programming Support, Basic Operating System, and Operating System Assemblers. Similarly, source programs written in these other System/360 assembly languages are theoretically acceptable to the Basrc Assembler, provided, of course, that they do not use any of the language features that are not implemented in the Basic Assembler. It is interesting to note that the Basic Assembler will also accept programs written for the IBM System/360 Model 20 Basic Assembler, except for certain Model 20 machine instructions that are not present in the larger System/360 models. The mnemonic operation codes of the incompatible Model 20 instructions are as follows: BAS, BASR, CIO, HPR, SPSW, TIOB, and XIO. / 8/65 420: 191.1 00 IBM System/360 Operating Environment Operating System/360 OPERATING ENVIRONMENT: OPERATING SYSTEM/360 .1 GENERAL · 11 Identity: .. · 12 Description . . . . Operating System/360. The IBM Operating System/360 consists of a comprehensive set of control and processing programs integrated within a supervisory network to provide coordinated and continuous operation of the System/ 360 computer system. The Operating System/360 is designed in a modular fashion, in that additional control facilities can be assembled into the system as desired, limited only by the amount of core and auxiliary storage available to the installation. Disc file and/or magnetic drum storage devices and a minimum of 32,768 bytes of core storage are prerequisites for utilization of the Operating System/360. Operating System/360, the language translators can utilize any available control services of the Operating System. The currently-announced language translators available with the Operating System/360 include the following: • Assembler: A symbolic assembly system with impressive addressing and sectioning flexibility, and with extensive facilities for the use of literals and macro-language. The Assembler is available at the 12K, 44K, and 200K levels; see Section 420: 171 for language descriptions and assembly times. • FORTRAN IV: The 200K version closely resembles the IBM 7090/7094 FORTRAN IV language, which is described in Section 408: 162. The 200K Operating System/360 version includes few restrictions and several useful extensions to the original FORTRAN IV language. A 12K version of the language is also offered with the Operating System, for use in a 32K-byte minimum core storage environment. This language is a restricted subset of the 200K FORTRAN IV offering no complex, logical, or double precision facilities. Both of the Operating System/ 360 FORTRAN IV languages are described in Section 420: 161. • COBOL: Two versions of the COBOL language have been announced for use with the Operating System/360: a 12K ,estricted version for compilation with a minimum of 32K bytes of core storage, and a 44K version that includes nearly all of the required features of COBOL-61 plus some valuable extensions (a SORT verb, a Report Writer, the MOVE CORRESPONDING option, and debugging facilities). The Operating System/360 COBOL languages are described in Section 420: 164. • Programming Language I (PL/I): Available at the 44K and 200K Operating System/360 program design levels, PL/I is designed to offer a single set of language facilities amenable to both scientific and commercial computer users. Some features include computational facilities similar to FORTRAN, string manipulation, and dynamic storage allocation. Section 420: 167 presents a detailed report on PL/I. • Report Program Generator (RPG): The Operating System/360 RPG, available in a single version at the 12K program design level, requires a minimum of 32K bytes of core storage. In addition to the standard report writer features, the Operating System/360 RPG has the ability to operate on· input data from disc storage, and offers the facilities to perform table-lookup operations and to insert routines written in other source languages. Please refer to Section 4~0: 151 for further information on the Report Program Generator. Two basic design levels for the Operating System/ 360's control programs have been announced by IBM: • • A 12K version designed to provide 32K and larger systems with simple stacked-job processing, input-output device control, operator communication, and service functions for machine and programming errors. If core storage is increased to 65K or 131K bytes, additional control functions can be added to the basic design if data transcriptions are to be run concurrently with a main program or if full telecommunications operations are desired. A 200K basic design level designed to function in an environment of 262K bytes of core storage, providing full multiprogramming capabilities (the processing of two or more main programs concurrently), multiprocessing capability (linking the facilities and processing power of two or more central processors), the facility to control all elements of a computer processing job from a remote location, and the techniques and routines necessary to control time-shared operation of a central computer system. According to IBM, the 12K version of the Operating System/360 will be delivered during the fourth quarter of 1965. The full Operating System is not expected to be delivered until the second quarter of 1966. · 121 Processing Programs I ~ The processing programs provided and controlled by the Operating System/360 include language translators, service programs, and the user's own problem programs. The language translators are designed at three basic design levels: 12K, 44K, and 200K. The smaller versions are in all cases proper subsets of the larger, complete language versions. As with all programs controlled by the © 1965 AUERBACH Corporotion and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360 420: 191.121 module. If the combined load module exceeds the limits of available core storage, the Linkage Editor segments the program as necessary and provides the linkages to the overlay segments necessary for proper program execution. Optional output of the Linkage Editor program is a list of all processed control statements and a module map of each program control section and overlay that has been combined into the single program load module. If program segmenting is neither desired nor required by storage restrictions, the Linkage Editor's functions can be bypassed. The Linkage Editor operates as a processing program and is available in design levels of 18K and 44K bytes. • 121 Processing Programs (Contd.) In addition to the language translators, a variety of service programs are included among the processing programs available with the IBM Operating System/360. The most noteworthy of the service programs provided is the Linkage Editor, a sort of intermediate assembler. The principal function of the Linkage Editor is the combining of separately assembled or compiled "object modules" of a program into one "load module" in a format suitable for loading and execution under control of the Operating System. Programming of individual control sections by several different programmers thus becomes entirely feasible, and errors in one segment will not necessitate recompilation of the entire program. IBM has provided us with estimated Linkage Editor processing times based on three sample System/ 360 configurations. Table- I describes these sample configurations and indicates the several timing factors that must be summed to arrive at a total time for a Linkage Editor job that is performed in conjunction with the Operating System/360. Guided by programmer-supplied control card statements, the Linkage Editor reconciles and links into one dictionary the information contained in the External Symbol Dictionary and the Relocation Dictionary of address constants that are produced with every assembled or compiled object An IBM-supplied timing example shows the estimated time requirements to perform a Linkage Editor (18K version) job that consists of combining TABLE I: LINKAGE EDITOR PROCESSING TIME FACTORS Sample Configurations Configuration Components Configuration A System/360 Model 30 with 32K bytes of core storage, one Multiplexor Channel, one Selector Channel, one 2540 Card Read Punch, one 1403 Printer (Model 3), two 2311 Disk Storage Drives, and the Operating System/360's sequential scheduler. * Configuration B System/360 Model 50 with 65K bytes of core storage, two Selector Channels, two 2311 Disk Storage Drives, and the Operating System/ 360's priority scheduler. ** Configuration C System/360 Model 65 with 262K bytes of core storage, two Selector Channels, two 2301 Drum Storage units, four 2311 Disk Storage Drives, and the Operating System/360's concurrent job scheduler. ** Time in Seconds Estimated Timing Factors For Linkage Editor initiation For each Linkage Editor process For each library access For each object program combined For each byte of object programs combined For each 2, 048-byte control section in the object programs For each byte of the combined loadable object program 44K Linkage Editor, Configuration B 44K Linkage Editor, Configuration C 18.3 12.8 2.87 5.4 2.0 3.9 1.4 1.6 0.32 0.75 0.37 0.088 0.0004 0.00009 0.00002 0.46 0.088 0.045 0.00084 0.00018 0.0001 18K Linkage Editor, Configuration A * Control card input is assumed to be entered through the Card Read Punch, .and program input and output are assumed to be read from and written to disc storage. ** Input and object-program output are assumed to be read from and written to disc storage. (Contd. ) 8/65 420: 191.122 OPERATING ENVIRONMENT: OPERATING SYSTEM/360 . 121 Processing Programs (Contd.) six object program modules stored in two on-line libraries on sample Configuration A. In this example, it is assumed that the size of the object program load module will be 10,000 bytes. The estimated time in seconds to perform this Linkage Editor job, reading the object program modules from disc storage and writing the combined load module to disc storage, is 37.6 seconds. The other service programs provided by the Operating System/360 are described in Section 420: 151, Problem Oriented Facilities. Routines included in this group of Operating System/360 facilities are two generalized Sort/Merge programs, the Test Translator (TESTRAN) diagnostic routines, data transcription and data set file maintenance routines, an IBM 7090/7094 Support Package, and Simulation programs for IBM 1410, 7010, 7070, 7074, 7080, 7090, and 7094 computer systems. . 122 Control Programs The remainder of this report section is devoted to the Control Programs of the Operating System/360. These programs can be logically grouped into three major categories: Supervisor, Job Scheduler, and Master Scheduler. Each category includes many distinct control functions. All control functions are governed and monitored by the Supervisor, just as user problem programs are controlled, yet they are not considered to be integral parts of the Supervisor itself. The unique mix of control programs selected for use in a given installation's Operating System will be determined by the amount of available core storage and the number of direct-access devices available for residence of both the processing and control programs (including users' problem programs), and data set files and their catalogues. Consult Tables III through VI of this report section for an indication of configuration requirements necessary to support the various functions of the Operating System/360. The paragraphs that follow indicate the various functions of each of the principal categories of Operating System/360 executive control. Supervisor: The Supervisor is the control center of the complex of Operating System/360 facilities. To perform its coordinating functions, the Supervisor must receive control of the central processing unit py means of interrupts. The interrupts can result either from specific requests for supervisory services from another part of the operating system or from a, problem program, or from automatic signals generated by the.hardware to indicate such conditions as the end of an I/O operation or a device malfunction. Through use of privileged instructions, the Supervisor - once summoned attempts to continue the jobs being processed by entering error routines and abnormal condition routines, as well as by attempting to reassign input-output units. I \ "- A principal function of the Supervisor is the scheduling and controlling of all input-output operations (referred to collectively in IBM publications as "data management"). Broadly stated, data management control enables all types of "data sets" (programs and input-output information) to be systematically organized and stored on auxiliary storage devices, and to be retrieved, processed, and re-stored on external storage devices at the conclusion df the data processing task. Using seven basic data access techniques that are a major expansion of the earlier IBM Input-Output Control Systems (lOCS) , the Supervisor controls input-output operations according to. file and storage descriptive information supplied by the programmer and by Job Control statements (described below) formulated at program execution time. The seven data access methods, designated according to the characteristics of the data set to be accessed, are the Queued Sequential Access Method (QSAM), the Basic Sequential Access Method (BSAM), the Basic Partitioned Access Method (BPAM), the Queued Indexed Sequential Access Method (QISAM), the Basic Indexed Sequential Access Method (BISAM), the Basic Direct Access Method (BDAM) , and the Queued Telecommunication Access Method (QT AM). These various methods of automatic input-output control perform the following functions: reading and writing data; blocking and unblocking logical records; oyer lapping data transfers with processing; reading, writing, and checking standard labels on storage volumes and data sets; detecting error conditions and correcting them when possible; and providing linkages to userwritten device error-routines and non-standard label routines. It should be noted that the practicality, efficiency, and overall effectiveness of the so-called automatic I/O routines of the Operating System/360 are contingent upon the skill with which the associated data sets are organized, and upon the general competence of the System/360 programmer who specifies buffer and storage sizes and sequences of I/O operations. Indiscriminate use of facilities at hand can lead to a great waste of external storage space and to extremely inefficient program execution. In addition to the I/O facilities described above, the Operating System/360 Supervisor performs various other functions. A partial listing includes: allocating main storage space required by programs during their execution; sharing common areas of main storage among various routines; loading object programs into main storage; controlling the concurrent execution of programs and routines; and providing timing services and other accounting information required for indiVidual job and total system logging. Job Scheduler: Job scheduling within the Operating System/360 is controlled by statements expressed in a "job control language," which the programmer inserts in the input stream at the time of program execution. The job control statements specify the programs to be executed, the avallable inputoutput configuration, input-output disposition, and data set characteristics. Specific input-output devices can also be specified by means of these statements. The Job Scheduler provides for a continuous flow of jobs through the computer system. It consists of three principal functions: reader/interpreter, © 1965 AUERBACH Corporotion and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360 420: 191. 130 . 122 Control Programs (Contd.) can inform the system of changes in I/O configuration and can request information on the status of the overall system. The Master Scheduler also initializes the Job Scheduler at the operator's command. All system messages to the operator are also controlled by the Master Scheduler. initiator /terminator, and output writer. After the job control statements are read and analyzed, the Job Scheduler prepares program control tables for each 'program, ensure's that the control information is queued in priority sequence (if so specified), and ensures that all the necessary I/O devices are allocated. The Job Scheduler then passes control to the Supervisor to begin program execution. The terminator performs standard finalizing functions at the conclusion of the job step. Output data sets can optionally be stored on a direct-access device for transcription at a later time to a system printer or punch. Several versions of the Job Scheduler are available, offering facilities that range from processing jobs in a simple stacked mode to true multiprogramming and time-sharing operations. When more than one job is scheduled for simultaneous execution (assuming the presence of the necessary hardware configuration), the Job Scheduler controls the dynamic allocation of the system's resources, the switching of central processor control from one task to another according to established priorities, and main storage roll-out when necessary. These functions of the Job Scheduler are referred to as "task management" facilities. IBM estimates that a minimum of 30K to 40K bytes of core storage will be required for Job Scheduler and Supervisor control functions in support of multiprogramming operations. The specific job control capabilities offered to the operator by the Master Scheduler include cancelling or holding a scheduled job, changing job priorities, varying the status of input-output devices, entering information into the system log, and requesting log print-outs. The various processing and control functions of the Operating System/360 described above require the use of considerable core storage and auxiliary direct-access storage devices. Tables III through VI are designed to show the amount of storage and peripheral equipment required for specific Operating System functions and operational objectives. .13 IBM has provided us with Job Scheduler timing estimates on the three sample System/360 configurations shown in Table 1. Table II indicates the timing factors that must be summed to arrive at a total time for a Job Scheduler operation that is performed in conjunction with the Operating System/ • 14 360. · 15 Master Scheduler: The last of the three principal control functions of the Operating System/360 is the .2 Master Scheduler, consisting of the routines necessary to control two-way communication between the · 21 System/360 operator and the Operating System. By issuing commands to the Master Scheduler via · 211 such input-output devices as the 1052 PrinterKeyboard or the 2250 Display Unit, the operator Availability Basic monitor functions (2400 Series Tapes, 2302, 2311, 2314, 2671, 1402, 1403, 1443, and 2201): . . . . 4th quarter, 1965. Time-sharing and data communication functions (2701 and 2702 with 1030, 1050, 1060, Telegraph Terminal Controls and 2250 Modell, 7340, 7320, ,2301, 2302, and 2321): •... 2nd quarter, 1966. Originator: •....••• IBM Corporation• Maintainer: . . . . . • . . IBM Corporation. PROGRAM LOADING Source of Programs Programs from on-line libraries: . . . . • . • . System Program Library on direct access device. TABLE II: JOB SCHEDULER TIMING FACTORS Time in Seconds Estimated Timing Factors For each processing job to be scheduled For each program within the lob For each data set or data control definition statement * Priority Scheduler, Configuration B** Priority Scheduler, Configuration C** 4.6 2.8 0.46 6.7 4.5 0.66 1.4 1.1 0.35 Sequential Scheduler, Configuration A* / See Table I for configuration components; job control cards are assumed to be entered through the Card Read Punch. ** See Table I for configuration components; job control card data is assumed to be read from disc storage. (Contd.) 8/65 420: 191.211 OPERATING ENVIRONMENT: OPERATING SYSTEM/360 TABLE III: FIXED CORE STORAGE REQUIREMENTS IN TYPICAL OPERATING SYSTEM/360 COMP VTING SITVA TIONS Control Program Storage in Bytes* Control Program Operational Mode Computer System Input-Output Device Configuration Basic I/O Total Bytes Support of Core Storage Storage Rein Bytest quired Sequential scheduling of jobs in a non-multiprogramming environment. 11,882 One Multiplexor Channel One Selector Channel Two 2311 Disk Storage Drives One card read punch One printer One operator's console (Ten input-output requests can be queued on channels) 1,170 12,992 Sequential scheduling of two concurrent jobs, with each program alternatively occupying core storage; one of the jobs is a Telecommunications task. 14,860 One Multiplexor Channel Two Selector Channels Four 2311 Disk Storage Drives Four magnetic tape drives One card read punch One printer One operator's console One 2701 Data Adapter Unit One communications line group with four lines (Ten input-output requests can be queued on channels) 2,111 16,971 Priority scheduling of two cohcurrent jobs in a multiprogramming environment, with each program occupying a partition of storage; one of the jobs is a Telecommunications task; input reader /interpreter is included. 19,326 One Multiplexor Channel Two Selector Channels Four 2311 Disk Storage Drives Four magnetic tape drives One card read punch One printer One operator's console One communications line group with four lines (Ten input-output requests can be queued on channels) 2,111 21,437 Single job scheduling with 20 input entries on the work queue catalogued in main storage; priority scheduling, interval and job step timing are included. 33,186 One Multiplexor Channel Two Selector Channels Four 2311 Disk Storage Drives One 2302 Disk Storage Drive Six magnetic tape drives One card read punch One printer One operator's console (Thirty input/output requests can be queued on channels) 2,638 35,824 Multiprogramming of three jobs with a variable number of tasks queued on disc storage and selected by priorities; interval and job timing, and input reader/interpreter, and an output writer (considered to be operating) are included. 48,003 One Multiplexor Channel Two Selector Channels Four 2311 Disk Storage Drives One 2302 Disk Storage Drive Three magnetic tape drives One card read punch One printer One operator's console (Twenty input-output requests can be queued on channels) 2,320 50,323 * In addition to the control functions tabulated in Table III, the overlay supervisors require from 400 to 800 bytes, and the Test Translator control requires from 3,600 to 4, 100 bytes of core storage. t Logical record handling will require another 2K to 3K bytes of core storage, depending upon the data management techniques utilized in the problem program. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 420:191.212 IBM SYSTEM/360 TABLE IV: AUXILIARY STORAGE REQUIREMENTS FOR OPERATING SYSTEM/360 SYSTEM PROGRAM RESIDENCE Number of Tracks Required 2311 Disk Storage Drive 2302 Disk Storage 2301 Drum Storage Control Program including all functions for job, task, and data management (except indexed sequential data access method routines, and the interpreter for TESTRAN) 228 153 37 Basic indexed sequential access method (BISAM) and queued indexed sequential access method (QISAM) 100 67 17 System Programs Assembler (12K) 67 45 11 Assembler (44K) 49 33 8 Assembler (200K) 100 67 16 Macro Library 463 329 88 COBOL (12K) 91 61 15 COBOL (44K) 96 70 18 FORTRAN IV (12K) 45 33 8 FORTRAN IV (200K) 77 52 13 Linkage Editor (18K) 13 9 3 . Linkage Editor (44K) 16 11 3 36 31 8 291 195 47 23 15 4 Repor:t Program Generator (12K) Sort/Merge (12K) TESTRAN interpreter · 212 Independent .312 Occupation of working programs: . . . . . . . . in System Program Library storage: • . . • • . . . . actual load addresses are or from unit record equipassigned by Job Scheduler ment, magnetic tape, or at load time. direct access device . . 213 Data: . . . . . . .. . .. as required by users' pro• 32 Input-Output Units grams. · 214 Master routines: . . . . System Program Library .321 Initial assignment: ... actual units are assigned by (on disc or drum). the operating system . . 322 Alteration: . . . . . . . . provided by the operating · 22 Library Subroutin es: .. Supervisor provides autosystem or by the operator. matic library call facility. .323 Reassignment: . . . . . . provided by the operating system or by the operator. • 23 Loading Sequence: ... sequential loading of programs as provided by .4 RUNNING SUPERVISION operator on system's direct access device or .41 Simultaneous Working: controlled by operating on card reader. system input-·output control programs . .3 HARDWARE ALLOCATION .31 Storage · 311 Sequencing of program for movement between levels: . . . . . . Linkage Editor provides for multiphase linking of "control sections" (independent and relocatable parts of segments). .42 Multiprogramming: ... controlled by Job Scheduler in operating system. . 43 Multi-sequencing: . . . . controlled by the Supervisor in 200K Operating System (operates an attached peripheral computer and transmits stacked jobs and results between computers). (Contd.) 8/6~ OPERATING ENVIRONMENT: OPERATING SYSTEM/360 420: 191.430 TABLE V: CORE STORAGE REQUIREMENTS FOR VARIOUS OPERATIONAL OBJECTIVES Objective ~,., Core Storage Required, Bytes Basic Limitation To run under control of the Operating System/360 32K Design level of minimum Operating System/360 To stack jobs one after another on the system input device 32K Design level of required Operating System control programs To operate .a simple inquiry system either alone or in parallel with a suitable small main program 32K Design level of required Operating System control programs To run restricted FORTRAN or COBOL compilations 32K Design level of basic compilers To operate a simple inquiry system in parallel with a 12K level program, such as a compilation 32K Space limitations To operate a data communication system either alone or in parallel with a main program 32K Design level of required' Operating System control programs To run compile-and-execute operations, with library calls in the compiled program being handled automatically 64K Design level of required Operating System control programs To run peripheral programs such as card-to-tape conversions in parallel with a single main program 64K Design level of required Operating System control programs To run a comprehensive COBOL compilation 64K Design level of full COBOL compiler To run a comprehensive FORTRAN IV compilation 256K Design level of full FORTRAN IV compiler To run a System/360 installation from a remote location 256K Design level of required Operating System control programs To allow direct connection between two computer systems 256K Design level of required Operating System control programs To operate in a full multiprogramming environment 256K Design level of required Operating System control programs - © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 420: 191.431 ·IBM SYSTEM/360 TABLE VI: MINIMUM CONFIGURATION REQUIREMENTS FOR OPERATING SYSTEM/360 PROGRAMS System Programs and Storage Requirements (1) Assembler: 12K Program Library (4) Input-Output Intermediate Storage (4) Instruction Set 4 tapes or 1 disc file Standard 4 tapes or 1 disc file or 1 drum 3 tapes or 1 disc file or 1 drum Standard 4 tapes or 1 disc file Scientific (2) 2 tapes or 1 disc file or 1 drum Scientific (2) 4 tapes or 1 disc file Commercial (3) 1 disc file or Ldrum 2 of card, tape, printer units or 1 disc file same as above, or 1 drum 4 tapes or 1 disc file or 1 drum Commercial (3) 1 disc file or 1 drum same as above, or 1 drum Scientific (2) 1 disc file or 1 drum same as above, or 1 drum 2 tapes or 1 disc file or 1 drum 1 tape or 1 disc file or 1 drum Report Program Generator: 12K 1 disc file 2 of card, tape, printer units or 1 disc file 4 tapes or 1 disc file Standard Utility Programs: 12K 1 disc file 2 of card, tape, printer units or 1 disc file depends on application Standard 1 disc file or 1 drum card, tape, disc file, or drum 3 tapes or 1 disc file or 1 drum Standard 1 disc file 2 of card, tape, printer units or 1 disc file. same as above or 1 drum 44K 1 disc file or 1 drum 200K 1 disc file or 1 drum same as above 1 disc file 2 of card, tape, printer units or 1 disc file same as above, or 1 drum FORTRAN IV: 12K 200K 1 disc file or 1 drum COBOL: 12K 1 disc file 44K PL/I: 44K 200K Control Programs Standard Scientific (2) (1) At least 13K additional bytes are required for the basic Control Programs. (2) Floating-Point Arithmetic option is required. (3) Decimal Arithmetic option is required. (4) A single disc file or drum can provide both program library storage and· intermediate storage. (Contd.) 8/65 420: 191.440 OPERATING ENVIRONMENT: OPERATING SYSTEM/360 .44 Errors, Checks, and Action · 632 Change of normal progress: . . . . . . Check or Interlock Loading input error: Action I/O equipment check Allocation impossible: hardware check In-out error single: In-out error persistent: · 45 optional interrupt. optional interrupt. I/O equipment check optional interrupt. I/o equipment check check check check check check check optional interrupt. optional interrupt. interrupt. interrupt. interrupt. interrupt. interrupt. interrupt. hardware check interrupt. Storage overflow: hardware check Invalid instructions: Arithmetic overflow: Underflow: Invalid operation: Improper format: Invalid address: Overwriting of forbidden area: hardware hardware hardware hardware hardware hardware Restarts . 451 Establishing restart points: • . . . . . . . . . checkpoint facilities are provided to record the current status of a program on an auxiliary storage device. · 452 Restarting process: .• can be initiated by operator or by problem program. .5 PROGRAM DIAGNOSTICS: . called in from system library by Supervisor as requested by problem program. •6 OPERATOR CONTROL . 61 Signals to Operator · console typewriter or display device. · 611 Decision required by operator: . . . . .. . supervisor-call interruption. . 612 Action required by operator: . . . . . . . . supervisor-call interruption. • 613 Reporting progress of run: • . . . . . . . . . log of errors, log of machine time. .7 LOGGING .71 Operator Signals: . . . . provided by Operating System. .72 Operator Decisions: . provided by Operating System. · 73 Run Progress: . • .. . provided by Operating System. .74 Errors: · provided by Operating System. ..75 Running Times: .76 Multiprogramming Status: . . . . . • . . . . provided by Operating System as requested by the operator. .8 PERFORMANCE .81 System Requirements .. provided by Operating System, normally by use of the Interval Timer. .811 Minimum configuration: . • . . . . . . . . . • Simple Stacked-Job Processing - 32K . Extended Stacked Job Processing (error procedures and "load-and-go" facility - 64K. Simple Inquiry - 32K. Telecommunications - 32K. Multiprogramming - 256K. Multiprocessing - 256K. All programs require the Program Library to be on disc file or drum. System Generation and Loading require 3 magnetic tapes and one direct access device • .812 Usable 'extra facilities: . . . . all . .813 Reserved equipment: .. core storage occupied by the control routines and operating system programs . System Program Library lmit. · 82 System Overhead • 62 Operator's Decisions: . console typewriter or display device. .821 Loading time: . . . . . . depends upon input device . · 822 Reloading frequency: .. control programs normally remain in core storage . . 63 Operator's Signals .83 · 631 Inquiry: ... . . . .. Program Space Available: .. , . console typewriter or display device. emergency-interrupt button on console. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. · minimum control program requires 13K bytes of main storage; the remainder is available for program use. 8/65 IBM SYSTEM/360 420: 191.840 . 84 Program Loading Time: •....••••.. IBM has provided us with -. estimated program fetch times for the three sample System/360 configurations shown in Table 1. Table VII shows the factors that must be summed to arrive at a total fetch time. It is assumed that the programs are fetched from disc storage residence and loaded into core storage. • 85 Program Performance: . . . . . . . . timing estimates for the Linkage Editor, Job Scheduler, and Program Fetcil and Loader are listed in Tables I, II, and VII within this report section. Overhead considerations related to the use of the other supervisory services of the Operating System/360 have not been made available to date. TABLE VII: PROGRAM FETCH TIMING FACTORS Time in Seconds Estimated Timing Factors Configuration A* Configuration B* Configuration C* : For program fetch initialization For each 2048-byte program block fetched For each byte of the fetched program * See Table I for configuration components. 8/65 12.3 0.026 0.000008 8.9 2.06 0.026 0.018 0.000008 0.000001 420: 192.100 IBM System/360 Operating Environment Basic Operating System/360 OPERATING ENVIRONMENT: BASIC OPERATING SYSTEM/360 .1 GENERAL . 11 Identity: . . . . • . . . • . Basic Operating System/360. .12 Description The IBM Basic Operating System/360, announced in March 1965, consists of an integrated set of control and processing programs designed to provide users of limited-storage System/360 processor models with some of the system-monitor and language facilities that were previously available only to users of large-scale System/360's through the Operating System/360 (Section 420:161). The control provisions offered with the Basic Operating System (BOB) are limited in their scope, yet they serve a useful function in the automatic handling of program/machine interrupt conditions and inputoutput device control. Two basic .program design levels have been announced by IBM for implementation of the Basic Operating System/360: • A 4K control-program version is designed to provide users of 8K and larger disc-fileoriented systems with simple stacked-job operation and input-output control. The 4K level of the Basic Operating System requires a minimum of one IBM 2311 Disk Storage Drive for system residence of all control and processing programs. This disc-oriented 4K version of the Basic Operating System can support any I/O channel configuration of up to one Multiplexor Channel and two Selector Channels. Special versions of the Assembler and Report Program Generator language, as well as several general service programs described below, will be available for use with the 4K Disk Basic Operating System. • A 6K control-program version for residence on either disc or tape is offered to users of 16K and larger systems. The use of this version of the Basic Operating System in its minimum 16K-byte storage environment offers simple operator-system communication (via the IBM 1052 Printer-Keyboard and/or 1015 Display Unit) and increased input-output device flexibility, in addition to the simple stacked-job processing offered in the smaller version. A larger range of improved language facilities is also available at the 16K Basic Operating System level, including restricted versions of FORTRAN, COBOL, and PL/I. Operating in an environment of 32K bytes of core storage, the Tape and Disk Resident 16K Basic Operating System can control limited multiprogramming operations, although the overhead requirements of the control functions will render the cost of Tape Resident multiprogramming prohibitively high. The extent of BOB-controlled multiprogramming in a 32K environment is limited to concurrent processing of one problem program (user-written or an IBM 10K language compiler) and up to two IBM-supplied data transcription routines. Remote-terminal processing can be supported by the 16K Disk Resident Basic Operating System when a minimum of 32K bytes of core storage is available. The control functions of the BOS will respond to the inquiry, permit the transaction to be processed, and transmit the reply message prior to returning control to the problem program in the "background." The co-existing background program (which runs whenever no inquiry is being processed) can be a 10K language translator or a disc-resident problem or utility program. According to IBM, the 4K disc-oriented Basic Operating System control functions will be delivered during the third quarter of 1965. The 6K Tape and Disk Resident control functions are expected during the fourth quarter of 1965. The control routines necessary to supervise multiprogramming and remote terminal processing, however, will not be available until the second quarter of 1966. . 121 Processing Programs The processing programs provided and controlled by the Basic Operating System/360 include language translators, service programs, and the user's problem programs. The language translators are designed at two basic design levels: 4K and 10K bytes. Like all programs controlled by the Basic Operating System/360, the language translators can utilize any of the available supervisory services. The language translators available with the Basic Operating System/360 include the following: • Assembler: A symbolic assembly system with good address modification and macrolanguage facilities, available at the 4K and 10K program design levels. These versions of the System/360 assembly languages are described in Section 420:172. • FORTRAN IV: One FORTRAN IV compiler is available for use with the Basic Operating System - a 10K version designed for use with the Tape or Disk Resident control functions. The language encompasses the features listed in the proposed ASA Basic FORTRAN. The 10K FORTRAN language, described in Section 420:162, is nearly the same as the 12K design-level language supplied with the Operating System/360 (see report Section 420:161). • COBOL: The COBOL compiler offered with the BOS is of the 10K design level, requiring a minimum of 16K bytes of core storage and one IBM 2311 Disk Storage Drive or three IBM 2400 © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 I~M 420: 192.121 .121 Processing Programs (Contd.) Series tape units for compilations. This version of the COBOL language is described in Section 420:165. • • Programming Language I (PL/I): Expected to appear in the first quarter of 1966, the 10K PL/I compiler can be used on any 16K discfile or three-tape System/360 equipped with the Floating Point and Decimal Arithmetic optional features. The facilities and features of mM's latest language, designed for both commercial and scientific users, are described in Section 420:167. Report Program Generator (RPG): Two versions of the RPG are offered for use with the Basic Operating System/360:a disc-oriented generator for 8K System/360's and an expanded version for use with 16K tape or disc systems. In addition to standard report writing and file maintenance capabilities, the BOS Report Program Generator promises several additional facilities, such as table-lookup control and multiple input-output device options. Further information about the RPG is available in Section 420:152. In addition to the language translators, a variety of service programs are included among the processing programs available with the Basic Operating System/360. Significant among the service programs are the Linkage Editor, Librarian, and System Generator programs. The principal function of the Linkage Editor program within the Basic Operating System's environment is to edit into the core' image library every program that is to be run under control of the BOS. The output of the language translators is produced in a relocatable form, which must then be proQessed by the Linkage Editor to form executable, nonrelocatable program phases which reside in the BOS core image library. Once catalogued in the library via the Linkage Editor, the object programs can be called forth for execution by means of Job Control statements at program load time. In more complex situations, the Linkage Editor can also serve the function of linking together into one core image program the relocatable output (object modules) of various separate assembly-type operations. All references between program segments or control sections are resolved by the Linkage Editor, and all segments receive specific core storage locations integrated within a single executable program. The Librarian is a set of service programs designed to maintain, service, and organize the three separate libraries of the Basic Operating System/360. Essential to every BOS environment is the core image library of programs in load format. Also recommended for use with the system are a macroroutine library and a relocatable object module library (to permit combining with other modules without reassemblies). The Librarian provides services to add to or delete from the components of the three libraries. The System Generation service program assembles the Supervisor program from cards (unless supplied 8/65 SYSTEM/360 on disc with system delivery) and edits it into its residence on disc or tape. By using Job Control cards (described below) the System Generation progliam can further provide for loading of all available language and service programs into the resident core image library. The other service programs provided by the Basic Operating System/360 are described in Section 420:152, Problem Oriented Facilities. Routines included in this group of facilities are two Sort/ Merge programs for 8K and 16K systems, an Autotest program to aid in debugging operations (requiring a minimum of 16K bytes of core storage), and several data transcription utility programs, including routines to support the mM 2321 Data Cell Drive. .122 Control Programs The remainder of this report section is devoted to the Control Programs of the Basic Operating System/360. These programs can be logically grouped into two major categories: the Supervisor and the Job Control programs. The many distinct control functions within each category ,are themselves coordinated by the Supervisor to provide the problem programs with automatic services and to ensure that automatic transitions occur from phase to phase within a program and from job to job within the total processing environment. The two sections that follow indicate the specific control functions of each of the two principal categories of Basic Operating System/360 executive control. Supervisor: The Supervisor is the control center of the complex of BOS facilities. Part of the Supervisor always resides in core storage and occupies a maximum of either 4K or 6K bytes, depending on the version of Basic Operating System selected. Certain other routines are kept in the core image library (on disc or tape) and are called into a reserved transient area of core storage by the Supervisor as necessary. To perform its coordinating functions, the Supervisor must receive control of the central processor by means of interrupts. The interrupts can result from specific requests for supervisory services from another part of the operating system or from a problem program. Interrupts can also result from automatic signals generated by the hardware to indicate such conditions as the end of an inputoutput operation or a machine or program malfunction. Depending on the type of interrupt code generated, the Supervlsor determines the proper routine to enter in order to continue processing or resolve the problem situation. A prinCipal function of the Supervisor is its Channel Scheduler control, through which it regulates all input-output operations. Channel Scheduler control consists of several routines resident in the Supervisor that perform the functions of Physical IOCS (Input-Output Control System): scheduling or queuing of I/O requests on each channel, starting and stopping of input-output operations, and handling of I/O interrupts. The Channel Scheduler routines, working in conjunction with the hardware design (Contd. ) 420: 192.122 OPERA TING ENVIRONMENT: BASIC OPERATING SYSTEM/360 .122 Control Programs (Contd.) standard labels on tape and disc; and a checkpoint/ restart procedure that writes checkpoint records recording job status at various intervals and restarts a job at a given checkpoint after an interruption. of the central processor, provide for the simultaneous execution of instructions with data transfers (read/write/compute overlap). The Logical IOCS routines, for blocking and deblocking records, sWitching between multiple I/O areas, handling end-of-file conditions, and label checking and writing, are not part of the Supervisor itself, but they call upon the services of the Supervisor. The Logical IOCS routines are assembled into the object program from macro-instructions in the source program. Job Control: The Job Control program provides the linkage between processing jobs to ensure that the Basic Operating System and its supervised problem programs operate in a continuous mode. The Job Control program does not reside in core storage but is called in at the conclusion of a job to provide transition to the next processing step. It is called into storage to perform its functions either by the initial program loading (IPL) procedure after loading the Supervisor, by the Supervisor itself (after an abort job or dump operation), or by the problem program at normal end-of-job time (by means of the EOJ macro-instruction in the Assembler language). Table I shows execution times for the BOS 10CS routines; the indicated times refer to consecutive records processed on a System/360 Model 30. In addition to the I/O facilities mentioned above, the Basic Operating System/360 Supervisor offers several other control functions. A partial listing includes: error routines for each type of inputoutput device; routines to provide messages to and accept replies from the operator of the system via the mM 1052 Keyboard-Printer; a system loader routine to retrieve all scheduled programs from the core image library and load them into core storage for processing; routines for checking and writing The Job Control program performs various functions on the basis of information provided in job control cards, as read in the input stream at the time of program execution. These functions are basically: • To prepare a program for execution by transmitting its core image library directory to the Supervisor's system loader, or by first directing the Linkage Editor program to perform its core TABLE I: BOS I/O CONTROL ROUTINE TIMES FOR CONSECUTIVE RECORDS PROCESSED ON A MODEL 30 16KBOS 8KBOS Disc Other Disc Other GET/PUT each record of unblocked file or first record of block in blocked file: 2.9 msec 2.0 msec 1.7 msec 1. 2 msec Additional time for successive records after first record in blocked file Fixed length: Variable length: 0.4 msec 0.4 msec 0.4 msec 0.4 msec 0.4 msec unavailable 0.4 msec Additional time (plus GET/PUT time) if separate work area Fixed length: Variable length: 0.2 msec 0.3 msec 0.2 msec 0.3 msec 0.2 msec unavailable 0.2 msec OPEN and CLOSE file routines No labels: Labeled tape input: Disc input: Additional time for each disc label: Labeled tape output: Dis c output: Additional time for each label in file directory: Additional time for each label deleted from directory: 8/65 650 msec 850 msec 550 msec 720 msec 2500 msec 1575 msec 2msec unavailable 2500 msec 1335 msec 25 msec 25 msec 50 msec unavailable 995 msec © 1965 AUERBACH Corporation and AUERBACH Info, Inc. IBM SYSTEM/360 420: 192. 123 .122 Control Programs (Contd.) storage allocation function if the program is not yet in the core image library, but still in relocatable text form. · 13 • To assign symbolic names to input-output devices, permitting actual device assignment to be changed at program execution time. • To set up a communication region containing program name, current date, user's program switches, and current machine configuration, for use by both the Supervisor and the user's problem program. • To restart a job from a specified checkpoint by repositioning tape drives, reassigning I/O devices, and calling in the Supervisor's restart program. Availability Basic Operating System for 8K and larger disc systems: ••..• September 1965. Basic Operating System for 16K and larger tape.or disc systems: . . . . . . . . December 1965. Multiprogramming and Remote Terminal Processing (for 16K BOB): •.. ; . . . • . . . second quarter, 1966. .14 Originator: . . . . . . . . mM Corporation. · 15 Maintainer: • 16 .2 First Use: . . . • • . . . . April 1965 for card/tape I/O subroutines, storage dump, and relocatable loader . PROGRAM LOADING · 21 Source Programs .3 HARDWARE ALLOCATION .31 Storage .311 Sequencing of program for movement between levels: . • . . . • . . . . must be incorporated in user's program; system loader of Supervisor will perform overlays if so directed. .312 Occupation of working storage: . . . • • . . . . storage is allocated in a fixed fashion by the Linkage Editor prior to program load; overlay areas are also set aside at that time. .32 .321 Initial assignment: ... programmer names symbolic device; Job Control cards aSSign devices to the symbolic names at execution time. .322 Alternation: . . . . . . • . prepared by Job Control statements; made operational by direct request of user's program. .323 Reassignment: . . . . . . effected by Job Control cards if job is aborted prematurely. .4 RUNNING SUPERVISION .41 Simultaneous Working: controlled by Channel Scheduler routines of Supervisor . .42 Multiprogramming: .• regulated by Supervisor. .43 Multi-sequencing: .... no provisions. .44 Errors, Checks, and Action . . . . . . . IBM Corporation. .Error .211 Programs for on-line libraries: ••••••.• core image library and relocatable program library on tape or disc . . 212 Independent programs: loaded at execution time by Job Control cards from punched cards, tape, or disc storage. .213 Data: .••••...•... as required by users' programs. .214 Master routines: ..•• in core image form on resident tape or disc file. .22 .23 Library Subroutines: .. macro-routines can be called from an on-line tape or disc library by macroinstructions at assembly time. Loading Sequence: ... determined by sequence of Job Control cards in the input stream at program execution time, or by program calls embedded in the problem program. Input-Output Units Loading input error: Check or Interlock check Allocation impossible: check In-out error - single: check In-out error persistent: check Storage overflow: check check Invalid instructions: Arithmetic overflow: check Invalid operation: check Improper format: check Invalid address: check Reference to forbidden area of core memory: check .45 coded message on printer. Linkage Editor message. interrupt routine. interrupt interrupt interrupt interrupt interrupt interrupt interrupt routine. routine. routine. routine. routine. routine. routine. iilterrupt routine. Restarts: ..•..••.. Supervisor checkpoint routine writes checkpoint . program status records when directed; a Job Control statement directs the restart routine to begin at a specific checkpoint. (Contd. ) 8/65 OPERATING ENVIRONMENT: BASIC OPERA:rING SYSTEM/360 420: 192.500 .5 PROGRAM DIAGNOSTICS .8 PERFORMANCE .51 Dynamic .81 System Requirements .511 Tracing: .•.•••.•.. provided through use of . Autotest routines that must reside in core storage with problem program . . 512 Snapshots: . . • • . . . . . provided through Autotest. . 52 Post Mortem: . . . • . . a special dump routine is processed at any abnormal end-of-job occurrence, listing contents of core storage and general registers. .811 Minimum configuration: 8,192 bytes of core storage; standard instruction set; one I/o channel; one card reader (1442, 2501, 2520, or 2540); one 2311 Disk . Storage Unit or four 2400 Series Tape Units . .6 OPERA TOR CONTROL .812 Usable extra facilities: •.••.•.. all (as incorporated in program). .813 Reserved equipment: .. approximately the first 3, 000 bytes of core storage (reserved for resident Supervisor) . • 61 Signals to Operator .82 · 611 Decision required by operator: .••••• Supervisor-call interruption. .612 Action required by operator: .••..• Supervisor-call. .613 Reporting progress of run: . . . • . . . . . . Supervisor-call. . 62 .63 Operator's Decisions: . through System/360 console or IBM 1052 PrinterKeyboard. .7 .821 Loading time: . . . . . • dependent upon speed of input unit used. .822 Reloading frequency: . Supervisor need be loaded only once, but can be reloaded whenever desired through the initial program loading (IP L) procedure . . 83 Program Space Available: . • • • • . . . all of core storage except for the maximum 4K or 6K bytes of storage reserved for the Supervisor's control routines. .84 Program Loading Time: • • . . . . • . . . . depends upon the speed --. of the input device used. .85 Program Performance: no Supervisor performance times have been made available by IBM to date; see Table I for I/O control routine times. Operator's Signals • 631 Inquiry: .•••.•.... through System/360 console or IBM 1052 PrinterKeyboard. .632 Change of normal progress: . . • . . . • . indicated by coded messages on console or PrinterKeyboard. LOGGING: . . . . . . . . as incorporated in user's program. System Overhead © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 420: 193.100 IBM System/360 Operating Environment Basic Programming Support OPERATING ENVIRONMENT: BASIC PROGRAMMING SUPPORT .1 GENERAL .11 Identity:......... .12 Description IBM System/360 Basic Programming Support (BPS). The Basic Programming Support (BPS) offered by IBM for use with small configurations of its ·System/ 360 consists of a group of non-sophisticated card and tape oriented programs designed to provide a restricted set of language and service facilities operating in an environment of minimum supervisory control. Users of System/360 computer systems with 8K or 16K bytes of core storage can choose from two classes of BPS according to their input-output configurations. One class of software support applies to systems oriented toward the use of punched card devices; this class includes only independent program routines that do not function under the guidance of a supervisory control program. For use with systems containing a minimum of two 2400 Series Magnetic Tape Units, there is another version of the Basic Programming Support: a series of tape-oriented control programs designed to provide semi-continuous supervision of all language and problem programs during their execution. . 121 Card Basic Programming Support The Card BPS for the System/360 contains a set of independently-operated programs in punched card form designed to accomplish their functions in an environment of 8K bytes of core storage, using only the standard instruction set and a bare minimum of l.nput-outputdevices. The Card BPS is indeed a basic system, but the facilities it provides' will help the user to achieve efficient utilization of the smaller models of System/360 in simple data processing situations. used primarily with systems having limited I/o configurations and serving only the most basic data processing problems, the RPG (rather than the Assembler) may become the principal programming tool in many installations using Card BPS. The other programs included in the Card Basic Programming Support package are referred to as the Basic Utilities and include three versions of main storage/general register dump routines, Absolute and Relo'cating Loader routines, and a program to generate the Loader routines according to the specific installation's machine configuration. The Absolute Loader occupies the lower area of core storage and loads assembled programs into Assembleror RPG-assigned core storage addresses. By means of an REP (Replace) card, specified sections of the program being loaded can be changed just prior to execution. The Relocatable Loader also resides in lower core storage and contains the "replace option" as well. Its unique function is to provide linkages between separately-assembled programs so that they can operate as logical units at program execution time. External references are resolved in such a way as to permit one program to refer to instructions or data within another program that is linked to the first by the Relocatable Loader. The final group of routines included in the Card BPS Basic Utilities is called the I/o Support Package. Used by the other Basic Utility routines, the I/O Support subroutines provide the programmer with all the coding required to use card and tape input-output devices. Error routines and machinecheck interrupt facilities are included, plus the capability to display coded error messages to the operator via the console of the processing unit. . 122 Tape Basic Programming Support Included among the IBM-supplied programs are a punched-card Basic Assembler (described in report Section 420:173) and Report Program Generator (discussed in report Section 420:153). The Basic Assembler is a two-pass operation, and it can utilize up to two magnetic tape units to speed its performance. The assembly language itself is very restricted, allowing no literals nor macro-language facilities. Its output can be either in absolute loadable program text or in a relocatable format that facilitates programming by segments, leaving absolute storage assignments to be performed at execution time by the Relocatable Loader. The IBM System/360 Basic Programming Support available to 8K and larger tape-oriented systems consists of a large group of processing programs (language translators and service programs) and control programs which are capable of operating in a semiautomatic operating system environment. The basic supervisory program control functions are performed on-line in conjunction with and in service of the problem program. Other services normally associated with an operating system are performed off-line, due to the limited core storage in an 8K design-level system. The remainder of this report section is devoted to a description of the facilities of the Tape Basic Programming Support system. The Report Program Generator (RPG) for the Card Basic Programming Support offers standard facilities to generate listings, perform calculations, and update files from programmer-supplied problemoriented statements. Since the Card BPS will be The minimum ,machine configuration required to operate the Tape BPS includes 8,192 bytes of core storage, the standard instruction set, two 2400 Series Magnetic Tape Units (at least one of which must be 9-track), one card reader (2540 or 1442), and one (Contd.) 8/65 ,/ 420: 193.122 OPERATING ENVIRONMENT: BASIC PROGRAMMING SUPPORT . 122 Tape Basic Programming Support (Contd) I/o channel (either Multiplexor or Selector). To assemble the Supervisor routines of the Tape BPS requires the use of another tape unit and a line printer (1403, 1404, 1443, or 1445). Additional core storage is desirable in almost all Supervisorcontrolled operations, and is essential for use of several of the language translators. The other I/o devices supported by the Tape BPS, in addition to those mentioned above, are the 1052 Printer-Keyboard, the 1015 Inquiry Display Terminal, and the 2671 Paper Tape Reader. The following machine features are also supported: the Interval Timer, Simultaneous Read-While-Write, any channel configuration up to one Multiplexor Channel and two Selector Channels, and additional core storage. The language translators offered with the Tape Basic Programming Support are listed below: • An 8K Assembler with card and tape IOCS routines; other IOCS routines are being prepared by IBM to support the 2321, 1231, 1285, 1412, 1418, 1419, and 1428 input-output devices. Report Section 420: 173 describes the 8K Tape Assembler with IOCS. • 16K Card and Tape FORTRAN Compilers. Descriptions of the BPS FORTRAN languages can be found in report Section 420:163, where the restrictions of these language subsets are listed. The FORTRAN compilers require the use of the Floating-Point Arithmetic option, and the tape version requires the use of three tape drives for compilation. • A 16K Programming Language/I (PL/I) compiler designed for use with punched card systems. The full, Operating System/360 version of this new commercial/scientific language is described in Section 420:169. • An 8K card RPG and an 8K tape RPG, designed to provide the standard report-writing features while functioning under control of the Tape BPS's modified operating system. Section 420:153 lists the salient characteristics of these two Report Program Generators. • Several card and tape utility programs, also described in report Section 420:153, BPS Problem Oriented Facilities. Two generalized Sort/Merge programs are provided, as well as Autotest routines to aid in program debugging and two Multiple utility routines to provide up to three simultaneous data transcription operations. Disk Storage and Data Cell device utility programs are also supplied in the Tape BPS utility package. At present IBM has no plans to implement a COBOL Compiler for use with the Basic Programming Support. The various control functions of the Tape BPS provide a loosely integrated operating environment for the processing programs of the software system. Restricted by a maximum program design level of 4K bytes, the control programs are of necessity © straightforward and simple, with no one program exercising supervisory control over all the others. In most cases, with the Tape BPS, data processing jobs will be performed in independent job steps, with the system's operator providing the necessary linkage between steps. The control functions fall into three major categories: Control Programs and Operating Environment, Input-Output Control (IOCS), and the Tape Assembly System. A further group of Tape BPS programs related to these functions provides for the building, maintenance, and service of the BPS System Tape and its libraries. Control Programs and Operating Environment: principal among these programs are the core storage resident Supervisor, the Job Control Program, the Initial Program Loader (IPL), and the Supervisor's Program Loader. The Supervisor is defined and assembled to satisfy the control and I/O requirements of each installation, In fact, if more I/O devices are to be supported than the small system's standard card readers, printers, and magnetic "tape units, then several Supervisors will have to be assembled for various processing jobs. Otherwise, one Supervisor with input-output control for all available devices could consume most of the low-order 8K bytes of core storage. The Supervisor consists of several basic elements: • A communication region for the storage of information useful both to the Supervisor and to the problem program (e. g., addresses of user-supplied routines, program switches, today's date, etc.) • Routines to handle programmed and machinedetected interrupt conditions, including operator-initiated external interrupts and those originating from the operation of I/O devices. • A set of Channel Scheduler routines to control the movement of data between main storage and input-output devices initiated by means of physical IOCS commands from the Supervisor. • Error recovery routines for each I/O device. • A group of programs to provide intercommunication with the operator. • A program retrieval routine (FETCH) to assist in overlay control. • End-of-job routines. The size and number of these routines included in the Supervisor will vary with each installation and are dependent primarily on the amount of available core storage. A typical Supervisor operating in a standard card/tape environment should always fit within 4,096 bytes of core storage. Once the Supervisor has been loaded into storage, it is the user's responsibility to ensure that problem programs do not destroy the resident control routines. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 420: 193.123 IBM SYSTEM/360 .122 Tape Basic Programming Support (Contd) to build· a tape of problem programs in loadable form, and to provide the services of the Linkage Editor - a quasi-assembler designed to reconcile external symbolic references and linkages between separately-assembled program segments, and to produce a single loadable object program. The Job Control program performs several distinct functions in the preparation of a program for execution. Job Control need not reside in core storage during the problem program's execution. It is required only when certain of its functions are specifically requested by Job Control cards. When requested, the Job Control program must be loaded by the Program Loader just as any problem program, unless it was already resident in core storage. It can provide the following services: reset program switches to zeros, reassign symbolic names to input-output devices, set up restarts for previously check-pointed jobs, insert data into the communication region, and edit and store tape label information for later use by the problem program's label-checking routines. Once its services have been performed, the Job Control program can be overlaid by the problem program. All of the Tape Assembly System functions are controlled by Job Control statements, which request speCific functions and specify the parameters necessary to control their execution. The Tape Assembly System is regulated by its own unique Supervisor and Job Control Programs to provide for the continuous execution of the language translators and Linkage Editor in an environment of I/o and interrupt control. The Tape BPS Initial Program Loader (IPL) is provided to begin or renew operation of the system. The IP L routine must be used to reconstruct the operating system whenever the resident Supervisor and Program Loader are overlaid, either delib- erately or accidentally. The System Program Loader loads the output of the language translators or Linkage Editor into core storage locations specified in the loadable text. The Program Loader operates under control of the . 13 Supervisor, it remains in core storage unless its core storage space is required for problem program use. In the case when the Program Loader is overlaid it must be reloaded by the Initial Program Loader routine. The Program Loader can load object programs from cards or tape. If any relocation problems or unresolved program linkages exist in the object text, the Linkage Editor must first process this text before it can be loaded. Input-Output Control System (IOCS): The IOCS system provides logical data record handling routines generated by means of macro-language facilities within the Tape BPS language translators. Declarative macro-instructions describe to the translator the characteristics of the input-output files. Then, during the assembly operation, imperative macros cause the insertion into the object deck of whatever routines will be required to handle the program's logical record manipulation. These routines can calIon the services of the Supervisorcontrolled physical IOCS routines to provide the actual transfer of data from main storage to the input-output devices. Various types of logical records can be handled by the logical IOCS routines of the Tape BPS, including fixed-length blocked and unblocked records, as well as variable-length records in blocked or unblocked format. Tape Assembly System: the Tape Assembly System consists of a group of programs that function in an independent mode, distinct from the problem program execution mode. The Tape Assembly System must reside on a 9-track 2400 Series Magnetic Tape Unit, which is referred to as the System Tape. The principal functions of the Tape Assembly System programs are to assemble and compile source programs into relocatable or absolute object programs, The BPS System Tape contains two types of libraries: the core image library of assemblers, compilers, loaders, etc., and the macro-routine library which contains all the macros to be used by the language translators. The macro-routines are arranged on the tape in a priority sequence according to frequency of use. Addition and deletion of routines to both these libraries are performed by a Maintenance routine, which can also be present on the System Tape. The catalogues and contents of these librarieS can be printed or punched as desired. Availability: Assemblers, Tap~ FORTRAN, and Basic utilities: . . . • . . . . . all by third quarter, 1965. Multiple Device Utilities and RPG's: fourth quarter, 1965. Card FORTRAN: ... first quarter, 1966. Card P L/I: ..•.... third quarter, 1966. .14 Originator: • . . . . . . . IBM Corporation. . 15 Maintainer: . . . . . . . . IBM Corporation. .16 First Use: . . . . . . . . April 1965 for loaders and card/tape I/O subroutines. .2 PROGRAM LOADING . 21 Source of Programs .211 Programs from on-line libraries: ..•.•••. System Tape holds core image and macro libraries . . 212 Independent programs: from card or tape units. .213 Data: . • . . . . . . . . • . as required by users'programs . . 214 Master routines: .... on cards or tape; on System Tape for control of Tape Assembly System. .22 Library Subroutines: . language translators' macrofacilities. . 23 Loading Sequence: ..• sequential loading of programs as provided on loadable tape or system's input device. (Contd.) 8/65 420: 193.300 OPERATING ENVIRONMENT: BASIC PROGRAMMING SUPPORT .3 HARDWARE ALLOCATION .31 storage . 311 Sequencing of program for movement between levels: ..•. must be incorporated in program; Program Loader will call in overlays as requested. . 312 Occupation of working storage: . . . • . . . . . storage is allocated as assembly time; program segments can be combined with storage allocation performed by the Linkage Editor. .32 • 52 Post Morten: ..•••.. not provided in control programs; an independent dump program can be read into storage when necessary • .6 OPERATOR CONTROL .61 Signals to Operator: ... through the 1052 PrinterKeyboard or the console • .62 Operator's Decisions: . . . . • • . . through the 1052 PrinterKeyboard or the Interrupt Key of the console. .63 Operator's Signals: ... through the 1052 PrinterKeyboard or the Interrupt Key of the console • .7 LOGGING: • . . . • . . . as incorporated within the users' programs. The hardware Interval Timer is available for use by the programmer• Input-Output Units . 321 Initial assignment: ... assigned by programmer through Supervisor-specified symbolic names. .322 Alternation: '" .. as incorporated in the program. . 323 Reassignment:. . . . permitted by means of Job Control statements. .4 RUNNING SUPERVISION .8 PERFORMANCE .41 Simultaneous Working: as provided by Channel Scheduler routines of the Supervisor. .81 System Requirements .42 Multiprogramming: ... possible only with Multiple Device Utility programs for simple data transcriptions. • 43 Multi-sequencing: •... not provided . .44 Errors, Checks, and Action Check or Error Interlock Loading input error: check Allocation impossible: check In-out error - single: check In-out error - persistent: check Storage overflow: check Invalid instructions: check Program conflicts: check Arithmetic overflow: check Invalid operation: check Improper format: check Invalid address: check .45 .5 Restarts: . . . . • . . PROGRAM DIAGNOSTICS: coded message. interrupt routine. interrupt routine. coded message. coded message. coded message. coded message. interrupt routine. coded message. coded message. coded message. .811 Minimum configura8,192 bytes of core storage; tion: ..•••..•.•. two 2400 Series Magnetic Tape Units; one card reader (2540 or 1442); one I/o channel (Multiplexor or Selector). .812 Usable extra facilities: additional core storage; 1403, 1404, 1443, and 1445 printers; 1052 Printer-Keyboard; 1015 Inquiry Display Terminal; and 2671 Paper Tape Reader • . 813 Reserved equipment: .. none. .82 .821 Loading time: • . . . . . depends on speed of input device used. .822 Reloading frequency: .• program loader must be reloaded with every problem program if it is overlaid in core storage by the previous problem program. . a CHKPT macro-instruction .83 writes program checkpoint records as directed; the Job Control program, via its RSTRT statement, will initialize the program to be restarted at the specified checkpoint. . 84 . tracing and dump facilities are provided through the Autotest program (Section 420:153) in a 16K environment. System Overhead .85 Program Space Available: . • . . . . . • all of core storage except the area occupied by the Supervisor; a basic Supervisor will fit within 4, 096 bytes of core storage. Program Loading Time: ..••••..•.. depends on speed of input device used. Program Performance: no Supervisor performance times have been made available by IBM to date. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 420:201.100 IBM System/360 System Performance SYSTEM PERFORMANCE The overall performance of the mM System/360 naturally varies widely, depending upon the user's choice of Processing Unit model and peripheral equipment. Therefore, the System/360's performance on the AUERBACH Standard EDP Reports benchmark measures of system performance has been analyzed separately for each model. For performance.curves, summary worksheets, and analyses of the results, turn to the System Performance sections of the subreports on the models of interest: Model 20: . . . • . . . . . • . . . . . Section 422.201 Model 30: . • . . . . • . . . . . . . . Section 423:201 Model 40: . . . • • . . . . . . . . . . Section 424: 201 Model 50: . . . . . . . . . . . . . . . Section 425:201 Model 65:, • . • . . . . . . . . . . . . Section 426:201 Model 67: . • . • . • . . . • . . . . . Section 427:201 Model 75: . . . . . . . . . . . . . . . Section 428:201 8/65 420:211.101 IBM System/360 Physical Characteristics PHYSICAL CHARACTERISTICS Width, inches Unit Depth, inches Height, inches Weight, pounds Power, KVA BTU per hr. 60 29 52 1,200 3.3 9,000 60 29 52 1,400 4.1 11,000 32* 60* 63* 93* 60 60 1,500 1,700 3.8 2.8 10,000 6,000 119* 86* 73 4,500 11.3 19,600 119* 130 193 86* 106 88 73 73 73 5,150 2,400 4,575 14.0 6.9 16.2 25,900 12,000 38,700 30 83 73 2,560 12.5 33,000 26 15 27 195 0.2 670 23 20 9 65 0.1 335 1231 Optical Mark Page Reader, Mod N1 44 24 45 620 1:2 3,700 1403 1403 1403 1404 48 48 57 67 29 29 29 32 53 53 54 54 750 750 825 1,600 1.0 1.4 1.4 2'.1 3,000 4,600 4,600 5,100 112 41 60 2,475 2.7 6,300 112 41 60 ? 650 3.8 8,300 112 41 60 2,700 3.8 8,300 112 41 60 2,750 4.6 10,500 2020 Processor, Mod B1, C1, D1 2020 Processor, Mod B2, C2, D2 2030 Processor 2040 Processor 2050 Processor, Mod F & G 2050 Processor, ModH 2065 Processor 2075 Processor 2365 Processor Storage, Mod 1 1051 Control Unit, ModNl 1052 Printer-Keyboard, Mod 1 Printer, Printer, Printer, Printer, Mod Mod Mod Mod 2 3 N1 2 1412 Magnetic Character Reader, Mod 1 1418 Optical Character Reader, Mod 1 & 3 1418 Optical Character Reader, Mod 2 1428 Alphameric Optical Reader, Mod 1 & 3 1428 Alphameric Optical Reader, Mod 2 1419 Magnetic Character Reader, Mod 1 1442 Card Read Punch, Mod N1 1443 Printer, Mod N1 2150 Console 2250 Display Unit, Mod 1 2250 Display Unit, Mod 2 2260 Display Station 2280 Film Recorder 2281 Film Scanner 2282 Film Recorderl Scanner * 112 41 60 2,800 4.6 10,500 112 41 60 2,675 3.3 8,500 43 56 64 24 43 29 49 46 52 575 800 800 0.7 1.1 0.65 1,500 3,200 1,740 58 62 50 590 2.8 7,200 22 13 105 105 28 21 30 30 50 16 70 70 375 25 1,900 1,900 2.4 ? 18.5 18.5 6,600 408 54,500 54,500 105 30 70 1,900 18.5 54,500 Processor dimensions do not include console reading boards. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 420·211 102 IBM SYSTEM/360 " "" ---"- Unit 2301 Drum Storage 2302 Disk Storage, Mod 3 2302 Disk Storag'3, Mod 4 2311 Disk Storage Drive 2314 Direct Access Storage Facility 2321 Data Cell Drive, Mod 1 2401 Magnetic Tape Unit, Mod I, 2, & 3 2402 Magnetic Tape Unit, Mod 1, 2, & 3 2403 Magnetic Tape & Control, Mod 1, 2, & 3 2404 Magnetic Tape & Control,Mod1, 2, &3 2415 Magnetic Tape Unit, Mod 1 2415 Magnetic Tape Unit, Mod 2 2415 Magnetic Tape Unit, Mod 3 2540 Card Read Punch, Mod 1 2701 Data Adapter Unit 2702 Transmission Control 2802 Hypertape Control 2803 Tape Control 2804 Tape Control 2816 Switching Unit, Mod 1 &,2 2820 Drum Storage Control 2821 Control Unit, Mod 1, 2, & 4 2821 Control Unit, Mod 3,5 2822 Paper Tape Reader Control Unit 2840 Display Control 2841 Storage Control Unit 2848 Display Control, Mod 1 2860 Selector Channel, Mod 1 2860 Selector Channel, Mod 2 2860 Selector Channel, Mod 3 2870 Multiplexor Channel 7320 Drum Storage 7340 Hypertape Drive, Mod 3 "Width,--- -Depth;inches inches " Height,--inches Weight;- -Power;KVA pounds BTU-per hr. 35 29 64 850 1.5 3,800 86 33 69 4,025 9.0 20,000 86 30 33 24 69 38 4,425 390 12.6 0.75 28,000 2,000 189 32 60 3,500 8.2 19,400 69 51 60 1,950 8.7 19,500 30 29 60 800 1.6 3,500 60 29 60 1,600 3.2 7,000 60 29 60 2,000 2.1 5,500 60 29 60 2,000 2.4 6,300 60 30 70 1,800 3.3 10,000 120 30 70 2,300 4.1 12,000 180 30 70 2,800 4.9 15,000 58 30 45 1,050 1.2 3,000 40 26 40 320 0.3 1,200 29 29 60 60 62 62 29 29 60 60 60 60 900 550 1,400 1,600 2.0 0.6 1.0 1.5 1,800 1,360 2,500 4,000 29 42 60 500" 0.9 1,500 29 62 60 750 1.5 4,000 32 46 60 1,000 2.4 7,000 32 93 60 2,000 4.8 14,000 30 29 26 42 40 60 400 550 2.05 1.4 1,700 4,800 31 44 60 750 1.9 5,500 29 61 72 1,000 1.5 3,542 32 68 71 1,150 3.05 8,200 32 68 71 1,450 3.65 10,000 32 68 71 1,750 4.25 11,600 32 68 71 1,450 4.3 11,000 30 29 60 850 1.1 2,800 29 60 48 1,500 4.0 12,000 General Requirements Operating ranges Temperature: .••••.••••.••••.•... 60- 90°F. for typical systems; 65- 80°F. for optical and magnetic character readers. Relative humidity: .••••••.•••••.•.. 20-80% for typical systems; 20-65% for optical and magnetic character readers. Nonoperating ranges Temperature: ...•.••.••.•.•••.••• 50-110°F. for most units. Relative humidity: .••.••••.••.••.•. 8-80% for most units. Power: .•••••••..•••.••.••••••••. either 208 or 230 volt, 3-phase, 4-wire, 60-cycle; voltage tolerance is +10%, -8%. 7/65 420:221.101 IBM System/360 Price Data PRICE DATA MODELS 30, 40, 50,65, AND 75* I " " PRICES IDENTITY OF UNIT CLASS No. Name Model PROCESSING UNITS AND MAIN STORAGE Monthly Rental Monthly Maintenance Purchase $ $ $ Processing Unit and Main Storage: Main Storage Capacity C30 D30 E30 F30 8,192 16,384 32,768 65,536 bytes bytes bytes bytes 1,275 1,775 2,675 3,875 90.00 100.00 115.00 135.00 62,000 85,200 127,800 183,900 D40 E40 F40 G40 H40 16,384 32,768 65,536 131,072 _.~~~".144 bytes bytes bytes bytes bytes 2,700 3,600 4,800 6,400 10,200 105.00 120.00 140.00 170.00 270.00 139,600 182,200 238,300 316,300 500,300 F50 G50 H50 150 65,536 bytes 131,072 bytes 262,144 bytes 524,288 bytes 8,350 9,950 13,750 19,950 260.00 290.00 390.00 570.00 421,700 499,700 683,700 979,500 G65 H65 165 J65 131,072 bytes 262,144 bytes 524,288 bytes 1,048,576 bytes 19,700 22,750 32,050 51,050 785.00 985.00 1,560.00 2,730.00 865,000 990,000 1,402,000 2,242,000 H75 175 . J75 262,144 bytes 524,288 bytes 1,048,576 bytes 31,750 41,050 60,300 1,250.00 1,825.00 3,005.00 1,310,000 1,722,000 2,575,000 25 100 50 20 75 0.75 1. 25 1. 50 0.25 8.00 1,000 4,000 2,000 800 4,125 2 50 150 NC 2.75 1.50 80 2,000 6,000 225 30 40 40 15 50 8.00 1. 75 1. 50 1. 50 0.75 0.75 9,500 1,500 2,000 2,000 750 2,500 50 50 0.75 0.75 2,750 2,500 Processing Unit O)2tions For Model 30: Decimal Arithmetic Direct Control Floating Point Arithmetic External Interrupt 1051 Attachment 1051 Home Component Recognition Adapter Interval Timer Storage Protection 3237 3274 4427 3895 7915 7916 4760 7520 1401/1440/1460 Compatibility Features 1401/1440/1460 Basic Compatibility Column Binary 1402/1403 Attachment 1442/1443 Attachment Console Inquiry Station Disk Storage Drives Magnetic Tapes For Multiplexor Channel For Selector Channel 4456 1990 4463 4464 4465 4466 4467 4468 * See page 422:221.101 for Price Data on Model 20. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 rBM SYSTEM/360 420:221.102 PRICES IDENTITY OF UNIT CLASS PROCESSING UNITS AND MAIN STORAGE (Cont'd) No. Purchase $ $ $ Programmed Mode Switch 1620 Compatibility 2540 Compatibility Attachment 2501 Compatibility Attachment 2520 Compatibility Attachment . 20 265 NC NC NC 0.50 9.50 NC NC NC 800 11,125 NC NC NC 3237 3274 4427 4457 4478 7520 For Model 40: Decimal Arithmetic Direct Control Floating Point Arithmetic 14.01/1460 Compatibility 1410/7010 Compatibility Storage Protection 115 150 100 500 650 150 1.75 2.00 2.50 16.00 17.00 1. 50 4,950 6,400 4,300 22,800 29,000 6,000 3274 4478 7117 7130 For Model 50: Direct Control 1410/7010 Compatibility 7070/7074 Compatibility Shared Processor storage 225 650 650 300 2.50 37.00 37.00 10.50 8,600 26,650 26,650 12,100 250 700 700 600 3.00 28.00 24.00 19.00 9,300 29,400 30,500 25,000 225 9.00 10,875 6,500 11,000 375.00 575.00 315,000 525,000 75 100 350 150 2.00 3.00 10.00 2.00 3,100 4,050 15,050 6,900 7920 For Model 65: Direct Control 7070/7074 Compatibility 7080 Compatibility 709/7040/7044/7090/7094/7094 II Compatibility . 1052 Adapter 7131 Large Capacity Core Storage (Models 50, 65 and 75 only): Modell - 1,048,576 bytes Model 2 - 2,097,152 bytes 2361 Attachment (required): On Model 50 On Model.65 On Model 75 Shared Storage feature (optional) 6960 6961 1850 For Model 30: First channel Second channel Channel-to- Channel Adapter 215 185 225 16.00 13.00 3.75 8,550 7,900 10,050 6980 6981 1850 For Model 40: First channel Second channel Channel-to-Channel Adapter 350 325 225 17.00 14.00 3.75 15,50C 14,350 10,050 6980 6981 6982 4580 1850 For Model 50: First channel Second channel Third channel High Speed Channel Channel-to- Channel Adapter 700 700 700 100 225 26.00 26.00 26.00 4.00 3.75 31,600 31,600 31,600 4,200 10,050 For Models 65 and 75: Selector Channel: Model 1 - one channel Model 2 - two Chan!lels Model 3 - three channels Channel-to- channel Adapter 2,100 3,000 3,900 225 55.00 90.00 125.00 3.75 104,000 148,200 192,500 10,050 2361 8080 SELECTOR CHANNELS Monthly Maintenance 5856 7190 8065 8062 8063 3274 7117 7118 7119 BULK CORE STORAGE Name Monthly Rental 2860 1850 (Contd. ) 7/65 420:221.1 03 PRICE DATA IDENTITY OF UNIT \. CLASS MULTIPLEXOR CHANNELS No. Name For Model 30: Multiplexor Subchannels, Additional; 128 additional subchannels High Speed Multiplexor Channel; 4 sub channels 5250 4600 For Model 40: High Speed Multiplexor Channel; 4 subchannels 4600 For Model 50: Multiplexor Subchannels, Additional; 128 additional sub channels High Speed Multiplexor Channel; 4 subchannels High Speed Multiplexor Channel, Additional; 4 additional subchannels 5250 4600 4601 For Model 65 and 75: Multiplexor Channel (requires 8070) Basic channel First Selector Sub channel Second Selector Sub channel Third Selector Sub channel Fourth Selector Subchannel 2870 6990 6991 6992 6993 2870 Attachment (req'd) 8070 PRICES Monthly Rental Monthly Maintenance Purchase $ $ $ NC NC NC 425 20.00 17,450 825 32.00 35,900 NC NC 1,200 45.00 54,000 300 25.00 13,500 2,200 400 250 250 250 97..00 15.00 10.00 10.00 10.00 110,000 18,500 11,250 11,250 11,250 50 2.00 2,000 660 525 375 875 100.00 64.50 60.00 128.00 35,000 26,250 18,750 42,000 775 600 120.00 94.00 37,200 36,900 260 320 45.50 49.00 15,500 15,750 775 900 650 900 157.00 166.00 130.00 166.00 34,000 41,200 32,700 41,200 NC Punched Card and Printer INPUTOUTPUT Card Read Punch, Model 1 Card Read Punch, Model N1 Card Punch, Model N2 Card Read Punch, Model B1 Card Punch: Model B2 Model B3 Card Reader: Model Bl Model B2 2540 1442 1442 2520 2520 2501 1403 Printer: Model 2 Model 3 Model 7 Model Nl 1416 Print Train Cartridge (1 req'd. for 1403 Models 3 and N1) 1404 1443 1445 Printer, Model 2 Printer, Model Nl Printer (MICR), Model Nl 2821 Control Unit for 2540, 1403, and 1404: Modell - for one 2540 and one 1403 Model 2 or 7 Model 2 - for one 1403 Model 2 or 7 © 100 NC 3,000 1,550 875 1,425 277.00 64.50 111.00 75,000 44,275 62,000 970 41.00 46,500 600 32.00 28,800 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360 420:221.104 IDENTITY OF UNIT CLASS No. Name Model 3 - for two 1403 Model 2's or 7's in any combination Model 4 - for one 2540 and one 1404 Model 2 Model 5 - for one 2540 and two 1403 Model 2's or 7 's in any combination INPUTOUTPUT (Contd.) 7945 3615 1416 PRICES Monthly Rental Monthly Maintenance Purchase $ $ $ 1,200 64.00 57,600 1,050 43.50 50,400 1,570 73.00 75,300 Third Printer Control, (for 2821 Model 3 or 5) 1,100 LPM Printer Adapter (for connection of 1403 Model 3 or N1 to 2821 Modell, 2, 3, or 5) 500 6.50 24,000 75 1. 00 3,000 Print Train Cartridge (1 req'd for 1403 Models 3 and N1) 100 NC 335 485 785 385 535 835 62.00 70.00 86.00 74.00 82.00 98.00 16,100 23,400 37,900 18,500 25,800 40,300 Magnetic Tape Unit (two drives): Modell - 30,000 bytes/sec Model 2 - 60,000 bytes/sec Model 3 - 90,000 bytes/sec Model 4 - 60,000 bytes/sec Model 5 - 120,000 bytes/sec Model 6 - 180,000 bytes/sec 620 920 1,520 720 1,020 1,620 120.00 136.00 168.00 144.00. 160.00 192.00 29,800 44,200 73,300 34,600 49,000 78,100 Magnetic Tape Unit and Control (one drive & single-channel control): Modell - 30,000 bytes/sec Model 2 - 60,000 bytes/sec Model 3 - 90,000 bytes/sec Model 4 - 60,000 bytes/sec Model 5 - 120,000 bytes/sec Model 6 - 180,000 bytes/sec 885 1,035 1,335 1,085 ·1,235 1,535 78.00 86.00 102.00 95.00 103.00 111. 00 43,400 50,900 65,700 53,300 60,800 75,600 3,000 Magnetic Tape 2401 2402 2403 2404 2415 7/65 Magnetic Tape Unit (one drive): Model 1 - 30, 000 bytes/sec Model 2 - 60,000 bytes/sec Model 3 - 90,000 bytes/sec Model 4 - 60,000 bytes/sec Model 5 - 120,000 bytes/sec Model 6 - 180,000 bytes/sec Magnetic Tape Unit & Control (one drive & dual-channel control): Modell - 30,000 bytes/sec Model 2 - 60,000 bytes/sec Model 3 - 90,000 bytes/sec ,Magnetic Tape Unit and Control (single-channel) : Modell - 2 drives; 15,000 bytes/sec Model 2 - 4 drives; 15,000 bytes/sec Model 3 - 6 drives; 15,000 bytes/sec Model 4 - 2 drives; 15,000/30,000 bytes/sec Model 5 - 4 drives; 15,000/30,000 bytes/sec Model 6 - 6 drives; 15,000/30,000 bytes/sec A .11111,,'111,,1111. AUERBACH / 1,165 1,315 1,615 93.00 101. 00 117.00 57,100 64,600 79,400 750 100.00 36,750 1,200 180.00 58,800 1,650 260.00 80,850 910 115.00 44,500 1,460 205.00 71,500 2,010 295.00 98,500 (Contd. ) 420:221.105 PRICE DATA PRICES IDENTITY OF UNIT CLASS Name No. Monthly Rental Monthly Maintenance $ $ INPUTOUTPUT (Contd.) 650 800 20.00 25.00 32,600 40,100 Tape Control (dual channel): Modell (800 bpi) Model 2 (800 and/or 1600 bpi) 930 1,080 35.00 40.00 46,700 54,200 Switching Unit, Model 1 550 4.00 26,500 3236 Data Conversion feature: On 2403, 2415, or 2803 On 2404 or 2804 45 70 1. 00 1. 50 2,160 3,425 3471 3472 3471 Dual Density feature (permits operation at 800 as well as 1600 bpi): On 2401 Mod 4, 5, 6 On 2402 Mod 4, 5, 6 On 2403 Mod 4, 5, 6 25 50 25 1. 75 3.50 1.75 1,200 2,400 1,200 5121 5122 Mode Compatibility: On 2401 Mod 1, 2, 3 On 2402 Mod 1, 2, 3 10 20 NC NC 450 900 5320 5320 5321 5320 9-Track Compatibility: On 2403 Mod 4, 5, 6 On 2803 On 2804 On 2415 230 230 280 135 28.00 28.00 22.00 10.00 11,050 11,050 13,440 6,480 7125 7127 7126 7125 7127 7126 7128 7125 7127 7-Track Compatibility: On 2403 Mod 1, 2, 3 On 2403 Mod 4, 5, 6 On 2404 Mod 1, 2, 3 On 2803 Mod 1 On 2803 Mod 2 On 2804 Mod 1 On 2804 Mod 2 On 2415 Mod 1, 2, 3 On 2415 Mod 4, 5, 6 50 175 75 50 175 75 200 50 95 1.25 19.00 2.00 1. 25 19.00 2.00 21. 00 1. 25 3.50 2,400 8,400 2,650 2,400 8,400 3,650 9,600 2,400 4,560 7135 7135 7136 7135 7 and 9- Track On 2403 Mod On 2803 Mod On 2804 Mod On 2415 375 375 450 155 47.00 47.00 43.00 13.00 18,000 18,000 21,600 7,440 7160 7161 Simultaneous Read-While-Write: On 2401 On 2402 10 20 NC NC 450 900 25 0.75 1,200 2816 ~ '3228 I ~ ~-~- $ Tape Control (single channel): Model 1 (800 bpi) Model 2 (800 and/or 1600 bpi) 2803 2804 ? Purchase 7185 Compatibility: 4, 5, 6 2 2 16-Drive Addressing (on 2403 or 2803, any model © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 420:221.106 IBM SYSTEM/360 - - - " " " " """""--- IDENTITY OF UNIT CLASS INPUT OUTPUT (Contd.) No. Name PRICES Monthly Rental Monthly Maintenance Purchase $ $ $ 1,350 2,100 550 25 130.00 38.00 4.00 0.75 525 250 175 200 200 56.00 2.75 1. 50 1. 00 1. 00 27,250 10,000 7,000 8,000 8,000 35 100 1. 00 4.00 1,400 4,250 5,600 7,900 575 15 2,800 2,300 218.00 340.00 51.00 475.00 51. 50 252,000 355,500 26,300 490 136,500 124,000 2,000 2,300 100 5,250 225.00 75.00 2.00 615.00 96,000 112,300 4,860 252,000 Hypertape 7340 2802 2816 7185 Hypertape Drive, Model 3 Hypertape Control (single-channel) Switching Unit, Model 2 16-Drive Addressing Feature 67,500 103,000 26,500 " 1,200 Disk and Drum Storage 2841 7950 8079 7144 1024 4385 8100 2302 2311 1316 2321 7320 2301 2820 8170 2314 2316 8170 Storage Control 2302 Attachment (for 2841) 2321 Attachment (for 2841) 7320 Attachment (for 2841) Additional Storage (for up to 8 additional 2302 access mechanisms) File Scan feature (for 2841) Two-Channel Switch (for 2841) Disk Storage: Model 3 - 2 access mechanisms Model 4 - 4 access mechanisms Disk Storage Drive, Modell Disk Pack for 2311 Data Cell Drive, Modell Drum Storage, Modell Drum Storage Drum Storage Control (for 2301) Two-Channel Switch (for 2820) Direct Access Storage Facility and Control, Modell Disk Pack for 2314 Two-Channel Switch for 2314 - 20 140 - 2.50 650 5,950 140 210 21. 00 8.25 6,700 10,000 505 2,000 41. 50 171. 00 26,700 82,260 2,600 2,900 3,075 180.00 214.00 202.00 120,300 133,800 142,100 2,275 224.00 110,500 3,000 3,300 3,475 214.00 247.00 235.00 138,600 152,100 160,600 100 6.50 5,300 30 20 10 8.25 1. 50 1. 00 1,000 600 300 Paper Tape 2671 2822 Paper Tape Reader Paper Tape Reader Control Optical and Magnetic Readers 1231 Ij12 1418 1419 1428 7720 Optical Mark Page Reader Magnetic Character Reader Optical Character Reader: , Model 1 (3 stackers) Model 2 (1~ stackers) Model 3 (3 ·stackers; extended document. Elize' range) , , Magnetic Character Header Alphameric 'Optical ,Reader: Modell (3 stackers) Model 2 (13 stackers) Model 3 (3 stackers; extended document size range) System/360 Adapter (required for 1412, 1418, 1419, and 1428) Displays 2260 4766 4767 Display Station Alphameric Keyboard Numeric Keyboard (Contd. ) 7/65 PRICE DATA 420:221.107 IDENTITY OF UNIT CLASS INPUTOUTPUT (Contd.) Name No. 2848 Display Control Modell; 240 char per unit, up to two Display Adapters Model 2; 480 char per unit, maximum of one Display Adapter Model 3; 960 char per unit, max. of one Display Adapter Display Adapter, one required per two 2260's: On Model 1 (12 max) On Model 2 (8 max) On Model 3 (4 max) Expansion Unit; permits connection of additional Display Adapters to 2848 Model 1(6) , Model 2 (4), or Model 3 (3) Expansion Unit; permits connection of additional Display Adapters to 2848 Modell (4) or Model 2 (3), and one 1053 Adapter 1053 AdapterFor 2848 Modell or 2 (3858 req'd) For 2848 Model 3 Line Addressing Non:"destructible Cursor Non-destructible Adapter (5340 req'd) Display Unit: Model 1 (includes control unit) Model 2 2250 Options: Absolute Vectors feature Alphameric Keyboard Buffer (4,096 bytes) Buffer (8,192 bytes) Character Generator Light Pen Operator Control Panel (first) Operator Control Panel (second) Programmed Function Keyboard 3355 3356 3357 3857 3858 7927 7928 4787 5340 5341 2250 1001 1245 1498 1499 1880 4785 5475 5476 5855 Film Recorder Film Scanner Film Recorder/Scanner Display Control (for 2250 Model 2 and Film Units) Display Multiplexor (to connect additional 2250 Model 2's or Film Units to a 2840) Film Unit Attachment (req'd to attach Film Units to a 2840) 2280 2281 2282 2840 3351 4395 PRICES Monthly Rental Monthly Maintenance Purchase $ $ $ 360 23.00 16,700 390 420 23.50 24.00 17,900 19,100 40 80 100 45 2.00 4.00 5.00 NC 1,600 3,200 4,000 1,950 55 NC 2,400 40 40 10 10 5 3.25 3.25 1. 25 1. 00 0.50 1,600 1,600 450 430 215 700 350 125.00 110.00 33,600 16,800 225 50 250 400 300 75 45 35 100 6.00 2'.50 5.00 8.00 14.00 8.00 NC NC 5.00 9,000 2,400 12,000 19,200 14,500 3,600 2,000 1,550 4,800 5,600 8,200 11,500 1,100 1,275.00 1,100.00 1,850.00 50.00 230,000 377,000 540,000 52,800 50 2.50 2,400 275 5.00 12,500 1,200 625 38.50 27.00 57,600 30,000 Audio Response Audio Response Unit, Model 3 Audio Response Unit, Model 3 (Note: Optional features are required to connect more than 4lineE to a 7770 or more than 2 lines to a 7772). 7770 7772 © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 !'8M SYSTEM/360· 420: 221.1 O~ IDENTITY OF UNIT CLASS INPUTOUTPUT (Contd.) No. PRICES Name Monthly Rental Monthly Maintenance Purchase $ $ $ Communication 2701 2702 7955 Data Adapter Unit (including 1 adapter for 1 line) Transmission Control (for up to 15 lines) 31-line Expansion feature (adds Ill. more lines to 2702 capacity) ... " ~ (Note: Numerous options permit.! connection of a wide variety of communication terminals to the 2701 and 2702.) Transmission Control (no line adapters included iii price; numerous options permit connection to various communications facilities) Remote Multiplexor: Modell Model 2 Digital Time Unit: Modell Model 2 Communications Terminal Communications Terminal 200 I 15.00 9,700 70.00 40,800 lOq 5.00 4,700 1,450 : 95.00 69,600 460 495 28.75 30.25 20,700 22,275 100 115 80 80 3.00 3.00 23.50 23.50 4,500 5,750 3,200 3,200 /. 850 ~I I / 2703 2712 1032 2740 2741 Console INPUTOUTPUT (Contd.) I/o 1052 7920 Printer-Keyboard 1052 Adapter (for Models 40-65) 65 225 6.50 9.00 2,725 10,875 1051 Control Unit: Modell - on-line or "home loop" Model N1 - "home loop" only 1051 Adapter (for Model 30 only) Console (for Models 65 and 75) Operator Control Panel (first) Operator Control Panel (second) 75 60 75 515 35 35 2.25 2.00 8.00 15.00 3,515 3,050 4,125 25,200 1,550 ;L,550 7915 2150 5475 5476 - NOTES: 7/65 1. Indicated monthly maintenance charges apply for first 36 months. 2. Not all input-output devices can be used with all System/360 models; see Section 420:031, System Configuration, for configuration rules. 422:011.100 IBM System/360 Model 20 Introduction INTRODUCTION The Model 20 is the smallest currently-announced member of the IDM System/360 computer family. It was originally announced in November, 1964, as a card-oriented computer system designed primarily as the first step upward from punched-card tabulating equipment. The recent addition of magnetic tape facilities has expanded the range of practical applications for the Model 20. A Model 20 system with card reader and printer can be rented for as little as $1,280 per month, although typical system rentals will be in the $1,700 to $3,500 range. Initial deliveries are scheduled for the first quarter of 1966, and the current delivery schedule is 22 months. The Model 20 uses the same basic data and instruction formats as the larger System/ 360 models. The instruction repertoire is a compatible subset of the full System/360 repertoire, except that the input-output instructions and some control instructions are unique to the Model 20. Decimal arithmetic (including multiply and divide), editing, and code translation instructions are standard. Floating-point arithmetic is not available. The scatter-read, gatherwrite, and extensive interrupt facilities of larger System/360 models are not implemented in the Model 20; interrupts occur only upon completion of peripheral data transfer operations. The Model 20 Processor can contain 4,096, 8, 192, or 16,384 bytes of core storage. Cycle time is 3.6 microseconds per access of one half-byte (four data bits). Read-only storage with a cycle time of 0.6 microseconds is used for control of processor and input-output functions. There are 8 general registers (compared with 16 in the larger System/360 models), which are usable as fixed-point accumulators or as index registers. The use of decimal arithmetic is being emphasized in the Model 20. It is performed upon 4-bit BCD digits packed two to a byte, with a sign in the rightmost four bits of the loworder byte of each data field. Decimal operands may be up to 16 bytes (31 digits and sign) in length; the length of each field is specified in the instructions that reference it, rather than by a word-mark in the field itself. Because of the instructions which are unique to the Model 20, programs written for a Model 20 system cannot be directly executed on a larger System/360 model. A special routine will be provided to trap and interpret these Model 20 instructions and permit all Model 20 programs to be run on other System/360 models with equivalent ,peripheral equipment (provided that the programs are not dependent upon fixed relationships between input-output times and instruction execution times). The standard System/360 instructions will be executed normally, with no interference by the interpretive routine. Throughput can range from below Model 20 speeds (in certain I/O-limited cases) to near-normal speeds for the larger system (in processorlimited cases). The interpretive routine will not be required to generate and run programs written in Model 20 Report Program Generator language on larger System/360 models.' A control panel, built into the top of the 2020 Processing Unit cabinet, provides the switches, keys, and lights required for manual control of the system. No provision for keyboard input or console typewriter output has been announced to date. Peripheral devices are connected to a Model 20 system by means of special attachments; in most cases a separate attachment is required for each peripheral device. Model 20 configurations are subject to the following restrictions: • • • Only one peripheral device of any given type can be connected. A 2560 Multi-Function Card Machine and a 2520 Card Punch cannot be used in the same system. The maximum configuration possible is three card read stations, two punch stations, one document print station, one magnetic character reader, one line printer, and one magnetic tape unit (which can include up to six tape drives). The following peripheral devices are available for use in Model 20 systems: 1442 2520 2520 2501 2560 Card Punch, Model 5 Card Punch, Models A2 and A3 Card Read Punch, Model Al Card Reader, Models Al and A2 Multi-Function Card Machine (MFCM) © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 422:011.101 IBM SYSTEM/360-MODEL 20 1403 2203 2415 1419 2073 Printer, Models 2, 7, and N1 Printer, Model A1 Magnetic Tape Unit, Models 1, 2, and 3 Magnetic Character Reader, Modell Communications Adapter These peripheral devices are described in individual sections of the general System/360 report. Note that no random access storage devices are currently available for use with the Model 20. Reading, punching, printing, and processing can all occur simultaneously in a System/360 Model 20 through time-sharing of the core storage accesses required by each input-output device and by the central processor. Magnetic tape reading or writing, however, can be overlapped only with printing on the 1403 Printer. The 1419 Magnetic Character Reader cannot operate simultaneously with any card reading or card punching device. The 2560 MFCM is a unique punched card input-output unit developed especially for the System/360 Model 20. Equipped with two 1,200-card feed hoppers, a reading station, a punching station, an optional printing station, and five 1, 300-card radial stackers, the 2560 MFCM combines many of the facilities of a card reader, card punch, collator, interpreter, and card document printer in a single unit under stored-program control. Cards can be fed independently from either the primary or secondary hopper; they follow separate paths through pre-read, read, and pre-punch stations. The cards are read serially (column-by-column) by means of solar cells, at a maximum speed of 500 cards per minute. (This speed is achieved only when no punching or printing is being done on the cards.) Upon leaving the separate primary and secondary pre-punch stations, the cards merge into a single feed path through the punch, pre-print, and print stations. Then the cards pass on into any of the five stackers, as selected by the program. The rated punching speed is 160 columns per second. The effective speed depends (as in the IBM 1442) upon the position of the last column punched in each card; when all 80 columns are punched, the punching rate is 91 cards per minute. The optional Card Print feature provides a printing unit that can print two, four, or six lines of information on any or all cards passing through the MFCM. Each line can hold up to 64 printed characters, spaced 10 to the inch. Rated printing speed is 140 character positions per second. The 2073 Communications Adapter provides the Model 20 with limited data communications facilities. With this adapter, a Model 20 can function as a Single-line, point:-to-point processor terminal communicating with: another Model 20, a larger System/360 processor, an IBM 1009 Data Transmission Unit, a 1013 Card Transmission Terminal, a 7701 or 7702 Magnetic Tape Transmission Terminal, or a 7710 or 7711 Data Communications Unit. Data is transmitted and received in half-duplex synchronous mode over appropriate communications facilities at speeds ranging from 75 to 600 characters per second. Multiple remote terminals can be addressed via common-carrier switched telephone networks. Automatic connections and disconnections can be made without operator intervention. Data is transmitted or received under control of the stored program. One message at a time can be transmitted or received. The Communications Adapter shares central processor time with data processing and input-output operations. Because of their restricted instruction repertoire, different I/O control methods, and limited core storage, Model 20 systems will not be able to use the extensive array of software that IBM is providing for larger System/360 models. The software that is being prepared specifically for Model 20 systems includes a Report Program Generator, utility programs for performing the functions of conventional punched-card machines, a one-for-one Basic Assembler, I/O control' routines to handle all peripheral operations (including the Communications Adapter), and a 1419 Magnetic Character Reader I/O Program. Section 422:151 contains more information about the Model 20 software. Information in the general System/360 report (420:) which pertains to the Model 20 includes: Data structure, Section 420:021 System Configuration, Section 420:031 Core storage, Section 420:041 Input-Output Devices, appropriate parts of Sections 420:071 through 420:108 Data Codes, Section 420:141. Physical Characteristics, Section 420:211. This subreport concentrates upon the characteristics and performance of the Model 20 in particular. 7/65 / 422:031.100 IBM System/360 Model 20 System Configuration SYSTEM CONFIGURATION System configuration possibilities for Model 20 and other System/360 models are summarized in report Section 420:031. This report section shows Model 20 systems arranged in accordance with the specifications for our Standard Configurations, as defined in the Users' Guide, page 4:030.120 • •1 TYPICAL CARD SYSTEM; CONFIGURATION I Deviations from standard Configuration: . . . • . . . . card punch is 50% faster. printer is 40% slower. Equipment Rental Main Storage (8, 192 bytes) 2020 Processing Unit, Model Cl 2501 Card Reader, Model A2, and Attachment: Reads 1,000 cards/minute 275 2520 Card Punch, Model A3, and Attachment: Punches 300 cards/minute 475 1403 Printer, Model 7, and Attachment: Prints 600 lines/minute 850 TOTAL RENTAL: $2,300 I \ © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 422:031.200 .2 IBM SYSTEM/360-MODEL 20 4-TAPE BUSINESS SYSTEM; CONFIGURATION II Deviations from Standard Configuration: •••..••• card reader is 20% faster. printer is 20% faster. Equipment Rental Main Storage (8,192 bytes) 2020 Processing Unit, Model C2 2501 Card Reader, Model AI, and Attachment: Reads 600 cards/minute 215 1442 Card Punch, Model 5, and Attachment: Punches 91 full cards/minute 285 1403 Printer, Model 7, and Attachment: Prints 600 lines/minute 850 2415 Magnetic Tape Unit and Control, Model 2 (4 drives total): 15,000 bytes/second 1,200 4658 Input/Output Channel TOTAL RENTAL: .3 $3,475 TYPICAL MULTIFUNCTION SYSTEM Equipment Main Storage (8, 192 bytes) } 2020 Processing Unit, Model C1 700 2560 Multifunction Card Machine and Attachment: Reads 500 cards/minute (includes 2-line Card Print feature) 800 2203 Printer and Attachment: Prints 300 to 750 lineS/minute 565 TOTAL: Note: Addition of a 2501 Card Reader, Model Al (600 cpm), and Attachment would increase the monthly rental to $2, 280 • 7/65 $ $2,065 422:051.100 IBM System/360 Model 20 Central Processor CENTRAL PROCESSOR .1 GENERAL • 11 Identity: . . • • . . . . . . IBM 2020 Processing Unit . .12 Description The 2020 Processing Unit, under control of the stored program, performs all calculations and controls all input-output devices in a System/360 Model 20 system. It uses the same basic data and instruction formats as the larger System/360 models. The instruction repertoire is a compatible subset of the full System/360 repertoire, except that the input-output and processor status instructions are unique to the Model 20 (see Program Compatibility below). Decimal arithmetic (including multiplydivide), editing, and code translation instructions are standard. Floating-point arithmetic is not available. The processor can contain 4, 096, 8,192, or 16,384 bytes of core storage. Access time is 3.6 microseconds to each half-byte (4 data bits). Read-only storage with a cycle time of 0.6 microseconds is used for control of processor and input-output functions. There are 8 general registers (versus 16 in the larger System/360 models), usable as fixed-point accumulators or as index registers. The use of decimal arithmetic is being emphasized in the Model 20. It is performed upon 4-bit BCD digits packed two to a byte, with a sign in the rightmost four bits of the low-order byte. Decimal operands may be up to 16 bytes (31 digits and sign) in length; the length of each field is specified in the instructions that reference it, rather than by a word mark in the field itself. Execution times for decimal arithmetic operations are as follows, where the operand length is 5 decimal digits (3 bytes): Time, Microseconds c = a + b: .•••••.•• 658. c = ab: .•••.•••••. 6,286. c=a/b: " •.•..••.. 7,175. Program Compatibility There are five major differences between the Model 20 and the Processing Units of the higher-numbered System/360 models: • / Limited Instruction Repertoire. The Model 20 has 36 instructions, compared with 86 to 138 instructions in the larger models. Among the instructions not implemented in Model 20 are fixed-point binary multiply, divide, logical compare, and shifts; floating-point operations; radix conversion; multiple register operations; and stepping instructions. Fixed-point binary operations are limited to 16-bit operands, and only eight general registers are available. • Addressing. The basic form of addressing in Model 20 is by means of a 14-bit direct address contained in the instruction itself. Addresses can be indexed by using a 12-bit address in the instruction and referencing a 16-bit general register to be used as an increment or decrement. Double indexing is not permitted in Model 20. The first 144 bytes of main storage are protected, and program reference to this area results in an error condition. • Interrupts. Interrupts in Model 20 can be caused only by the completion of data transfers to or from input-output devices. There is no individual interrupt control for each channel, although it is possible to inhibit all interrupts. • Multiprogramming. No provisions for multiprogrammed operation are made in Model 20. • Input-Output Instructions. Model 20 has its own unique set of I/O instructions. Also, the "Halt and Proceed", "Set PSW", and "Branch and Store" instructions are used only in Model 20. Because the instructions for input-output operations and processor status are unique to the Model 20, programs written for a Model 20 system cannot be directly executed by a larger System/360 model. A special routine will be provided to trap and interpret the Model 20 input-output inst"ructions and permit all Model 20 programs to be run on other System/360 models with equivalent peripheral equipment (provided that the programs are not dependent upon fixed relationships between input-output times and instruction execution times). The standard System/360 instructions will be executed normally, with no interference by the interpretive routine. The instructions which are unique to Model 20 will be trapped as invalid instructions, and the interpretive routine will then accomplish the equivalent functions on the larger system. Throughput, according' to IBM, can range from 1;lelow Model 20 speeds (in certain I/O-limited cases) to near normal speeds for the larger system (in processorlimited cases). The interpretive routine will not be required to generate and run programs written in Model 20 Report Program Generator language on larger System/360 models. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 422:051.200 IBM SYSTEM/360-MODEL 20 -------------------------------------------------------------------------------------- ----- .2 PROCESSING FACILITIES .21 Operations and Operands Operation and Variation .211 Fixed point Add-subtract: Multiply Short: Long: Divide No remainder: Remainder: Provision Radix Size automatic automatic binary decimal halfword (16 bits) . variable: 1 to 31 digits. none. automatic decimal variable: 1 to 15 digits. none. automatic decimal variable: 1 to 30 digits in dividend, 1 to 15 in divisor. • 212 Floating point: .••••. not available . .213 Boolean AND: automatic binary Inclusive OR: automatic binary Exclusive OR: none. .214 Comparison Numbers: automatic fixed point binary: fixed point decimal: Absolute: automatic Letters: automatic Mixed: automatic Collating sequence ASCII code: .••••• specials, numbers, letters. Extended BCD code: specials, letters, numbers. (see Data Code Tables, Section 420:141.) Provision From To .215 Code translation: automatic** any 8-bit code any 8-bit code .216 Radix conversion: none. 1 byte. 1 byte. 16 bits. up to 31 digits. 8 bits or up to 256 bytes. 8 bits or up to 256 bytes. 8 bits or up to 256 bytes. 1 to 256 bytes. ** Special code tables must be provided to use the translate instructions. Provision . 217 Edit format Alter size: Suppress zero: Round off: Insert point Insert spaces Insert fill character: Protection: Float dollar sign: • 218 Table look-up: • 219 othersDecimal shift: .22 generally make larger automatic none automatic automatic can edit multiple fields with one instruction 2 to 256 bytes. must use Move with Offset instruction up to 31 digits. / automatic automatic none • none . semi-automatic Special Cases of Operands . 221 Negative numbers Binary: .....••••• 2's complement and sign hit. Decimal: . . . . . . . . sign in least significant byte. .222 ZeroBinary: . . . . • . . . . only positive zero. 7/65 yomment Decimal: . • . • . . . . . positive or negative zero; treated as equal in comparisons . . 223 Operand size determination Binary: ...•••...• fixed size; halfword (16 hits) . Decimal (and certain logical operations):. variable size, indicated by operand length fields in instruction. (Contd. ) CENTRAL PROCESSOR . 23 422:051.230 Instruction Formats .231 Instruction structure: . 1, 2, or 3 halfwords (16, 32, or 48 bits), depending on number of main storage addresses necessary. .232 Instruction layout and parts: . • . . . . . . . . • see diagrams below. Instructions can be two, four, or six bytes in length. A 2-byte instruction causes no reference to main storage. A 4-byte instruction causes one reference to main storage, while a 6-byte instruction causes two storage references. There are four basic instruction formats in Model 20: Type RR - Register to Register (2 bytes) Op 1Rli R21 Type RX - Register to Storage (4 bytes) op 1Rl 100001 B2 1 D2 Type SI - Storage and Immediate Operand (4 bytes) Op 12 1 Bl 1 Dl .2373 Indexing rules: •.••. base address is treated as a 15-bit binary integer plus sign bit; displacement is treated as a 12-bit positive binary integer. These are added to form a 16-bit binary integer, ignoring overflows . . 2374 Index specification: .. base address (B) field specifies the number of a register . . 2375 Number of potential indexers: • . . . . . . . 8. .2376 Addresses which can be indexed: .••.•.. all core storage addresses can be indexed by base register contents . • 2377 Cumulative indexing:. none. · 2378 Combined index and step: .•••.•.•••• none. .238 Indirect addressing: .• none • . 239 Stepping: . . • • . . . . • . none. · 24 Type SS - Storage to Storage (6 bytes) Category of storage 4-bit base register specification 12-bit displacement 8-bit literal operand 8-bit operand length specification Op = 8-bit operation code R = 4-bit operand register specification. General registers: Program Status Word: B= D= I = L= .234 Basic address structure: .••••.•.... 2 + 0; variations in instruction length are due to the fact that either operand address may be either a main storage address or a register address. .235 Literals Arithmetic (logical): 1 byte. Comparisons and tests (logical): •... 1 byte. Incrementing modifiers: ..•...•.•• none. .236 Directly addressed operands - \. Special Processor Storage Number oflocations Size in bits Program usage 8 16 indexing, base addresses, and accumula'tors. 1 32 holds location counter and various flags. .3 SEQUENCE CONTROL FACILITIES · 31 Instruction Sequencing .311 Number of sequence control facilities: ... 2 Program Status Words (PSW), only one of which is active at a time . . 312 Arrangement: . . . • . . two PSW's - one new and one old. Minimum Maximum Volume Internal storage size size accessible .313 Precedence rule: .••. test for channel end con~ dition is performed in an established priority Core storage: 1 byte 256 bytes 16,383 sequence . bytes* . 314 Special sub-sequence General counters: " . . . . . . the length of variahleregisters: 1 reg8 reg8 regsize operands is held ister isters isters in decimal arithmetic ins tructions. * If base registers are used for relative ad.315 Sequence control step dressing, a maximum of 4,096 bytes are size: . . . • . • . . . . . halfword. accessible via each register so allocated. If base registers are not used, 14 bits in .32 Look-Ahead: . . . . . . none. the instruction word can be used for direct addressing. . 33 Interruption .237 Address indexing.2371 Number of methods: . L . 2372 Names: ••.•••...• indexing, using the base register addresses. © .331 Possible causes Input-output units: .. data transfer completed . Processor errors: .. none. Other: . . . • . . . . . . none. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 422:051.332 IBM SYSTEM/360-MODEL 20 .332 Control by routine fudividual control: .. acceptance or nonacceptance of I/o interrupts can be controlled. Method: ..•••..•• specific bit in Program Status Word. .333 Operator control: . . . . none. .334 futerruptionconditions: . . . . . . . . . . (1) channel end condition occurs and is stored. (2) CPU is in interrupted state (channel mask bit = 1). (3) processing operation (instruction execution) has ended. .335 futerruption process futerruption action: .• present PSW (Program Status Word) is stored and replaced by a standby PSW. Registers saved: ... none of the 8 general registers are saved automatically. Most of the necessary optional data is saved in the old PSW. Destination: . . . . . . . contained in standby PSW. .336 Control methods Determine cause: .•. device address is given in PSW. Enable interruption: . by setting of bit in the P SW. .34 Multiprogramming: ... none. .35 Multisequencing: ...• none. .4 PROCESSOR SPEEDS .41 fustruction Times in Microseconds Note: B = operand length in eight-bit bytes. (Operand length in decimal digits = 2B-1. ) .411 Fixed point Add-subtract: ..•.• 269 + 68B Multiply: .•••.•.•. 20 + 164B + 642B2 Divide: ..•.•••••. 122 + 420B + 737B2 .412 Floating point: .••••. not available. .413 Additional allowance for Single indexing: ..•• ? Double indexing: .••• not available in Model 20. Indirect addressing: . not available in Model 20. Recomplementing: .• 49B .414 Control: Compare Fixed-point binary:. 215 Decimal: .••••..• 269 + 68B Logical: ..•••••. 163 + 24B Branch: ..••••..• 110 • 415 Counter control Step: ••••••••••. 206 Test: ••••••••••• 215 .416 Edit: .•••••.••.•• 165 + 26B .417 Convert: .•••••••.• not available. .418 Shift: ••.•••.••.•. not available. 7/65 .42 Processor Performance in Microseconds Fixed point (decimal) .421 For random addresses c = a + b: '" ••••• 406 + 84B b = a + b: .••••••• 269 + 68B Sum N items: ..•••• (269 + 68B)N c = ab: .•••••.••• 230 + 197B + 642B2 c = alb: •.•••.••• 332 + 454B + 737B2 .422 For arrays of data ci = ai + bj: .••••.• 1091 + 84B bj = ai + OJ: ••••••• 954 + 68N Sum N items: .••••. (774 + 68B)N 2 c = c + aibj: .•••••• 1184 + 265B + 642B .423 Branch based on comparisonNumeric data: ..••. (1473 + 68B)N Alphabetic data: .••• (1367 + 24B)N .424 Switching Unchecked: .•••••• 884 Checked: ..•••.••• 1368 List search: .••••. 130 + (804 + 24B)N .425 Format control, per character Unpack: .•••••••. 31. 4 Compose: ...••.•• 86.6 .426 Table lookup, per comparison For a match: .•.••. 804 + 24B For least or greatest: 817.7 + 25. 6B For interpolation point: .••••••••• 804 + 24B .427 Bit indicators Set bit in separate location: .••••••. 111 Set bit in p'lttern: .•• 136 Test bit in separate location: ..••••.. 242 Test bit in pattern: .• 250 .428 Moving: '" . . • . . . . 137 + 16B .5 ERRORS, CHECKS, AND ACTION Error Check or Interlock Action Overflow: check Zero divisor: check Illegal data: check Unavailable operation: check programming error stop. Illegal storage address: check programming error stop. process error stop. Receipt of data: parity check Dispatch of data: send parity bit. Specification error: check programming error stop or condition code set. programming error stop. programming error stop. programming error stop. 422: 111.100 IBM System/360 Model 20 Simultaneous Operations SIMULTANEOUS OPERATIONS The capability of the System/360 Model 20 to overlap an input-output operation with processing or with another input-output operation is under the control of the operator through a "time-sharing" switch on the console. If the switch is set "on", simultaneous operations proceed as described below. If the switch is set in the "off" position, the Model 20 becomes a sequential machine, capable of only one operation at a time. Reading, punching, printing, and processing can all occur simultaneously at the option of the operator in a System/360 Model 20 through "time-sharing" of the core storage accesses required by each input-output device and by the central processor. The processor delays during most input-output operations are fairly small in relation to the total input-output time. The notable exception is the 2415 Magnetic Tape Unit. The processor is completely locked out during a magnetic tape read or write operation. Furthermore, only printing on the buffered 1403 Printers can proceed concurrently with magnetic tape reading or writing. Table I summarizes the delays imposed upon central processor operations by most of the Model 20 input-output devices in the "time-sharing" mode. Input-output operations in Model 20 systems are handled differently from those in larger models of the System/360. See Section 420:111, Simultaneous Operations (general), for a description of how input-output operations are handled in the larger models. Note that data chaining is not implemented for the Model 20. In the Model 20, there are only three input-output instructions: • • • Transfer - controls the transfer of data between main storage and a peripheral device. Control - directs a peripheral device to perform a specified function, such as select a stacker pocket, initiate a forms skip, etc. Test I/O and Branch - causes a specified peripheral device to be tested for a particular condition such as device busy or end, of forms, and a branch to a specified location if the condition is found. The status of the peripheral device addressed by a Transfer instruction is reflected in the condition code (comparison and result indicators) at the completion of the Transfer instruction's execution. The three possible status conditions are: aVailable, busy, and not operational. An interrupt is generated at channel end (data transfer completed) for each peripheral device. See Paragraph 422:051. 33 for details of the Model 20's interrupt procedure. TABLE I: PROCESSOR DELAYS DURING I/O OPERATIONS Cycle Time, Function Device Card Reading 2560 MFCM 2520 Read Punch 2501-A1 Reader 2501-A2 Reader 500 500 600 1,000 2560 MFCM 2520 Read Punch 2520-A2 Punch 2520-A3 Punch 1442-5 Punch 160 500 500 300 160 Card Punching Printing 63-char set 1403-2 Printer 1403-7 Printer 1403-Nl Printer 2560 MFCM Tape cpm cpm cpm cpm msee 120 120 100 60 * col/sec cpro cpm cpm 120 120 200 • col/sec Processor Delay, maee 5 5 5 5 5.2 8 8 8 5.2 2203 Printer - la-char set 39-char Bet 52-char Bet Magnetic Speed 2415 Magnetic Tape Unit 7501pm 4251pm 3501pm 3001pro 6001pm 6001pm 1,100 lpm 140 col/sec 80 140 172 200 100 100 55 15,000 bytes/ * t 15 30 33 43 2 2 2 27 max. t sec * Varies with' number of columns punched or printed per card. t Cycle time varies with size of block. The processor is delayed for the entire duration of the magnetio tape operation. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 422: 151.1 00 IBM System/360 Model 20 Software SOFTWARE Because of their restricted instruction repertoire, different I/O control methods, and limited core storage, Model 20 systems will not be able to utilize the extensive array of software that IBM is providing for the larger System/360 models. The software that is being prepared especially for Model 20 systems is summarized in the following paragraphs. No operating system and no COBOL, FORTRAN, or PL/I compiler has been announced to date for Model 20 systems. .1 System/360 Report Program Generators and run on larger System/360 models, provided that an adequate configuration of input-output equipment is available. The only present exceptions are the Model 20 RPG specifications supporting the 2560 MFCM (card printing and collating operations) and the Dual Feed Carriage for the 2203 Printer. .3 DATA SORTING AND MERGING This is a group of four routines designed to perform most of the functions of conventional punched card machines. The user writes specifications describing the job to be performed on special preprinted forms. This information is punched into cards, fed into the Model 20, and used to generate a program that can be executed inimediately to perform the specified functions. The principal difference between these routines and the RPG is that the RPG can handle a wider variety of applications and can perform more functions during a single run. IBM has not announced a magnetic tape sort routine for Model 20 systems to date, although it is probable that one will be provided to use the 2415 Magnetic Tape Units. See Paragraph. 3 for the facilities provided for sorting, collating, and merging of punched card files. .2 REPORT PROGRAM GENERATOR IBM is emphasizing the use of the Report Program Generator (RPG) for most Model 20 applications. The System/360 Model 20 RPG is a generalized program designed to generate coding to perform most routine business data processing functions. Input to the RPG consists of specifications written by the user in a format that is relatively easy to learn and use. Separate preprinted specification sheets are used to describe the input to be provided, the calculations to be performed, and the output to be produced. The four Punched-Card Utility Programs and their functions are as follows: Programs created by the Model 20 RPG can perform any or all of the following functions (provided that the necessary input-output equipment is available): matching, merging, gang-punching, calculating, reproducing, interpreting, printing, summary punching, and card selection. Data records can be obtained from up to three different input files. Calculations can include addition, subtraction, multiplication, division, crossfooting, comparison, and data movements. Printed reports or punched summary cards can contain up to nine control levels. ( \ "'-. Generation of an object program requires a 2020 Processing Unit with 4, 096 bytes of core storage and any.Qllil of the follOWing: a 2560 MFCM, 8.2520 Card Read-Punch, or a 2501 Card Reader and a printer. Additional core storage can be utilized if available. Execution of the object program requires at least a 2020 Processing unit with 4,096 bytes of core storage, one card input unit, and one card punch or printer. The object program can utilize most of the peripheral units and optional features available for Model 20 systems. IBM expects most RPG-generated programs to run at or near the peak speed of the limiting hardware component. With respect to program compatibility, IBM states that virtually all programs written in Model 20 RPG can also be generated by the other IBM © PUNCHED-CARD UTILITY PROGRAMS .4 • Collate - performs merging, matching, card selection, card insertion, sequence checking, consecutive-number checking, and hash total accumulation; requires 4K bytes and a 2560 MFCM. • Gangpunch-Reproduce - performs the gangpunching, reproduCing, and interpreting functions of conventional punched card machines; requires 4K bytes and either a 2560 MFCM, a 2520 Card Read-Punch, or a card reader and a card punch. • List-Summary Punch - produces listings from card files and/or punches a summary card for each group of data cards; can print headings, perform editing, and accumulate totals; requires 4K bytes, a printer, and either a 2560 MFCM, a 2620 Card Read Punch, or a card reader and 3. card punch. • Merge-Sort ~ sorts a card file into either ascending or descending sequence based on keys contained in up to five alphameric or numeric fields; practical for use on files that have large alphameric keys or are largely presequenced; requires 4K bytes and a 2560 MFCM. BASIC UTILITY PROGRAMS The following loading and diagnostic routines will be provided to facilitate Model 20 operations: Absolute Loader, Relocatable Loader, Basic Trace, Print Storage, Punch Storage, and Clear Storage. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360-MODEL 20 422.151.~00 .5 BASIC ASSEMBLER The Punched Card 10CS program provides routines for scheduling I/O devices, handling errorcorrection and restart procedures, supervising central processor interruption, and generating linkages to the user's object program. The System/360 Model 20 Basic Assembler is a symbolic assembly system that translates source statements written by the programmer into machinelanguage instructions on a strict one-to-one-basis. It permits full utilization of all Model 20 hardware features. Input and output are on punched cards. The object program can be in either absolute or relocatable format. A printed listing includes the source statements, object program instructions, and diagnostic messages. Generation of an object program requires a 2020 Processing Unit with 4,096 bytes of core storage, a card reading unit, a card punching unit, and (optionally) a printer. Programs can be assembled to run on any Model 20 configuration that includes a card reading unit. IBM states that the System/360 Model 20 Basic Assembler language is upward compatible with the Basic Assembler language for the larger System/360 models except for those features dealing with specific hardware differences between the Model 20 and the larger models. These differences are primarily in the control of input and output operations. 6 INPUT/OUTPUT CONTROL SYSTEMS The Input/Output Control Systems (IOCS) are designed to relieve the programmer of much of the detailed coding involved in programming inputoutput operations for the Model 20 input-output units and the Communications Adapter. Two programs are provided: one to generate input-output control routines for conventional peripheral equipment; the second to generate control routines for data transmission via the Communications Adapter. Control routines are generated in symbolic coding and are tailored to the user's 10CS specifications. The routines can then be combined and assembled with a source program in Basic Assembler language\ or they can be assembled separately in relocatable text. The Communications 10CS program provides program-controlled point-to-point data transmission. This program supports data transmission between a Model 20 equipped with the Communications Adapter and anyone of the following IBM devices: 1009, 1013, 2701 (equipped with a Synchronous Data Adapter - Type 1), 7701, 7702, 7710, 7711, or another Mode1.20 system. .7 1419 I/O PROGRAM This program facilitates the use of a 1419 Magnetic Character Reader with a Model 20 system for Federal Reserve and Commercial Bank Transit Applications where capture of ON- US data is not required. The 1419 I/O Program provides the follOWing functic:ms: engaging and disengaging the 1419 MICR Reader, reading MICR documents, buffer maintenance, presenting data for user processing, testing of field indicators, issuance of I/O commands, and servicing of interrupts. Exits are provided to allow the user to insert own-coded routines for such functions as stacker determination, formatting of printer and punch output, document arithmetic processing, recognition of control levels, or card processing. IBM states that with this program, when reading 6-inch documents, approximately 12 milliseconds per document are available to the user, of which about 5 milliseconds should be allocated to stacker determination. When reading longer or shorter documents" a proportiqnate amount of processing time is available'. The 1419 I/O Program for the Model 20 cannot be used on larger System/360 models. / 7/65 422:201.001 IBM System/360 Model 20 System Performance SYSTEM PERFORMANCE GENERALIZED FILE PROCESSING (422:201.100) These problems involve updating a master file from information in a detail file and producing a printed record of each transaction. This application is one of the most common commercial data processing jobs and is fully described in Section 4:200.1 of the Users' Guide. Standard File Problems A, B, and C show the effects of varying record sizes in the master file. Standard Problem D increases the amount of computation performed upon each transaction. Each problem is estimated for activity factors (ratios of number of detail records to number of master records) of zero to unity. In all cases a uniform distribution of activity is assumed. In Configuration I, both the master and detail input files are read by the card reader. The output files are assigned to the card punch (updated master file) and printer (report file) . For all of the Standard File Problems, the 300-cpm card punch is always the controlling factor on overall processing time for Configuration I. In Configuration II, the master files are on magnetic tape. The detail file is assigned to the card reader and the report file to the printer. The blocking of master-file records was held to 528 bytes to permit the Generalized File Processing Problem to be performed in the 8, 192-byte core store. In a Model 20 system, magnetic tape operations cannot be overlapped with internal computation by the processor or with any other peripheral operation except printing by a 1403 Printer. Thus, in tape-oriented Model 20 systems, there are three timing factors that determine the speed with which a file-processing job is performed: (1) central processor time, including the delays due to input-output operations; (2) 1403 printing time; and (3) the magnetic tape reading and writing and card reading time. Note that the operations in factor (3) cannot be overlapped and must be performed sequentially. At low activity ratios, the central processor is the controlling factor for all of the Standard File Problems. As the activity factor increases, the magnetic tape reading and writing and card reading time tends to become the controlling factor. In File Problem D, where the amount of computation is trebled, the central processor is the controlling factor for all conditions. At high activity ratios with shorter master file records (Problems A and B), the printer is the controlling factor. SORTING (422:201. 200) The standard estimate for sorting 80-character records by straightforward merging on magnetic tape was developed from the time for Standard File Problem A by the method explained in Paragraph 4:200.213 of the Users' Guide. A two-way merge was used in System Configuration II, which has only four magnetic tape units. MATRIX INVERSION AND GENERALIZED MATHEMATICAL PROCESSING Automatic floating-point hardware is not available for the System/360 Model 20 Processor; therefore, the mathematically-oriented standard problems have not been coded for this system. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360-MODEL 20 422:201.011 WORKSHEET DATA TABLE 1 (STANDARD FILE PROBLEM A) CONFIGURATION ITEM I 1 msee/bloek InputOutput Times msee/switch msec penalty SO (File 1) Char/bloek Reeords/bloek K 52S' 6 0.5 (File 1) REFERENCE II 67.2 60 (File 1); 200 (File 2) File 1 = File 2 f - - - - - . - f- - - - - ---.;. 1 - - - - - 100 60 File 3 f-----.- f - - - - - -1-----125 125 File 4 4:200.112 0 0 File 1 = File 2 f-----f----- ---0 0 File 3 ~4---- f - - - - - - f - - - - - 0 0 , 67.2 12 (File 1); 19 (File 2) File 1 = File 2 --r - - - - - 1 - - - - - " - f - - -12 12 File 3 f-------1-----2 2 File 4 ------- ---- 2 Central Processor Times msec/block msec/record msec/detail msec/work msec/report b5+b9---·- f - - - 23.1 - - - - - ' - - - -23.1 ---- """b7"+'bs--· - 1 - - - -1-1.-S-- - I - - ---rr:-S--- Standard File ProblemA F = 1.0 for C.P. and dominant column ~---- I-~ ~ --_.- f -6.6 -19.2 a3K File 1: Master In 4:200.1132 Printer C.P. 1------ I--~ 79.2 --_.- f -229.8 --- 1---67.2 12.0 I - - -1 - - - I - - - --19.0 ~O_ 1--67~ f - - 72.0 6.0 File 3: Details - - : - : : - - - - - - - - i - - - - f--- -:o- f-750 12 1.0 File 4: Reports ---.- 4:200.114 File 2: Master Out 200.0 66.0 Total 4 Puneh C.P. 3 msec/block 2.S 2.S a1 - - - - f--- --1-3.-2-- - - 1 - - - -13.2 a2 1---- - - - - f--------3.5 3.5 b6 750 530.2 Unit of measure (bytes) 2000 (1) (?) Std. routines - - - - -f - - - - - - - - - - 1 - -1500 144 144 Fixed Standard File Problem A Space ---- ---_.- - - ' - - 714 714 3(Blocks 1 to 23) -=-=-.-_ ..,-:-:6(Blocks 24 to 48) I - FUe;.---.--:::---- Working Total * - --aii60-- - I-- -~4---- ----sii6o - - - 4:200.1151 I--~-- ' - - -80- - - - I--~--6242 8002 The reduced block length was necessary to fit the program into the available core storage. / (Contd. ) 7/65 422:201.100 SYSTEM PERFORMANCE .1 GENERALIZED FILE PROCESSING .11 Standard File Problem A . 111 Record sizes Master file: ...•••• 108' data characters, packed as 88 bytes. Detail file: .••••.• 1 card. Report file: .•••..• 1 line. .112 Computation: •.••••• standard . • 113 Timing basis: . • . . . . using estimating procedureoutlined in Users' Guille 4:200.113 . • 114 Graph: . . • • . . . . . . . see graph below . .115 Storage space required Configuration I: ..•. 6,242 bytes. Configuration il: ...• 8,002 bytes. 1,000.0 7 4 2 100.0 7 I 4 Time in Minutes to Process 10,000 Master File Records - ',2 10.0 7 4 - 2 1.0 7 4 2 0.1 0.0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations.) © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360-MODEL 20 422:201.120 • 12 standard File Problem B .121 Record sizes Master file: .•.••.. 54 data characters, packed as 44 bytes. Detail file: .•.•••. 1 card. Report file: ...••.• 1 line. .122 Computation: .•••... standard . '.123 Timing basis: .••••• using estimating procedure outlined in Users' Guide, 4:200.12. .124 Graph: .••••••.... see graph below. 1,000.0 7 4 2 100.0 7 4 Time in Minutes to Prooess 10,000 Master File Records ~~ I 2 10.0 7 4 ~ --- 2 1.0 7 4 2 0.1 0.0 0.1 0.33 1.0 Aotivity Faotor Average Number of Detail Reoords Per Master Record (Roman numerals denote standard System Configurations.) (Contd. ) 7/65 422:201.130 SYSTEM PERFORMANCE • 13 Standard File Problem C .132 Computation: ••••••. standard • .133 Timing basis: •.•••• using estimating procedure outlined in Users' Guide, 4:200.13 • . 134 Graph: ••••••••••• see graph below. • 131 Record sizes Master File: .••••• 216 data characters, packed as 176 bytes. Detail file: •••••.• 1 card. Report file: ••••••. 1 line. 1,000.0 7 4 2 (~ I 100.0 7 4 Time in Minutes to Process 10,000 Master File Records 2 ---- 10.0 7 ~ - 4 2 1.0 7 4 2 0.1 0.0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations.) © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 422:201.140 .14 IBM SYSTEM/360-MODEL 20 Standard File Problem D .141 Record sizes Master file: .••...• 108 data characters, packed as 88 bytes. Detail file: ..••••• 1 card. Report file: .•••.•. 1 line. .142 Computation: •••••.• trebled • • 143 Timing basis: ..•••• using estimating procedure outlined in Users' Guide, 4:200.13 •. .144 Graph: ..•••.••... see graph below. 1,000.0 7 4 2 100.0 , 7 4 Time in Minutes to Process 10,000 Master File Records 2 --- 10.0 7 ~ I - 4 2 1.0 7 4 2 0.1 O. 0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations.) (Contd. ) 7/65 SYSTEM PERFORMANCE 422:201.200 .2 SORTING .21 Standard Problem Estimates .212 Key size: . . • • • . . . . 8 characters . .213 Timing basis: .•..•. using estimating procedure outlined in Users' Guide, 4:200.213 . • 214 Graph: ..••••.••.. see graph below . . 211 Record size: . . . . . . . 80 characters. 1,000 7 Ll 4 2 ~ 100 V V Lt I 7 10-' 4 1.1 1I 2 V Time in Minutes to Put Records into Required Order 10 V I 7 / / 4 2 1 7 4 2 0.1 100 2 4 7 1,000 2 4 7 10,000 2 4 7 100,000 Number of Records (Roman numerals denote standard System Configurations.) © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 422:221.101 IBM System/360 Model 20 Price Data PRICE DATA IDENTITY OF UNIT CLASS CENTRAL PROCESSOR No. 2020 Name Processing Unit Model B1 - 4,096 bytes Model C1 - 8,192 bytes Model D1 - 16,384 bytes Model B2 Model C2 Model D2 - 4, 096 bytes* 8,192 bytes* 16,384 bytes* PR1CES Monthly Rental Monthly Maintenance Purchase $ $ $ 500 700 1,200 37.00 42.00 52. 00 24,300 33,600 56,800 575 775 1,275 40.00 45.00 55. 00 27,900 a7,200 60,400 225 200 275 30 55 22.50 22.50 22.50 2.50 5.00 11,250 11,000 11,750 1,500 2,750 2.00 6.00 3.00 4. 75 960 2,500 1,250 3,750 2. 25 * Model B2, C2, or D2 is required for attachment of a Communications Adapter, Input/Output Channel, Printer Features Control, Serial I/O Channel, or Universal Character Set Adapter 4442 4447 4448 4460 8082 8090 8092 8095 8099 2501 2520 2520 2560 Attachment Model A1 Attachment Model A2 or A3 Attachment Attachment 20 50 25 75 1580 3480 5575 8637 7081 4658 2073 Card Print Control Dual Feed Carriage Control Printer Features Control* Universal Character SetAdapter~ Serial I/O Channel * Input/Output Channel* Communications Adapter* 25 10 55 15 100 150 150 2.00 3. 50 6. 50 4.75 11. 00 1,200 500 2,640 720 5,300 7,500 6,000 INTERNAL STORAGE INPUTOUTPUT PeriI!heral AdaI!ters {on 2020) 1403 Model 2 Attachment 1403 Model 7 Attachment 1403 Model N1 Attachment 1442 Model 5 Attachment 2203 Attachment 1. 50 Core Storage is included in the 2020 ProceSSing Units (above). 1442 Card Punch (#4460 req'd. ) 255 38.00 12,750 2501 Card Reader (#8090 req'd. ) Model A1 - 600 cpm Model A2 - 1,000 cpm 195 255 30.00 42.00 11,700 11,950 Card Read Punch, Model A1 (#8092 req'd. ) 700 84.00 33,500 Card Punch (#8095 req'd.) Model A2 - 500 cpm Model A3 - 300 cpm 625 450 80.00 60.00 30,000 29,700 2520 2520 © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 422:221.102 IBM SYSTEM/360-MODEL 20 PRICES IDENTITY OF UNIT CLASS INPUTOUTPUT (Contd. ) Name No. 2560 1575 1576 1577 1403 1403 1376 4740 5381 6411 8640 8641 2203 5558 3475 7815 Monthly Maintenance $ $ Purchase , $ Multi-Function Card Machine (#8099 req'd.) Card Print Feature First 2 Lines (#1580 req'd.) Second 2 Lines (#1575 req'd.) Third 2 Lines (#1576 req'd.) 575 90.00 28,750 125 125 125 13.00 13.00 13.00 6,250 6,250 6,250 Printer (600 lpm) Model 2 (#4442 req'd.) Model 7 (#4447 req'd.) 775 650 131. 00 130.00 34,000 32,700 Printer (1, 100 lpm) Model N1 (#4448 req'd.) 900 166.00 41,200 75 18.75 3,075 On 1403 Model 2 or 7 Auxiliary Ribbon Feeding Feature Interchangeable Chain Cartridge Adapter On 1403 Model 2 only (#5575 req'd.) Numerical Print Feature On 1403 Model 2 orN1 Selective Tape Listing Feature Universal Character Set Feature (#8637 req'd.) For Model N1 For Model 2 Printer (300-750 lpm; #8082 req'd. ) On 2203 Printer 24 Additional Print Positions Dual Feed Carriage (#3480 req'd. ) 6 Additionru Tape Channels (#3475 req'd.) 1419 Magnetic Character Reader (#7081 Serial 170 ChanneIReq'd.) 2415 M~etic 3228 7125 Monthly Rental Tal2e Unit 15,000 char/sec (#4658 Input/ Output Channel req'd.) Model 1 (two tape drives and single-channel controller) Model 2 (four tape drives and Single-channel controller) Model 3 (six tape drives and single-channel controller) On 2415, any model Data Conversion Seven-Track Compatibility - 3,125 225 7.50 9,050 190 10.00 8,100 10 10 1. 75 1. 75 450 450 510 71. 50 23,000 45 4.00 2,475 100 8.50 5,000 10 1. 00 400 2,275 240.00 110,500 750 100.00 32,750 1,200 180.00 58,800 1,650 260.00 80,850 45 50 1. 00 1. 25 2,160 2,400 75 Note: Indicated monthly maintenance charges are those in effect for the first 36 months after installation. 7/65 IBM SYSTEM/360 MODEL 30 International Business Machines Corp. I ~. -~ J (. c AUERBACH INFO, INC. PRINTED IN U. S. A. IBM·SYSTEM/360 MODEL 30 International Business Machines Corp. '--~~ AUERBACH INFO, INC. PRINTED IN U. S. A. 423:011.100 IBM System/360 Model 30 Introduction INTRODUCTION The Model 30 series of the IBM System/360 family is a small-scale, general-purpose computer system, with typical system rentals ranging from approximately $4,000 (for a card system) to $6,600 (for a six-tape system) per month. The Model 30 has approximately the same processing power as the older IBM 7010 system. The available Compatibility Features indicate that Model 30 is regarded by IBM as a probable replacement computer for IBM 1401, 1440, 1460, and 1620 systems. Model 30 is the smallest System/360 processor that can include the full System/360 instruction repertoire. It cannot be connected to some of the faster direct-access peripheral devices or to the 2361 Large-Capacity Core storage Unit. The available core storage sizes, which range from 8,192 to 65,536 bytes, impose restrictions on the software which can be used with Model 30 systems. Model 30, with the 1401/1440/1460 Compatibility Feature, is the only System/360 processor that can execute programs written in a "foreign" machine code without requiring additional core storage. Model 30 is presently faster than Model 40 when both are emulating the same 1400 Series system, because Model 40 uses a combined hardware/software "hybrid" approach instead of the direct hardware approach used in Model 30. The Model 30 series of the IBM System/360 is characterized by: • A main core storage cycle time of 1. 5 microseconds, with one byte being accessed per cycle. Storage accessing is not interleaved, so the effective core cycle time is 1. 5 microseconds per byte. (As originally announced, in April 1964, Model 30 had a cycle time of 2 microseconds per byte. The faster 1. 5-microsecond rate was announced in January 1965.) • Main core storage capacities ranging from 8,192 to 65,536 bytes. • standard inclusion of the Multiplexor Channel, which allows simultaneous operation of a number of low-speed input-output devices such as printers, card readers, and communication terminals. This makes the Model 30 system suitable for use as an independent system and/or as a satellite system to handle the input-output processing of a larger system. • standard inclusion of the following features: I '", System Control Panel standard Instruction Set. • Optional availability of the following features: Channel-to-Channel Adapter Decimal Arithmetic Direct Control Floating-Point Arithmetic 1401/1440/1460 Compatibility or 1620 Compatibility (not both)Interval Timer Selector Channels (maximum of 2) Storage Protection High-Speed Multiplexor Channel. • Non-availability of the following features: Shared Processor Storage 1410/7010 Compatibility Feature 7070/7074 Compatibility Feature 7080 Compatibility Feature 709/7040/7044/7090/7094/ Compatibility Feature © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 423:011.101 IBM SYSTEM/360-MODEL 30 • Non-availability of the following peripheral devices: 2150 2361 2301 2314 Console Large-Capacity Core Storage Drum Storage Direct Access Storage Facility This report concentrates upon the characteristics and performance of the Model 30 series in particular. All general characteristics of the System/360 hardware and software are described in Computer System Report 420: IBM System/360 - General. The System Configuration section which follows shows the System/360 Model 30 in the following standard System Configurations: I Card System II 4-Tape Business System m 6-Tape Business System v 6-Tape Auxiliary Storage System. These configurations were prepared according to the rules in the Users' Guide, Page 4:030.120, and any significant deviations from the standard specifications are listed. As a matter of general interest, the rentals that would be incurred when either the 2321 Data Cell Drive, the 2302 Disk Storage Unit, or the 2311 Disk Storage Drives are used to provide the necessary random access storage capability are listed separately on the diagram for the Auxiliary Storage System, Configuration V. Section 423:051 provides detailed central processor timings for the Model 30. See Section 420:051 for all the other characteristics of the program-compatible System/360 processors, including a discussion of the System/360 instruction repertoire as a programming tool. Program compatibility with the IBM 1400 Series systems is discussed in Section 420:131. The input-output channel capabilities of the System/360 Model 30 can be summarized as follows (see also Sections 420:111 and 423:111):_ Standard Multiplexor Channel Maximum number: . . . . . . . . . . . . . . . . . Maximum data rate, bytes/sec Multiplex mode: . . . . . . . . . . . . . . . . . . . Burst mode: . . . . . . . . . -• . . . • . . . . . . . Maximum number of subchannels: • . . . . . . . 1. 31,000. 267,000. 244. High-Speed Multiplexor Channel Maximum number: . . . . . . . . . . . . . . . . . . 1. Maximum data rate, bytes/sec Multiplex mode: . . . . . . . . . . . . . . . . . . 200,000. Burst mode: .... . . . . . . . . . . . . . . . . • 200, 000. Maximum number of subchannels: • . . . . . . . 4. Selector Channels Maximum number: . . . . . . . . . . . . . . . . • . 2. * Maximum data. rate, bytes/sec: . . . . . . . . . 333,000 per channel The software that can be used with any System/360 configuration depends upon the core storage capacity and the number and type of peripheral devices. Several versions of the Assembler, COBOL, FORTRAN IV, and PL/I will be made available. These languages and the other support routines for the System/360 are described in Sections 420:151 through 420:193. The overall performance of any System/360 is heavily dependent upon the Processing Unit model used. A full System Performance analysis of the Model 30 is provided in Section 423:201. *If the High-Speed Multiplexor Channel is used, only one Selector Channel can be installed. 7/65 423:031.100 IBM System/360 Model 30 System Confi gurotion SYSTEM CONFIGURATION System configuration possibilities for Model 30 and other System/360 models are summarized in report Section 420:031. This report section shows Model 30 systems arranged in accordance with the specifications for our Standard Configurations, as defined in the Users' Guide, page 4:030.120. .1 TYPICAL CARD SYSTEM; CONFIGURATION I Deviations from Standard Configuration: . . . . . . . . • . . . . card punch is 50% faster. Equipment Rental Main Storage (8,192 bytes) 2030 Processing Unit, Model C30 (includes one Multiplexor Channel) ",275 2821 Control Unit, Modell 970 2540 Card Read Punch, Modell: Reads 1,000 cards per minute Punches 300 cards per minute 660 1403 Printer, Model 3 (132 print positions): Prints 1,100 lines per minute 1100 LPM Printer Attachment 1416 Print Train Cartridge 900 Optional Features Included: . . • • . • • . • • • . . . . . . . . . . . Decimal Arithmetic TOTAL: © i 1965 AUERBACH Corporation and AUERBACH Info, Inc. 75 100 25 $4,005 7/65 IBM SYSTEM/360-MODEL 30 423:031.200 .2 4-TAPE BUSINESS SYSTEM; CONFIGURATION II Deviations from Standard Configuration: • • • • . . . . . . . . . printer is 20% faster. reader is 20% faster. Equipment Rental Main Storage (8,192 bytes) 2030 Processing Unit, Model C30 . (includes one Multiplexor Channel) \ $1.~5 2501 Card Reader, Model Bl: Reads 600 cards per minute 260 1442 Card Punch, Model N2: Punches 91 full cards per minute 375 2821 Control Unit, Model 2: 1403 Printer, Model 7: Prints 600 lines per minute 600 650 2415 Magnetic Tape Unit and Control, Model 2 (includes 4 drives): 15,000 bytes/second) Optional Features Included: . . . • • . . • • . . • . . . . . . . . . . Decimal Arithmetic Selector Channel TOTAL: 1,200 25 215 $4,600 / (Contd. ) 7/65 / 423:031.300 SYSTEM CONFIGURATION .3 6-TAPE BUSINESS SYSTEM; CONFIGURATION ill Deviations from Standard Configuration: . . . . . . . . . • . . . . printer is 20% faster. reader is 20% faster. Equipment Rental Main Storage (16,384 bytes) $1,775 2030 Processing Unit, Model D30 (includes one Multiplexor Channel) 1051 Control Unit and Adapter 1052 Printer-Keyboard 225 2501 Card Reader, Model B1: Reads 600 cards per minute 260 1442 Card Punch, Model N2: Punches 91 full cards per minute 375 2821 Control Unit, Model 2 1403 Printer, Model 7: Prints 600 lines per minute 600 650 2403 Magnetic Tape Unit and Control 2402 Magnetic Tape Unitu (2) 2401 Magnetic Tape Unit (6 drives total) AU Modell: 30,000 bytes/sec. Optional Features Included: • • • . . . . • • . • . . . . . . . . . . . Selector Channel Decimal Arithmetic TOTAL: 2,460 215 25 $6,585 ( "'-© 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 423:031.400 .4 IBM SYSTEM/360-MODEL 30 6-TAPE AUXILIARY STORAGE SYSTEM; CONFIGURATION V Deviations from Standard Configuration: • . . . . • • . . . . . . up to 380 million bytes more auxiliary storage. printer is 20% faster. reader is 20% faster. Equipment Rental Main Storage (16,384 bytes) $ 1,775 2030 Processing Unit, Model D30 (includes one Multiplexor Channel) 1051 Control Unit and Adapter 1052 Printer-Keyboard 225 2501 Card Reader, Model B1: Reads 600 cards per minute 260 1442 Card Punch, Model N2: Punches 91 full cards per minute 375 2821 Control Unit, Model 2 1403 Printer, Model 7: Prints 600 lines per minute 2403 Magnetic Tape Unit and Control 2402 Magnetic Tape Units (2) 2401 Magnetic Tape Unit (6 drives total) All Modell: 30,000 bytes/sec. 2841 Storage Control and 8079 Attachment 2321 Data Cell Drive, Modell: up to 400 million bytes storage; access time: 175 to 600 msec. Optional Features Included: . . • • • • . . • • . . . . . • . . . . . . Selector Channel Decimal Aritlunetic TOTAL: Note: l 600 650 2,460 3,500 215 25 $10,085 The following can be used in place of the 2321 Data Cell Drive, resulting in the indicated total rentals: 2302 Disk Storage, Model 3, and 7950 Attaclunent - average access time: 165 msec; 112.14 million bytes storage: $12,960 2311 Disk Storage Drives (3) - average access time: 128 msec; 21. 75 million bytes storage: $ 8,830 423:051.100 IBM System/360 Model 30 Central Processor CENTRAL PROCESSOR .1 GENERAL . 11 Identity: ••••.•..•• IDM 2030 Processing Unit . .12 Description See Section 420:051 for a comprehensive description of the characteristics of all the System/360 Processing Units. See Section 423:011 for a summary of the distinguishing features of the 2030 Processing Unit as used in Model 30 systems. The Instruction Times and Processor Performance times for Model 30 systems, in all four modes of arithmetic, are listed below. See Paragraphs 4:050.41 and 4:050.42 of the Users' Guide for the definitions of these standard measures of central processor performance. .4 PROCESSOR SPEEDS .41 Instruction Times in Microseconds . 411 Fixed point - .412 .413 • 414 .415 .416 • 417 I \. Binary Decimal (optional) Add-subtract: .••..• 30 45 + 4B Multiply: .•••.•.... 235 34 + 35B + 21B2 34 + 60B + 54B2 Divide: .•.•••••••• 420 where B = operand length in eight-bit bytes (2 decimal digits per byte). Floating point (optional) Long Short Add-subtract: ••••• 87 ~ Multiply: •••.••••• 800 245 Divide: .••.•••••• 1, 643 300 Additional allowance for Single indexing: •••• 0.0 Double indexing: •••• 4.5 Indirect addressing: • none. Recomplementing: •. none • Control: Compare Fixed point:. • • • • • 30 Decimal: .•.••••• 45 + 4B Floating point (long) : . . • • • • • . 73 optional Floating point (short): .••••••• 49 Logical: •••••..• 33 + 4B Branch: .•••••..• 17 Counter control Step: ••••••.•••• 30 Step and test: •••••. 19 to 23 (increment of -1). 38 (increment of any value). Test: .•••••.•.•. 30 Edit: .••••••••••• 38 + 16B (optional). ConvertTo binary: •••••.•• 89 + 0.75H + 3H2 To decimal: .•••••. 46 + 18H + 1. 5H2 where H = number of significant hexadecimal digits. .418 Shift: .••••••••..• variable. .42 Processor Performance in Microseconds .421 For random addresses Fixed point Floating point c = a + b: ••••••... 78 (binary) 161 (long) 75 + 7B 107 (short) (decimal) b = a + b: .•••.•••• 78 (binary) 161 (long) 107 (short) 45 + 4B (decimal) Sum N items: .•.•••• 30N (binary) 87N (long) (45 + 4B)N 57N (short) (decimal) c = ab: .••..••.••• 296 (binary) 874 (long) 77 + 43B + 295 (short) 21B2 (decimal) c = alb: .••.•.••.. 481 (binary) 1, 717 (long) 77 + ~8B + 350 (short) 54B (decimal) where B = operand length in eight-bit bytes . .422 For arrays of data Fixed point Floating point ci = ai + bj= . . . . • . • . 144 (binary) 227 (long) 141 + 7B 173 (short) (decimal) bj = ai + bj: .•.••.•. 144 (binary) 227 (long) 173 (short) 111 + 4B . (decimal) Sum N items: .•••••• 68N (binary) 125N (long) (83 + 4B)N 95N (short) (decimal) c = c + aibj: .••.•.•• 392 (binary) 1,027 (long) 188 + 47B + 418 (short) 21B2 (decimal) .423 Branch based on comparison Numeric data: .•••• 131N Alphabetic data: .••• 124N .424 SwitchingUnchecked: .•••••. 125 Checked: .•.••.••• 187 List search: " ••.. 108 + 84N .425 Format control, per character Unpack: ..••••.•• 6.4 Compose: .••••... 16.1; 23.5 with radix conversions. .426 Table lookup, per comparisonFor a match: •••.•• 84 For least or greatest: 86.4 For interpolation point: . • • . . . . . • . 84 .427 Bit indicators Set bit in separate location: .••••••. 14 Set bit in pattern: ..• 16 Test bit in separate location: • . . . . . . . 32 Test bit in pattern: .. 33 .428 Moving: .•.••..••• 30 + 3B t where B = number of bytes moved. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 / 423: 111.100 IBM System/360 Model 30 Simul taneous Operations SIMUL TANEOUS OPERATIONS A System/360 Model 30 system can concurrently execute: • One machine instruction; and • Up to two input-output operations, one on each of the Selector Channels; and • Multiple additional input-output operations via the Multiplexor Channel. Alternatively, up to four operations on a High Speed Multiplexor Channel can be overlapped with internal processing and one Selector Channel operation. When the Multiplexor Channel is operated in the burst mode, only one input-output operation can proceed on that channel. Internal processing cannot be overlapped with burst mode operation, but operations previously initiated on the Selector Channels will proceed concurrently with the burst mode operation. The demand on the central processor (i. e., the "interference" or delay imposed upon the central processor program by each individual input-output operation) will vary depending on whether the peripheral device is connected to one of the Selector Channels or to the Multiplexor Channel. (See the general discussion of System/360 Simultaneous Operations in Section420:1l1.) In Table I the processor demands imposed by each of the peripheral units are listed for both types of channels. The specific characteristics of the Model 30 Selector, Multiplexor, and High Speed Multiplexor Channels can be summarized as follows: Selector Channels Maximum number: ..••••••...••.•..••. Maximum data rate per channel: .•.•••..••• Maximum data rate; Multiplexor Channel not operating Selector Channell: ..•.•••..•••.••. Selector Channel 2: .•.••.•..•••.•.. Maximum data rate; Multiplexor Channel operating Selector Channell: .••••.•••••.•••. Selector Channel 2: .•••.•••.....••. Processor demand: ..••.•••.•••••.•••.• Number of control unit positions: .•••.•.... 2. 250 kilobytes/sec. 250 kilobytes/sec. 200 kilobytes/sec. 250 kilobytes/sec. 125 kilobytes/sec. see Table I. 8 per channel. Multiplexor Channel Maximum number: . • . . . . • . . . . • . . • • . . . . Maximum data rate; Selector Channels not operating Multiplexed mode: .•••••••••...••. Burst mode: ••.•••.••••.•.•••.•. Processor demand: .••.••••••••...•..•. Number of control unit positions: .••••....• Maximum number of subchannels: . . . . • . . . • • 1. 31 kilobytes/sec. 267 kilobytes/sec. see Table 1. 8. 224. High Speed Multiplexor Channel Maximum number: •••••••.•........... Maximum data rate Multiplexed mode: .•••••••.••••••. Burst mode: •.••••••••.••.•...•• Number of control unit positions: ••••••..•. Maximum number of subchannels: ..••••.••. / ( \ 1 (pre-empts one Selector Channel). 200 kilobytes/sec. 200 kilobytes/sec. 4. 4. " © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360-MODEL 30 423: 111. 101 TABLE I: INPUT-OUTPUT DEMANDS ON THE SYSTEM/360 MODEL 30 PROCESSOR Device Random Access 2302 Disk Storage 2311 Disk Drive 2321 Data Cell Drive 7302 Drum Punched Card 2540 Card Read Punch: Read, 1000 cpm Punch, 300 cpm 1442 Model N1 Card Read Punch: Read, 400 cpm Punch, 91 cpm 1442 Model N2 Card Punch, 91 cpm 2520 Model B1 Card Read Punch: Read, 500 cpm Punch, 500 cpm 2520 Card Punch: 500 cpm (Model B2) 300 cpm (Model B3) 2501 Card Reader: 600 cpm (Model B1) 1,000 cpm (Model B2) Peak Data Rate, KB/sec* 156 156 54.7 135 156 156 54.7 135 Demand on Processor, per cent, viaMultiplexor Selector Channel Channel 23 23 8. 2 20 100 100 100 100 1.3 0.40 O. 19 0.06 3.30 1. 60 0.12 0.53 0.12 0.12 0.08 0.02 0.02 3.30 0.75 0.75 0.67 ? 0.67 0.67 0.10 0.10 4.20 1. 84 ? ? 0.67 0.40 O. 10 0.06 1. 84 1. 20 0.80 1.3 0.80 1.3 0.12 0.19 5.00 8.20 70 70 0.53 O. 12 Printers 1403: 132 columns, 600 lpm (Model 2) 120 columns, 600 lpm (Model 7) 132 columns, 1, 100 lpm (Model 3, N1) 1404, 132 columns, 600Ipm 1443, 120 columns, 240Ipm 1445, 113 columns, 190Ipm 70 70 1.3 1.2 0.19 0.18 1. 80 1. 20 70 70 58 48 2.4 1.3 0.48 0.36 0.36 0.19 0.07 0.05 3.35 1. 80 1. 40 1. 16 Punched Pal2er Tal2e 2671 Paper Tape Reader, 1,000 cps 1 1 0.15 6.24 30 60 90 15 170 30 60 90 15 170 Maggetic Tal1e 2400 Series: Model 1, 30 KB/sec Model 2, 60 KB/sec Model 3, 90 KB/sec 2415, 15 KB/sec 7340 Hypertape, 170 KB/sec *Kilobytes (thousands of bytes) per second. 7/65 Average Data Rate, KB/sec* 4.5 9. 0 13.5 2.2 25 100 100 100 100 100 423:201.001 IBM System/360 Model 30 System Performance SYSTEM PERFORMANCE GENERALIZED FILE PROCESSING (423:201.l(iO) These problems involve updating a master file from information in a detail file and producing a printed record of each transaction. This application is one of the most common commercial data processing jobs and is fully described in Section 4:200. 1 of the Users' Guide. Standard File Problems A, B, and C vary the record sizes in the master file. Standard Problem D increases the amount of COJDPutation performed upon each transaction. Each problem is estimated for activity factors (ratios of number of detail records to number of master records) of zero to unity. In all cases a uniform distribution of activity is assumed. The Generalized File Processing problem for the System/3S0 was coded in two ways one using master files in packed decimal format and computation in decimal arithmetic, and the second USing master files primarily in binary format and computation in fixed-point binary. The decimal computations required more time than those in fixed-point binary; but in the binary case, items in the detail and report files needed radix conversion. There were no appreciable differences in the total times for the two cases. The graphs for the file problem are based on use of the fixed-point binary technique. For simplicity, the very similar curves based on the use of decimal arithmetic are not shown. In the master file record layout, alignment of data items in core storage was carefully considered. Double-word boundaries were observed for input-output purposes to improve performance efficiency on the larger models. Instead of the "chain" mode (scatter-gather) of tape reading and writing, individual records were moved to the work areas using a high-speed, multiple-register transfer m~thod. In Configuration I, the master and detail input files are on the card reader. The output files are on the card punch (updated master file) and printer (report file). For all of the file processing problems, the 300-cpm card punch is always the controlling factor on overall processing time for Configuration 1. In Configurations I! and II!, the master files are on magnetic tape. The detail file is assigned to the card reader and the report file to the printer. The master-file tapes are connected to a Selector Channel, and tape reading or writing can fully overlap prooessing and other input-output operations. The curves for Configurations II and III indicatethatforProblems A, B, and D, the master file tapes are controlling near zero activity and the printer is controlling at activities greater than 0.1. For Problem C, where larger master file records are used, the master file tapes are controlling at lower activities and the printer at higher activities. Coding space for Configuration I! had to be minimized, and the blocking of master file records was held to 528 bytes to permit the Generalized File Processing Problem to be performed in the 8, 192-byte core store. Because multiprogramming of two or more independent programs is afeatured capability of the System/360, the time actually used by the central processor (CP) is also plotted. By comparing the curves of total time for the various configurations with the central processor curves, it can be seen that even in the worst cases (Configuration II! with trebled processing or short master records) some 65% of the available processing capacity is not in use. A comparison of the central processor curves for a standard amount of computation and for trebled computation (i. e., the curves for Problems A and D, respectively) shows the effect of increasing the computatIOnal workload. SORTING (423:201. 200) The standard estimate for sorting 80-character records by straightforward merging on magnetic tape was developed from the time for Standard File Problem A by the method explained in Paragraph 4:200. 213 of the Users' Guide. A two-way merge was used in System Configuration I! (which has only four magnetic tape units) and a three-way merge in Configuration m. The results are shown in Graph 423:201. 200. MATRIX INVERSION (423:201. 300) The standard estimate for inverting a non-symmetric, non-singular matrix was computed by the simple method described in Paragraph 4:200.312 of the Users' Guide. In order to execute this procedure in floating-point form, the optional Floating-Point Arithmetic feature must be included on the Model 30. Two lines are shown on the graph, one using the short floatingpoint format (S-digit precision) and the other using the long format (IS-digit precision). © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 423:201.002 IBM SYSTEM/360-MODEL 30 GENERALIZED MATHEMATICAL PROCESSING (423:201.400) Standard Mathematical Problem A is an application in which there is one stream of input data, a fixed computation to be performed, and one stream of output results. Two variables are introduced to demonstrate how the time for a job varies with different proportions of input, computation, and output. The factor C is used to vary the amount of computation per input record. The factor R is used to vary the ratio of input records to output records. The procedure used for the Standard Mathematical Problem is fully described in Section 4:200.4 of the Users' Guide. The optional Floating-Point Arithmetic feature must be included on the Model 30 in order to perform the floating-point computations required in this problem. Double-length operations (16-digit precision) were used since a minimum precision of 8 digits is prescribed. The input file is on the card reader, and the output file is assigned to the printer. / WORKSHEET DATA TABLE 1 CONFIGURA TlON ITEM I 1 msec/block Standard File Problem A InputOutput Times (estimated) Central (File 1) msec/block maee/record Processor meec/detail Tlmee maee/work maee/report Standard for C.P. File Problem A and F=1.0 column. dominant 1/0 - - 9 - a - - · - I-- - - 1 2 - 5 - - - r--~4:200.112 File 1 = File 2 'Filea--· - 0 0 0 - - - 0 - - · - f - - - o- - · - t - - - -O - - - 0 - - - 1 - - - - - - - t - - - -O0 File = File 2 fru.3---.- 'File4 ---. - 9.6 f-----.9.6 0.8 1 - - - - 9.6 - - - r-- t-~.-4--·- t--~.-4-- - -----;;:s - t---14.4 2.2 ----u- ~---.- 1 - - - - _ . - 1 - - - - - - \ - - _ . 2.5 2.5 b6 1.9 ~9---- 1 - - - - - - f - - - - - - - - - - - 2.7 2.7 2.0 1------.-1-----_.- f - - - - - b7 + bS a.s C.P. 1.7 I-~ a1 i---=-- - - . a2K ~---.- I - a.s- File 1: Master In 9.6 ~---.-=-=- 9.6 File 2: Master Out 1 - - - - - . -1 - - 4.8 5.1 Punch C.P. 1.7 Printer --.- ~."B"" O.S t--- - 37.2 200 ----5.1 C.P. 1.7 Printer ~4- 1.6 f---roo- I- o:B"""""" I---- - 4:200.1132 1 - - - --9-.6- ! - - - -_.- 1---:4s.~ 1 - - - -7:"2 Total j--- --- 4:200.114 I--- - t--~ 1 - - -1 - - 115:2- t-- 57.6 8 6 . 4 I-- 750:0"""" 750.0 198.3 172.8- t-"J.50Q.0 394.9 1500.0 Unit of measure (bytes) ~outines 6,000 2,000** _ f-~8--- I-- ----:t2s - - - - - 1 2 8 ~--- 1 - - - - - - - - - _ . - --~- Standard File Problem A 3 (Blocks 1 to 23) --::-':::--.---'::- f~ke24to~ Space 648 4 ; 0 9 2 - - - I-- I-~--.- f-- ~--- 1 - - -80- - - f-Working 5,692 Total Fixed/Floating point 2,512 - - --4~- ----we; --- - - 1 0 0 - Floating point 15,592 Floating point Unit name input f--'---- output Size of record ~--.output 80 bytes ---_.1------.t-80 bytes 80 bytes ~-2L_ 60 100 t-----------55 100 msec/block msec penalty (estimated) output T2 ~---.!L_ output T m~ec/report T7 . 38S 4:200.1151 3,062 - - - r---~- 8,190* Floating point maec/record T5 --'='-._- - - - ~5loops ___ ~ * - 1.6 2.2 1.7 File a: Details Standard Mathernatical Problem A t - - 100 - - - . - 1 - - - - - - t--~---- 1 - - -O.S 1.1 File 4: Reports 5 51.2 1------.- -=-:---:-_. - 4 12 6 67.2 60/200 - - 6 - 0 - - · - c- - - - 1 0 0 - - - 3 m ••c/block 1,056 528* 0.5 File1-File2 r-ru,;-a-·--' - ~4--- maee penalty 2 K File 4 maee/switch 80 (File 1) Char/block Records/block REFERENCE m II 2540 Card Read Punch 2501 CardReader, ModB1 2501CardReader, ModB --.--:-:cr-::-::-_-- ':-:-=1403 Printer, Mod 3 1403 Printer, Mod 7 1403 Printer, Mod 7 r-:-.-- --_- 80 bytee 9.6 c------9.6 9.6 I------~- 9.6 7.9 7.9 ---r--""42.Q- 1 - - - - 42.0 '-------4.8 - t-----4.8 80 bytes 80 byte~100 r---liiO- 4:200.413 9.6 ---_ .9.6 7.9 \-~- ----_.4.8 ,/ Coding space has been mm1mized and the length of tape blocks halved m order to fit the program's reqlllrements lOto the available storage . •• Estimated coding space required for non-standard tape-handling and error routines. (Contd. ) 7/65 SYSTEM PERFORMANCE 423:201.1 00 ·1 GENERALIZED FILE PROCESSING · 11 Standard File Problem A .113 Timing basis: ..••.. using estimating procedure outlined in Users' Guide, 4:200.113 . . 114 Graph: . . . . . . . . . . . see graph below. · 111 Record sizes Master file:· . . . . . . . 108 data characters, packed as 88 8-bit bytes. Detail file: . . . . . . . 1 card. Report file: . . . • . • . 1 line • . 112 Computation: . . . • . . . standard, using fixed-point binary or decimal arithmetic. .115 Storage space required Configuration I: •••• Configuration II: .••• Configuration III: ..• 5,692 bytes. 8,190 bytes. 15,592 bytes. 1,000 7 4 2 100.0 7 1 4 Time in Minutes to Process 10,000 Master File Records 2 ~ 10.0 .., 7 ~ ./ /' II 4 ___ Cl' / 2 fJll../ / V,- ---- - C~" / 1.0 7 L .' 4 I' 2 If 0.1 0.0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations; curve marked "CP" shows central processor time, for Configuration III only.) © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360-MODEL 30 423:201.120 • 12 Standard File Problem B . 121 Record sizesMaster file: .•.•.. 54 data characters, packed as 44 8-bit bytes. Detail file: . . . . . . • 1 card. Report file: .•.••.. 1 line. .122 Computation: . . . . . . . standard, uSing fixed-point binary or decimal arithmetic • . 123 Timing basis: . • . . . . using estimating procedure outlined in Users' Guide, 4:200.12 . • 124 Graph: . • . . . . . • . . . see graph below. 1,000 7 4 2 100.0 7 4 Time in Minutes to Process 10,000 Master File Records c~ I 2 10.0 7 ,./ 4 / II 2 7 1.0 2 / / ----. Cl' - - - - - c~ ~" ,, 7 4 - ~ I 1/ / 0.1 0.0 0.1 0.33 1.0 Activity Factor "Average Number of Detail Records Per Master Re-cord (Roman numerals denote standard System Configurations; curve marked "CP" shows central processor time, for Configuration III only.) / (Contd. ) 7/65 SYSTEM PERFORMANCE . 13 423:201.130 Standard File Problem C . 131 Record sizesMaster file: . . . . . . . 216 data characters, packed as 176 8-bit bytes. Detail file: . . • • . . . 1 card. Report file: . . . . • . . 1 line. . 132 Computation: . • . . . . . standard, using fixed-point binary or decimal arithmetic . • 133 Timing basis: . . . . . • using estimating procedure outlined in Users' Guide, 4:200.13. .134 Graph: . . . . . • • . . . • see graph below. 1,000 7 4 2 c~ I 100.0 7 4 Time in Minutes to Process 10,000 Master File Records 2 10.0 ~ IT 7 ./ ./ 4 .---- CP-.... / f-ill [,...-,'" 2 / 1.0 ------ c~/ 7 ~ 4 / 1/ 2 0.1 0.0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations; curve marked "CP" shows central processor time, for Configuration ill only.) © 1965 AUERBACH Corporotion and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360-MODEL 30 423:201.140 .14 Standard File Problem D • 141 Record sizes Master file: . • . . . • . 108 data characters, packed as 88 8-bit bytes. Detail file: . . • . . . . 1 card. Report file: ..•••.• 1 line. .142 Computation: . . . . . . • trebled, using fixed-point binary or decimal arithmetic. .143 Timing basis: .••..• using estimating procedure outlined in Users' Guide, 4:200.14. . .144 Graph: . . . • • • . . . . . see graph below. 1,000 7 4 2 100.0 .. 7 I 4 Time in Minutes to Process 10,000 Master File Records 2 ~ 10.0 .- 7 ./' 2 L IT 4 ./ ~ V ~. ,""- .---C'" - ---. ---- ~/ ",C 1.0 , 7 .' I 4 2 I I 0.1 0.0 0.1 1.0 0.33 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations; curve marked "CP" shows central processor time, for Configuration III only.) (Contd. ) 7/65 SYSTEM PERFORMANCE 423:201.200 .2 SORTING .21 Standard Problem Estimates .213 Timing basis: ..•.•. using estimating procedure outlined in Users' Guide, 4:200.213 (2-way tape merge in Configuration il; 3-way tape merge in Configuration ill) • .214 Graph: . . . . . . . . . . . see graph below. .211 Record size: . • . . . . • 80 characters. . 212 Key size: . . . . . . . . . 8 characters. 1,000 7 4 / 2 100.0 / , 7 / 1/ 4 ~ Time in Minutes to 2 Put Records Into Required Order 10.0 , 7 Y V / 1/ V " V I ~ V i/ / 4 / / 2 / 1.0 )' ~ / ~ 7 4 2 0.1 100 2 4 7 1,000 2 4 2 7 10,000 4 7 100,000 Number of Records (Roman numerals denote standard System Configurations.) © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 423:201.300 ~ 3 .31 IBM SYSTEM/360-MODEL 30 MATRIX INVERSION .312 Timing basis: . . . . . . using estimating procedure outlined in Users' Guide, 4:200.312. . Standard Problem Estimates .311 Basic parameters: . . . general, non-symmetric matrices, using the optional Floating-Point Arithmetic feature; precision is approximately 6 decimal digits in the SHORT format or 16 digits in the LONG format. .313 Graph: . • . . • . . . . . . see graph below. 100 L 7 I I 1~ 4 II II 2 VI 10 7 II 4 J V 2 Time in Minutes for Complete Inversion IJ IJ 1/ ~~~ 1) hO 0 1 I@ I 7 LI J 4 I I I IJ 2 I / 0.1 I 7 I 11 I 4 I I I / 2 V 0.01 1 2 4 7 10 2 4 7 2 100 4 7 1,000 Size of Matrix / 7/65 SYSTEM PERFORMANCE ( 423:201.400 .4 GENERALIZED MATHEMATICAL PROCESSING .41 Standard Mathematical Problem A Estimates .413 Timing basis: . . . . . . using estimating procedure outlined in Users' Guide, 4:200.413. . . 411 Record sizes: .••..• 10 signed numbers; average size 5 digits, maximum size 8 digits. .412 Computation: . . . . . . . 5 fifth-order polynomials, 5 divisions, and 1 square root; computation is in "long" floating-point mode (16-digit precision). .414 Graph: . . . . . . . . . . . see graph below . Note: Use of the optional Floating-Point Arithmetic feature is assumed, although its cost is not included in the rentals for Configurations I, II, and III. 1,000 , ,I 7 I 4 ~ ~" V\:i 2 ~ R=1.0, 0.1, 0.01 ./ 100 \) .", \.:Jt 7 _ _ C1?;iiii' ~ C1?~ ~ 2 .......... ?- \)' '\-" \)' ~ 1- ~"'). ....... '?-.......Jj "'''').,7\). 4 \ .I ~ ~.", \). V Time in 10 Milliseconds per Input Record 7 4 2 1 7 4 2 0.1 2 0.1 4 7 2 1.0 4 7 2 10.0 4 7 100.0 C, Number of Computations per Input Record (R = number of output records per input record; the times shown here apply to Configurations II and III; curves marked "CP" show central processor time.) © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360 MODEL 40 International Business Machines Corp. i ~. c· ( AUERBACH INFO, INC .. PRINTED IN U. S. A. ' IBM SYSTEM/360 MODEL 40 International Business Machines Corp. ./ AUERBACH INFO, INC. PRINTED IN U. S. A. 424:011.100 IBM System/360 Model 40 Introduction INTRODUCTION \ '. The Model 40 series of the IBM System/360 family is a small-to-medium scale, general-purpose computer system, with typical system rentals ranging from approximately $7,000 (for a 4-tape system) to $11,000 (for a 65K, 6-tape system) .per month. It has approximately the same processing power as the older IBM 7080 system. The available Compatibility Features indicate that Model 40 is regarded by IBM as a probable replacement computer for the IBM 1401, 1410, 1460, and 7010 systems. The Model 40 series of the IBM System/360 is characterized by: • A main core storage cycle time of 2.5 microseconds, with two bytes being accessed per cycle. Storage accessing is not interleaved, so effective core cycle time is 1. 25 microseconds per byte. • Main core storage capacities ranging from 16,384 to 262,144 bytes. • Standard inclusion of the Multiplexor Channel, which allows simultaneous operation of a number of low-speed input-output devices such as printers, card readers, and communication terminals. This makes the Model 40 system suitable for use as an independent system and/or as a satellite system to handle the input-output proceSSing of a larger system. • Standard inclusion of the following features: System Control Panel Standard Instruction Set Interval Timer. • Optional availability of the following features: Channel-to- Channel Adapter Decimal Arithmetic Direct Control Floating-Point Arithmetic 1401/1460 Compatibility or 1410/7010 Compatibility(not both) Selector Channels (maximum of 2) Storage Protection High-Speed Multiplexor Channel. • Shared Processor Storage 1440 Compatibility Feature 1620 Compatibility Feature 7070/7074 Compatibility Feature 7080 Compatibility Feature 709/7040/7044/7090/7094 Compatibility Feature. \. • I \,- ( Non-availability of the follOwing features: Non-availability of the following peripheral devices: 2150 2361 2301 2415 1231 1412 1418 1428 Console Large-Capacity Core Storage Drum Storage Magnetic Tape Unit and Control Optical Mark Page Reader Magnetic Character Reader Optical Character Reader Alphameric Optical Reader. This report concentrates upon the characteristics and performance of the Model 40 series in particular. All general characteristics of the System/360 hardware and software are described in Computer System Report 420: IBM System/360 - General. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 424:011.1 01 IBM SYSTEM/360-MODEL 40 The System Configuration section which follows shows the System/360 Model 40 in the following standard System Configurations: II 4-Tape Business System III 6-Tape Business System V 6-Tape Auxiliary Storage System VI 6-Tape Business/Scientific System These configurations were prepared according to the rules in the Users' Guide, Page 4:030.120, and any significant deviations from the standard specifications are listed. As a matter of general interest, the rentals that would be incurred when either the 2321 Data Cell Drive, the 2302 Disk Storage Unit, or the 2311 Disk Storage Drives are used to provide the necessary random access storage capability are listed separately on the diagram for the Auxiliary Storage System, Configuration V. Section 424:051 provides detailed central processor timings for the Model 40. See Section 420:051 for all the other characteristics of the program-compatible System/360 processors, including a discussion of the System/360 instruction repertoire as a programming tool. Program compatibility with the IBM 1401 and 1410/7010 systems is discussed in Sections 420:131 and 420: 132, respectively. The input-output channel capabilities of the System/360 Model 40 can be summarized as follows (see also Sections 420:111 and 424:111): Standard Multiplexor Channel Maximum number: . . . . . . . . . . . . • . • . . . Maximum data rate, bytes/sec Multiplex mode: . • • . . . • . . • . . . . . . • . • Burst mode: •.•....••.•••..• ; . . . . Maximum number of subchannels: . . • . . • . . 1. 31,000. 200,000. 128. High-Speed Multiplexor Channel Maximum number: . . . . . . . . . . . . . . . . • • Maximum data rate, bytes/sec Multiplex mode: . . . . • . . . . . . • . . . . • . Burst mode: • . . . . . . . . . . . . . . . . . . . . Maximum number of subchannels: •••••••• 1. 200,000. 200,000. 4. Selector Channels Maximum number: • . . . • • . . . . . • . . • . . . 2. * Maximum data rate, bytes/sec: .•••.•... 400,000. The software that can be used with any System/360 configuration depends upon the core storage capacity and the number and type of peripheral devices. Several versions of the Assembler, COBOL, FORTRAN IV, and PL/Iwill be made available. These languages and the other support routines for the System/360 are described in Sections 420:151 through 420:193. The overall performance of any System/360 is heavily dependent upon the Processing Unit model used. A full System Performance analysis of the Model 40 is provided in Section 424:201. *If the High-Speed Multiplexor Channel is used, only one Selector Channel can be installed. 7/65 424:031.100 / \ '~ IBM System/360 Model 40 System Configuration SYSTEM CONFIGURATION System configuration possibilities for Model 40 and other System/360 models are summarized in report Section 420:031. This report section shows Model 40 systems arranged in accordance with the specifications for our Standard Configurations, as defined in the Users' Guide, page 4:030.120 . • J. 4-TAPE BUSINESS SYSTEM; CONFIGURATION II Deviation from Standard Configuration: ••••••••••••••••••••••••••.•.. core storage is 100% larger. printer is 20% faster. reader is 20% faster. magnetic tape is 100% faster. Equipment Main Storage (16,384 bytes) $2,700 2040 Processing Unit, Model D40 (includes one Multiplexor Channel) 2501 Card Reader, Model B1: Reads 600 cards per minute 260 1442 Card Punch, Model N2: Punches 91 full' cards per minute 375 2821 Control Unit, Model 2 1403 Printer, Model 7: Prints 600 lines per minute 600 650 2403 Magnetic Tape Unit and Control 2402 Magnetic Tape Unit 2401 Magnetic Tape Unit (4 drives total) All Modell: 30,000 bytes/sec. Optional Features Included: .•.••••••.....••..•.•. Decimal Arithmetic Selector Channel TOTAL: \ 1,840 115 350 $6,890 '-, © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360-MODEL 40 424:031.200 .2 6-TAPE BUSINESS SYSTEM; CONFIGURATIONm Deviations from Standard Configuration: ••••••••••••• printer is 20% faster. reader is 20% faster. Equipment Main Storage (16,384 bytes) 2040 Processing Unit, Model D40 (includes one Multiplexor Channel) 1052 Printer-Keyboard and Adapter 290 2501 Card Reader, Model B1: Reads 600 cards per minute 260 1442 Card Punch, Model N2: Punches 91 full cards per minute 375 2821 Control Unit, Model 2 1403 Printer, Model 7: Prints 600 lines per minute 600 650 2403 Magnetic Tape Unit and 2402 Magnetic Tape Units (2) 2401 Magnetic Tape Unit (6 drives total) All Modell: 30,000 bytes/sec. Optional Features Included: ••••••••••••••••••.••• Selector Channel Decimal Arithmetic TOTAL: contrOl~ 2 460 , 350 115 $7,800 (Contd. ) 7/65 SYSTEM CONFIGURATION .3 424:031.300 6-TAPE AUXILIARY STORAGE SYSTEM; CONFIGURATION V Deviations from Standard Configuration: ..••••••••••• up to 380 million bytes more auxiliary storage. printer is 20% faster. reader is 20% faster. Equipment Main Storage (16,384 bytes) $2,700 2040 Processing Unit, Model D40 (includes one Multiplexor Channel) 1052 Printer-Keyboard and Adapter 290 2501 Card Reader, Model B1: Reads 600 cards per minute 260 1442 Card Punch, Model N2: Punches 91 full cards per minute 375 2821 Control Unit, Model 2 1403 Printer, Model 7: Prints 600 lines per minute 600 650 2403 Magnetic Tape Unit and contrOll 2402 Magnetic Tape Units (2) 2401 Magnetic Tape Unit 2 460 (6 drives total) , All Modell: 30,000 bytes/sec. 2841 Storage Control and 8079 Attachment 2321 Data Cell Drive, Modell: up to 400 million bytes storage; access time: 175 to 600 msec. Optional Features Included: ••••••.•••••..•.•••..• Selector Channel Decimal Arithmetic TOTAL: NOTE: 3,500 ---350 115 $11,300 The following can be used in place of the 2321 Data Cell Drive, resulting in the indicated total rentals: 2302 Disk Storage, Model 3, and 7950 Attachment - average access time: 165 msec; 112.14 million bytes storage: $14,175 2311 Disk Storage Drives (3) - average access time: 128 msec; 21. 75 million bytes storage: v.. $10,050 '.,- © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 424:031.400 .4 IBM SYSTEM/360-MODEL 40 6-TAPE BUSINESS/SCIENTIFIC SYSTEM; CONFIGURATION VI Deviations from Standard Configuration: .••••••• ' ••••• printer is 20% faster. reader is 20% faster. direct-access device (2311) is included to permit use of Operating System/360 32K FORTRAN IV. Equipment Rental Main Storage (65,536 bytes) 2040 Processing Unit, Model F40 (includes one Multiplexor Channel) 1052 Printer-Keyboard and Adapter 2841 storage Control and 2311 Disk Storage Drive 1,100 2501 Card Reader, Model B1: Reads 600 cards per minute 260 1442 Card Punch, Model N2: Punches 91 full cards per minute 375 2821 Control Unit, Model 2 1403 Printer, Model 7: Prints 600 lines per minute 600 650 2403 Magnetic Tape 2402 Magnetic Tape 2401 Magnetic Tape (6 drives total) All Modell: 30,000 Unit and Control Units (2) Unit 2,460 bytes/sec. Optional Features Included: •••••••••••••••••..••• Decimal Arithmetic Floating Point Arithmetic Selector Channel TOTAL: 7/65 290 115 100 350 $11,100 424:051.100 IBM System/360 Model 40 Central Processor \ \ CENTRAL PROCESSOR .1 GENERAL .11 Identity: •.•••••••. IBM 2040 Processing Unit. .12 .4 .41 .411 .412 .413 .414 .415 .416 .417 .418 .42 Processor Performance in Microseconds .421 For random addresses Fixed point Floating point c = a + b: .••••••• 36 (binary) 62 (long) See Section 420:051 for a comprehensive description 45 + 6. 3B 43 (short) of the characteristics of all the System/360 Proc(decimal) essing Units. b = a + b: .••••••. 36 (binary) 62 (long) See Section 424:011 for a summary of the distin43 (short) 29 + 3. 8B guishing features of the 2040 Processing Unit as (decimal) used in Model 40 systems. Sum N items: .••••• 12N (binary) 28N (long) 19N (short 29 + 3. 8B The Instruction Times and Processor Performance (decimal) times for Model 40 systems, in all four modes of c = ab: .••••••••• 113 (binary) 294 (long) arithmetic, are listed below. See Paragraphs 51. 2 + 30.8B 105 (short) 4:050.41 and 4:050.42 of the Users' Guide for the + 3.8B2 definitions of these standard measures of central (decimal) processor performance. c = alb: ..••••••. 216 (binary) 511 (long) PROCESSOR SPEEDS 46 + 67. 2B 157 (short) + 11.3B2 Instruction Times in Microseconds (decimal) where B = operand length Fixed point Decimal (optional) Binary in eight-bit bytes. .422 For arrays of data 29.35 + 3.75B Add-subtract: ••••• 11.88 Fixed point Floating point 25.58 + 25.78B + Multiply: .•••••.•. 84.72 3.75B2 ci = ai + bj: .•.•••. 63 (binary) 89 (long) 72 + 6.3B 70 (short) Divide: ..••••.••. 176.88 to 20.63 + 62.2B + (decimal) 196.88 11. 25B2 bj = ai + bj: ••••••• 63 (binary) 89 (long) where B = operand length 56 + 3. 8B 70 (short) in eight-bit bytes (2 decimal (decimal) digits per byte). Sum N items: •••••• 28N (binary) 44N (long) Floating point (optional) (46 + 3. 8B)N 35N (short) Long Short (decimal) Add-subtract: .•••• 27.66 18.66 80.63 Multiply: •.•.••••• 259. 38 c = c + aibf .••.••• 148 (binary) 349 (long) 132.5 Divide: .•••••.•.. 476.88 108 + 34. 6B 151 (short) + 3.8B2 Additional allowance for (decimal) Single indexing: •••• 0.0 Double indexing: .••. 1. 25 .423 Branch based on comparison Indirect addressing: . none. Numeric data: ..••• 61. 33N Recomplementing: .• none. Alphabetic data: ••.• 61.33N Control: .424 SwitchingCompare Unchecked: .•••••• 54.39 Checked: .•••••••• 91. 91 Fixed point: .••.•• 11.88 \ Decimal: .•••.••• 22.5 + 2.5B List search: .••••• 54.40 + 37. 52N .425 Format control, per character Floating point t· I (long): .•••••.. 24.33 .op lona Unpack: . . . . • • • . . 4.3 Floating point Compose: •••••.•• 8.1; 11.8 with radix (short): ..••.•. 16.38 conversions. Logical: .••••• ' •. 15.68 + 2.81B .426 Table look-up, per comparison Branch: ..••••.•• 9.38 For a match: .••••. 37.52 Counter control For least or greatest: 38.71 Step: ••••••..... 11. 88 For interpolation Step and test: .•••.• 10.63 (increment of -1). point: ••••.....• 37. 52 16.26 (increment of any .427 Bit indicators value). Set bit in separate Test: .••••••.••• 11. 88 location: . . . . . . . • 9.38 Edit: •••••••••••• 21. 58 + 5. 08B, approxSet bit in pattern: ••• 9.38 imately (optional). Test bit in separate Convertlocation: ..••..•. 18.76 To binary: •••••••• 31.88 to 87. 81 Test bit in pattern: •. 18.76 To decimal: .•••••• 28.15 to 98.75 .428 Moving: .•.•••.••. 16.25 + 2. 5B, where B = Shift: .••••••••••• variable. number of bytes moved. Description © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 / 424:111.100 \. IBM System/360 Model 40 Simultaneous Operations SIMULTANEOUS OPERATIONS A System/360 Model 40 system can concurrently execute: • One machine instruction; and • Up to two input-output operations, one on each of the Selector Channels; and • Multiple additional input-output operations via the Multiplexor Channel. Alternatively, up to four operations on a High Speed Multiplexor Channel can be overlapped with internal processing and one Selector Channel operation. When the Multiplexor Channel is operated in the burst mode, only one input-output operation can proceed on that channel. Internal processing cannot be overlapped with burst mode operation, but operations previously initiated on the Selector Channels will proceed concurrently with the burst mode operation. The demand on the central processor (i. e., the "interference" or delay imposed upon the central processor program by each individual input-output operation) will vary depending on whether the peripheral device is connected to one of the Selector Channels or to the Multiplexor Channel. (See the general discussion of System/360 Simultaneous Operations in Section420:111.) In Table I the processor demands imposed by each of the peripheral units are listed for both types of channels. It is noteworthy that at press time, 15 months after announcement of the System/360, mM still had not officially specified many of the pertinent figures regarding channel data rate capacities and processor demands. Estimated figures have been inserted, and marked accordingly, wherever the specifications are suffiCiently firm to allow reasonable estimates to be made. The specific characteristics of the Model 40 Selector, Multiplexor, and High Speed Multiplexor Channels can be summarized as follows: Selector Channels Maximum number: . • . • . . . . . • • . . . . • . . . • Maximum data rate per channel: . . . . . . . . . . . Maximum data rate for all Selector Channels Multiplexor channel not operating: ....•. Multiplexor channel operating: . . . . . . . . Processor demand: •.•••.••...•••.•...• Number of control unit positions: .•.••..•.• 2. 400 kilobytes/sec. 600 kilobytes/sec. 90 kilobytes/sec. see Table I. 8 per channel. Multiplexor Channel Maximum number: . . . . . . . . • • . . . . . . . . . . Maximum data rate, Selector Channels not operating Multiplexed mode: . . . . . . . . . • • . . . . . Burst mode: . . . . • • • • • . . . . • . . . . . . Processor demand: . . . . . . . . . . . . . . . . . . . . Number of control unit positions: . . . • • . . . . . Maximum number of subchannels: ......•.•• \, ' I \. .. 1. 31 kilobytes/sec. 200 kilobytes/sec. see Table I. 8. 128. High Speed Multiplexor Channel Maximum number: . . . . . • • . . . . . . . • . . . . . Maximum data rate Multiplexed mode: . • • • . . . . . . . . . . . . Burst mode: . • • • . . • . • • . . . . . . . . . . Number of control unit positions: ..••...•.. Maximum number of subchannels: ....•.•..• © 1 (pre-empts one Selector Channel). not specified by IBM to date. not specified by IBM to date. 4. 4. 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 424: 111.10 1 IBMSYSTEM/360-MODEL 40 TABLE I: INPUT-OUTPUT DEMANDS ON THE SYSTEM/360 MODEL 40 PROCESSOR Device Random Access 2302 Disk Storage 2311 Disk Drive 2321 Data Cell Drive 7320 Drum 2314 Direct Access Storage Punched Card 2540 Card Read Punch: Read, 1000 cpm Punch, 300 cpm 1442 Model N1 Card Read Punch: Read, 400 cpm Punch, 91 cpm 1442 Model N2 Card Punch, 91 cpm 2520 Model B1 Card Read Punch: Read, 500 cpm Punch, 500 cpm 2520 Card Punch: 500 cpm (Model B2) 300 cpm (Model B3) 2501 Card Reader: 600 cpm (Model B1) 1, 000 cpm (Model B2) Printers 1403: 132 columns, 600 lpm (Model 2) 120 columns, 600 lpm (Model 7) 132 columns, 1, 100 lpm (Models 3, N1) 1404, 132 columns, 600 lpm 1445, 113 columns, 190 lpm Punched PaI1er Tape 2671 Paper Tape Reader, 1,000 cps Magnetic TaI1e 2400 Series: Modell, 30 KB/sec Model 2, 60 KB/sec Model 3, 90 KB/sec 7340 Hypertape: 170 KB/sec 340 KB/sec Peak Data Rate, KB/sec* 156 156 54.7 135 312 156 156 54.7 135 312 Selector Channel 20 20 7.1 18 41 Multiplexor· Channel** 100 100 100 100 100 1.3 0.40 0.17 0.05 1. 65 0.80 0.53 0.12 0.12 0.53 O. 12 0.12 0.07 0.02 0.02 1. 65 0.37 0.37 0.67 ? 0.67 0.67 0.09 0.09 2.10 0.92 ? ? 0.67 0.40 0.09 0.05 0.92 0.60 0.80 1.3 0.80 1.3 0.10 0.17 2.50 4.20 70 70 1.3 1.2 0.17 0.16 0.90 0.60 70 70 48 2.4 1.3 0.36 0.31 0.17 0.06 1. 67 0.90 0.58 1 1 0.13 3.12 30 60 90 30 60 90 3.9 7.8 11.7 100 100 100 170 340 170 340 21. 8 43.6 100 70 70 *Kilobytes (thousands of bytes) per second. "'*Estimated. 7/65 Average Data Rate, KB/sec* Demand on Processor, per cent, via- - 424:201.001 i i \ IBM System/360 Model 40 System Performance SYSTEM PERFORMANCE GENERALIZED FILE PROCESSING (424:201.100) These problems involve updating a master file from information in a detail file and producing a printed record of each transacti0n. This application is one of the most common commercial data processing jobs and is fully described in Section 4:200.1 of the Users' Guide. Standard File Problems A, B, and C vary the record sizes in the master file. Standard Problem D increases the amount of computation performed upon each transaction. Each problem is estImated for activity factors (ratios of number of detail records to number of master records) of zero to unity. In all cases a uniform distribution of activity is assumed. The Generalized File Processing problem for the System/360 was coded in two ways one using master files in packed decimal format and computation in decimal arithmetic, and the second using master files primarily in binary format and computation in fixed-point binary. The decimal computations required more time than those in fixed-point binary; but in the binary case, items in the detail and report files needed radix conversion. There were no appreciable differences in the total times for the two cases. The graphs for the file problem are based on use of the fixed-point binary technique. For simplicity, the very similar curves based on the use of decimal arithmetic are not shown. In the master file record layout, alignment of data items in core storage was carefully considered. Double-word boundaries were observed for input-output purposes to improve performance efficiency on the larger models. Instead of the "chain" mode (scatter-gather) of tape reading and writing, individual records were moved to the work areas using a high-speed, multiple transfer method. In Configurations II, III, and VI, the master files are on magnetic tape. The detail file is assigned to the card reader and the report file to the printer. The master file tapes are connected to a Selector Channel, and tape reading or writing can fully overlap processing and other input-output operations. For all three configurations on all four of the standard File Problems, the master-file tape times are the controlling factor at very low activities, and the printer is the controlling factor at activities higher than about O. 1. Because multiprogramming of two or more independent programs is a featured capability of the System/360, the time actually used by the central processor (CP) is also plotted. By comparing the curves of total time for the various configurations with the central processor curves, it can be seen that even in the worst case some 80% of the available processing capacity is not in use. A comparison of the central processor curves for a standard amount of computation and for trebled computation (i. e., the curves for Problems A and D, respectively) shows the effect of increaSing the computational workload. SORTING (424:201. 200) The standard estimate for sorting 80-character records by straight-forward merging on magnetic tape was developed from the time for Standard File Problem A by the method explained in Paragraph 4:200.213 of the Users' Guide. A two-way merge was used in System Configuration II (which has only four magnetic tape units) and a three-way merge in Configurations m and VI. The results are shown in Graph 424:201.200. MATRIX INVERSION (424:201. 3,00) The standard estimate for inverting a non-symmetric, non-Singular matrix was computed by the simple method described in Paragraph 4:200.312 of the Users' Guide. In order to execute this procedure in floating-pOint form, the optional Floating-Point Arithmetic feature must be included on the Model 40. Two lines are shown on the graph, one using the short floating-point format (6-digit precision) and the other using the long format (16-digit precision). © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360-MODEL 40 424:201.002 GENERALIZED MATHEMATICAL PROCESSING (424:201.400) Standard Mathematical Problem A is an application in which there is one stream of input data, a fixed computation to be performed, and one stream of output results. Two variables are introduced to demonstrate how the time for a job varies with different proportions of input, computation, and output. The factor C is used to vary the amount of computation per input record. The factor R is used to vary the ratio of input records to output records. The procedure uSEjd for the Standard Mathematical Problem is fully described in Section 4:200.2 of the Users' Guide. The optional Floating-Point Arithmetic feature must be included on the Model 40 in order to perform the floating-point computations required in this problem. Double-length operations (16-digit precision) were used since a minimum precision of 8 digits is prescribed. The input file is on the card reader, and the output file is assigned to the printer. Graph 424:201.400 shows two curves. The curve marked "R = 1.0" is for one output record for every input record. The other curve is for one output record for every tenth (R = O. 1) and every hundredth (R = 0.01) input record. (There is no effective difference between these two cases). For all configurations, the central processor becomes the controlling factor when more than 6 times the standard amount of computation is performed. WORKSHEET DATA TABLE 1 CONFIGURATION ITEM 1 InputOutput Times II m VI 1) 1,056 1,056 1,056 (File 1) 12 (File Char/block Reoords/block K msec/block ~=File2_ ~--mSBe/switoh ---~--~- Centrs! Processor Times msee/block _ _ ---~_ _ _8._0_ _ ~--- ---~-~File 4 2 ~--- , _ _ 0.:2!,- _ _ _ _0_.5_1_ _ -~~--~2_ _ J!.6_ _ _. _ r- ___O~ _ _ 4:200.1132 --~_ ~3 _ _ I___ O~ _ ~9 _ _. _ 0.93 mBBe/report b7 +b8 1.81 Printer C P Msec/block for C.P. and aL- _ _ _ r--~ ~--.- f- 6.:..LaSK dominant I/O ..El!!!J. Msster..J!L column. ~:..lI1.aste".tM Total Unit of Measure (bytes) .l.L- r--9~ 144.0 293.5 I--'-- , - - , - , 6 (Blocks 24 to 48) ~.--.--,- 43.9 ,--1_.3_ _ 1--- 1500.0 293.5 1500.0 . 293.5 6,000 1500.0 6,000 ,---~- I-- ----wo - 15,616 15,616 Floating Point Floating Point --~- 15,616 Floating Point ~---.- ~ardReadeX:~~ ~Ol cardReade~ 2~ad~ output 1403 Printer, Mod 7 Input 1403 Printer, Mod 7 80 bytes 80 bytes , - f- 80 bytes 80bytes- 1403 Printer, Mod 7 - 8080-bytes -bytes Size of record routput --'--- - msec/block -~- I--~- 1--..l&L- ~--output T2 100 100 100 msec penalty (estimated) input Ta r-=-----output T4 ~~--~ ~ loops _ _ T__ _._ msec/report 4:200.1151 1-~8--- 1--4,648-- - - 4 - ; 6 4 8 - Fixed/Floating point Unit name 4:200.114 ~3_ ----r -4,092 - - - - 1 - 4,092 Total ProblemA ...-U.. _ - - _1_.3_ ; - - - - --L.A _ - - - - ~O_ r - - 96.0 - - - - - - - -- - 144.0 r1500.0 144.0 1500.0 1500.0 r::--:---1---,-- 100 Working Mathematical Printer r - - - - - f - - - - - - - 1-------- - - - - 128 128 128 ~--- r--- 6 4 8 - - - - - . - --~3 (Blocks 1 to 23) 648 Standard File Problem A Space standard C.P. - - - ~1_ ' - - - 6,000 Std. routines Printer C P 43.9 ...L.L r --1:81- 1.81 -_.- ~9_ - - - ~- f - - - 439 File 4: Reports 5 -~- mBee/record msee/detall mBBe/work ~:Details_ 4 12.0 12.0 12.0 _ _ _ O~_ _ _ _0_.7_8_ _ 3 standard File Problem A F = 1.0 -~- 0 0 _ _ 1_.3_ _ _ _ _1_.3_ 0 ~=F1le2. 12 -~- 4:200.112 125 125 125 _ _ _0_ _ _ _ _ _ 0_ _ _ _ _ _ 0 _ _ _ _0_ _. _ _ _ _ 0_ _ _ _ _0_ _ File 4 .E!k..l = File 2_ .!!k.3 _ _ _ File 4 mseo penalty (estimated) 12 _ __ 51._2_ _ _ _ _100_ _ _ HEFERENCE 6 T7 4:200.413 - - - - - r---~- -8.0 - - -1 - -8.0 8.0 8.0 8.0 4.02 I--~- I--~4.02 - -13.13 --t--~- f--~2.52 2.52 (Contd. ) 7/65 424:201.100 SYSTEM PERFORMANCE i .1 GENERALIZED FILE PROCESSING • 11 Standard File Problem A • 111 Record sizes Master file: . . • . . . 108 data characters, packed as 88 8-bit bytes. Detail file: . . . . . . • 1 card. Report file: ...••.. 1 line. . 112 Computation: . . . . . . . standard, using fixed-point binary or decimal arithmetic • .113 Timing basis: . . . . . . using estimating procedure outlined in Users' Guide, 4:200.113 . . 114 Graph: ..••..••.•• see graph below . • 115 Storage space required Configuration II: ••• 15,616 bytes. Configuration III: ..• 15,616 bytes. Configuration VI: .•. 15,616 bytes. 1,000.0 7 4 2 100.0 7 4 Time in Minutes to Process 10,000 Master File Records 2 ~ 11, 111, 10.0 7 ~ / 4 2 --1 ~ /' .._____01> /O~ ",.,-- ~-- -- 1.0 , 7 / 4 2 .r I I .' 0.1 0.0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record ( \ (Roman numerals denote standard System Configurations; curve marked "CP" shows central processor time.) © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 424:201.120 . 12 IBM SYSTEM/360-MODEL 40 Standard File Problem B . 121 Record sizes Master file: . • . . . . 54 data characters; packed as 44 8-bit bytes. Detail file: . . . . . . . 1 card. Report file: . . . . . . . 1 line. .122 Computation: . . . . . . • standard, using fixed-point binary or decimal arithmetic • . 123 Timing basis: . . • . . . using estimating procedure outlined in Users' Guide, 4:200.12. .124 Graph: . . . • . . . . . . . see graph below. 1,000.0 7 4 2 100.0 7 4 Time in Minutes to Process 10, 000 Master File Records 2 ~ 11, 111, 10.0 7 / 4 V 2 1.0 7 L - 4 _~Cl' L L "" c~/ - -- V' L If 1 L ,I 2 0.1 L .- ,/ V 0.0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations; curve marked "CP" shows central processor time. ) (Contd.) 7/65 SYSTEM PERFORMANCE . 13 424:201.130 Standard File Problem C .131 Record sizes Master file: . . . . . . 216 data characters, packed as 176 8-bit bytes. Detail file: . . . . . . . 1 card. Report file: . . . . . . . 1 line. .132 Computation: . . . . . . . standard, using fixed-point binary or decimal arithmetic . . 133 Timing basis: . . . . . . using estimating procedure outlined in Users' Guide, 4:200.13. .134 Graph: . . . . . . • . . . . see graph below. 1. 000.0 1 4 2 100.0 1 4 Time in Minutes to Process 10,000 Master File Records 2 lll. ~ 11. 10.0 1 - ./' ./ 4 /' ~C'P- ~-- 2 ' , / 1.0 ""Cl? , 1 4 2 - / .' II 0.1 0.1 0.0 0.33 1.0 Activity Factor Average Number of Detail Records per Master Record (Roman numerals denote standard System Configurations; curve marked "CP" shows central processor time.) ( '. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360-MODEL 40 424:201.140 .14 Standard File Problem D . 141 Record sizesMaster file: . . . . . . 108 data characters, packed as 88 8-bit bytes. Detail file: . . . . . . . 1 card. Report file: .••.••. 1 line. .142 Computation: .••.... trebled, using fixed-point binary or decimal arithmetic • .143 Timing basis: . . . • . . using estimating procedure outlined in Users' Guide, 4:200.14. . 144 Graph: . . . • . . . • . . . see graph below. 1. 000. 0 7 4 2 100.0 7 4 Time in Minutes to Process 10,000 Master File Records 2 ~ \\, 1\.\, 10.0 7 ./ /' 4 2 ~ V /' ~ .... /C'? ~ -- .--C1?- --- 1.0 , 7 ,/ 4 2 I V 0.1 0.0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records per Master Record (Roman numerals denote standard System Configurations; curve marked "CP" shows central processor time.) (Contd.) 7/65 SYSTEM PERFORMANCE 424:201.200 .2 SORTING .21 Standard Problem Estimates .213 Timing basis: . . . . . . using estimating procedure outlined in Users' Guide, 4:200.213 (2-way tape merge in Configuration II; 3-way tape merge in Configurations III and VI) . . 214 Graph: . . . . . . . . . . . see graph below. .211 Record size: . • . • . . . 80 characters. .212 Key size: . . . • . . . . . 8 characters. 1,000 7 4 2 II 100 J 7 1/ / 4 V VV 2 Time in Minutes to Put Records Into Required Order V ~~ ~' 10 7 17 / 4 ~ V.I 2 0 1 \I' V / 7 4 2 0.1 \ 100 2 4 7 2 4 7 1,000 2 4 10,000 7 100,000 Number of Records (Roman numerals denote standard System Configuration.) © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 424:201.300 IBM SYSTEM/360-MODEL 40 .3 MATRIX INVERSION .31 Standard Problem Estimates .312 Timing basis: .••••. using estimating procedure outlined in Users' Guide, 4:200.312 . • 311 Basic parameters: .•. general, non-symmetric matrices, using the optional Floating- Point Arithmetic feature; precision is approximately 6 decimal digits in the SHORT format or 16 digits in the LONG format. .313 Graph: ..••..•.•.• see graph below. 10.0 7 II 1 L 1 4 J ~ 2 ~ 1.0 V IJ 7 I II II 4 II II j J 2 Time in Minutes for Complete 0.1 Inversion I 7 IJ I I ;'4 4 J/ 2 0.01 L 7 I I I 4 2 0.001 1 2 4 7 10 2 4 7 100 2 4 7 1,000 Size of Matrix (Contd.) 7/65 SYSTEM PERFORMANCE 424:201.400 .4 GENERALIZED MATHEMATICAL PROCESSING . 41 Standard Mathematical Problem A Estimates .413 Timing basis: . . . . . . using estimating procedure outlined in Users' Guide, 4:200.413 . .414 Graph: . . . . . . . . . • . see graph below . • 411 Record sizes: . . . . • . 10 signed numbers; average size 5 digits, maximum size 8 digits . . 412 Computation: . . . . . . . 5 fifth-order polynomials, 5 divisions, and 1 square root; computation is in "long" floating-point mode (16-digit precision). Note: Use of the optional Floating- Point Arithmetic feature is assumed, although its cost is not included in the indicated rentals for Configurations II and III. 1,000 " 7 I ~ 4 I:) ~ 2 ~ V ~ 1:)' I:)~' 01:)' ~ 100.0 R ;~ = 0.01, 0.1, 1.0 IL' 7 ;;;!l.,: 1. 0 2 " ,,-. / .,... 4 l.- - , 01- = .2l,:..;':...-..-B. I......... ... "" ~ "-c~ / c-/ ~ 0 Time in 10.0 Milliseconds per Input Record 7 4 2 1.0 7 4 2 0.1 2 0.1 4 7 2 1.0 4 7 2 4 10.0 7 100.0 C, Number of Computations per Input Record (R = number of output records per input record; the times shown here apply to Configurations II, III, and VI. ) © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 ! / IBM SYSTEM/360 MODEL 50 International Business Machines Corp~ AUERBACH INFO, INC. PRINTED IN U. S. A. IBM· SYSTEMj360 MODEL 50 International' Business Machines Corp. ''--- AUERBACH INFO, INC. PRINTED IN U. S. A. 425:011.1 00 IBM System/360 Model 50 Introduction INTRODUCTION The Model 50 series of the IBM System/360 family is a medium-scale general-purpose computer system, with typical system rentals ranging from approximately $15,000 to $20,000 per month. It has approximately the same processing power as the older IBM 7044 system. The available Compatibility Features indicate that Model 50 is regarded by IBM as a probable replacement computer for the IBM 1410, 7010, and 7070/7074 systems. The Model 50 series of the IBM System/360 is characterized by: • A main core storage cycle time of 2.0 microseconds, with four bytes being accessed per cycle. Storage accessing is not interleaved, so effective core cycle time is 0.50 microseconds per byte. • Main core storage capacities ranging from 65,536 to 262,144 bytes. • Standard inclusion of the Multiplexor Channel, which allows simultaneous operation of a number of low-speed input-output devices such as printers, card readers, and communication terminals. This makes the Model 50 system suitable for use as an independent system and/or as a satellite system to handle the input-output processing of a larger system. • Standard inclusion of the following features: Decimal Arithmetic Floating- Point Arithmetic Storage Protection Interval Timer System Control Panel. • Optional availability of the following features: Channel-to-Channel Adapter Direct Control Selector Channels (maximum of 3) High Speed Channel Shared Processor Storage Large -Capacity Core Storage 1410/7010 Compatibility or 7070/7074 Compatibility (not both) High Speed Multiplexor Channel. • Non-availability of the following features: 1401/1440/1460 Compatibility Feature 1620 Compatibility Feature 7080 Compatibility Feature 709/7040/7044/7090/7094 Compatibility Feature. • Non-availability of the following peripheral devices: 2514 Magnetic Tape Unit and Control 1231 Optical Mark Page Reader 1285 Optical Reader 1418 Optical Character Reader 1428 Alphameric Optical Reader 1412 Magnetic Character Reader 1419 Magnetic Character Reader. This report concentrates upon the characteristics and performance of the Model 50 series in particular. All general characteristics of the System/360 hardware and software are described in Computer System Report 420: IBM System/360 - General. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360-MODEL 50 425:011.1 01 The System Configuration section which follows shows the System/360 Model 50 in the following standard System Configurations: .TIr 6- Tape Business System IV 12-Tape Business System VITA 10-Tape General System (Integrated) VIIB lO-Tape General System (Paired)~ These configurations were prepared according to the rules in the User's Guide, Page 4:030.120, and any significant deviations from the standard specifications are listed. Section 425:051 provides detailed central processor timings for the Model 50. See Section 420:051 for all the other characteristics of the program-compatible System/360 processors, including a discussion of the System/360 instruction repertoire as a programming tool. Program compatibility with the IBM 1410/7010 and 7070/7074 systems is discussed in Sections 420:132 and 420:133, respectively. The input-output channel capabilities of the System/360 Model 50 can be summarized as follows (see also Sections 420:111 and 425:111): Standard Multiplexor Channel Maximum number: . . . . • . . . . . . . . . . • . . Maximum data rate, bytes/sec Multiplex mode: . . . . . . . . . . . . . . . . . . . Burst mode: . . . . . . . . . . • . . . . . . • . . . Maximum number of subchannels: •..•.... 1. 40,000. 200,000. 256. High Speed Multiplexor Channel Maximum number: . . . . . . . . . . . . . . . . . . Maximum data rate, bytes/sec Multiplex mode: . . . . . . . . . . . . . . . . • . . Burst mode: . . . . . . . • . . . . . . . . . . . . . Maximum number of subchannels: . . . . • . . 1. not specified to date. not specified to date. 8. Selector Channels Maximum number: . . . . . . . . . . • • . . . . . ·.3. * Maximum data rate, bytes/sec. . . . . . . . . . 800,000. High Speed Channel Maximum number: . . . . . . . . . . . . . . . . . . 1. Maximum data rate, bytes/sec:. . . . . . . . . . 1,200,000. The software that can be used with any System/360 configuration depends upon the core storage capacity and the number and type of peripheral devices. Several versions of the Assembler, COBOL, FORTRAN IV, and PL/lwill be made available. These languages and the other support routines for the System/360 are described in Sections 420:151 through 420:193. The overall performance of any System/360 is heavily dependent upon the Processing Unit model used. A full System Performance analysis of the Model 50 is provided in Section 425:201. *If the High Speed Multiplexor Channel is installed, the maximum number of Selector Channels is 2. 7/65 425:031.1 00 IBM System/360 Model 50 System Configurotion j SYSTEM CONFIGURATION ( , System Configuration possibilities for Model 50 and other System/360 models are summarized in report Section 420:031. This report shows Model 50 systems arranged in accordance with the specifications for our Standard Configurations, as defined in the Users' Guide, page 4:030.120. Note that a 2311 Disk Storage Drive has been added to each Model 50 configuration to permit utilization of the extensive software support facilities of the Operating System/360. .1 6-TAPE BUSINESS SYSTEM; CONFIGURATION III Deviations from Standard Configuration: .••••••.•..•. core storage is 300% larger. printer is 20% faster. reader is 20% faster. Equipment Rental Main Storage (65,536 bytes) 2050 Processing Unit, Model F50 (includes one Multiplexor Channel) $ 8,350 1052 Printer-Keyboard and Adapter 290 2841 Storage Control and 2311 Disk Storage Drive 1,100 2501 Card Reader, Model B1: Reads 600 cards per minute 260 1442 Card Punch, Model N2: Punches 91 full cards per minute 375 2821 Control Unit, Model 2 1403 Printer, Model 7: Prints 600 lines per minute 600 650 2403 Magnetic Tape 2402 M.'lgnetic Tape 2401 Magnetic Tape (6 drives total) AU Modell: 30,000 Unit and Control Units (2) Unit 2,460 bytes/sec. Selector Channel TOTAL: 700 $14,785 Note: This system also meets all requirements for Standard CO:1figuration VI, the 6-Tape Business/Scientific System. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 425:031.200 .2 IBM SYSTEM/360-MODEL 50 12-TAPE BUSINESS SYSTEM; CONFIGURATION IV Deviations from standard Configuration: ••••••••••••. core storage is 100% larger. card punch is 50% faster. Equipment Main Storage (65,536 bytes) 2050 Processing Unit, Model F50 (includes one Multiplexor Channel) $ 8,350 " 1052 Printer-Keyboard and Adapter 2841 Storage Control and 2311 Disk Storage Drive 290 1,100 2821 Control Unit, Modell 970 2540 Card Read Punch, Modell: Reads 1,000 cards per minute Punches 300 cards per minute 660 1403 Printer, Model 3 (132 print positions): Prints 1,100 lines/min. 1100 LPM Attachment 1416 Print Train Cartridge 900 75 100 2403 Magnetic Tape Unit and Controls (2) 2402 Magnetic Tape Units (4) 2401 Magnetic Tape Units (2) (12 drives total) All Model 2: 60,000 bytes/sec. 6,720 Selector Channels (2) 1,400 TOTAL: $20,565 (Contd. ) 7/65 425:031.300 SYSTEM CONFIGURATION / .3 10-TAPE GENERAL SYSTEM, INTEGRATED; CONFIGURATION VlIA Deviations from Standard Configuration: ...••••••••.• printer is 20% faster. reader is 20% faster. Equipment Rental Main Storage: (65,536 bytes or 131,072 packed decimal digits) $ 8,350 2050 Processing Unit, Model F50 (includes one Multiplexor Channel) 1052 Printer-Keyboard and Adapter 2841 storage Control and 2311 Disk Storage Drive 1,100 2501 Card Reader, Model B1: Reads 600 cards per minute 260 1442 Card Punch, Model N2: Punches 91 full cards per minute 375 2821 Control Unit, Model 2 1403 Printer, Model 7: Prints 600 lines per minute 600 650 2403 Magnetic Tape Unit and Control (2) 2402 Magnetic Tape Units (4) (10 drives total) All Model 2: 60,000 bytes/sec. * Selector Channels (2) TOTAL: * 290 I 5,750 1,400 $18,775 The total rental using Model 3 tape drives (90,000 bytes/second) is $22,170. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 425:031.400 .4 IBM SYSTEM/360-MODEL 50 10-TAPE GENERAL SYSTEM (FAmED); CONFIGURATION VIIB Deviations from standard Configuration: •••' • • . . . • . . . . reader is 500% faster. direct connection to satellite system. Equipment Rental Main Storage (65,536 bytes) $ 8,350 2050 Processing Unit, Model F50 (includes one Multiplexor Channel) 1052 Printer-Keyboard and Adapter 290 2501 Card Reader, Model B1: Reads 600 cards per minute 260 2841 Storage Control and 2311 Disk storage Drive 2404 Magnetic Tape Unit and Control 2402 Magnetic Tape Units (3) 2401 Magnetic Tape Unit (8 drives total) All Model 2: 60,000 bytes/sec. * Simultaneous Read-While-Write features Selector Channels (2) 1,100 ~ 4,560 70 1,400 To Satellite System (at right) TOTAL ON-LINE EQUIPMENT: $16,030 TOTAL SATELLITE EQUIPMENT: $ 4,855 TOTAL RENTAL: * $20,885 The total rental using Model 3 tape units (90,000 bytes/second) is $23,285. (Contd. ) 7/65 SYSTEM CONFIGURATION \ 425:031.401 SATELUTE EQUIPMENT " Deviations from Standard Configuration: ...•••..•..•• printer is 20% faster. reader is 20% faster. core storage is 100% larger. Equipment Main Storage (8,192 bytes) $1,275 2030 Processing Unit, Model C30 (includes one Multiplexor Channel) 1051 Control Unit and Adapter 1052 Printer-Keyboard 225 2501 Card Reader, Model B1: Reads 600 cards per mmute 260 1442 Card Punch, Model N2: Punches 91 full cards per minute 375 2821 Control Unit, Model 2 1403 Printer, Model 7: Prints 600 lines per minute 600 650 2403 Magnetic Tape Unit and contrOl~ 2401 Magnetic Tape Unit 1, 220 (2 drives total) Both Modell: 30,000 bytes/sec. 1850 Channel-to-Channel Adapter Decimal Arithmetic To Main System (at left) TOTAL SATELLITE EQUIPMENT: 225 25 $4,855 I \, © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 425:051.100 IBM System/360 Model 50 Centrol Processor CENTRAL PROCESSOR .1 GENERAL · 42 .11 Identity: . . . . . . . . . . IBM 2050 Processing Unit. · 12 Description · 421 For random addresses Fixed Point Floating point c = a + b: . . . . . . . . 12 (binary) 21 (long) 24. 1 + 3. 5B 14 (short) (decimal) 21 (long) b = a + b: . . . . . . . . 12 (binary) 12.8 + 2.4B 14 (short) (decimal) Sum N items:. . . . . . 4N (binary) ION (long) (12.8+ 2.4B)N 7N (short) (decimal) c = ab: . . . . . . . . . . 40 (binary) 49 (long) 32. 6 + 11. 3B 29 (short) (decimal) c = alb: . . . . . . . . . 44 (binary) 81 (long) 35. 3 + 12.25B 30 (short) (decimal) where B = operand length in eight-bit bytes . · 422 For arrays of data c. = a. + b.: . . . . . . . 22 (binary) 31 (long) 1 1 J 33.6+ 3. 5B 24 (short) (decimal) b j =,~ + b j : . . . . . . . 22 (binary) 31 (long) 22.3+ 2.4B 24 (short) (decimal) Sum N items: . . . . . . 9. 5N (binary) 16N (long) (18.3+ 2. 4B)N 13N (short) (decimal) c = c + ~br . . . . . . . 54 (binary) 68 (long) 54.9+ 11. 7B 45 (short) (decimal) .423 Branch based on comparison Numeric data: . . . . . 21. 38N Alphabetic data: . . . . 21. 38N .424 Switching Unchecked: . . . . . . . 17. 0 Checked: . . . . . . . . . 31. 0 List search: . . . . . . 20. 0 + 12. 5N .425 Format control, per character Unpack: . . . . . . . • . 2. 4 Compose: . . . . . . . . 3. 9; 5. 6 with radix conversions. .426 Table look up, per comparison For a match: ......• 12. 5 For least or greatest: . . . . . • . . 13. 6 For interpolation point: . . . . . . . . . . 12. 5 · 427 Bit indicators Set bit in separate location:. . . . . . . . 4. 5 Set bit in pattern: ... 6. 5 Test bit in separate location: . . . . . • . . 8. 5 Test bit in pattern: .. 9. 5 .428 Moving: . . . . . . • . . . 11. 33 + 1. 13B, where B = number of bytes moved. See Section 420:051 for a comprehensive description of the characteristics of all the System/360 Processing, Units. See Section 425:011 for a summary of the distinguishing features of the 2050 Processing Unit as used in Model 50 systems. The Instruction Times and Processor Performance times for Model 50 systems, in all four modes of arithmetic, are listed below. See Paragraphs 4:050.41 and 4:050.42 of the Users' Guide for the definitions of these standard measures of central processor performance. .4 PROCESSOR SPEEDS . 41 Instruction Times in Microseconds · 411 Fixed point - · 412 · 413 . 414 · 415 .416 · 417 · 418 7/65 Binary Decimal Add-subtract: . . . . . 4.0 12.8 + 2.4B Multiply: . . . . . . . . 28. 75 20.8 + 8. 65B Divide: . . . . . . ; ... 33. 25 23.5 + 9.65B where B = operand length in eight-bit bytes (2 decimal digits per byte). Floating point Long Short Add-subtract: . . . . . 9.69 6.88 Multiply: . . . . • . . . . 38. 0 21. 5 Divide: . . . . . . . . . . 69. 5 23.0 Additional allowance for Single indexing: . . . . 0.0 Double indexing: . . . . 0.5 Indirect addressing: . none. Recomplementing: .. none• Control: Compare Fixed point: . . . . . . 4. 0 Decimal: . . . . . . . . 14.62 + 2. 12B Floatingpoint (long): 8.39 Floating point (short): . . . . . . . . 6.11 Logical: . . . . . . . . 10. 25 + 1. OB Branch: . . . . . . . . . 4. 0 Counter control Step: . . . . . . . . . . . 4.0 Step and test: . . . . . . 4.5 (increment of -1). 5.5 (increment of any value). Test: . . . . . . . . . . . 4.0 Edit: . . . . . . . . . . . . 8. 88 + 2. 88B, approximately. Convert To binary: . . . . . . . 12. 75 to 43. 25 To decimal: . . . . . • 14.75 to 44. 75 Shift: . . . . . . . . . . . . variable. Processor Performance in Microseconds / 425: 111.100 IBM System/360 Model 50 Simultaneous Operations SIMULTANEOUS OPERAnONS A System/360 Model 50 system can concurrently execute: • One machine instruction; and • Up to three input-output operations, one on each of the Selector Channels; and • Multiple additional input-output operations via the Multiplexor Channel; and • Up to eight input-output operations via a High Speed Multiplexor Channel. (Note that if the High Speed Multiplexor Channel is installed in a system, only two Selector Channels can be installed). One very high-speed input-output operation (up to 1,200,000 bytes per second) can occur on the High Speed Channel but cannot be overlapped with processor operations. The demand on the central processor (i. e., the "interference" or delay imposed on the central processor program by each input-output operation) will vary depending on the type of input-output channel. (See the general discussion of System/360 Simultaneous Operations in Section 420:111.) In Table I, the processor demands imposed by each of the peripheral units are listed for each type of channel to which it can be connected. It is noteworthy that at press time, 15 months after announcement of the System/360, IBM still had not officially specified many of the pertinent figures regarding channel data rate capacities and processor demands. Estimated figures have been inserted, and marked accordingly, wherever the specifications are sufficiently firm to allow reasonable estimates to be made. The specific characteristics of the Model 50 Selector, High Speed, Multiplexor, and High Speed Multiplexor Channels can be summarized as follows: Selector Channels Maximum number: .••••••••...•...•..• Maximum data rate per channel: . . . . • . . . . . • Maximum data rate for all Selector Channels Multiplexor Channel not operating: •••.• Multiplexor Channel operating: •••••••• Processor demand: ••..••••••.••..••.•• Number of control unit positions: .•••••..•. 3. 800 kilobytes/sec .. 1,000 kilobytes/sec. 800. see Table 1. 8 per channel. High Speed Channel Maximum number: .••••••......•....•• Maximum data rate: •••••••....•••.•..• Processor demand: .•..••••.•..••...••. Number of control unit positions: " ••.•..•• 1. 1,200 kilobytes/sec. see Table 1. up to 8. Multiplexor Channel Maximum number: . . . • • • • . . • . . • . . . • . . . Maximum data rate, Selector Channels not operating Multiplexed mode: .•.••••......•.. Burst mode: .••.••.....•.•....•• Processor demand: .•...•••..••.•••.•.. Number of control unit positions: . . . . • • . • . . Maximum number of subchannels: . . . . . . . • • . 1. 40 kilobytes/sec. 200 kilobytes/sec. see Table 1. 8. 256. High Speed Multiplexor Channel Maximum number: .•...•.•.••.••.•...• Maximum data rate Multiplexed mode: .•••••.....•••.• Burst mode: .•...•.....•••.•.•.• Number of control unit positions: .•••••.••• Maximum number of subchannels: ..•••••••• 1 (pre-empts one Selector Channel). not specified by IBM to date. not specified by IBM to date. 4. 8. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360-MODEL 50 425: 111.101 TABLE I; INPUT-OUTPUT DEMANDS ON THE SYSTEM/360 MODEL 50 PROCESSOR Device Random Access 2302 Disk Storage 2311 Disk Drive 2321 Data Cell Drive 7320 Drum 2301 Drum 2314 Direct Access Storage Punched Card 2540 Card Read Punch: Read, 1000 cpm Punch, 300 cpm 1442 Model N1 Card Read Punch: Read, 400 cpm Punch, 91 cpm 1442 Model N2 Card Punch, 91 cpm 2520 Model B1 Card Read Punch: Read, 500 cpm Punch, 500 cpm 2520 Card Punch: 500 cpm (Model B2) 300 cpm (Model B3) 2501 Card Reader: 600 cpm (Model B1) 1, 000 cpm (Model B2) Peak Data Rate, KB/sec* Average Data Rate, KB/sec* 156 156 54.7 135 1,200 312 156 156 54.7 135 1,200 312 1.3 0.40 70 70 Demand on Processor, per cent, viaSelector Channel 7.8 7. 8 2.7 6. 8 - 16 - 100 - 100 100 100 100 100 - - 0.82 0.40 - 0.82 0.09 0.09 - 1. 05 0.46 O. 07 0.12 0.03 < O. 01 < O. 01 0.67 ? 0.67 0.67 0.03 0.03 ? ? 0.67 0.40 0.03 0.02 0.80 1.3 0.80 1.3 0.04 0.07 0.53 - - Multiplexor Channel** o 02 O. 53 O. 12 O. 12 O. 12 High Speed Channel - 0.46 0.30 - 1. 25 2. 10 - 0.45 0.'30 - Printers 1403: 132 columns, 600 lpm (Model 2) 120 columns, 600 lpm (Model 7) 132 columns, 1,1001pm (Models 3, N1) 1404, 132 columns, 600 lpm 1443, 120 columns, 240 lpm 70 70 1.3 1.2 0.07 0.06 70 70 58 2.4 1.3 0.48 O. 12 0.07 0.02 - 0.83 0.45 0.30 Punched PaI!er TaI!e 2671 Paper Tape Reader, 1,000 cps 1 1 0.05 - 1. 66 30 60 90 30 60 90 1.5 3.0 4.5 - 100 100 100 170 340 170 340 8.5 17 - 100 100 Magnetic TaI!e 2400 Series: Modell, 30 KB/sec Model 2, 60 KB/sec Model 3, 90 KB/sec 7340 Hypertape: 170 KB/sec 340 KB/sec *Kilobytes (thousands of bytes) per second. **Estimated. 7/65 - - 425:201.001 IBM System/360 Model 50 System Performonce \ \" SYSTEM PERFORMANCE GENERALIZED FILE PROCESSING (425:201.100) These problems involve updating a master file from information in a detail file and producing a printed record of each transaction. This application is one of the most common commercial data processing jobs and is fully described in Section 4:200.1 of the Users' Guide. Standard File Problems A, B, and C vary the record sizes in the master file. Standard Problem D increases the amount of computation performed upon each transaction. Each problem is estimated for activity factors (ratiOS of number of detail records to number of master records) of zero to unity. In all cases a uniform distribution of activity is assumed. The Generalized File Processing problem for the System/360 was coded in two ways one using master files in packed decimal format and computation in decimal arithmetic, and the second using master files primarily in binary format and computation in fixed-point binary. The decimal computations required more time than those in fixed-point binary; but in the binary case, items in the detail and report files needed radix conversion. There were no appreciable differences in the total times for the two cases. The graphs for the file problem are based on use of the fixed-point binary teclmique. For simplicity, the very similar curves based on the use of decimal arithmetic are not shown. In the master file record layout, alignment of data items in core storage was carefully considered. Double-word boundaries were observed for input-output purposes to improve performance efficiency on the larger models. Instead of the "chain" mode (scatter-gather) of tape reading and writing, individual records were moved to the work areas using a high-speed, multiple-register transfer method. Because the Model 50 has many of the advantages of both the smaller Models 30 and 40 and the larger Models 65 and 75, two separate graphs are shown for each of the Standard File Problems A, B, C, and D. The first graph for each problem (which includes Configurations III, IV, VI, and VIlA) is similar to those for the smaller systems and shows performance of the Model 50 with on-line punched card and printing equipment. The second graph for each problem shows file processing times for a completely tape-oriented Model 50 system, Configuration VIlB, which includes a satellite Model 30 system to handle the cardto-tape and tape-to-printer transcriptions. In Configurations III, IV, VI, and VIlA, the master files are on magnetic tape. The detail file is assigned to the card reader and the report file to the printer. In Configuration VIlB, the master, detail, and report files are all assigned to magnetic tape, and two cases are considered: one with the report and detail files blocked (dashed curves), and the other with them unblocked (solid curves). The controlling factors in the curves for Configurations III, IV, VI, and VIlA are the master-file tapes at very low activity factors (as denoted by the horizontal line segments) and the on-line printer at higher activities. For Configuration VIIB, whether the report and detail files are blocked or unblocked, the controlling factor is a combination of one masterfile tape and the report file tape at all activities. I \ '--. Because multiprogramming of two or more independent programs is a featured capability of the System/360, the time actually used by the central processor (CP) is also plotted. By comparing the curves of total time for the various configurations with the central processor curves, it can be seen that even in the worst case (Configuration VIlB using blocked detail and report files, when the master file records have been reduced in size), some 50% of the available processing capacity is not in use. A comparison of the central processor curves for a standard amount of computation and for trebled computation (i. e., the curves for Problems A andD, respectively) shows the effect of increasing the computational workload. SORTING (425:201. 200) ( The standard estimate for sorting SO-character records by straight-forward merging on magnetic tape was developed from the time for Standard File Problem A by the method explained in Paragraph 4:200.213 of the Users' Guide. A three-way merge was used in all system configurations for the Model 50. The results are shown in Graph 425:201. 200. © , 965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 425:201.002 IBM SYSTEM/360-MODEL 50 MATRIX INVERSION (425:201. 300) The standard estimate for inverting a non-symmetric, non-singular matrix was computed by the simple method described in Paragraph 4:200.312 of the Users' Guide. Two lines are shown on the graph, one using the short floating-point format (S-digit precision), and the other using the long format (IS-digit precision). GENERALIZED MATHEMATICAL PROCESSING (425:201.400) Standard Mathematical Problem A is an application in which there is one stream of input data, a fixed computation to be performed, and one stream of output results. Two variables are introduced to demonstrate how the time for a job varies with different proportions of input, computation, and output. The factorC is used to vary the amount of computation per input record. The factor R is used to vary the ratio of input records to output records. The procedure used for the Standard Mathematical Problem is fully described in Section 4:200.2 of the Users' Guide. Computations were performed in double-length floating-point arithmetic (IS-digit precision) since a minimum precision of 8 digits is prescribed. In Configurations III, VI, and VIlA (page 420:201.400), the input file is assigned to the card reader and the output file to the printer. In Configuration VIm (page 420:201. 415), both files are on magnetic tape. WORKSHEET DATA TABLE 1 CONFIGURATION 1------..------..-------r-----,-----iREFERENCE m'&VI Char/block (FUel) (FUel) Rooords/bIock File 1 lns60/black IV Output Tim.. 1,056 1,056 1,056 12 12 12 12 51.2 25.6 25.6 25.6 ~'---- --~--r--------so-- msee/switch Processor Times -----w - - I-- ~ F"l.O -+-___ -+ ____ ~----.~ __.:-- __ - - - 0 - · - ----0- . - ------0- - - , - - - , ~'~t-~'~ a1 msee/record ".---- ·--0~-r---0"":"i9"- -'--0,"19-1- ---o:l9 f - o:T9 . . . - . - - . - --""0,"39"- --""""0"":"39----oyg- 1--0:39"" - - 0 ' : i 9 msec/detaU msec/work 0.28 i:5+b;-_. - 0.28 0.28 0.28 0.28 --'.32 - . - - o;a;- - ' - - - o;a;- - ---0:;;-- f--..,,- ::-;-+bs--·- ---D.8l-~--0.~ Printer C,P. Printer -i+- C.P. Tape C.P. Tape ~-.--- ~--'--~-- "'" r.F'""'-':-l'""M::-..-:-"-r:-In-+---"o:'-.O-,-+---+---"o:'-.O-,-+---+-~oo". ',,-t---+-;0o". ',;-t-Io.-;;-,-,.-,+-:coo. ·',+I....-.--,,-.,--f ~·-----1H- dominant I/O column. 1::: ~Master-~ =-'~ 1500 Total 1500 38.4 117.8 (byte,) _ _ _ _,_,~ ~rouUnes -- ·-f---s7:6r;-1~ 117.8 -r- 18.2 18.2 4:200.114 ~1---o.5 f-- 0:51--""""57."6"1t5oo- 0.7 ~.I-o:7''I20.0 1116 ~O_ --~f-·~- ~.2-+-' '-~."'5"""""""t- .. _ ~~etaUs ---3~ ~Beporb- -5-:;:;;- 4:200.1132 ---0.-"- --0 o:8l --0:81 Printer C.P. for C,P. mseo/block 4:200.112 -- :::-- -- !:: -----H- t--.~:~::--* msec/biock Unit of Measure 117.8 __ 1500 23.0 57.5 23.0 145.6 ~_ ~_--':"~-~--f---~--~- Standard Ffl. Problem A Sp>c. __ ~_ 4,092 _ _ _ _4,~ _ _ 4.648 _ _ _ _ _ __ ~_ ~~lto2:3~_~ ~~24to_~_. ~ _____ orking ____ ToULl ~ 4,648 100 15616 _ 100 15,616 Floating point input ~ 4,~ 100 Fixed/Floating point UnIt of Measure ~~ru:~Ucal 25.6 --10,'il ~'---- c.P. Problem A 1,056 ~. FU,:~ ~.---- macc/report St."",,,. Ffl. VIm (unblocked) -----wO--I----24--:D* --'9:4 ~~Flle~ _ _ _ ~ _ _ _ ~ _ _ _ ~_ msecpenalty (estimated) Central (blocked) 1,056 FUe 2 FUe4 . - - - - --""125- - - --,,--- Input- VIIB VIlA 15,616 Floating point 20,280 Floatlngpoint Size of record St ,---- - :~ ::: -- msec/block ~~ _ _ - - ; _ _ _ msecpenalty (estimated) Input :~::: -- - :::~: 15,616 FloaUng point 2501CardReader, ModB12540 CardReadPunch 2501CardReader,ModBl ,--. -140'3" Print.sr, Mod 7 1403 Printer, Mod 3""""" ""1403 Printor~ - 2400 Serles Tape, Mod 2 ~es Tape. :M:0d2 --To:~: .- *- __ + ___ *_ Prohl~A r------E~~~--t-~~~--+-~~~--1-~~~--+--~~.--~ meee/record ~5100p' msecJreport * T3 ~~ -=- TS T;-= 'l'7 3.2 - ---a:z - == 2.82 1.82 1.05 3.2 -- ~ - ._~ 1.62 '.82 1.05 .== 3.2 -a:z - 4:200.413 0.04 ---""ii":Ci4- 1.82 1.82 1.05 ,1.011 2.82.== 2.~~ FUes ~ and 4 blocked 12 reeords/block. ./ (Contd. ) 7/65 SYSTEM PERFORMANCE 425:201.1 00 .1 GENERALIZED FILE PROCESSING • 11 Standard File Problem A • 111 Record sizes Master file: ••.... 108 data characters, packed as 88 8-bit bytes. Detail file: .•..••• 1 card. Report file: . . . . . . . 1 line. . 112 Computation: . . . . . . . standard, using fixed-point binary or decimal arithmetic . .113 Timing basis: . . . . . . using estimating procedure outlined in Users I Guide, 4:200.113. .114 Graph: , ••.•....•• see graph below. ON-LINE CARD READER AND PRINTER 4 2 111, L;" 7 ~ ./ ./ 4 2 ." 1.00"'" ./ Time in Minutes to Process 10,000 Master File Records V/ Im,vy V ~. I t 4 ...", I C~ I"'" 2 I .... ---- CP- --- /" V / 0.1 7 - ________ // 1.0 - ~~;./ 1-.::7 - ~~ ~ 10.0 I 4 2 0.01 0.0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations; curve marked "CP" shows central processor time.) ( \ © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 425:201.116 • 11 IBM SYSTEM/360-MODEL 50 Standard File Problem A (Contd. ) . 115 Storage space required Configuration m: ... Configuration IV: ••. Configuration VI: •.. Configuration VIlA: .. Configuration VIm . (blocked): •.•••.• Configuration VIIB (unblocked): •••.. .116 Graph: .•••..•...• 15,616 bytes. 15,616 bytes. 15,616 bytes. 15,616 bytes . 20,280 bytes. 15,616 bytes. see graph below. OFF-LINE CARD READER AND PRINTER 100.0 7 4 2 10.0 7 4 ~D) Time in Minutes to 2 Process 10, 000 Master File Records mi13LOC ~ 1.0 7 V 4 ./ ~2 -- (13LOCKE~_ ------~ VUB - _____ C P - ~C~' ~-- 0.1 ~ 7 1/ -' 4 2 0.01 0.0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations; curve marked "CP" shows central processor time.) (Contd. ) 7/65 SYSTEM PERFORMANCE 425:201.120 • 12 Standard File Problem B .121 Record sizesMaster file: . . . . . . 54 data characters, packed as 44 8-bit bytes. Detail file: ..•..•• 1 card. Report file: • . . . . . . 1 line. . 122 Computation: . . . • • . . standard, using fixed-point binary or decimal arithmetic. .123 Timing basis: •..••. using estimating procedure outlined in Users' Guide, 4:200.12. .124 Graph: ••••...... see graph below. ON-LINE CARD READER AND PRINTER 100.0 7 4 2 ______ ~ 1.'J ln., \fl, 10.0 7 ~ L 4 Time in Minutes to Process 10,000 Master File Records :",...0" ./' // m'IVI 2 'iJ 1.0 7 4 -' .- // / ____ CF- .... -~IA - -- - .. ' - -- -~ // C-q. l/ 2 ,I 0.1 7 I I J 4 2 0.01 0.1 0.0 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations; curve marked "CP" shows central processor time.) © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360-MODEL 50 425:201.125 .12 Standard File Problem B (Contd.) .125 Graph: •••••.•..•• see graph below. OFF-LINE CARD READER AND PRINTER 100.0 7 / 4 2 10.0 7 4 Time in Minutes to Process 10,000 Master File Records 2 ~ "\11113 ~ 1.0 7 ." /'" 4 2 ~~ L-- ... ,--- -. -- - -- "\11113 {13 LOCKED) - - .... ~,- .---CP- - - -- "..C"" 0.1 ~ 7 ./ 4 /' / 2 0'.01 0.0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations; curve marked "CP" shows central processor time.) ,/ (Contd.) 7/65 SYSTEM PERFORMANCE • 13 425:201.130 Standard File Problem C . 131 Record sizes Master file: . . . . . . 216 data characters, packed as 176 8-bit bytes. Detail file: . . . . . . . 1 card. Report file: .••...• 1 line. .132 Computation: . . . • . . . standard, using fixed-point binary or decimal arithmetic . .133 Timing basis: . . • . . . using estimating procedure outlined in Users' Guide, 4:200.13 • • 134 Graph: . . . . . . . . . . . see graph below. ON-LINE CARD READER AND PRINTER 100.0 7 4 2 ~ 111, "\11, 10.0 7 ./ // 4 !-III Time in Minutes to 2 Process 10,000 Master File Records 1.0 7 .- --- - ...., ./ /C:- 4 ~ / 'N I/'/ ,V V'/ ~ 0.1 - I' ff/; V 2 :::------ ~Cl'- --- V / 7 4 2 0.01 0.0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations; curve marked "CP" shows central processor time.) / ( '- © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 425:201.135 . 13 IBM SYSTEM/360-MODEL 50 Standard File Problem C (Contd.) . 135 Graph: ••.•••••••• see graph below. OFF-LINE CARD READER AND PRINTER 100.0 7 4 2 10.0 7 4 Time in Minutes to Process 10,000 Master File Records uNBLOCKED) VIIB ( 2 ~ ~ - 1.0 7 (BLOC~DL -- vliB __ - 4 .---~Cl' 2 0.1 7 .- -- _CP- - -' 4 2 0.01 0.0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations; curve marked "CP" shows central processor time.) (Contd.) 7/65 425:201.140 SYSTEM PERFORMANCE I \" . 14 Standard File Problem D . 141 Record sizes Master file: . . • . . . . 108 data characters, packed as 88 8-bit bytes. Detail file: . • . . . . . 1 card. Report file: . . . . . • . 1 line. .142 Computation: . . . . . . . trebled, using fixed-point binary or decimal arithmetic . . 143 Timing basis: . . . . . . using estimating procedure outlined in Users' Guide, 4:200.14. . 144 Graph: . • . . . . . . • . . see graph below. ON- LINE CARD READER AND PRINTER 100.0 7 4 2 10.0 7 ./ 4 Time in Minutes to Process 10,000 Master File Records 1..00"""" ./ ./' - // ITI, VI / // 2 1.0 .- ~~~1Y rfI r .....VII A , 7 YI I 4 oJ ~. I ./ L' ----- C1?- ----- C~' / 2 / 0.1 / 7 4 2 0.01 \ '- 0.0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations; curve marked "CP" shows central processor time.) ( © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 425:201.145 .14 IBM SYSTEM/360-MODEI,. 50 Standard File Problem D (Contd.) . 145 Graph: ...•.••••.. see graph below. OFF-LINE CARD READER AND PRINTER 100.0 7 / 4 2 10.0 7 4 Time in Minutes to Process 10,000 Master File Records 2 ~ \Tl!B { 1.0 4 VIIB(BLO~~ .- 7 ~ ~- --- --- """""" 2 /" 0.1 _CP- C~ • IOi"'" ---------- --- --- -" 7 -' l/" 4 2 0.01 0.0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations; curve marked "CP" shows central processor time.) ,/ (Contd.) 7/65 SYSTEM PERFORMANCE 425:201.200 , ( \,. •2 SORTING .21 Standard Problem Estimates .212 Key size: ••••..••. 8 characters . .213 Timing basis: ••.•.• using estimating procedure outlined in Users' Guide, 4:200.213 (3-way tape mergE .214 Graph: . • . • . . . • . • • see graph below• . 211 Record size: ••••.•• 80 characters. 1,000 7 4 2 100.0 7 1/ ~ ,j 4 V ,s. 2 17 Time in Minutes to Put Records Into Required Order 10.0 V 7 ~ 4,-¢7/'1 ~. ~ f ~/ 4 2 / 1.0 / "' V / '1~ / "' I , 7 1/ / 4 / / 2 0.1 100 2 4 7 1,000 2 4 7 10,000 2 4 7 100,000 Number of Records (Roman numerals denote standard System Configurations.) © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 425:201.300 IBM SYSTEM/360-MODEL 50 •3 MATRIX INVERSION .31 Standard Problem Estimates .312 Timing basis: .••••. uSing estimating procedure outlined in Users' Guide, 4:200.312 • . 313 Graph: .••••.•..•. see graph below• . 311 Basic parameters: ••. general, non-symmetric matrices, using floating point to a precision of approximately 6 decimal digits in the SHORT format and 16 digits in the LONG format. 1.0 I 7 II 4 ~V 2 V~ JJ 0.1 7 I I 4 III III /V 2 ;(J Time in Minutes for Complete 0.01 Inversion 7 ~ ..:, § ~ "-l I I 11 II 4 II III 2 / 0.001 7 I 4 ,/ , 2 0.0001 1 2 4 7 10 2 4 2 7 100 4 7 1,000 Size of Matrix (Contd.) 7/65 SYSTEM PERFORMANCE 425:201.400 .4 GENERALIZED MATHEMATICAL PROCESSING .41 Standard Mathematical Problem A Estimates .412 Computation: . . . . • • . 5 fifth-order polynomials, 5 divisions, and 1 square root; computation is in "long" floating-point mode (16 -digit precision) • .413 Timing basis: ...••. using estimating procedure outlined in Users' Guide, 4:200.413 • . 414 Graph: .••..••••.. see graph below. • 411 Record sizes: •..••• 10 signed numbers; average size 5 digits, maximum size 8 digits. ON-LINE CARD READER AND PRINTER (CONFIGURATIONS III, VI, AND VIlA) 1,000.0 7 4 ~ 2 R 100.0 = 0.01, 1/ 0.1, 1.0 7 'I .A D ,/ / 4 \) 2 i - ~I-I- Time in 10.0 Milliseconds per Input Record 7 C1? ~ ~~i.I' i.o' i~"~,' .",., ~~ ;\., 1).1) .... C1? r-- 4 2 1.0 7 4 2 \ ". 0.1 2 4 7 2 1.0 0.1 4 2 7 10.0 4 7 100.0 C, Number of Computations per Input Record ( ( R = number of output records per input record; curve marked "CP" shows central processor time.) © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 7/65 IBM SYSTEM/360-MODEL 50 425:201.415 .41 Standard Mathematical Problem A (Contd.) .415 Graph: ••••••.••.. see graph below. OFF-LINE CARD READER AND PRINTER (CONFIGURATION VIm) 1,000.0 7 4 , 2 ~ 100.0 I ~' f/ 7 H ~ ,# 4 I:\~"" ~I:\"'" ~ 2 R=O.Ol, 0.1, 1.0 Time in 10.0 Milliseconds per Input Record 7 ~ q 1:\' .J' 4 2 ~ ~ ~ - - CP .C1? - .L" ..,./ ~~ ./".'\. ;'1 ,,'\., JJ'~~'" "" 1.0 7 4 / 2 0.1 2 0.1 4 2 7 1.0 4 2 7 10.0 4 7 100.0 C, Number of Computations per Input Record ( R = number of output records per input record; curve marked "CP" shows central processor time.) / 7/65 ( \ IBM SYSTEM / 360 MODEL 65 International Business Machines Corp. AUERBACH INFO, INC. PRINTED IN U. S. A. '- \ '-.,_.- IBM SYSTEM / 360 MODEL 65 International Business Machines Corp. .-..;.. AUERBACH INFO, INC. PRINTED IN U. S. A. 426:011.100 IBM System/360 Model 65 In trodu cti on INTRODUCTION / ( The Model 65 series of the IBM System/360 family is a large-scale, general-purpose computer system, with typical system rentals from approximately $30,000 to $50,000 per month. It has approximately 1. 25 times the processing power of the older IBM 7094 Model.II. The available compatibility features indicate that Model 65 is regarded by IBM as a probable replacement computer for the IBM 7040, 7070, 7080, and 7090 computer families. Model 65 is the largest System/360 processor that uses read-only storage to control the decoding and execution of the stored-program instructions, so at pre!3ent it is 'also the largest modeLthat can be fitted with compatibility features to permit "emulation" of second-generation IBM systems. IBM's announcement of the Model 65, in April 1965, indicated that Model 65 will replace the previously-announced System/360 Models 60 and 62. Model 60 provided interleaved accessing of 8 bytes per 2-microsecond core storage cycle, while Model 62 provided noninterleaved accessing of 8 bytes per I-microsecond cycle. Model 65, with its O. 75-microsecond core storage cycle and (except in the 131K model) interleaved accessing, therefore provides significantly improved central processor performance - and at significantly lower prices. Customers who placed early orders for Model 60 or 62 systems will receive them, beginning in the third quarter of 1965, as scheduled. These systems'will be upgraded to Model 65's when customer deliveries of Model 65 begin in early 1966. The Model 65 series of the IBM System/360 is characterized by: • A main core storage cycle time of O. 75 microseconds, with eight bytes (one double word) being accessed per cycle. Storage accessing is two-way interleaved to provide improved sequential access rates in all except the smallest (131K-byte) model. • Main core storage capacities ranging from 131,072 to 1,048,576 bytes. • Standard inclusion of the following features: Decimal Arithmetic Floating-Point Arithmetic Storage Protection Interval Timer System Control Panel. • Optional availability of the following features: Channel-to-Channel Adapter Direct Control Selector Channels (maximum of 6) Multiplexor Channel, with up to 4 selector and 192 multiplexed subchannels Large-Capacity Core Storage 7070/7074 Compatibility 7080 Compatibility 709/7040/7044/7090/7094 Compatibility. (Note: Only one Compatibility Feature can be installed. ) • Non-aVailability of the following peripheral deVices: 1404 Printer 2415 Magnetic Tape Unit and Control 2671 Paper Tape Reader Optical and Magnetic Readers. I "'-. This report concentrates upon the characteristics and performance of the Model 65 series in particular. All general characteristics of the System/360 hardware and software are described in Computer System Report 420: IBM System/360 - General. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360-MODEL 6S 426:011.101 The System Configuration section which follows shows the System/360 "Model 65 in the following standard System Configurations: VIIA VllB VllIB 10-Tape General System (Integrated) 10-Tape General System (Paired) 20-Tape General System (Paired). These configurations were prepared according to the rules in the Users' Guide, Page 4:030.120, and any significant deviations from the standard specifications are listed. The main deviation is the inclusion of random access storage to permit full use of the software S!upport facilities of the Operating System/360. As a matter of general interest, the rentals that would be incurred if faster magnetic tape units were installed are listed on the configuration diagrams. Section 426:051 provides detailed central processor timings for the Model 65. See Section 420:051 for all the other characteristics of the program-compatible System/360 processors, including a discussion of the System/360 instruction repertoire as a programming tool. Program compatibility with the IBM 7070/7074, the 7080, and the 7040/7090 family is discussed in Sections 420:133, 420:134, and 420:135, respectively. The input-output channel capabilities of the System/360 Model 65 can be summarized as follows (see also Sections 420:111 and 426: 111): Multiplexor Channels Maximum number: . . . . . Maximum total data rate, bytes/sec:. . . . . . . . . . Number of multiplexed subchannels: . . . . . . . . Number of selector subchannels: . . . . . . . . . . . . . . . .. 1 (optional). . . . . . . . .. 450,000. . . . . . . . .. 192. . . . . . . . .. 0 to 4. Selector Channels Maximum number: . . . . . . . . . . . . .. Maximum data rate, bytes/sec:. . . . . . . . . . . . . . . . . .. 6. 1,300,000. The software that can be used with any System/360 configuration depends upon the core storage capacity and the number and type of peripheral devices. Several versions of the Assembler, COBOL, FORTRAN IV, and PL/I will be made available. These languages and the other support routines for the System/360 are described in Sections 420:151 through 420:193. The overall performance of any System/360 is heavily dependent upon the Processing Unit model used. A full System Performance analysis of the Model 65 is provided in Section 426:201. ,/ 8/65 426:031.100 IBM System/360 Model 65 System Confi guration SYSTEM CONFIGURATION System Configuration possibilities for Model 65 and other System/360 models are summarized in report Section 420:031. This report shows Model 65 systems arranged in accordance with the specifications for our Standard Configurations, as defined in the Users' Guide, page 4:030. 120. Note that a 2311 Disk Storage Drive has been added to each Model 65 configuration to permit utilization of the extensive software support facilities of the Operating System/360 . .1 10-TAPE GENERAL SYSTEM, INTEGRATED; CONFIGURATION VIlA Deviations from Standard Configuration: . . . . . . . . . . . . . . . . . . . . . . . . core storage is 100% larger. printer is 20% faster. reader is 20% faster. EqUipment Rental Main Storage: (131,072 bytes or 262, 144 packed decimal digits) $19,700 2065 Processing Unit, Model G65 2860 Selector Channel, Model 2 2870 Multiplexor Channel 3,000 2,200 1052 Printer-Keyboard and Adapter 290 2501 Card Reader, Model B1: Reads 600 cards per minute 260 1442 Card Punch, Model N2: Punches 91 full cards per minute 375 2821 Control Unit, Model 2 1403 Printer, Model 7: Prints 600 lines per minute 600 650 2841 Storage Control and 2311 Disk Storage Drive 1,100 2403 Magnetic Tape Unit and Control (2) 2402 Magnetic Tape Units (4) (10 drives total) 5,750 All Model 2: 60,000 bytes/sec; 75 inches/sec* TOTAL: $32,525 * Using alternative tape drives and their appropriate controllers, total sy.stem rentals are as follows: With With With With Model Model Model Model 3 4 5 6 drives drives drives drives (112.5 ( 37.5 ( 75.0 (112.5 © inches/second, inches/second, inches/second, inches/second, 90,000 bytes/second): . 60,000 bytes/second): . 120,000 bytes/second):. 180,000 bytes/second):. • . . . . . . . • . . . . . . . 1965 AUERBACH Corporation and AUERBACH Info, Inc. . . . . • . . . . . . . . . . • . . • . . . . . . • . . . • . . . . . . .. .. .. .. $35,525 $31,825 $33,325 $36,325 8/65 IBM SYSTEM/360-MODEL 65 426:031.200 .2 10-TAPE GENERAL SYSTEM (PAmED); CONFIGURATION WB Deviations from Standard Configurat ion:· • . . . . . . . . . • . . . . . . . . . . . . . core storage is 100% larger. direct connection to satellite system. Rental Equipment Main Storage (131,072 bytes) $19,700 2065 Processing Unit, Model G65 2860 Selector Channel, Model 2 1052 Printer-Keyboard and Adapter 290 2501 Card Reader, Model B1: Reads 600 cards per minute 260 2841 Storage Control and 2311 Disk Storage Drive 2404 Magnetic Tape Unit and Control 2402 Magnetic Tape Units (3) 2401 Magnetic Tape Unit (8 drives total) All Model 2: 60,000 bytes/ sec; 75 inches/ sec* To Satellite System (at right) * 3,000 1,100 4,560 Simultaneous Read-While-Write features 70 TOTAL ON-LINE EQUIPMENT: $28,980 TOTAL SATELLITE EQUIPMENT: $ 4,855 TOTAL RENTAL: $33,835 Using alternative tape drives and their appropriate controllers, total system rentals are as follows: With With With With Model Model Model Model 3 4 5 6 drives drives drives drives (112.5 ( 37.5 ( 75.0 (112.5 inches/second, inches/second, inches/second, inches/second, 90,000 bytes/second): • '• • . . . • . • • . . . . . . . 60,000 bytes/second): ••...••..•••••... 120,000 bytes/second): • . . . . . . . . • . • • . . • . 180,000 bytes/second): • . . . . • • . . . . . • . • . . $36,235 $33,535 $34,735 $37,135 (Contd.) 8/65 SYSTEM CONFIGURATION 426:031.201 SATELLITE EQUIPMENT Deviations from Standard Configuration: . . . • . . . . . . . . . • . . • . . . . . . . . printer is 20% faster. reader is 20% faster. console input functions. core storage is 100% larger. Equipment Main Storage (8,192 bytes) $1,275 2030 Processing Unit, Model C30 (includes one Multiplexor Channel) 1051 Control Unit and Adapter 1052 Printer-Keyboard 225 2501 Card Reader, Model B1: Reads 600 cards per minute 260 1442 Card Punch, Model N2: Punches 91 full cards per minute 375 2821 Control Unit, Model 2 1403 Printer, Model 7: Prints 600 lines per minute 600 650 2403 Magnetic Tape Unit and Control 2401 Magnetic Tape Unit (2 drives total) Both Model 1: 30,000 bytes/sec; 37.5 inches/sec 1850 Channel-to-Channel Adapter Decimal Arithmetic TOTAL SATELLITE EQUIPMENT: 1, 220 225 25 $4,855 To Main System (at left) © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360-MODEL.65 426:031.300 .3 20-TAPE GENERAL SYSTEM (PAIRED); CONFIGURATION VIIIB Deviations from Standard Configuration: . . . . . . . . . . . . . . . . . . . . . . . . . punch output is 50% faster. direct connection to satellite system. EqUipment Rental Main Storage (131,072 bytes) $19,700 2065 Processing Unit, Model G65 2860 Selector Channels: Model 1 (one channel) Model 3 (three channels) 2,100 3,900 1052 Printer-Keyboard and Adapter 290 2540 Card Read Punch, Model 1: Reads 1,000 cards per minute Punches 300 cards per minute 2821 Control Unit, Model 1 660 2841 Storage Control and 2311 Disk Storage Drive 2404 Magnetic Tape Unit and Control (2) 2402 Magnetic Tape Units (6) 2401 Magnetic Tape Units (2) (16 drives total) All Model 3: 90,000 bytes/sec; 112.5 inches/sec* 970 1,100 13,920 Simultaneous Read-While-Write (on 2402 and 2401) To Satellite System (at right) TOTAL ON-LINE EQUIPMENT: TOTAL SATELLITE EQUIPMENT: TOTAL RENTAL: 140 $42,780 7,010 $49,790 * Using alternative tape drives and their appropriate controllers, total system rentals are as follows: With Model 5 drives ( 75.0 inches/second, 120,000 bytes/second): . . . . . . . . . . . . . . . . With Model 6 drives (112.5 inches/second, 180,000 bytes/second): . . . . . . . . . . . . . . . . With 7340 Hypertape drives (112.5 inches/second, 340, 000 bytes/se~ond): . . . . . . . . . . . $45,990 $50,070 $54,590 (Contd.) 8/65 SYSTEM CONFIGURATION 426:031.301 SATELLITE EQUIPMENT Deviations from Standard Configuration:. . . . . . . . . . . . . . . . . . . . . . . . . punch is 50% faster. Equipment Main Storage (8,192 bytes) $1,275 2030 Processing Unit, Model C30 (includes one Multiplexor Channel) 1051 Control Unit and Adapter 1052 Printer-Keyboard 225 2821 Control Unit, Modell 970 2540 Card Read Punch, Jodel 1: Reads 1,000 cards per minute Punches 300 cards per minute 660 1403 Printer, Model 3: Prints 1, 100 lines per minute 1100 LPM Attachment 900 2403 Magnetic Tape Unit and Control 2402 Magnetic Tape Unit 2401 Magnetic Tape Unit (4 drives total) All Model 2: 60,000 bytes/sec; 75 inches/sec To Main System (at left) 2,440 1850 Channel..:to-Channel Adapter 225 Selector Channel 215 Decimal Arithmetic TOTAL SATELLITE EQUIPMENT: © 75 1965 AUERBACH Corporation and AUERBACH Info, Inc. 25 $7,010 8/65 /' 426:051.100 IBM System/360 Model 65 Central Processor CENTRAL PROCESSOR .1 GENERAL . 11 Identity: ..•••..••• IBM 2065 Processing Unit . .12 Description See Section 420:051 for a comprehensive description of the characteristics of all the System/360 Processing Units. See Section 426:011 for a summary of the distinguishing features of the 2065 Processing Unit as used in Model 65 systems. The Instruction Times and Processor Performance times for Model 65 systems are listed below. Timing data for the non-interleaved, 131K-byte Model G is shown separately from the times for the larger, two-way-interleaved Models H, I, and J. Interleaving of core storage can yield improved performance through overlapped accessing of the individual memory banks, but the extent to which such overlapping can improve processor performance is limited where, as in Model 65, the core storage access times apparently are not the limiting factor on overall processor performance. Timing data is listed for all four arithmetic modes available in System/360. See Paragraphs 4:050.41 and 4:050.42 of the Users I Guide for the definitions of these standardized measures of central processor· performance. .4 PROCESSOR SPEEDS .41 Instruction Times in Microseconds (Model G) .414 Control: Compare Fixed point: . . . . . 1. 50 Decimal: . . . . . • . • 3.67 + 0.43B Floating point (long):2.10 Floating point (short): .•.•.•. 2.08 Logical: . . . • • . . . 1. 50 Branch: . . . . . . . . . 1. 25 .415 Counter control Step: . . . . . . . • . . . 1.56 Step and test: ..•.• 1. 25 (increment of -1). 1. 56 (increment of any value). Test: . . . . • . . . . . . 1.50 .416 Edit: . . . . • . . . . . . . 3.40 + O. 8B .417 ConvertTo binary: . . . . . . . . 7. 5 To decimal: . . . . . . . 8.38 (positive); 8.75 (negative) . .418 Shift: . . . . . . . . . . . . variable. .41 Instruction Times in Microseconds (Models H, I, and J) .411 Fixed point Decimal 3.4 + 0.5B 3.77 + 4.0B + B2 5.95 + 4.4B + 2.2B2 where B = operand length in eight-bit bytes (2 decimal digits per byte) . Add-subtract: . • . . . 1.40 Multiply: . . . . . . . . 4.80 Divide: . • • . . . • . . . 8.45 .412 Floating point - .411 Fixed point Decimal Add-subtract: ••..• 1. 50 Multiply: .••••.... 4. 90 Divide: .•.•••••.. 8.45 3.6 + 0.5B 3.97 + 4.6B+B2 6.15+4.6B+ 2.2B2 where B = operand length in eight-bit bytes (2 decimal digits per byte) . . 412 Floating point Short Add-subtract: . . . . . 2.55 Multiply: . • . . . . . . 7.70 Divide: •.•.•...•. 14.20 .413 Additional allowance for Single indexing: . . . . O. 0 Double indexing: ...• 0.10 Indirect addressing: . none. Recomplementing: .. none. © 2.53 4.50 7.40 Long Short Add-subtract: . . . . . 2.45 2.43 Multiply: . . . . . . . . . 7.60 4.40 Divide: . . . . . . . . . . 14.10 7.30 .413 Additional allowance for Single indexing: . . . . 0.0 Double indexing: . . . . O. 15 Indirect addressing: . none. Recomplementing: .. none. .414 Control: Compare Fixed point: . . . . . 1.40 Decimal: . . . . . . . . 3.47 + 0.43B Floating point (long): . . . . . . . . 2.0 Floating point (short): . . . • . • . . 1. 98 Logical: . . . . . . . . 1.40 Branch: . . . . • . . . 1.15 .415 Counter control Step: . . • . . . • . . • . 1.50 Step and test~ . • . . . . 1.15 (increment of -1). 1. 50 (increment of any value) . Test: .•.•........ 1.40 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 426:051.416 .416 Edit: . • . . . . . . • . . . 3.20 + O. 7B .417 ConvertTo binary: . • . . . . . . 7.4 To decimal: . . . . . . . 8.05 (positive); 8.45 (negative) . . 418 Shift: . . . . . . . . . . . . variable. .42 Processor Performance in Microseconds (Model G) .421 For random addresses Fixed point Floating point c = a + b: . . . • . • . • 3.9 (binary) 5.21 (long) 6.4 + 1. OB 4. 99 (short) (decimal) b = a + b: .•...••• 3~ 9 (binary) 5.21 (long) 3.3 + O. 5B 4.99 (short) (decimal) Sum N items: . . . • . . 1. 5N (binary) 2.5N (long) (3.6 + 0 .5B)N 2. 5N (short) (decimal) c = ab: ..••••••.. 7.4 (binary) 10.1 (long) 8.7 + 5.2B 6.4 (short) + 1.0B2 (decimal) c = alb: ...•••.•• 11.7 (binary) 16.6 (long) 11.8 + 5. 6B 9.6 (short) + 2.2B2 (decimal) where B = operand length in eight-bit bytes . . 422 For arrays of data Fixed point Floatmg point ci = ai + bj: . . • . . . . 5.8 (binary) 7.2 (long) 8.4 + LOB 6.9 (short) (decimal) bj = ai + bj: . . . • . . . 5.8 (binary) 7.2 (long) 5.4 + O.5B 6.9 (short) (decimal) Sum N items: .•••.• 2.7N (binary) . 3. 8N (long) (4.8 +0. 5B)N 3.8N (short) (decimal) c = c + aibj: . . . . . . • 9.0 (binary) 13.2 (long) 13.5 + 5.2B 9.7 (short) + 1.0B2 (decimal) .423 Branch based on comparisonNumeric data: ...•• 6. ON Alphabetic data: ...• 6. ON .424 Switching Unchecked: ..••..• 4.8 Checked:. • • • • • • . • 8. 2 List search: .••.•• 6.4 + 3.6N .425 Format control, per character Unpack: . • • . . • • . . O. 5 Compose: • . . . • . . • 1.5 .426 Table lookup, per comparison For a match: . . . • . . 3.6 For least or greatest: . . . . . . . • 4.5 For interpolation pOint: . . • • . . . . . . 3.6 .427 Bit indicators Set bit in separate location: . • . . . . . . 1. 5 Set bit in pattern: . . . 1. 9 Test bit in separate location: . . . . . . . . 2.7 Test bit in pattern: .. 3.2 8/65 IBM SYSTEM/360-MODEL 65 .428 Moving: . . . . . . . . . . 2.2 + O. 2B, where B = number of bytes moved. .42 Processor Performance in Microseconds (Models H, I, and J) .421 For random addresses Fixed point Floating point 4.78 (long) c = a + b: . . . . . . . . 3.5 (binary) 4. 66 (short) 6.0+1.0B (decimal) 4.78 (long) b = a + b: ..••...• 3. 5 (binary) 4. 66 (short) 6.0 + LOB (decimal) Sum N items: . . . • . l.4N (binary) 2. 4N (long (3.4 + O. 5B)N 2.4N (short) (decimal) c = ab: . . . . . . . . . . 7.0 (binary) 9.7 (long) 8.2+4. 8B + 6.1 (short) 1.0B2 (decimal) c = alb: . . . . . . . . . 11. 3 (binary) 16.2 (long l1.4+5.2B+ 9.3 (short) 2.2B2 (decimal) where B = operand length in eight-bit bytes. .422 For arrays of data Fixed point Floating point .423 .424 .425 .426 .427 .428 7.5 (long) ci = ai + br . . . . . . . 6.2 (binary) 7.4 (short) 8.7 + LOB (decimal) 7.5 (long) bj = ai + bj: . . . . . . . 6.2 (binary) 7.4 (short) 8.7 + 1. OB (decimal) Sum N ~tems: . . . . . 2.65N (binary) 3.7N (long) (4.7 +0.5B)N 3.7N (short) (decimal) c = c + aibj: . . . . . . . 8.8 (binary) 13.0 (long) 12.9+4.5B+ 9.5 (short) 1.0B2 (decimal) Branch based on comparison Numeric data: . . . . • 5. 6N Alphabetic data: . . . . 5. 6N Switching Unchecked: . • • . . . . 4.6 Checked: .•..•••• 7 • 8 List Search: ..••.• 6.0 + 3. 2N Format control, per character Unpack: . . . • • . . . . O. 5 Compose: . . . . . . . . 1. 4 Table lookup, per comparison For a match: .•..•• 3.4 For least or greatest: 4.1 For interpolation , point: ..•••••... 3.4 Bit indicators Set bit in separate location: . . • . • • • . 1. 4 Set bit in pattern: •.. 1.8 Test bit in separate location: .••.•••• 2.5 Test bit in pattern: .. 3.0 Moving: ..••••...• 2.0 + O. 20B, where B = number of bytes moved. / 426: 111. 100 IBM System/360 Model 65 Simul toneous Operations SIMULTANEOUS OPERATIONS A System/360 Model 65 system can concurrently execute: • One machine instruction; and • Up to six input-output operations, one on each of the installed Selector Channels; and • Multiple additional input-output operations via the basic channel of the 2870 Multiplexor Channel; and • Up to four input-output operations, one on each Selector Sub channel included in the 2870 Multiplexor Channel. The demand on the central processor (i. e., the "interference" or delay imposed on the central processor program by each individual input-output operation) will vary depending on the type of input-output channel. (See the general discussion of System/360 Simultaneous Operations in Section 420:111.) In Table I, the processor demands imposed by each of the peripheral units are listed for each type of channel to which it can be connected. The specific characteristics of the 2860 Selector Channel and the 2870 Multiplexor Channel can be summarized as follows: 2860 Selector Channel Number of channels per unit 2860 Modell: . . . . . . . . . . • . • . . • • . . . . • . 2860 Model 2: . . . . . . . • . . . . . .' . . . • . . . . . 2860 Model 3: . . . . . . . • . . . . . . • . . • . . . • . Number of channels per system: . • . . • . . . . . . . . . 1. 2. 3. up to two 2860 Selector Channels in any combination of models (maximum of 6 channels). Maximum data rate per channel: .•...•••.....• 1,300 kilobytes/sec. Maximum date rate, all channels: ••...••.•.•.. ? Processor demand: ..•.•.•.••••.•••••••••. see Table 1. Number of control unit positions: . . . . . . . . . . . . . 8 per channel. 2870 Multiplexor Channel Maximum number: . . . • • • . . . • . . . . . . . • . . • • • 1 (optional). Maximum total data rate: . • • . . . . . • • . . . • . • . . . 450 kilobytes/sec. (", Basic Channel Maximum data rate: With no Selector Sub channel operating: . . . . . . . . With 1 Selector Sub channel operating: . . . . • . • . With 2 Selector Sub channels operating: . . . . . . . With 3 Selector Subchannels operating: . . . . . . . . With 4 Selector Sub channels operating: . . . . . . . • Processor demand: ••••......•.••...•.•.•. Number of control unit positions: . . . . . . • . . . . • . Number of subchannels: . • . . . . • . • . • . . • . • • . . . Selector Subchannels Maximum number: . . . . • . • • . • . . . . • . • . . . . Maximum data rate per Selector Sub channel: . . . . Maximum data rate, all Selector Subchannels: ... Processor demand: . • • . • . • . . . • • . . . . . • . . . Number of control unit positions per Selector Sub channel: . • • . • • . . . • . • . • . . • . • . . . . . . Maximum number of peripheral devices per Selector Subchannel: . . . • . . • • • . • . . . . . • . . 110 kilobytes/sec. 95 kilobytes/sec. 80 kilobytes/sec. 65 kilobytes/sec. 50 kilobytes/sec. see Table 1. 8. 192. 4. 100 kilobytes/sec. 400 kilobytes/sec. see Table 1. 8. 16. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 426: 111.10 1 IBM SYSTEM!360-MODEL 65 TABLE I: INPUT-OUTPUT DEMANDS ON THE SYSTEM/360 MODEL 65 PROCESSOR Device Random Access 2302 Disc Storage 2311 Disk Drive 2321 Data Cell Drive 7320 Drum 2301 Drum 2314 Direct Access Storage Punched Card 2540 Card Read Punch: Read, 1,000 cpm Punch, 300 cpm 1442 Model Nl Card Read Punch: Read, 400 cpm Punch, 91 cipm 1442 Model N2 Card Punch, 91 cpm 2520 Model Bl Card Read Punch: Read, 500 cpm Punch, 500 cpm 2520 Card Punch: 500 cpm (Model B2) 300 cpm (Model B3) 2501 Card Reader: 600 cpm (Model Bl) I, 000 cpm (Model B2) Printers 1403 Printer: 132 columns, 600 lpm (Model 2) 120 columns, 600 lpm (Model 7) 132 columns, 1,100 lpm (Models 3, Nl) 1443; 120 columns, 240 lpm Magnetic Ta{!e 2400 Series: Modell, 30 KB/sec Model 2, 60 KB/sec Model 3, 90 KB/sec Model 4, 60 KB/sec Model 5, 120 KB/sec Model 6, 180 KB!sec 7340 Hypertape, 340 KB/sec Demand on Processor, per cent, via Average Peak 2860 2870 Multiplexor Channel Data Rate, Data Rate, Selector Basic Selector KB/sec* KB/sec* . Channel (1) Channel (1) Sul::ichannel (1) 156 156 54.7 135 1,200 312 156 156 54.7 135 1,200 312 70 70 1.5 1.5 0.52 1.3 11 2.9 not usable not usable 4.0 not usable not usable not usable not usable not usable ? not usable not usable not usable 1.3 0.40 0.012 <0.01 0.1 <0.1 ? ? 0.53 0.12 0.53 0.12 <0.01 <0.01 <0.1 <0.01 ? ? 0.12 0.12 <0.01 <0.01 ? 0.67 ? 0.67 0.67 <0.01 <0.01 <0.1 <0.1 ? ? ? ? 0.67 0.40 <0.01 <0.01 <0.1 <0.1 ? ? 0.80 1.3 0.80 1.3 <0.01 0.012 <0.1 0.1 ? ? 70 70 1.3 1.2 0.012 0.011 0.1 0.1 ? ? 70 ? 2.4 0.48 0.023 <0.01 0.2 <0.1 ? ? 30 60 90 60 120 180 30 60 90 60 120 180 0.28 0.56 0.85 0;56 1.12 1.70 2.25 4.50 6.75 4.50 not usable not usable ? ? ? ? not usable not usable 340 340 3.2 not usable not usable (1) Interleaved accesses to core storage under certain c.onditions may reduce these demands by up to 25%. * 8/65 Kilobytes (thousands of bytes) per second. 426:201.001 \. IBM System/360 Model 65 System Performance SYSTEM PERFORMANCE GENERALIZED FILE PROCESSING (426:201.100) These problems involve updating a master file from information in a detail file and producing a printed record of each transaction. This application is one of the most common commercial data processing jobs and is fully described in Section 4:200.1 of the Users' Guide. Standard File Problems A, B, and C vary the record sizes in the master file. Standard Problem D increases the amount of computation performed upon each transaction. Each problem is estimated for activity factors (ratios of number of detail records to number of master records) of zero to unity. In all cases a uniform distribution of activity is assumed. The Generalized File Processing problem for the System/360 was coded in two ways one using master files in packed decimal format and computation in decimal arithmetic, and the second using master files primarily in binary format and computation in fixed-point binary. The decimal computations required more time than those in fixed-point binary; but in the binary case, items in the detail and report files needed radix conversion. There were no appreciable differences in the total times for the two cases. The graphs for the file problem are based on use of the fixed-point binary technique. For simplicity, the very similar curves based on the use of decimal arithmetic are not shown. In the master file record layout, alignment of data items in core storage was carefully considered. Double-word boundaries were observed for input-output purposes to improve performance efficiency on the larger models. Instead of the "chain" mode (scatter-gather) of tape reading and writing, individual records were moved to ,the work areas using a high-speed, multiple-register transfer method. All files - master, detail, and report - are assigned to magnetic tape. The detail and report file tapes are assumed to be transcribed off-line from punched cards and to the printer. Five cases are considered for the Generalized File Processing Problem. Configurations VIIB and VIIIB are shown with the report and detail file tapes both blocked (dashed curves) and unblocked (solid curves). Configuration VIIIB is also shown using 7340 Hypertape Drives and blocked detail and report files. Because multiprogramming of two or more independent programs is a featured capability· of the System/360, the time actually used by the central processor '(CP) is also plotted. By comparing the curves of total time for the various configurations with the central processor curves, it can be seen that even in the worst case (Configuration VIIIB using blocked detail and record files, when the computational load has been trebled), some 60% of the available processing capacity is not in use. However, if 7340 Hypertape Drives were used instead of the 2400 Series Magnetic Tape Units, then the processor could be utilized to about 80% of its capacity. A comparison of the central processor curves for a standard amount of computation and for trebled computation (i. e., the curves for Problems A and D, respectively) shows the effect of increasing the computational workload. SORTING (426:201. 200) \ The standard estimate for sorting 80-character records by straightforward merging on magnetic tape was developed from the time for Standard File Problem A by the method explained in Paragraph 4:200.213 of the Users' Guide. A three-way merge was used in all system configurations for the Model 65. The results are shown in Graph 426:201. 200. Graph 426:201. 220 shows the times required to sort 80-character records by means of the Operating System/360 Sort/Merge routine, as described in Section 420:151. In addition to the tape sorting times for Standard Configurations VIlB and VIIIB, the times required for sorts using three different types of direct-access devices are shown. MA TRIX INVERSION (426:201. 300) The standard estimate for inverting a non-symmetric, non-singular matrix was computed by the simple method described in Paragraph 4:200.312 of the Users' Guide. Two lines are shown on the graph, one using the short floating-point format (6-digit precision), and the other using the long format (16-digit precision). GENERALIZED MATHEMATICAL PROCESSING (426:201. 400) The Standard Mathematical Problem A is an application in which there is one stream of input data, a fixed computation to be performed, and one stream of output results. Two variables are introduced to demonstrate how the time for a job varies with different proportions © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360-MODEL 65 426:201.002 of input, compytation, and output. The factor C is used to vary the amount of computation per input record. The factor R is used to vary the ratio of input records to output records. The procedure used for the Standard Mathematical Problem is fully described in Section 4:200.2 of the Users' Guide. . Computations were performed in double-length floating-point arithmetic (16-digit precision) since a minimum precision of 8 digits is prescribed. In Configurations VIIB and vmB, the input and output files are on magnetic tape. Graph 426:201.400 shows two curves. The curve marked R = 1.0 is for the case in which one output record is written for each input record. The other curve is for the case in which one output record is written for every tenth (R = 0.1) and every hundredth (R = 0.01) input record. (There is no effective difference between these two cases.) In Configuration VIIB, one magnetic tape unit is the controlling factor for amounts of computation up to i5 times the standard (i. e., C = 1. 0). In Configuration vmB, magnetic tape controls for up to 8 times the standard amount of com'putation. WORKSHEET DATA TABLE 1 CONFIGURA TION VIIIB (blockcd) ITEM VIIB (blocked) 1 Standard File ProblemA (File 1) Char/block Records/block K msec/block File 1 - File 2 maee/switch JnputOutput maee penalty File 1 - File 2 fpu.a~i~ ~- msec/block Central maee/record Processor msee/detail Times msee/work maee/report Standard File Problem A F = 1.0 and dominant I/O column. 1.056 12.0 25.6 25.6 17.0 0 --0-·- 0 - 0 _ _ _o.~ __._ _ _0_.10 using Hypertape REFERENCE 1.056 12.0 12.0 17.0 ---6-.2-·- 0.01 ---O~w--- - - - - 0 - . 0 1 ~- ~~- 0.060 O.~ - - - - 0 . 0 4 5 ---O:~- 0 0 0.08' 0.060 ~ 0 0 ---0 ~- 0.08* 6.6 0.097 C.P. I/O 0.01 0.060 0.060 4.34 File 2: Master Out 1----- ~ 0.10 ~ 0.085 ~ C.P. I/O I/O O.~ ----O.~ ----0.1~ C.P. I/O ~ ~- .~ 4:200.1132 ----0.0;;;--- - ~.~ - - - 0.06 ,-Y~ I - - - I-0~ 4.34 4.34 4.34 4.34 0 .. 1!....~- ~o_ ~6_ ~~ - - ~.~ I--0.10 0.10 0.10 -1 - -1 - -1 - - - - - -0.10 - - -I 0.08 I- 0.08 0.06 a3K 0.060 -0.045 -- 0.180 C.P. ~---- ~- - - - -I - -r-0~ a2K 1 - - " - - - - - - ~- - - ~5~ - - ~.5~ ~asterln_ ----O.W-- 0.12* 0.085 I/O 4:200.112 ---0-- 0.10 0.10 -:---- - - - -0.08' 0.01 0.097 - - - 0 . lao-- ----0-.180 0 ---0- 0 --0.045 ---O.OSS- ----0-.085 ~~ --o.oB 4 1,056 12.0 C.P. for C.P. 1.056 12.0 - - -00 a1 3 IDsec/block VIIIB (unblocked) -~~- ---2~ -~- -~----s.l*~- - - - 3 2 : 0 ; - ---10~ ----22.~ - - - - 6 - . 8 - - File 3 2 VIIIB (blocked) 1.056 (File 1) ~- Times VIIB (unblocked) ~ File 4: Reports 0.12 32.0 0.12 120.0 0.12 22.9 0.12 81.6 0.12 - 8.1 Total 5.34 57.6 6.03 145.6 6.03 22.9 - 6.03 81.6 6.03 8.1 4:200.114 Unit of measure (bytes) Std. routines 1---_.Fixed Standard File ProblemA 6,000 I-:--=---. - - . - f - 3 (Blocks 1 to 23) 6,000 ----s48- ~-----s48 - ~kS24to48) c--~- - Space ~---.-'- t=--:-:- - - Working Total 6,000 6,000 6,000 r--~- 1 - 128 - I---rn- ----rn- -----_.128 r--~- f- ------s4s - I-- -----s48 - 4 , 0 9 2 ' - I--~- 1-4,092 ,------~- - 1 - 9 . 3 i 2 - I-~- 1--9,3i2- I--~- -~- 1 - - 1-00- - 1 - -100 20,280 I-- ----s48 I--- 4,092 . - 15,616 20,280 4:200.1151 ~~ 15,616 20,280 CONFIGURATION ITEM VIIB 5 Fixed/floating point Unit name 2400 Series Tape, Mod 2 ~--- 1 - - _ _ _80 bytes ~_T_1_ _ 1 - - _ _ _9._4_ _ _ - - - - output Standard Mathematical Problem A msec/block msec penalty (estimated) output T2 ~ T3 output T4 --- 9.7 Ti; 0.53 T. 0.64 T7 0.45 * _ _ _8_0_b~ _ _ _ _ 120 bytes 6.2 6.4 0.01 -------0.01 ------------ ~l~ - 2400 Series Tape, Mod 3 ______ 120 bytes ~ecord msec/report Floating point input 2400 Series Tape. Mod 2 2400 Series Tape, Mod 3 ----'------_. - 1---._ -- - - - - - - - - - 1 - - - - - - - output Size of record VIIlB Floating point 0;01 ---0.01 - 4:200.413 0.53 - I-- ------- - - - - 0.64 0.45 Files 3 and 4 blocked 12 recordslblock. (Contd.) 8/65 SYSTEM PERFORMANCE \ ", / \ 426:201.100 .1 GENERALIZED FILE PROCESSING . 11 Standard File Problem A .114 Graph: • . . . • . . . . . . see graph below . • 111 Record sizesMaster file: . . . . . . 108 data characters, packed as 88 8-bit bytes. Detail file: . . • . . . . 1 card. Report file: . . . . . . . 11ine. .112 Computation: • . . . . . . standard, using fixed-point binary or decimal arithmetic. .113 Timing basis: . . . . . . using estimating procedure outlined in Users' Guide 4:200.113. .115 Storage space required Configuration VIm (blocked): .•..•.. Configuration VIm (unblocked): .•••.• Configuration VIIm (blocked): .•.•••• Configuration vnm (unblocked): .••.•• Configuration VIIm (blocked) - Hypertape: .•••••.••• 20,280 bytes • 15,616 bytes. 20,280 bytes. 15, 616 bytes. 20,280 bytes. 10.0 7 4 - 2 1.0 7 ~ 4 Time in Minutes to Process 10,000 Master File Records -1---JIll" L_ ~ - ~~::;oi"" ~ 7 L ___ 2 - :VIlIB --=--- ..... VillB .".,,~------------' --- - --- VIIffi (HYPERTAPE) 0.1 7 .-C1'- 4 /-- 2 - - ~ c1' o"?-/ /' 0.01 7 \ 4 ,• L II 2 I \, 0.001 0.0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations) ( LEGEND - - - - - - - - - - - Elapsed time; unblocked Files 3 & 4 _ _ Elapsed time; blocked Files 3 & 4 _ C P - Central Processor time (all configurations) © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 426 :201.120 . 12 IBM SYSTEM/360-MODEL 65. Standard File Problem B .121 Record sizesMaster file:. . . . . . . 54 data characters, packed as 448-bit bytes.Detail file: . . . . . . . 1 card. Report file: . • . . . . . 1 line. . 122 Computation: . . . . . . • standard, using fixed-point binary or decimal arithmetic. .123 Timing basis: • . . . . . using estimating procedure outlined in Users' Guide 4:200.12. . 124 Graph: • . . . . . . . . . see graph below. 10.0 7 4 2 ~ 1.0 7 ./ ./ 4 Time in Minutes to Process 10,000 Master File Records 2 -~ / ~-. ~-7 /----- 0.1 1 - - - ~---- 'i'~_-- ~~ VIIIB .....",-,,-" ~--- "0?'£,It't ~1' '£,) 7 4 .-- 1--~ 1'B 'i'\1 ~ 'i'1\1'B ~ ~~--10 ........ ... •- - - - C1' -- .------ ---"' &/ 2 V' 0.01 I 7 I I 4 II 2 0.001 0.0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations) LEGEND - - - - - - - - - - Elapsed time; unblocked Files 3 & 4 - - Elapsed time; blocked Files 3 & 4 _ c p - Central Processor time (all configurations) ,/ (Contd.) 8/65 426:201.130 SYSTEM PERFORMANCE • 13 Standard File Problem C .131 Record sizes Master file: . . . . . . 216 data characters, packed as 176 8-bit bytes. Detail file: . . . . . . . 1 card. Report file: . . . . . . . 1 line. .132 Computation: . . . . . . . standard, using fixed-point binary or decimal arithmetic . . 133 Timing basis: . . . . . . using estimating procedure outlined in Users' Guide, 4:200.13. .134 Graph: . . . . . . . . . . see graph below. 10.0 7 4 -------- 2 \TIIB 7 :\1\\11'>_ VIIIB 4 Time in Minutes to Process 10,000 Master File Records 2 ---- ----::.= -------------\TUB 1.0 VIIIB (HYPERTAPE) 0.1 7 4 .;C~" 2 .' 0.01 . ----- ------------- ~- ~ ....- __ Cl' - - /' I 7 I 1/ 4 2 0.001 0.0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record ( "'. (Roman numerals denote standard System Configurations) LEGEND _ _ _ _ _ _ _ _ _ _ _ Elapsed time; unblocked Files 3 & 4 - - Elapsed time; blocked· Files 3 & 4 _ C P - Central Processor time (all configurations) © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 426:201.140 .14 IBM SYSTEM/360-MODEL 65 Standard File Problem D .141 Record sizesMaster file: . . . . . . . 108 data characters, packed as 88 8-bit bytes. Detail file: . . . . . . . 1 card. Report file: . . . . . . . 1 line. .142 Computation: . . . . . . . trebled, using fixed-point binary or decimal arithmetic. . 143 Timing basis: . . . . . . using estimating procedure outlined in Users I Guide, 4:200.14. .144 Graph: . . . . . . . . . . . see graph below. 10.0 7 4 2 1.0 7 ~ 4 Time in Minutes to Process 10,000 Master File Records ~ ./ \T11l"S --.;.... -L .__/ VIIm \TUB ~- -- - ~ , r---------~ 2 VIIIB (HYPERTAPE) 0,1 7 ~CV ... ,...- - -- ,.".- 4 ~C~", 2 ~ V 0.01 I 7 I I 4 II 2 0.001 0.0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations) LEGEND _ _ _ _ _ _ _ _ _ _ _ Elapsed time; unblOCKed Files 3 & 4 - - Elapsed time; blocked Files 3 & 4 C P - Central Processor time (all configurations) (Contd.) 8/65 SYSTEM PERFORMANCE 426:20J .200 .2 SORTING . 21 Standard Problem Estimates . 212 Key size: . . . • • . . . . 8 characters . .213 Timing basis: .••.•• using estimating procedure outlined in Users r Guide, 4:200.213 . . 214 Graph: . . . • . . . . . . . see graph below . • 211 Record size: . . . . • . . 80 characters. 100.0 7 4 ~ 2 / 10.0 7 II~ I ,/ ,/ ',1 ~~£ 4 4'4.$? 2 ~ Time in Minutes to Put Records Into Required Order 1. 0 // ~ , IJ ",-W ~~ 7 ~ )1III ~~ ~ L L 7 / L L / I 11'/ 4 / V 1// V II L VV 2 / 0.1 ,/ ,/ 7 " 4 2 0.01 100 2 4 7 2 1,000 4 7 2 10,000 4 7 100,000 Number of Records (Roman numerals denote standard System Configurations) © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360-MODEL 65 426:201.220 . 22 Operating System/360 Sort/Merge Times .223 Timing basis: .••.•• IBM Form C28-6543; input-output blocking factors as indicated in legend below • .224 Graph: . . . . . . . . . . . see graph below. .221 Record size: . . • . . . . 80 characters. . 222 Key size: . . . • . . ... 8 characters. 100.0 7 4 2 10.0 7 ,J 4 v/ ~. £ 2 II 1~~ V ~/ Time in Minutes to Put Records Into Required Order 1. 0 ~ 7 ~ ~ ~ I'-" 4 $ ~ .-- 2 0.1 7 4 2 0.01 100 2 4 7 1,000 2 4 7 10,000 2 4 7 100,000 Number of Records (Roman numerals denote standard System Configurations) Curve A B C D E Configuration Standard Configuration VIlB Standard Configuration VIIIB with Hypertape Model 65 with one 1302 Disk Storage Unit Model 65 with three 2311 Disk Storage Drives Model 65 with one 2301 Drum I/o Blocking 12 records/block 12 records/block 40 records/block 30 records/block 120 records/block (Contd.) 8/65 426:201.300 SYSTEM PERFORMANCE \ .3 MATRIX INVERSION . 31 Standard Problem Estimates .312 Timing basis: . . . . . . using estimating procedure outlined in Users' Guide, 4:200.312 • .313 Graph: . . . . . . . . . . . see graph below • . 311 Basic parameters: ... general, non-symmetric matrices, using floating point to a precision of approximately 6 decimal digits in the SHORT format and 16 digits in the LONG format. 1.0 ,, 7 /I 4 II II r 2 0.1 7 JII If, 4 N 'l 2 l~; if Time in Minutes for Complete Inversion 0.01 "f 7 " 'I JI 4 II II 2 ~ "" JL 0.001 7 I \ " 11 4 /I Y 2 ( r 0.0001 1 2 4 7 10 2 4 7 100 2 4 7 1,000 Size of Matrix © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360-MODEL 65 426:201.400 .4 GENERALIZED MATHEMATICAL PROCESSING . 41 Standard Mathematical Problem A Estimates .412 Computation: •.•.•.. 5 fifth-order polynomials, 5 divisions, and 1 square root; computation is in "long" floating-point mode (16-digit precision) . .413 Timing basis: . . . . . . using estimating procedure outlined in Users I Guide, 4:200.413 • • 414 Graph: • . . . . . . . • . . see graph below. . 411 Record sizes: . . . . . . 10 signed numbers; average size 5 digits, maximum size 8 digits. 1,000.0 7 4 2 100.0 7 4 ~ 2 A VIIB Time in 10.0 Milliseconds per Input Record 7 VIIIB ~ 'I V If 4 ~~ " c"9-~ /~ 2 CP- f- 1.0 ~'" CP- 7 fi~;§ . . nV-"'~~ ~.\.' ~. ~\. 4 2 0.1 0.1 2 4 7 2 1.0 4 7 10.0 2 C, Number of Computations per Input Record (Roman numerals denote Standard Configurations; R = number of output records per input record; Curve marked "CP" shows Central Processor time.) 8/65 4 7 100.0 IBM SYSTEM / 360 MODEL 67 International Business Machines Corp. ( AUERBACH INFO, INC. PRINTED IN U. S. A. IBM SYSTEM /360 MODEL 67 International Business.Machines 'Corp. AUERBACH INFO, INC. PRINTED IN U. S. A. 427 :011. 100 IBM System/360 Model 67 Introduction INTRODUCTION Model 67 is a large-scale member of the IBM System/360 family that is specifically oriented toward time-sharing operation in scientific and educational applications. Its principal design objective is to furnish continuous computing service to many users simultaneously, while providing virtually instantaneous responses to each of the users. The goal is to give each user the impression that all the facilities of a large computing system are at his disposal and keep him unaware of the fact that he is actually competing with numerous other users for the use of these facilities. Model 67 was announced in A.pril 1965 as a replacement for the slower time-sharing Models 64 and 66, which had been announced only six weeks earlier. Model 67 was originally offered as a non-standard model a:vailable only through special proposals and individual negotiations. In August 1965, Model 67 became a member of the standard IBM product line. Typical monthly rentals will range from $45,000 to $60, 000 for a single-processor Model 67 system, and from $100,000 to $200,000 for a multi-processor system. Initial customer deliveries of Model 67 systems are scheduled for the second quarter of 1966. The supporting software for time-shared operation of Model 67 systems has not yet been documented, and this documentation is not scheduled to be available before Spring, 1966just before the first Model 67 systems are due to be delivered. Most of the software programs themselves are scheduled for release during the Summer of 1967. This subreport concentrates upon the specialized characteristics, performance, and pricing of Model 67 systems and the supporting software. All general characteristics of the System/360 hardware are described in Computer System Report 420: IBM System/360 - General. The processors and core storage units used in Model 67 systems are essentially Model 65 units modified to provide effective performance in time-sharing, multiprocessor environments. The Model 67 hardware is characterized by: • The use of virtual addresses rather than physical addresses in all programs to facilitate dynamic reallocation of storage. • An eight-register associative memory that speeds translations between virtual and physical addresses. • A main core storage cycle time of O. 75 microsecond, with eight bytes being accessed per cycle; storage accessing is two-way interleaved. . • Main core storage capacities ranging from 262, 144 to 2,097,152 bytes, in independent modules of 262, 144 bytes. • Up to four 2067 Processing Units and up to four 2846 Channel Controllers per system. . • Up to seven Multiplexor or Selector Channels per Channel Controller; each channel can be controlled by any Processing Unit and can transfer data to or from any core storage module. • Ability to connect virtually all of the standard System/360 peripheral eqUipment and a variety of non-IBM terminal devices. • Ability to "partition" the system, by setting manual switches on the 2167 Configuration Console, to make certain components "unavailable" for use by certain other components. • Availability of Compatibility Features that permit emulation of IBM 7070/7074, 7080, or 709/7040/7044/7090/7094 systems. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. B/65 427:011.1 01 IBM SYSTEM/360-MODEL 67 The standard complement of System/360 software will not be usable for time-sharing operations in Model 67 systems, so specialized software support will be provided. The TimeSharing Operating System is being designed to include all the generalized software support necessary for most time-sharing scientific installations. A key component is the Time-Sharing Monitor, which will control the execution of all jobs entering a Model 67 system and the hardware environment in which they operate ... Programming languages available to Model 67 users include FORTRAN IV, PL/I, a symbolic Assembler, and a Terminal Command Language to facilitate communication between the system and users at remote terminals. No time-sharing COBOL compiler has been announced, but a modified form of the Operating System/360 COBOL compiler will be made available for use as a batch-processing compiler for "background" operations. All t.'1e other Model 67 compilers will produce re-entrant coding and will permit conversationalmode editing and syntax checking during source-program input. Potential Model 67 users have also been informed that work is proceeding to provide a Desk Calculator Language for "real-time" (interpretive-mode) computation and a GeneralPurpose System Simulator (GPSS) compiler; no general announcement of either of these programs has been made by IBM to date. . The performance of Model 67 systems is difficult to predict accurately. Central processor execution times for our standard measures of processor performance are·listed in Section 427:051 of this subreport. These times are somewhat slower than the Model 65's processor execution times because of the extra time required to transform each virtual operand address into the appropriate physical address before ex~cution in Model 67. Other factors that will tend to degrade the performance of a Model 67 system, and estimates of their quantitative effects, are shown in Section 427:201, System Performance. It can safely be concluded that the maximum potential throughput of multi-processor Model 67 systems will be substantially lower than that of an equal number of Model 65 processors in single-processor configurations. However, where multiple users must be served simultaneously, the overall quality of the computing service provided to these users may well be more important than the maximization of total throughput. 8/65 427:031.001 IBM System/360 Model 67 System Configuration SYSTEM CONFIGURATION A Model 67 system can include from one to four 2067 Processing Units. Systems with a single Processing Unit and without switching capabilities use a 2067-1 Processing Unit, up to four 262Kbyte 2365-2 Processor Storage Units, and at least one 2860 Selector Channel or 2870 Multiplexor Channel; a maximum of one Multiplexor Channel and six Selector Channels can be connected. Model 67 systems with one to four Processing Units and with switching capabilities use 2067-2 Processing Units, up to eight 262K-byte 2365-12 Processor Storage Units, at least one 2846 Channel Controller, and at least one 2860 Selector Channel or 2870 Multiplexor Channel. A maximum of four 2846 Channel Controllers can be used, and each 2846 can control up to seven channels in any combination of Selector and Multiplexor Channels. Systems with more than one Processing Unit require a 2167 Configuration Console. The system configurations shown on the next two pages are considered typical of the Model 67 systems being offered by mM. Below each configuration diagram is a list of the components and their prices. (Because of the highly specialized desigu objectives of the Model 67, the two representative configurations shown here do not match the specifications for any of our Standard System Configurations, as defined in Section 4:030 of the Users r Guide.) Two special pieces of equipment are included in most Model 67 systems: the 2167-2 Configuration Console and the 2846-2 Channel Controller. These units were developed specifically for the Model 67, and they are briefly described below. Model 2167 Configuration Console The 2167 is a switching unit that enables a Model 67 system to be manually reconfigured by the operator. Each input-output controller, each core storage unit, and each processor can be interconnected as required, uSing the switches on the console. If ciesired, two or more independent computer systems can be established by "partitioning" the hardware; this is done by manually setting the switches so as to make certain components of the system "unavailable" for use by certain other components. Model 2846 Channel Controller The mM 2846 Channel Controller permits interconnection of multiple I/O channels to multiple processors and multiple core storage units. A 2846 permits concurrent operations on all channels attached to it. Up to seven I/o channels, four processors, and eight core storage units can be interconnected by one controller. Channel Controllers provide operational control signals to start and terminate I/O operations, perform the necessary addressing, establish priorities, handle interrupts and perform diagnostic and maintenance functions. To control interrupt conditions, the 2846 accepts mask bits from each processor to indicate whether that processor will accept interrupt signals from each of the attached channels. When a channel signals an interrupt, the Channel Controller directs the interrupt to the processor(s) presently enabled for interruption. Each 2846 Channel Controller has its own unique interface with each of the connected core storage units. The maximum total data rate of each controller is 6,400,000 bytes per second. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 427:031.100 .1 IBM SYSTEM/360-MODEL 67 TYPICAL SINGLE-PROCESSOR MODEL 67 SYSTEM 2860-2 SELECTOR CHANNEL 2311 DISK Quantity Type 1 1 1 2067 1 1 1 2365 Oeserl tlon Model or S/F Unit Rental $17,075 225 50 1 7920 B070 Processing Unit 2 7123 8035 Processor Storage Seven Bit Storage Protection 2067 Attachment 9,250 1052 Adapter 2870 Attachment II/C N/C 1 2860 2 Selector Channel 3,000 1 1 2870 1 6990 Multiplexor Channel first Selector Sub-channel 2,200 400 1 2820 1 Storage Control 2,300 1 2301 1 Drum Storage 2,000 1 1 2841 1 6118 Storage Control Record OverHow 525 10 2 2311 1 Disk Storage Drive 575 2 1316 1 Disk Pack 1 2803 1 Tape Cortrol 650 920 15 2 2402 2 Magnetic Tape Units 1 1052 7 Printer .. Keyboard 1 1 2821 1 8637 Control Unit Universal Character Set Adapter 970 15 b5 1 2540 1 Card Read Punch 660 1 1 1 1403 2 4740 8641 Printer Interchangeable Chain Cartridge Adapter Universal Character Set. Feature 775 75 10 1 1 1 I> 2702 1 4615 8055 3233 IBM Tennlnal Type' (19684) 2741 Break Data Set Line Adapters 6 I> 2741 1 4708 eo_, Transmission Cortrol :;:=catlons Tennlnal 850 35 10 20 80 2.50 Total Syste~ Rental: $44, 785 (Contd.) 8/65 SYSTEM CONFIGURATION .2 427:031.200 TYPICAL MULTI-PROCESSOR MODEL 67 SYSTEM Quantit 2 2 2 2 2 2 Type 2067 2 3274 7920 5495 1102 5494 3 3 1 3 6 1 2365 2 1 Descrjr:ation Model or S/F Unit Rental $ 17,275 Direct Control 250 1052 Adapter 225 Partitioning Sensing 85 Additional 2846 Attachment 140 Partitioning Logic & Extended Direct 100 Control Processing Unit 12 7123 3846 8036 8088 5518 2067 Switching Feature 2846 Switching Feature Power Sequencing 1052 7 Printer - Keyboard 2167 2 5496 5497 Configuralian Control Magnetic Tape Units 5 3615 8037 8038 8100 6148 Control Unit 1l00LPM Printer Adapter Universal Character Set Adapter Universal Character Set Adapter Two Channel Switch Remote Switch Attachment 920 1,570 75 15 15 200 2540 1 Card Read Punch 660 65 4 4 1403 N1 8640 Printer Universal Character Set Feature 900 10 4 1416 1 Interchangeable Train Cartridge 100 1 12 1 1 1 2848 1 3355 3857 3858 7927 Display Control Display Adapter Expansion Unit Expansion Unit 1053 Adapter 360 40 .45 55 40 1 1 2814 3 6148 Switching Unit Remote Switch Attachment 24 24 2260 1 4766 Display Station Alpha'merie Keyboard 1 1053 1 Printer 1 2702 1 1 4615 12 1 1 1 3233 BOSS 8110 6148 Transmission Control IBM Terminal Control TYPe I 1t9684) Data Set line Adapter 2741 Break Two Processor Switch Remote $.witch Attachment 1 4708 Communication Terminal Interrupt 1,250 25 25 Partitioning Sensing Partitioning Sensing Channel Controller 1,950 Selector Channel 3,900 Address Prefixing 2 2 2 2870 1 1 1 1 1 1 1 2250 1 1 2814 2 2 2 2820 2 2301 1 2314 1 8170 6148 2 2 2821 . 650 100 Nle 2 1 24 2402 2 4 2 S 2 3 1095 40 2,200 MuttiplelCor Channel Selector Subchannel 400 115 Address Prefixing 1 1245 1498 1880 4785 5485 5486 Second Operator Control Panel 1 6148 ~::~1w~~~ Attachment N/e 1 8170 6148 Storage Control 2,300 , 3 Unit Rental 9,425 2860 3 Tape Control Two Channel Switch Remote Switch Attachment N/e N/e 100 100 N/e 2846 3 1 8100 6148 Description 2803 Processor Storage Expansion Feature 2 , Model or S/F 1 1 1 7-61t Storage Protection 2 6 1 6990 1095 Quantit" T"pe Display Unit Alphameric Keyboard 4096 Position Buffer Charac:lerGtrlerator light Pen First Operator Control Panel 700 50 250 300 75 60 50 125 ~~:aSr:~l~::~~~hment Io",m 5...... 2,000 ~!reet Access Storage Facility 5,250 ~~o Channel Switch emote Switch Attachment hi'" Pa.' 100 NlC 2 2 12 12 2741 Nle 200 N/e 30 20 50 850 35 20 10 75 N/C 80 2.50 140 NlC 20 Total System Rental: $128,585 © 1965 AUERBACH Corporation .and AUERBACH Info, Inc. 8/65 ~ 427:051.100 ~ IBM System/360 Model 67 Central Processor CENTRAL PROCESSOR .1 GENERAL • 11 Identity: •••••••••• IBM 2067 Processing Unit. .12 Description The Model 2067 Processing Unit is essentially a 2065 Processing Unit, as used in Model 65 systems, with modifications to improve its effectiveness in a time-shared operational environment. Details of these modifications and performance data on the 2067 are included in this section. (See Section 420: 051 for a comprehensive description of the characteristics of all standard System/3BO processing units; these characteristics also apply to the Model 2067 except where differences are specifically noted in this section.) The modifications to the normal System/3BO Processing Units which are incorporated in the 20B7 are: a new method of address interpretation, which allows virtual addresses to be used; a new set of registers, which facilitates the control of timeshared operations; an extended version of the storage protection scheme; new instructions to control these added facilities; and a High-Resolution Interval Timer. A detailed description of each of these modifications follows. . .121 Address Interpretation In the standard System/3BO processor,each address contains 24 bits and refers to one specifiC byte in the core storage units connected to the processor. Approximately IB million bytes are therefore directly addressable, but only those addresses which correspond to byte positions which are actually installed can be used during program execution. In Model 67, the same 24 bits are used to specify an address; however, the 12 most significant bits now specify the virtual address of a 4, 09B-byte "page." The same maximum number of bytes can be addressed, but in Model 67 any of the addresses can be used, regardless of the amount of core storage actually included in the installation. In fact, there is no direct connection between the addresses used in the Model 2067 during program execution and the physical position of the "pages" within core storage. This addressing characteristic of Model 67 permits dynamic relocation of programs by the Time-Sharing Monitor (Section 427 :191) without requiring any modification of the programs themselves. The only exceptions to this separation of actual and program addresses apply to core storage addresses o through 4095. These addresses are reserved for specific processors to allow various diagnostic and other system requirements to be met. All references to these addresses must be accompanied by a prefix identifying the processor concerned. The technique used in Model 67 to perform the translations from the virtual addresses used in the program to the physical addresses of the data required at any particular instant includes the use of an "associative memory." The information stored in an associative memory is addressable by its contents as well as by its location. The Model 67's associative memory contains the virtual and phySical addresses of eight of the 4, 096-byte pages which are being used by the currently-operating program. When a virtual address in any of these eight pages is encountered during execution of the stored program, the corresponding physical address can be quickly read out of the associative memory. Since associative memories are, in general, much faster than table look-up operations, this is a very fast way to perform the necessary translations between virtual and physical addresses; the translation process takes only 150 nanoseconds in Model 67. When the associative memory does not currently contain the address of the required page, microprogrammed operations are used to obtain the appropriate physical address through the use of two tables held in main core storage. This naturally involves two core storage accesses, which delays computation by another 1. 9 microseconds per address. A special register is used to hold the present physical address of the instruction counter, so the additional 1. 9 microseconds will rarely be required for instruction accessing. The associative memory's contents are updated each time an unsuccessful attempt has been made to find a page address in it. One of the presently-stored addresses is dropped out and replaced by the address of the new page which has just been requested. The selection as to which of the eight addresses in the associative memory shall be overwritten in this manner is made automatically, based on a randomizing technique. Figure 1 is a flow chart summarizing the overall technique for address interpretation in Model 67. From the system programmer's point of view, the addressing structure of the Model 67 is completely different from the addressing structure of the other System/360 models. In Model 67, the programmer, like the hardware, uses "pages" of 4,096 bytes. But unlike the hardware, which regards each page as a completely separate entity, the programmer groups his pages into "segments." A segment consists of up to 256 pages. Each page is loaded as a single unit during program execution. .122 Additional Registers Additional registers included in the Model 2067 Processing Unit are: • Eight 26- or 32-bit associative registers that are used for address interpretation. The virtual and (Contd.) 8/65 /' 427:051.122 CENTRAL PROCESSOR I ~OGICA~ ADDRESS I I SEGMENT PAGE I BYTE Storage Key. An additional Test and Set instruction is also available to temporarily segregate part of the core storage; this allows updating operations to take place safely without risking intervention by a . different processor or a different program during the update operation. II :r I '""oc.m, ' HIGH ORDER I LOW ORDER REGISTERS (8) .125 High-Resolution Interval Timer PHYSICA~ An addressable automatic interval timer has been added to the Model 67 system. The timer is incremented every 13 microseconds, and incrementing requires no processor or core storage cycles. An interrupt can be programmed to occur whenever the timer count reaches zero. ADDRESS I I I I IF AN EQUAL I I I I I SEGMENT PAGE ON COM_ PHYSICAl. ADDRESS ~,~O : I I .2 I - - :~sg::'~~';\' } COfIRESPONDING I .+ - - Model 67 uses virtual addressing, rather than absolute addressing, during program execution. The additional registers used for this purpose are listed in Paragraph. 122. These registers are used to determine the physical addresses within core memory of the operands to be used by the program!. as described in Paragraph .121 and Figure 1 of thIS report section. In all other respects, the processing facilities of Model 67 are the same as those of other System/360 Processing Units, as described in Section 420:051. SEGMENT AND PAGE I i . . . . . / ' F NO EQUAc ON COMPARE IF NO EQUAL ON COMPARE SEGMENT TAB~E PAGE E~ -- / .L't'1 . \'L.I PHYSICAL ADDRESS -, ~ SEGMENT TABLE ORIGIN TAB~E TAB~E PAGE TABL.E ORIGIN -- I .3 Figure 1. Address Interpretation in Model 67 · 122 Additional Registers (Contd.) physical page addresses occupy 12 bits each, and B bits are used to hold frequency-of-use data. Access time is 150 nanoseconds. CD Sixteen 32-bit Multiple Program Control Registers. • One 24-bit Instruction Page Address Register •. • 123 Storage Protection So far as the central processor hardware is concerned, interruption, multiprogramming, and multi-sequencing are handled in the same way in Model 67 systems as in the standard System/360 processors. .4 In the Model 2067, the standard four-bit storage protection keys used in the other System/360 models have been extended to seven bits for each 2, 04B-byte block of core storage. The standard four-bit key provides protection against overwriting by permitting writing only by programs that supply the key value- (between 1 and 15) presently being used to protect each block. An attempt by any other program to write data in the block results in an interrupt. In the 2067, a f~th bit determines whether or not reading from each block shall be permitted, and two test bits record whether or not any reading or any writiIig has occurred in the block since the bits were reset. The same four-bit key value is used for protection against both overwriting and (if the . fifth bit is set "on") reading. • 124 New Instructions Additional or modified instructions provided to control the new facilities are: Load Multiple Control, Store Multiple Control, Set Storage Key, and Test SEQUENCE CONTROL FACILITIES The Mask Register and I/o addressing methods have been modified so that each processor in a Model 67 system can address and control each of the 2B possible input-output channels. In addition, a special single bit can inhibit all input-output channel interrupts during changeovers from one program to another. Using these facilities, it is possible to control which processor within the system will respond to interrupts from each channel. REGISTER © PROCESSING FACILITIES PROCESSOR SPEEDS The processor speeds of the Model 67 are significantly affected by.the necessity to locate each operand by using the virtual address in the instruction to find its physical address in core storage. When the address of a particular page is in the associative memory, the time spent in transforming the virtual address to the physical address is 0.150 microsecond. However, when references to both the segment table and the page table in core storage are necessary before the physical address of an operand can be found, an additional delay of 1. 9 microseconds is involved. These delays are incurred each time an operand address is used. In the following performance times, it has been assumed that 95 percent of the operands sp'ecified in a program will have their page addresses held in the associative memory, so the average delay caused by the necessity to change the virtual addresses to physical addresses will be 0.245 microsecond per operand. No account has been taken here of the delays caused when more than one processor and/or 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 )':J 427:051.400 .4 IBM SYSTEM/360-MODEL 67 PROCESSOR SPEEDS (Contd.) Fixed point .41 Instruction Times in Microseconds . 411 Fixed point - • 418 Binary Decimal Add-subtract: 1. 64 3.88 + O. 5B 4.25 + 4. 2B + B2 Multiply: •••••• 5.04 6.44 + 4. 6B + 2.2 B2 Divide: ..••.•.. 8.70 where B = operand length in eight-bit bytes (2 decimal digits per byte). Floating point Long Sho-rt Add-subtract: 2.70 2.67 Multiply: •.••..• , 7. 84 4.64 Divide: . • • . . . . . 14.34 7.54 Additional allowance for Single indexing: • •• O. 0 Double indexing: •• 0.39 Indirect addressing: none. Recomplementing: none. Control: Compare Fixed point: 1.64 Decimal: •••••• 3.71+0.43B Floating point (long): ••••••• 2.24 Floating point (short): •••••• 2.27 LOgical: •••••• 3.34+0.4B Branch: •••••••• 1.39 Counter control Step: . • . . . . . . . • 1.84 1.29 (increment of -1) Step and test: 1.84 (increment of any value). Test: •••••••••• 1.64 Edit: ••••••••••• 3.44+0.8B Convert To binary: •••••• 7.88 To decimal: ••••• 8.53 (positive); 8.93 (negative) • Shift: variable • .42 Processor Performance in Microseconds .412 .413 .414 .415 .416 .417 .422 .423 .424 .425 .426 .427 .428 .421 For random addresses Floating point Fixed point .5 c = a + b: ••••••.• 4.2 (binary) 5.5 (long) 6.7 + 1. OB 5.4 (short) (decimal) b = a + b: •••.•••• 4.2 (binary) 5.5 (long) 5.4 (short) 6.7 + O.5B (deCimal) Sum N items: .••••. 1. 7N (binary) 2.6N (long) (3.6 + O. 5B)N 2.6N (short) (decimal) 8/65 = ab: •••.••.• 7.7 (binary) 10.4 (long) 8.9 + 5. 2B + 6.8 (short) . 1. OB2 (decimal) 16.9 (long) c = alb: •••••••• 12.0 (binary) 12.1 + 5. 6B + 10.0 (short) 2.2B2 (decimal) where B = operand length in eight-bit bytes (2 decimal digits per byte) . For arrays of data .;.. FiXed point Floating point 8.2 (long) ci = ai + bj: .•.•••• 6.9 (binary) 8.1 (short) 9.4 + LOB (decimal) 8.2 (long) b j = ai + b j : •••••• 6.9 (binary) 8.1 (short) 9.4 + 0.5B (decimal) Sum N items: ••..• 3.4N (binary) 4.4N (long) (5.4 + 0.5B)N 4. 4N (short) (decimal) 13.5 (long) c = c + aibj: •••••• 9.3 (binary) 13.4 + 5.2B + 10.0 (short) 1.0B 2 (decimal) Branch based on comparison Numeric data: • • .• 5.8N Alphabetic data: •• 5.8N Switching Unchecked: • • • • •• 4.8 Checked: ••••••• 8.0 List search: ••••• 6.2 + 3.6N Format control, per character Unpack: • • . • • . •• 0.5 Compose: •••••• 1. 5 Table lookup, per comparison For a match: •••• 3.8 For least or greatest: •••••• 4.8 For interpolation point:. • • • • • • •• 3.8 Bit indicators Set bit in separate location: • • . • • •. 1.6 Set bit in pattern: • 2. 7 Test bit in separate location: •••••• 2.7 Test hit in pattern: • 3.4 Moving: ••••••••• 2.6 + 0.20B, whereB = number of bytes moved. c more than one storage unit are used in the. same Model 67 configuration. Details of these delays, which may be substantial, are included iIi the Simultaneous Operations section, on page 427:111.100. Floating point ERRORS, CHECKS, AND ACTIONS Model 67 has the same hardware error-checking facilities as the standard System/360 models; see Paragraph 420:051.5. /" . 427: 111.100 IBM System/360 Model 67 Simultaneous Operations SIMUL TANEOUS OPERATIONS A System/360 Model 67 system can concurrently execute: • One maclti,ne instruction per processor; • One input-output operation per Selector Channel; and • Multiple additional input-output operations via any connected Multiplexor Channel. The interference or delay imposed upon central processor programs will vary depending upon a number of factors. Specific possible causes of interference in Model 67 systems are individually discussed below. In some cases it is possible to overlap one type of interference with another, thus reducing the net total interference. Multiprocessor Systems In a multiprocessor system, where two or more processors have access to the same core storage areas, some conflict will probably arise as a result of simultaneous access requests from two or more processors, only one of which can be immediately satisfied. Simulation studies performed by IBM indicate that where two processors are involved, these storage access conflicts can cause each of the two processors to be delayed about 13 per cent of the time, thereby proportionately reducing their efficiency. . Multiple Core Storage Modules Where a configuration includes more than one core storage module ,cable-length delays will occur in the physically larger installation. SimUlation indicates that the memory access time in multiplemodule configurations is increased by 50 nanoseconds for each core storage module which physically intervenes between the processor and the accessed core module. Data-Flow Interference Data flowing into and out of core storage modules has priority over all central processor operations in obtaining access to the storage modules. The resulting delay in processor operations appears to be approximately 0.10 percent per 100,000 bytes per second of data flow. "Data flow" includes all input-output data plus all data being moved from one level of storage to another for systems reasons. Channel Characteristics The characteristics of the 2846 Channel Controller, 2860 Selector Channel, and 2870 Multiplexor Channel used in Model 67 systems can be summarized as follows: 2846 Channel Controller Maximum number: .•••••••••••.•••••.•••.•• Maximum data rate per controller: .••.••••••••••• Maximum number of channels connected: •.•.•.••••• 4. 6,400 kilobytes/sec. 7. 2860 Selector Channel \ Number of channels per unit ;" 2860 Modell: . • • . • . . . . • . . • • . • • • . • . • . • . . . 2860 Model 2: .•.••••.•••..••.....•.••••• 2860 Model 3: .•...•.•.•.••••..•.•.•.••.. Number of channels per system: . . . . . • • . . . . . . . . . • Maximum data rate per channel: .•.••....•.•..•.• Maximum data rate, all channels: ..••.•.•..•...•. Number of control unit positions: .....•.•.••••••• 1. 2. 3. up to 7 channels can be connected to each Channel Controller. 1,300 kilobytes/sec. 6,400 kilobytes/sec per Channel Controller. 8 per channel. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360-MODEL 67 427:111.101 2870 Multiplexor Channel Maximum number: •••••••••••.•••.•••••••••• Maximum total data rate: ••.••.••••.•••••••••. Basic Channel Maximum data rate: With no Selector Sub channel operating: ••••••••• With 1 Selector Sub channel operating: •••••••••• With 2 Selector Sub channels operating: ••••••••• With 3 Selector Sub channels operating: , •••••••• With 4 Selector Sub channels operating: ••••••••• Number of control unit positions: ••••••••••.•••• Number of subchannels: •••••••••••••••••••• Selector Sub channels Maximum number: •••••.••••••••••••••••.• Maximum data rate per Selector Sub channel: •••••• Maximum data rate, all Selector Subchannels: ••••• Number of control unit positions per Selector Subchannel: •••••••••••••••••••.••••••• Maximum number of peripheral devices per Selector Subchannel: •••.•.•••.••••••••••• 8/65 7 per Channel Controller. 450 kilobytes/sec. 110 kilobytes/sec. 95 kilobytes/sec. 80 kilobytes/sec. 65 kilobytes/sec. 50 kilobytes/sec. 8. 192. 4. 100 kilobytes/sec. 400 kilobytes/sec. 8. 16. 427: 161.1 00 ( IBM System/360 '. Model 67 Programming Languages PROGRAMMING LANGUAGES .1 GENERAL The first set of computer languages to be made available for users of the Model 67 will include: • A mnemonic assembler with macro capabilities. " A .FORTRAN IV compiler. • A terminal Command Language. At later dates a PL/I compiler, a non-conversational COBOL compiler, and a Sort/Merge routine will be added. Table I shows the schedule<;l release dates for the documentation of these languages and for the programs themselves. In addition to these languages, potential Model 67 users have been informed that a General-Purpose Systems Simulator (GPSS) compiler and a Desk Calculator language will be made available. Preliminary descriptions of these languages and the associated translators are provided below. In discussing the software for time-shared computer systems, an understanding of several specialized concepts is important: • Re-entrant Coding: A routine is considered to be re-entrant when it can be used by more than one program at the same time. This means that the routine cannot modify the contents of any of its own locations, and that any required temporary storage must be supplied along with each program using the re-entrant routine. Re-entrant coding has the virtue of being economical in its demands upon core storage since only one copy of any re-entrant routine is needed in core storage regardless of how many different programs are simultaneously utilizing the routine. An additional virtue of re-entrant coding is that since it is never modified, it does not need to be re- written in aUXiliary storage when it is displaced from core storage by another routine (i. e. , when "page swapping" occurs). • Interpretive Mode: An interpretive translator performs the functions directed by each program statement immediately upon receipt of the statement, without waiting for the next statement to arrive. •. Conversational Mode: This implies a "dialogue" between the user and the computer, in which the translator examines the input supplied by the user and formulates questions which are directed back to the user. The user's responses to the questions are then transmitted back to the computer. An example of conversational-mode operation would be checking for errors in the formation of statements, and correcting them, during the input of a FORTRAN source program. All Model 67 language translators will be written in re-entrant coding, and all will use only direct access storage; i. e., no "scratch" tapes will be used. Translators will be available that operate in the conversational mode, the interpretive mode, and the conventional batched mode. IIi several cases, the user will have a choice of modes, as described below. .121 Time-Sharing Assembler The Time-Sharing Assembler will use the same symbolic input language as the standard Assembler which operates under control of the Operating System/360 (Section 420: 171). Like the other Model 67 translators, it will be treated by the TimeSharing Monitor as an ordinary problem program. During the entry of an assembly-language source program from a terminal, it will be possible to perform editing and diagnostic checking of the TABLE I: MODEL 67 PROGRAMMING LANGUAGE AVAILABILITY Documentation Available Program Available Conversational Assembler 1st qtr. 1966 2nd qtr. 1967 Conversational FORTRAN IV 1st qtr. 1966 2nd qtr. 1967 Terminal Command Language 1st qtr. 1966 2nd qtr. 1967 PL/I 3rd qtr. 1966 3rd qtr. 1967 Sort/Merge (n::m-conversational) 3rd qtr. 1966 3rd qtr. 1967 COBOL (non-conversational) 4th qtr. 1966 4th qtr. 1967 Language © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 '7 IBM SYSTEM/360-MODEL 67 427:161.121 .121 Time-Sharing Assembler (Contd.) source program in a conversational mode. Facilities will be available for symbolic updating of assembly-language programs held on file and for obtaining cross-reference listings. The Time-Sharing Assembler itself will be written in re-entrant coding. The object-program coding it produces will not necessarily be re-entrant. No new facilities are currently planned to assist the programmer to write re-entrant programs in the assembly language. The time-sharing GPSS compiler will use re-entrant coding; the object programs it produces will also be re-entrant. .126 Terminal Command Language The Terminal Command Language will enable users at remote terminals to: • Control the construction and execution of programs. • Control the construction, maintenance, and use of files . . 122 FORTRAN IV The time-sharing FORTRAN IV compiler will use the .same input language as the Operating System/ 360 FORTRAN IV Compiler (Section 420: 161), with some relaxation of the rules involved.in program construction. Like the other Model 67 compilers, it will be treated by the Time-Sharing Monitor as an ordinary problem program. The compiler itself and all the programs it compiles will be reentrant. During the entry of a FORTRAN IV program from a terminal, it will be possible to make corrections in a conversational mode of operation. No interpretive FORTRAN processor is being provided. . 123 Programming Language/I The time-sharing Programming Language/I (PL/I) compiler will use the same input language as the Operating System/360 PL/I compilers (Section 420: 167). Like the other Model 67 compilers, it will be treated by the Time-Sharing Monitor as an ordinary problem program. The compiler itself will be written in re-entrant coding, as will all of the programs it compiles. During the entry of PL/I program from a terminal, it will be possible to make syntax and grammatical corrections in a conversational mode of operation. . 124 Desk Calculator Language The Desk Calculator Language (which may be a subset of the PL/I compiler) can be used for "realtime" mathematical computations, including the use of functions such as log, exponent, root, sin, cos, etc. Its operational mode will be interpretive; 1. e. , the translator will execute each input statement as soon as the user finishes typing it. . . 125 General-Purpose Systems Simulator (GPSS) Lan~ A GPSS compiler will be provided for both batch (conventional) and conversational modes of operation. The source language will be GPSsm. An assembly program will provide free-form format and symbolic addressing of blocks. Thenumber of parameters associated with each transaction can be dynamically varied by the user. Chains of transactions can be created and manipulated. System attribute functions can be specified as ordinate values to change dynamically with the system. System variables can be specified in virtually all block fields. Debugging facilities permit sampling and display of the state of the system during the simulation run. 8/65 • Direct program checkout operations. • Perform immediate calculations. The language has not been fully specified to date; therefore, the following function list is illustrative, rather than definitive: Control Functions: • LOG-ON - Display standard information such as time and date, and request the user to identify himself. • LOG-OFF - Display elapsed time, used time, and time of log-off; and cause an orderly return of all facilities still associated with the terminal to public availability. • RUN - Initiate a user program at a specified point. • ATTENTION - Halt execution of a program. • CHECKPOINT - Save the current user status in a manner permitting reconstruction by the restore function. • RESTART - Reconstruct a specified user status that was previously saved. • LOAD - Load a program and prepare it for execution. Debugging Functions • DUMP - Dump specified regions of a program (including files) in a specified format. • DISPLAY - Exhibit specified registers, indicators, locations in standard formats . • SET - Alter the contents or conditions of specified registers or indicators. \ • TRACEBACK - Provide a symbolic traceback through the hierarchy of subroutine calls. .127 COBOL The COBOL language for Model 67 is similar to the IBM Operating System/360 COBOL language, which is described in Report Section 420: 164. The COBOL compiler is non-conversational; i. e., it will operate only in the batch-processing mode, and is designed for use as "background" program. ./ 427:191.100 IBM System/360 Model 67 Operating Environment OPERATING ENVIRONMENT: TIME.SHARING MONITOR .1 GENERAL . 11 Identity:......... . 12 II Time-Sharing Monitor. Description The principal design objective of the System/360 Model 67 is to furnish continuous computing service to many users simultaneously, while providing virtually instantaneous responses to each of the users. To achieve this objective, Model 67 incorporates specialized hardware facilities' that permit dynamic storage allocation, multiprocessor configurations, extended storage protection, and multipath access to most system components. Equally important in achieving Model 67's design objective is the provision of an operating system capable of serving as an interface between the equipment and its users and of effectively employing all of the hardware facilities. The Time-Sharing Operating System for Model 67 includes many of the facilities and features of the Operating System/360 (Section 420:191) with the necessary extensions to enable it to control timesharing operations in multiprocessor, multiprogrammed systems. The programming languages included in the Time-Sharing Operating System are described in Section 427:161. Also included in the Time-Sharing Operating System are a sort/merge routine and an open-ended library of mathematical and utility routines. The remainder of this report section describes the Time-Sharing Monitor, the key routine that controls the execution of all jobs entering a Model 67 system and the hardware environment in which they operate. Error-handling, checkpoint, and restart functions are performed by separate, re-entrant routines that are called into core storage by the Monitor as required. To provide the required rapid response to every user, the Time-Sharing Monitor employs the "timeslice" technique. The time-slice is the length of time each individual user terminal is allowed access to a processor before the next terminal in line is serviced. Each installation will be able to select the time-slice length that will provide the best overall balance between rapid response and efficient ' processor utilization. To minimize the inefficiencies that arise from_too:"'frequent changeovers between programs, IBM currently advocates the use of relatively long time-slices of around 250 milliseconds; but such long time-slices could easily lead to excessive delays in response as the number of simultaneous users increases. The Monitor's principal task is to respond to interrupts. It must determine the type and reason for each interrupt signal and then initiate execution of the appropriate routine to service the interrupt condition. The Monitor recognizes and services four basic categories of interrupts: • Processor Control, involving the allocation of central processor time. • It will be possible for Model 67 users to replace many parts of the IBM-supplied Monitor with their own private routines to accomplish the corresponding functions, and many will probably do so. The subsequent description of the Time-Sharing Monitor applies to the general-purpose version which IBM plans to make generally available. Prevent duplicate copies of the same re-entrant subroutines from occupying core storage at the same time . Storage Control, involving the allocation and protection of both primary (core) and secondary (disc, drum, etc.) storage. (The Monitor currently contains no provision for using Model 2361 Large Capacity Core Storage as either primary or secondary storage, although 2361 units can be included in Model 67 systems.) The principal functions of the Time-Sharing Monitor are to: • I/O Control, involving the assignment of I/O devices to specific programs and the establishment of data paths between the I/o devices and core storage. • Maintain continuous indications of the status and usage of every system facility (storage units, I/O devices, processors, and files). • • Supervise the handling of all hardware-originated interrupts. The Time-Sharing Monitor uses a two-part Task Status Index (TSl) to hold the necessary status information about each task curreritly in the system. • Record the data required for job scheduling and cost allocation. System Control, which involves the logical control of the above three functions plus operator communication, partitioning, and recovery. • Allocate the system's resources in such a way as to minimize response time to users. Part of each TSI holds certain user-oriented infor- ' mation that must be kept in core storage at all times; the other part holds information that can be relegated to secondary storage when necessary. • Provide for "fail-soft" operation by enabling, whenever possible, the remainder of the system to keep operating when one component malfunctions. The Monitor's storage allocation algorithms deal with 4, 096-byte blocks or "pages" of core or secondary storage. The Monitor keeps a record of the current allocation of each block of core storage. © 1965 AUERBACH Corporation ane;! AUERBACH Info, Inc. 8/65 427:191.120 . 12 IBM SYSTEM/360-MODEL 67 .44 Description (Contd.) In allocating core storage to programs or data called in from secondary storage, the Monitor first tries to assign free blocks. If not enough blocks are free, the Monitor assigns space that was previously allocated to "inactiv!3" programs (i. e. , programs awaiting a user response). If neither of these sources can provide the required core storage space, the Monitor attempts to take it away from active programs that have lower priorities than the program requesting the space. If this is not possible either, the task is deferred until sufficient core space becomes available. (If the contents of a page about to be overwritten have changed since it was last called in from secondary storage, as indicated by one of the seven bits in the storage protection key, then the page must be rewritten into secondary storage before it can be overwritten in core storage by the new page. ) The Monitor's job scheduling algorithm uses a "pointer" that indicates the Task Status Index of the task which should be executed next if possible. When the time-slice allocated to each task ends. the pointer moves on to the next task. Whenever a processor needs work, a dispatcher routine checks the status of the task currently indicated by the pointer. If the task is in a ready state, it is dispatched to the appropriate processor for execution. If the task is not ready (e. g. , because it is awaiting completion of an I/O or "page-turning" operation), the dispatcher searches through the Task Status Index chain for the next ready task, which is then assigned to a processor for execution until an interrupt occurs. Then control is returned to the Monitor and the dispatching process.is reinitiated, with the task now indicated by the pointer again receiving priority. More than one chain of Task Status Index entries can be maintained if desired, and each chain can use a different time-slice value. This permits various types of terminal equipment and various classes of users to be serviced in a manner appropriate to their differing needs. Errors, Checks, and Action Check or Interlock Action Allocation impossible In-out error single In-out error persistent software check interrupt Invalid instructions Arithmetic overflow Underflow interrupt program is deferred. retry I/O operation; I/O unit is closed down and diagnostic routine informed. program is terminated. varies with program. varies with program. program is terminated. format is queried with user. log entry is made and program terminated. Error interrupt interrupt interrupt interrupt Invalid operation Improper software format check Reference to interrupt forbidden area .45 Restarts Restart points must be established by the user's own coding. When an error is detected, processing is halted in all processors within the system. A diagnostic program is called in and an attempt is made to retry the instruction or to roll back to a previous restart point within the same program. If a machine error occurs either during this process or when the restarted program again reaches the point where the original error occurred, the program is aborted and the operator is informed. The operator has the option of taking the processor concerned off-line. If a successful reconstruction of the original error occurs, or if the restarted program proceeds normally, the necessary log entries are made and the other processors reactivated. .6 OPERATOR CONTROL Detailed documentation is scheduled to be published in the first quarter of 1966, and the Time-Sharing Monitor will be available for use in Model 67 systems in the second quarter of 1967. .61 Signals to Operator:. handled by Monitor. .62 Operator's Decisions: .•.••. via operator's console. .2 PROGRAM LOADING .63 Operator's Signals:.. via operator's console . . 21 Source of Programs: .. from on-line library or any terminal. .7 LOGGING:. . . . . . .. handled by Monitor • .22 Library Subroutines: .. only from on-line library. .8 PERFORMANCE .23 Loading Sequence: .•• handled by Monitor; see preceding Description. .81 System Requirements .3 HARDWARE ALLOCATION: . . . . . . . handled by Monitor. .4 RUNNING SUPERVISION .41 Simultaneous Working:. handled by Monitor. .42 Multiprogramming: .•. handled by Monitor. . 43 Multi-sequencing:.... handled by Monitor. using program description to define independent tasks. 8/65 .811 Minimum configuration:. . . • . . . . .. 812. Usable extra facilities: • . • . . •• 813. Reserved equipment: .••••.•• " . 82 System Overhead:. .. Model 2067 with at least 262K bytes of core storage and a direct access' device • any Model 67 configuration. 4,096 bytes per processor . see System Performance section, page 427:201. 100. 427:201.100 IBM System/360 Model 67 System Performance SYSTEM PERFORMANCE A Model 67 includes between one and four modified Model 65 Processing Units, so its maximum potential processing power is the sum of the processing power of the individual processors which make up the system. The performance of Model 65 systems has been calculated and is shown in the System Performance section of the Model 65 subreport, beginning on page 426: 201.001. This report section concentrates upon methods of calculating the performance of specific Model 67 systems based on: (1) the available performance figures for Model 65, and (2) the various performance degradation factors that result from the Model 67 system's configuration, the software, the number of program changeovers* per second, and the input-output loading. All these factors have a direct effect upon the processing power of Model 67 systems, and all are summarized in Table 1. TABLE I: FACTORS AFFECTING THE PROCESSING POWER OF MODEL 67 SYSTEMS FACTOR RESULTING SYSTEM DEGRADATION Use of Associative Memory Addressing All addresses must be converted from virtual addresses to physical addresses before they can be used; this effectively lengthens the memory cycle. 12% Use of Multi-Processor Systems Where two or more processors in a multiprocessor system simultaneously attempt to address the same core storage module, conflicts occur. Time spent in settling the conflicts causes delays in the system. 13% for a two-processor system. Use of Multiple Core Storage Modules Where more than one core storage module is included in a system, so that the module to be accessed is not physically adjacent to the processor, delays occur due to the increased cable lengths. Approx. 2% per module for the third and subsequent core storage modules; this delay can be overlapped with the system degradation due to use of multi-processors. Interference Due to Input-Output Loading Input-output operations have priority over processor operations in obtaining access to core storage; this causes delays in processor operations. Approx. 0.1% per 100,000 bytes/second transferred into or out of core storage modules. Use of the Time-Shared Monitor Monitoring the operation of the system and constantly reorganizing the core storage areas will require a significant amount of processor time. No detailed estimate of the system degradation due to this factor is available, but 10% would not be unusual. Estimated at 10%. Changeovers from Program to Program Each time one user's program halts and another user's program is initiated or reinitiated, a certain amount of data storage, flag resetting, etc. is required. Estimated at 0.1 millisecond per program changeover. * i. e., The number of times one user program halts and another user program starts; this is equal to the number of "time-slices" used. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 427:201.101 IBM SYSTEM/360-MODEL 67 TABLE II: SYSTEM DEGRADATION OF A SPECIFIC TWO-PROCESSOR MODEL 67 CONFIGURATION No. of Program Changeovers per Second 1 2 4 10 20 30% 30% 30% 30% 30% 40 100 200 400 1,000 31% 31% 32% 34% 40% * Processing Power Available in Each Time-Slice (In Equivalent Model 65 Milliseconds) System Degradation From All Causes Except I/O Loading* 1,400 700 350 140 70 34 14 7 3.3 1.2 I/O loading causes an additional system degradation of approximately 0.1% per 100,000 bytes per second transferred into or out of the core storage modules. TABLE III: ESTIMATED CYCLE-TIMES, IN MILLISECO~S, FOR A SPECIFIC TWO-PROCESSOR MODEL 67 SYSTEM AVERAGE PROCESSING POWER USED PER TIME-SLICE (in terms of equivalent Model 65 processing power) 1 msec rim j:;P'i 2 msec 4 msec 10 20 meec msec 40 msec 100 msec 3.0 7.5 15 30 1 0.9 1.6 2 1.8 3.3 4 3.6 6.5 6.0 200 msec msec 73 150 290 400 15 30 60 150 290 580 30 60 120 290 580 1,200 E- To Satellite System (at right) 1,100 2404 Magnetic Tape Unit and Control (2) 2402 Magnetic Tape Units (6) 2401 Magnetic Tape Units (2) (16 drives total) All Model 3: 90,000 bytes/sec; 112.5 inches/sec* 13,920 Simultaneous Read-While-Write (on 2402 and 2401) 140 TOTAL ON-LINE EQUIPMENT: $55,120 TOTAL SATELLITE EQUIPMENT: $ 7,010 TOTAL RENTAL: $62,130 * Using alternative tape drives and their appropriate controllers, total system rentals are as follows: With Model 5 drives (75.0 inches/second, 120,000 bytes/second): • . . • • . . . . • . . •• With Model 6 drives (112.;5 inches/second, 180,000 bytes/second):. . . • . . . . • . . . •. With 7340 Hypertape drives (112.5 inches/second, 340,000 bytes/second):. • . • . . . .• $58,330 $62,410 $66,930 (Contd.) 8/65 SYSTEM CONFIGURATION 428:031.301 SATELLITE EQUIPMENT Deviations from Standard Configuration: . . . • . . . . punch is 50% faster. Equipment Rental Main Storage (8,192 bytes) 2030 Processing Unit, Model C30 (includes one Multiplexor Channel) $1,275 1051 Control Unit and Adapter 1052 Printer-Keyboard 225 2821 Control Unit, Modell 970 2540 Card Read Punch, Modell: Reads 1, 000 cards per minute Punches 300 cards per minute 660 1403 Printer, Model 3: Pr-ints 1,100 lines pet: minute 1100 LPM Attachment 900 75 i \. 2403 Magnetic Tape 2402 Magnetic Tape 2401 Magnetic Tape (4 drives total) All Model 2: 60,000 75 inches/sec Unit and Control Unit Unit bytes/sec; 1850 Channel-to-Channel Adapter 225 Selector Channel 215 Decimal Arithmetic TOTAL SATELLITE EQUIPMENT: To Main System (at left) 2,440 25 $7,010 ! \ © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 428:051.100 IBM System/360 Model 75 Centrol Processor CENTRAL PROCESSOR .1 GENERAL .11 Identity: . . . . . . . . . . mM 2075 Processing Unit. . 12 Description See Section 420:051 for a comprehensive description of the characteristics of all the System/360 Processing Units. See Section 426: 011 for a summary of the distinguishing features of the 2075 Processing Unit as used in Model 75 systems. The Instruction Times and Processor Performance times for Model 7 5 systems are listed below. Timin.g data for the two-way-interleaved, 262K-byte Model H is shown separately from the times- for the larger, four-way-interleaved Models I and J. Interleaving of core storage can yield improved performance through overlapped accessing of the individual memory banks, but the comparative times shown here indicate that the advantage of four-way interleaving over two-way interleaving in Model 75 is small. Timing data is listed for all four arithmetic modes available in System/360. See Paragraphs 4: 050. 41 and 4: 050.42 of the Users' Guide for the definitions of these standardized measures of central processor performance. .4 ( .415 Counter control Step: .•.•••.- •••• 0.80 Step and test: . . . . . 1. 06 (increment of -1). 1. 24 (increment of any value). Test: .•••...•.•• 1.13 .416 Edit: . . . . . . . . . . . . 3.47 + 0.53B .417 ConvertTo binary: .......? To decimal: ...• _..? .418 Shift: ...••••.•••• variable. . 41 Instruction Times in Microseconds (Models I and J) .411 Fixed point Binary Decimal Add-subtract: . • . . . 0.70 Multiply: .•...••. 2.80 3.56+0.39B 3.52 + 2. 7B + 1. 14B2 3.68 + 3.0B + Divide: . . . . . . . . . . . 6.70 1.9B2 where B = operand length in eight-bit bytes (2 decimal digits per byte). .412 Floating point - PROCESSOR SPEEDS .41 Instruction Times in Microseconds (Model H) . 411 Fixed point Decimal Binary Add-subtract: . . . . . 0.80 3.69+0.39B Multiply: . . . . . . . . 2.80 3.57 + 2.7B + 1. 17B2 Divide: . • . . . . . . . . 6. 70 3.87 + 2.96B + 1. 89B2 where B = operand length in eight-bit bytes (2 decimal digits per byte). .412 Floating point Long Short 0.92 Add-subtract: . • . . . 0.92 Multiply: . . . . . • . . 4. 10 2.10 Divide: . . . . . . . . . 7. 10 3.90 .413 Additional allowance for Single indexing: . . . • O. 0 Double indexing: . . . ? Indirect addressing: . none. Recomplementing: •• none. .414 Control: Compare Fixed point: .•..• 0.80 Decimal: . . . . . . . 3.50 + O. 39B Floating point (long): . . . . . . . . 0.90 Floating point (short): . • . • . . . 0.90 Logical: . . . . . . . . 0.85 Branch: .•••••... 1. 02 Add-subtract: .••.• 0.89 Multiply: •.•.•••. 4.10 Divide: . . . . . . • . • . 7.10 0.89 2.10 3.90 .413 Additional allowance for Single indexing: . • • . O. 0 Double indexing: . . . ? Indirect addressing: . none. Recomplementing: .. none. .414 Control: Compare Fixed point: . • . . . O. 7 Decimal: .•.•••. 3.5 + O. 39B Floating point (long): .• , •.••. 0.85 Floating point (short): ...••••. 0.85 Logical: ••••.••. 0.70 Branch: .••••.•• 1. 06 .415 Counter control Step: •.••••.•••. 0.70 Step and test: •••.• 1. 04 (increment of -1). 1. 17 (increment of any value). Test: ••••••.•... 1. 04 .416 Edit: .•..• : •.••.• 3.2 + O. 5B .417 Convert To binary: .•.••.• 3. 8 To decimal: •••..• ? .418 Shift: •••••••••••• variable. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360-MODEL 75 428:051.420 .42 Processor Performance in Microseconds (Model H) .42 Processor Performance in Microseconds (Models I and !D .421 For random addresses .421 For random addresses Fixed point Floating point Fixed point c = a + b: . • . • • • • • 2. 54 (binary) 2. 66 (long) 6.51 + 0.57B 2.66 (short) (decimal) b = a + b: . . . . . . . . 2.54 (binary) 2.66 (long) 3.69 + 0.39B 2.66 (short) (decimal) Sum N items: .•••• 0.8N (binary) 0.92N (long) (3.7 +O.4B)N 0.92N (short) (decimal) c = ab: . • • • • • • • • • 5. 34 (binary) 5. 84 (long) 6.4 + 2. 9B 3.84 (short) + 1. 2B2 (decimal) 8.84 (long) c = alb: ••••••.•• ? (binary) 6.4 + 2.9B 5. 64 (short) + 1. 9B2 (decimal) where B = operand length in eight-bit bytes. c = a + b: •••••••• 2.3 (binary) 2.4 (long) 6.1 + 0.4B 2.4 (short) (decimal) b = a + b: .••••••• 2.3 (binary) 2.4 (long) 3.6 + 0.4B 2.4 (short) (decimal) Sum N items: ••••• O. 7N (binary) 0.9N (long) (3.6 + O. 4B)N 0.9N (short) (decimal) c = ab: . • • • • • • • • • 5. 1 (binary) 5. 6 (long) 6.1 + 2. 9B 3.6 (short) + 1. 14B2 (decimal) c = alb: •.••••••• 9.0 (binary) 8.6 (long) 6.1 + 3. 2B 5.4 (short) + 1. 89B2 (decimal) where B = operand length in eight-bit bytes • . 422 For arrays of data Fixed point .423 .424 .425 .426 .427 .428 Floating point ci = ai + b j : ••..••. 4.54 (binary) 4.70 (long) 8.61 + O.57B 4.70 (short) (decimal) b j = ai + b j : . • • • . . . 4.54 (binary) 4.70 (long) 8.61+0.57B 4.70 (short) (decimal) Sum N items: .•••. 2. ON (binary) 2.14N (long) (4.9 +O.4B) N 2.14N (short) (decimal) c = c + aibf .••.•. 6.04 (binary) 7.57 (long) 6.8+2.7B 5.57 (short) + 1.17B2 (decimal) Branch based on comparison Numeric data: ••..• 4.46N Alphabetic data: .•.. 4.46N Switching Unchecked: •••••.• 4.06 Checked: ..•••••• 7 . 86 List search: ..•••• 3.9 + 3.1N Format control, per character Unpack: .••••••.• 0.4 Compose: .••••••. 1. 5 Table lookup, per comparison For a match: .••.•. 2.8 For least or greatest: ••.•••. 3.2 For interpolation . point: .••••••.•. 2.8 Bit indicators Set bit in separate location: ..•••... 0.9 Set bit in pattern: . . . 1. 5 Test bit in separate location: . . . . • . • . 1. 8 Test bit in pattern: .• 2.5 Moving: ..••.•.•.• 2.8 + 0.18B, where B = number of bytes moved. 8/65 Floating point .422 For arrays of data Fixed point c. = + b.: ••••••• 4.1 (binary) 4.2 (long) J 8.0+0.4B 4.2 (short) (decimal) b j = ai + bj: ••••••• 3.1 (binary) 4.2 (long) 5.5+0.4B 4.2 (short) (decimal) Sum N items: ••••• 1. 9N (binary) 2.1N (long) (5.5+0.4B)N 2.1N (short) (decimal) c = c + aibj : .•..•• 5.8 (binary) 7.3 (long) 6.6+2.7B 5.3 (short) + 1. 14B2 (decimal) Branch based on comparison Numeric data: •..•. 4.2N Alphabetic data: •..• 4. 2N Switching Unchecked: ••.•••• 3.8 Checked: •••••••• 7. 3 List Search: •••••• 3.7 + 2. 8N Format control, per character Unpack: ••••••••• 0.4 Compose: •••••••• 1. 5 Table lookup, per comparison For a match: •••••• 2.6 For least or greatest: 3.2 For interpolation point: •••••••.•• 2.6 Bit indicators Set bit in separate location: . • • • • • • • O. 8 Set bit in pattern: ••• 1.4 Test bit in separate location: •••••••• 1. 6 Test bit in pattern: •• 2.3 Moving: •••••••••• 2.6 + 0.16B, where B = number of bytes moved. 1 .423 .424 .425 .426 .427 .428 ~ Floating point 428: 111.100 IBM System/360 Model 75 Simultaneous Operations SIMUL TANEOUS OPERATIONS A System/360 Model 75 system can concurrently execute: • One machine instruction; and • Up to six input-output operations, one on each of the installed Selector Channels; and • Multiple additional input-output operations via the basic channel of the 2870 Multiplexor Channel; and • Up to four input-output operations, one on each Selector Subchannel included in the 2870 Multiplexor Channel. The demand on the central processor (i. e., the "interference" or delay imposed on the central processor program by each individual input-output operation) will vary depending on the type of input-output channel. (See the general discussion of System/360 Simultaneous Operations . in Section 420:111.) In Table I, the processor demands imposed by each of the peripheral units are listed for each type of channel to which it can be connected. The specific characteristics of the 2860 Selector Channel and the 2870 Multiplexor Channel can be summarized as follows: ' 2860 Selector Channel Number of channels per unit 2860 Modell: • • • • • • • • • • • • • • • • • • • • • • . • . . 1. 2860 Model 2: .•••••••••• '••••.•••••••••• 2. 2860 Model 3: ••••••' ••••••••••••••••••.• 3. Number of channels per system: • • • • . • • • • • • • • • • up to two 2860 Selector Channels in any combination of models (maximum of 6 channels). Maximum data rate per channel: ••••••.•••••••• 1,300 kilobytes/sec. Maximum data rate, all channels: Processor demand: ••••••••••••••••.••.••• see Table I. Number of control unit positions: ••••••••••••.• 8 per channel. .............? 2870 Multiplexor Channel Maximum number: .••.•••••••••••••••.•••• 1 (optional). Maximum total data rate: ••••.•••••••.•••••• 450 kilobytes/sec. Basic Channel Maximum data rate: With no Selector Subchannel operating: •••.•••• 110 kilobytes/sec. With 1 Seleetor Subchannel operating: •.••••••• 95 kilobytes/sec. With 2 Selector Subchannels operating: •••••..• 80 kilobytes/sec. With 3 Selector Subchannels operating: .•.••••• 65 kilobytes/sec. With 4 Selector Subchannels operating: •••••••• 50 kilobytes/sec. Processor demand: ••.•••••••...••••••••• see Table I. Number of control unit positions: •..•••••••.•• 8. Number of subchannels: .•••..•.•.•.•.••••• 192. Selector Subchannels Maximum number: ••.•••••.• " ••••....••• 4. Maximum data rate per Selector Subchannel: .••• 100 kilobytes/sec. Maximum data rate, all Selector Subchannels: .••• 400 kilobytes/sec. Processor demand: •••••••••••••••••••••• see Table I. Number of control unit positions per Selector Subchannel: • • • . • • • • • • • • • • • • • . • • • • • • • . • 8. Maximum number of peripheral devices per Selector Subchannel: •••••••••••.•••••••• 16. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 IBM SYSTEM/360-MODEL 75 428: 111. 101 TABLE I: INPUT-OUTPUT DEMANDS ON THE SYSTEM/360 MODEL 75 PROCESSOR Device Random Access 2302 Disk Storage 2311 Disk Drive 2321 Data Cell Drive 7320 Drum 2301 Drum 2314 Direct Access storage Punched Card 2540 Card Read Punch: Read, 1,000 cpm Punch, 300 cpm 1442. Model N1 Card Read Punch: Read, 400 cpm Punch, 91 cpm 1442 Model N2 Card Punch, 9:\. cpm 2520 Model B1 Card Read Punch: Read, 500 cpm Punch, 500 cpm 2520 Card Punch: 500 cpm (Model B2) 300 cpm (Model B3) 2501 Card Reader: 600 cpm (Model B1) 1,000 cpm (Model B2) Printers 1403 Printer: 132 columns, 600 lpm (Model 2) 120 columns, 600 lpm (Model 7) 132 columns, 1, 100 lpm (Models 3, N1) 1443; 120 columns, 240 lpm Average Peak Data Rate, Data Rate, KB/sec* KB/sec* 156 156 54.7 135 1,200 312 156 156 54.7 135 1,200 312 Demand on Processor,_per cent, via2870 Multiplexor Channel 2860 Selector Basic Selector Channel (1) Channel (1) Subchannel (1) 1.5 1.5 0.52 1.3 11 2.9 not usable not usable 4.0 not usable not usable not usable 1.3 0.40 0.012 <0.01 0.1 <0.1 ? ? 0.53 0.12 0.12 0.53 0.12 0.12 <0.01 <0.01 <0.01 <0.1 <0.01 <0.01 ? ? ? 0.67 ? 0.67 0.67 <0.01 <0.01 <0.1 <0.1 ? ? ? ? 0.67 0.40 <0.01 <0.01 <0.1 <0.1 ? ? 0.80 1.3 0.80 1.3 <0.01 0.012 <0.1 0.1 ? ? 70 70 1.3 1.2 0.012 0.011 0.1 0.1 ? ? 7_0 ? 2~4 0.48 0.023 <0.01 0.2 <0.1 ? ? 70 70 Magnetic Tape 2400 Series: Modell, 30 KB/ sec Model 2, 60 KB/sec Model 3, 90 KB/sec Model 4, 60 KB/sec Model 5, 120 KB/sec Model 6, 180 KB/sec 30 60 90 60 120 180 30 60 90 60 120 180 0.28 0.56 0.85 0.56 1.12 1.70 2.25 4.50 6.75 4.50 not usable not usable ? ? ? ? not usable not usable 7340 Hypertape, 340 KB/sec 340 340 3.2 not usable .not usable (1) Interleaved accesses to core storage under certain conditions may reduce these demands by up to 30%. * Kilobytes (thousands of bytes) per second. 8/65 not usable not usable ? not usable not usable not usable 428:201.001 \ IBM System/360 Model 75 System Performance SYSTEM PERFORMANCE i ( GENERALIZED FILE PROCESSING (42S:201.100) These problems involve updating a master file from information in a detail file and producing a printed record of each transaction. This application is one of the most common commercial data processing jobs and is fully described in Section 4:200.1 of the Users' Guide. Standard File Problems A, B, and C vary the record sizes in the master file. Standard Problem D increases the amount of computation performed upon each transaction. Each problem is estimated for activity factors (ratios of number of detail records to number of master records) of zero to unity. In all cases a uniform distribution of activity is assumed. The Generalized File Processing problem for the System/360 was coded in two ways one using master files in packed decimal format and computation in decimal arithmetic, and the second using master files primarily in binary format and computation in fixed-point binary. The decimal computations required more time than those in fixed-point binary; but in the binary case, items in the detail and report files needed radix conversion. There were no appreciable differences in the total times for the two cases. The graphs for the file problem are based on use of the fixed-point binary technique. For simplicity, the very similar curves based on the use of decimal arithmetic are not shown. In the master file record layout, alignment of data items in core storage was carefully considered. Double-word boundaries were observed for input-output purposes to improve performance efficiency on the larger models. Instead of the "chain" mode (scatter-gather) of tape reading and writing, individual records were moved to the work areas using a high-speed, multiple-register transfer method. All files - master, detail, and report - are assigned to magnetic tape. The detail and report file tapes are assumed to be transcribed off-line from punched cards and to the printer. Five cases are considered for the Generalized File Processing Problem. Configurations VIlB and VillB are shown with the report and detail file tapes both blocked (dashed curves) and unblocked (solid curves). Configuration VIlIB is also shown using 7340 Hypertape Drives and blocked detail and report files. Because multiprogramming of two or more independent programs is a featured capability of the System/360, the time actually used by the central processor (CP) is also plotted. By comparing the curves of total time for the various configurations with the central processor curves, it can be seen that even in the worst case (Configuration VIIIB using blocked detail and record files, when the computational load has been trebled), some 75% of the available processing capacity is not in use. However, if 7340 Hypertape Drives were used instead of the 2400 Series Magnetic Tape Units, then the processor could be utilized to about 70% of its capacity. A comparison of the central processor curves for a standard amount of computation and for trebled computation (i. e., the curves for Problems A and D, respectively) shows the effect of increasing the computational workload. SORTING (42S:201. 200) /' The standard estimate for sorting SO-character records by straightforward merging on magnetic tape was developed from the time for Standard File Problem A by the method explained in Paragraph 4:200.213 of the Users' Guide. A three-way merge was used in all system configurations for the Model 75. The results are shown in Graph 42S:201. 200. Graph 42S: 201.220 shows the times required to sort SO-character records by means of the Operating System/360 Sort/Merge routine, as described in Section 420:151. In addition to the tape sorting times for Standard Configurations VIIB and VIIIB, the times required for internal sorting on two different types of direct-access devices are shown. MA TRIX INVERSION (42S: 201. 300) The standard estimate for inverting a non-symmetric, non-singular matrix was computed by the simple method described in Paragraph 4:200.312 of the Users' Guide. Two lines are shown on the graph, one using the short floating-point format (6-digit precision), and the other using the long format (1S-digit precision). GENERALIZED MATHEMATICAL PROCESSING (42S:201.400) The Standard Mathematical Problem A is an application in which there is one stream of input data, a fixed computation to be performed, and one stream of output results. Two variables are introduced to demonstrate how the time for a job varies with different proportions © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 428:201.002 IBM SYSTEM/360-~ODEL 7S of input, computation, and output. The factor C is used to vary the amount of computation per input record. The factor R is used to vary the ratio of input records to output records. The procedure used for the Standard Mathematical Problem is fully described in Section 4:200.2 of the Users' Guide. Computations were performed in double-length floating-point arithmetic (16-digit precision) since a minimum precision of 8 digits is prescribed. In Configurations VIIB and VlIIB, the input and output files are on magnetic tape. Graph 428:201.400 shows two curves. The curve marked R = 1. 0 is for the case in which one output record is written for each input record. The other curve is for the case in which one output record is written for every tenth (R = O. 1) and every hundredth (R = 0.01) input record. (There is roo effective difference between these two cases.) In Configuration VIIB, one magnetic tape unit is the controlling factor for amounts of computation up to 24 times the standard (1. e •• C = 1. 0). In Configuration VmB, magnetic tape controls for up to 16 times the standard amount of computation. WORKSHEET DATA TABLE 1 CONFIGURATION ITEM VIlB (blocked) 1 Char/block Output Times 1-----~_3_ _ ,_._ File 4 msee/swltch. 2 Standard File Problem A msee/block 25.6 32.0" 10.0 22.9" 1 056 12 17.0 6.6 6.8 8.1' - - - -0°- - - - ° -- ° ° 0.10 r---- Ms,- 0.03~_ ~~--- msee/work 0.162 0.162 C.P. C.P. I/O ..!!L,_ _ _ _ 0.03 __ _0____ _0.4o __ 1-.0.40__ ~------- ----- 3_ 10 a3K Master ~ ~O ~2: MasterO_u!.. ....Q-lL ~:Details_ _ ..J!:.~ 0_12 File 4: Reports ~_1: Total (bytes) Unit of measure _ -'-':--- - - _ : ' 6 (Blocks 24 to 48) t---i'.!L 3_10 -,- :-::::-----Working I/O C.P. I/O C.P. ~O~ -,- ~0.L. ---- I-0....QL1-0.4o __ -,--- _~-40 __ -,--- - - - r-~.4~_ 3_10 3.10 o. 10 -,-- -E:.!L - , rJ!=!L - - - 0.1o __ --- 25.6._ f-~.- 3.10 --- 0_ 10 4:200.114 O_O~_ 57_ 6 3_ 93 145.6 , 6,000_ _ _ _ _ _ _6,000 ____ 128 128 -'--6~- 22_ 9 3.93 I-~~-128 4,092 - - 1---9",312 -- -----wo---- --Wo---- I----Wo---20,280 3_ 93 81.6 3.93 I-~_O_ _ _ 8_1 _ _ 6,000_ _ _ _ 128 128 - - - - - --648---- - -648 - - - -,-----648 -~O~-- -~---- 1--"""4,O9~- Total I/O -,_.- ~lL_ ------ - ~.!L _Q.08 _.- ~L.. --- I-_ r-!!'.QL ----------32_ 0 0_12 0_12 120.0 0_12 8_ 1 22.9 81.6 0.12 ~;-----'- - 9 , 3 1 2 - - - 4 , 6 4 8 Space 0.162 15,616 --4;092 - - , - - 4 , 0 " 9 2 - - - - 1 0 0 - - - - '100---16,616 20,280 Fixed/Floating point 20,280 VIlB VIllB F'toatlng point Floating point Unit name input Series Tape, Mod 2 Series Tape, Mod 3 1-------- - - -2400 -- - - - - - - - - -1---- -2400 - --------,output 2400 Series Tape, Mod 2 2400 Series Tape, Mod 3 Size of record r---'----- input output 80 bytes 80 bytes r-----------------1------------------120 bytes 120 bytes I - - - - - - - - - ! . . L - - - - - .- - -- I--------~-------9.7 6.4 ~~!L_ output T4 ~~c/rec~ _ _ _ _T.&....-_ ...l!!!!!'_c/510~ _ _ ~_ msce/report T7 * 4:200_ 1151 ---"'4;"648-- 1-- 9312- - ' - CONFIGURATION ITEM Input Tl output T2 4:200.1132 - ' - - 0 . ' i 6 2 -1 - - - - - - 0.162 C.P. I/O O_!~ 25.6 3.93 -,-----3 (Blocks 1 to 23) Standard File Problem A ~4 - - - - -f - - - - b 7 + b8 maee/block lor C.P. and dominant 1/0 column_ mace penalty (estimated) 4:200.112 ---0-'- ---0-- O~_ msee/detail msce/block REFERENCE 03~ ~,---- msee/record Fixed Standard Mathematical Problem A 25.6 1 056 12.0 - - - ----_.- - - - - - , - - - - - - - 1 - - - - - - - - f - - - -0.12* File 4 0.01 0.12' 0.01 0.12' _ _ _0.030._ 0.030 a1 0 • 03 °. _ f-:- ,__ O. _ 1-__ f-'--~O------_ ._ _ 0.033 __ 0.033 0.033 1--.__ '2 -=------1--------'- - - - - - ---~-_ _ _ 0.052 _ _ I-- __ 1-___ O. 05?_ 0.052 r----o.~~.--------,--,_ _ __ 0.044 0.044 0.044 0.044 ~~outine_s_ _ 5 ° File 1 = File 2 0.10 0.10 0.10 0.10 F i l e - 3 - - - ' - - - - - 0 . " 0 8 * - 1--------- - - - 0 . 0 8 * - 1 - ' - - - - 0.01 0.01 F=l.O 4 1 056 12. 17.0 Ftle-4----- - - - - 0 - - - msee/report 3 1 056 12 VIlIB (blocked) using Hypertape VIlIB (unblocked) File 1 = File 2 - - - 1 - - - -°0-- , - - - - -°- - - - ° - 1 - - °' - - - r---- o°- - ' File 3 msee penalty Central Processor Times VIllB (blocked) ----_.- ------ - - - - - - r - - - - - - - - 1-------,:--- _ _ 16~_ ---I - - - E - f---~--~~- 1 - - - - 9.4 File 1 =::. File 2 msee/block Standard File Problem A Input- 1 056 12 File 1 (File 1) Records/block K VIlB (unblocked) --------~------- 0.01 _______ ________ 0.01 I--- _ _ _ _ _ _ ~O_ _ _ _ _ _ _ _ I-------~-------- 1-- _ _ _ _ _ _ --------~--------0_ 37 ~_1 4:200.413 _ _ _ _ _ _. _ ~4 0.37 Files 3 and 4 blocked 12 records/block (Contd.) 8/65 428:201.100 SYSTEM PERFORMANCE .1 GENERALIZED FILE PROCESSING • 11 Standard File Problem A • 111 Record sizesMaster file: •••••. 108 data characters, packed as 88 8-bit bytes. Detail file: ••••••• 1 card. Report file: • • • • • . • 1 line • • 112 Computation: •••••.• standard, using fixed-point binary or decimal arithmetic. .113 Timing basis: •••••• using estimating procedure outlined in Users' Guide, 4:200.113 • • 114 Graph: •.•••••.•• see graph below • • 115 Storage space required Configuration VnB (blocked): ••.•.•• 20,280 bytes. Configuration VllB (unblocked): .••••• 15,616 bytes. Configuration VIllB (blocked): ••••••• 20,280 bytes. Configuration VIllB (unblocked): .••.•• 15,616 bytes. Configuration VIIIB (blocked) - Hypertape: ••••••••••• 20,280 bytes. 10.0 4 2 ~ 1.0 1 .JII' 4 ( "'- .. Time in Minutes to Process 10,000 Master File Records .- VUB -..."" J' lL_ 1 - - - .-.:--- \flUB - ./ L __ -------------VIIIB ...... -- 2 -.-- VIIIB (HYPER TAPE) O. 1 1 4 _ Cll - --- .... Cl'- - .,,/ 2 ~/ ifu 0.01 , 1 I I 4 I I 2 0.001 0.0 0.1 o .33 1.0 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations.) - - © LEGEND Elapsed time; unblocked Files 3 & 4 - - - - - - _ Elapsed time; blocked Files 3 & 4 CP - Central Processor time (all configurations) 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 428 :201.120 • 12 IBM SYSTEM/360-MODEL 75 Standard File Problem B . 122 Computation: ••••..• standard, using fixed-point binary or decimal aritlunetic • .123 Timing basis: •.•..• using estimating procedure outlined in Users' Guide, 4:200.12. .124 Graph: ..•...••..• see graph below. . 121 Record sizesMaster file: . . . • . . 54 data characters, packed as 44 8-bit bytes. Detail file: ••••.•• 1 card. Report file: ••.••• 11ine. 10.0 7 4 2 7 4 2 "'" ./ ~ .."" .", V_ 10----7 L___ ; 0.1 --- -- - --- -- ~.- Cl'- VV~' 0.01 4 ~~ .- VIIIB " I----~ pf..) l'f..R'tt>. '11.\.11'> t1:l!.. 10--- ~--- 2 -- // ./,- i"" 7 \T11,B_- .- 7 4 ------ ~1?! ~ ./ Time in Minutes to Process 10,000 Master File Records - ~ 1.0 ,. I If 2 0.001 0.0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations.) LEGEND _ _ _ _ _ _ _ _ _ _ _ Elapsed time; unblocked Files 3 & 4 _' _ _ _ _ _ _ _ Elapsed time; blocked Files 3 & 4 CP Central Processor time (all configurations) (Contd.) 8/65 SYSTEM PERFORMANCE • 13 428:201.130 .132 Computation: •..••. standard, using fixed-point binary or decimal arithmetic. . 133 Timing basis: •••••• using estimating procedure outlined in Users' Guide 4:200.13 .134 Graph: •.••..••.• see graph below. Standard File Problem C • 131 Record sizesMaster file: .••••• 216 data characters, packed as 176 8-bit bytes. Detail file: •••.•. 1 card. Report file: •••••• 1 line. 4 - 2 4 VIIIB----------i ---------- 2 ~~~~~~~~~4-~~_VIITB(HYPERTAPE) __________~ - Time in Minutes to Process 10,000 Master File Records --r-.----- ~-------- ........ -- .---- 4 2 0.01 , 7 4 1 .' I 2 0.001 -+----~----------~--------------------~----------~ 0.0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master ,Record (Roman numerals denote standard System Configurations. ) 'LEGEND - - - - - - - - - - _ Elapsed time; unblocked Files 3 & 4 _ _ _ _ _ _ _ _ Elapsed time; blocked Files 3 & 4 - _ CP Central Processor time (all configurations) © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 428:201.140 • 14 IBM SYSTEM/360-MODEL 75 Standard File Problem D • 141 Record sizes Master file: •••••• 108 data characters, packed as 88 8-bit bytes. Detail file: ••••••• 1 card. Report file: •••••• 11ine. .142 Computation: •....•• trebled, using fixed-point binary or decimal arithmetic • .143 Timing basis: ..•..• using estimating procedure outlined in Users' Guide, 4:200.14. .144 Graph: •••••.•.•• see graph below. 10.0 7 4 2 1.0 ---- 7 1--",.4-VUll-. 4 ./ ~ ~ ./ Time in Minutes to Process 10,000 Master File Records -- __ VIIIB ---~-------....""".. 2 - ,.,-- VIIIB (HYPERTAPE) 0.1 7 4 _cl' ---. -- 2 0.01 I 7 4 .r I -' 2 0.001 -+----+-----------r-------~----------------------~ 0.0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard §ystem Configurations. ) LEGEND - - - - - - - CP - Elapsed time; unblocked Files 3 & 4 Elapsed time; blocked Files 3 & 4 Central Processor time (all configurations) (Contd.) 8/65 SYSTEM PERFORMANCE 428:201.200 .2 SORTING .21 Standard Problem Estimates .212 Key size: . . . . . . . . . 8 characters . • 213 Timing basis: • . . . . . using estimating procedure outlined in Users' Guide, 4:200.213 .214 Graph: . . . . . . . . . . . see graph below . • 211 Record size: •••.••• 80 characters. 100.0 7 4 2 II ~ ~Ii V~ 10.0 7 / 4 ~/ / ~~JI 2 Time in Minutes to Put Records Into Required Order ~~ 1;1 1. 0 , 7 i\ L L ~~ 4 / V // 2 / 0.1 ,, 7 , / " II /7 f.-~ ~ ~ .L'I' ~.q, ;J1 , )'1' 1I ~ V 4 2 0.01 100 2 4 7 1,000 2 4 7 10,000 2 4 7 100,000 Number of Records (Roman numerals denote standard System Configurations.) © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 428:~Ql.220 • 22 IBM SYSTEM/360-MODEL 75 Operating System/360 Sort/Merge Times .223 Timing basis: ..•..• IBM Form C28-6543; inputoutput blocking factor s as indicated in legend below . . 224 Graph: .••..•.... See graph below • • 221 Record Size: ••••••• 80 characters. • 222. Key size: • . . • . • • •. 8 characters. 100.0 7 4 2 10.0 7 Ii 1lV. ~~ 4 A 2 ~ VII" ~~ Time in Minutes to Put Records 1.0 Into Required Order 7 ~ 4 ~ .... ~ ~ ~ 1/II~ Ioool!:l ~ 9..-- .- """'" '"" 2 0.1 7 4 2 0.01 100 2 4 7 1,000 2 4 7 10,000 2 4 7 100,000 Number of Records Curve Configuration I/O Blocking A Standard Configuration VTIB 90 records/block B Standard Configuration VTIIB 90 records/block C Standard Configuration VTIIB with Hypertape "90 records/block / D E Model 75 with one 1302 Disk Storage Unit 40 records/block Model 75 with two 2301 Drums 40 records/block (Contd.) 8/65 SYSTEM PERFORMANCE 428:201.300 .3 MATRIX INVERSION • 31 Standard Problem Estimates .312 Timing basis: . • . . . . using estimating procedure outlined in Users' Guide, 4:200.312 . .313 Graph: • • . . . . . . . • . see graph below . • 311 Basic parameters: ••. general, non-symmetric matrices, using floating point to a precision of approximately 6 decimal digits in the SHORT format and 16 digits in the LONG format. 1.0 7 /1 4 /I II 2 IlL 0.1 7 IJ 4 VII ~~N 2 o~§ II ~ Time in Minutes for Complete Inversion 0.01 7 I I III 4 rl h 2 f 0.001 I 7 ( I /I \ II 4 II II r 2 0.0001 1 2 4 7 10 2 4 7 100 2 4 7 1,000 Size of Matrix ~~ .. ( "'-. © 1965 AUERBACH Corporation and AUERBACH Info, Inc. 8/65 428:201.400 IBM SYSTEM/360-MODEL 75 .4 GENERALIZED MATHEMATICAL PROCESSING .41 standard Mathematical Problem A Estimates .412 Computation: • 411 Record sizes: •.•••• 10 signed numbers; average size 5 digits, maximum size 8 digits. ....... 5 fifth-order polynomials, 5 divisions, and 1 square roet; computation is in "long" floating-point mode (16-digit precision) • .413 Timing basis: ••..•.• using estimating procedure outlined in Users' Guide, 4:200.413 . • 414 Graph: •••••..•.. see graph below. 1,000.0 7 \. 4 2 100.0 7 4 )", 2 ./ ~. VllB Time in 10.0 Milliseconds per Input Record 7 7 , VIIIB / v~ 4 I /'11 2 ..J~ ~ 1.0 CP 7 1t"'.1!. c~c~ l ~ \)'\: ~ 1. cP ~1t"'()' , . 4 2 0.1 2 0.1 4 7 2 1.0 4 2 7 10.0 C, Number of Computations per Input Record (Roman numerals denote Standard Configurations; R = number of output records per input record; Curve marked "CP" shows Central Processor time.) 8/65 4 7 100.0 ( \ IBM SYSTEM/360 MODEL 44 International Business Machines Corp. AUERBACH INFO, INC. PRINTED IN U. S. A. IBM SYSTEM/360 MODEL 44 International Business Machines Corp. AUERBACH INFO, INC. PRINTED IN U. S. A. 1. IBM SYSTEM/360 MODEL 44 INTRODUCTION /&EDP I "-- 435:011. 100 ST"'ARD ... AUER8AC~ R[PORTS ~ INTRODUCTION The Model 44 is a special-purpose scientific data processing system that was officially added to the IBM System/360 family in August 1965. The Model 44 brings to the System /360 line a computer that has been custom-tailored for performing high-speed binary arithmetic operations in scientifically-oriented applications. Capabilities are included in the Model 44 that permit its use in process control, data acquisition, and real-time operations. IBM advertises that the System/360 Model 44 offers the internal speed of the IBM 7094 at substantially less cost. A basic Model 44 system with card read-punch and printer rents for $5,215 per month, but typical system rentals will be in the $7, 000 to $11, 000 range. A Model 44 processor can perform internal computations faster than a System/360 Model 50 processor, and has a monthly rental that is less than half that of the Model 50. First deliveries of the Model 44 are expected to begin during the third quarter of 1966. The Model 44 uses the same basic data and instruction format as the System/360 Models 30 through 75. The 32-bit (4-byte) binary word is the basic unit of internal data manipulation. The instruction repertoire is a fully compatible subset of the full System/360 repertoire. There are no instructions for performing decimal arithmetic, editing, code translation, or radix conversion operations. Floating-point arithmetic can be provided, but only as an optional feature - though it will certainly be included in most Model 44 installations. Extensive interrupt facilities are also available, but only as optional features. The Model 44 Processor can contain 32, 76S, 65,536, 131,072, or 262, 144 bytes (SK to 64K 32-bit words) of core storage that is addressable to the individual byte. Core storage cycle time is 1 microsecond per 4-byte word. The 16 general-purpose registers are normally implemented in an extension of the I-microsecond core storage. However, if the optional HighSpeed General Registers feature is installed, the standard registers are replaced by 16 registers implemented in "solid logic technology" circuitry that has a cycle time of 250 nanoseconds per . word. Use of this feature substantially reduces the address generation time of all instructions and the basic execution time of all fixed-point instructions. Included in the Model 44 processor as standard features are a console printer-keyboard and a single-disk storage drive housed in the processor cabinet. The disk drive uses a replaceable single-disk IBM 2315 Disk Cartridge that can store up to 1, 171, 200 bytes of data. The drive has an average random access time of 70 milliseconds. A second single-disk storage drive can be installed as an optional feature, doubling the on-line storage capacity. Seek overlap is possible when both drives are installed, but simultaneous reading and writing cannot be performed by the two drives. The primary function of the Model 44's built-in single-disk storage drive is to provide residence for the system's software support. The Model 44 processor is optimized to perform high-speed fixed- and floating-point binary arithmetic. Fixed-point arithmetic uses the 32-bit binary word (1 sign and 31 integer bits) as its basic operand. Fixed-point binary half-word operations can also be performed. When the optional high-speed general registers are installed, the basic fixed-point arithmetic instruction execution times can be reduced by more than 50 percent. For example, the basic register-to-register add time is 3.75 microseconds; the same operation performed with the high-speed registers takes only 1. 75 microseconds. The optional Floating-Point Arithmetic feature provides single-length (24-bit precision) and double length (56-bit precision) arithmetic and comparison operations. Use of the 16 highspeed general registers will reduce by 0.75 microsecond the instruction execution time of each floating-point instruction that references core storage. When the full 56-bit precision is not required in specific problems, use of a rotary switch on the processor's control panel can adjust the precision of the floating-point fraction down to 4S, 40, or 32 bits. Each progressively lower setting considerably reduces the time required to execute all double-length floating-point instructions. The 56-bit fraction length must be used if programs are expected to be run on other System/360 models and produce identical results. Peripheral devices are connected to a Model 44 system by means of either a standard Multiplexor Channel and/or one or two High-Speed Multiplexor Channels. These channels share many of the functional characteristics of similarly-designated I/O channels used with the System/360 Models 30 through 75 and described in Section 420:111. The standard Multiplexor Channel provides up to 64 subchannels, and each of the High-Speed Multiplexor Channels provides © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 IBM SYSTEM/36(}-MODEL 44 435:0 II. 10 I up to 4 subchannels, setting the theoretical limit of simultaneous input-output data transfer operations at 72. No Selector Channels are currently available for Model 44 systems, but the High-Speed Multiplexor Channels can provide equivalent capabilities. Most of the standard System/360 peripheral devices can be connected to a Model 44 system, subject in most cases to the general configuration rules of the System/360 computer family. One important difference in configuration possibilities lies in the fact that the Model 44 permits only the IBM 2311 Disk Storage Drive - in addition to the built-in Single Disk Storage Drive - for use as auxiliary, random-access storage. Other System/360 models can use up to seven different random-access storage devices, offering a wide range of storage capacities and access times. The Model 44 cannot use the IBM 7340 Hypertape Drive, but can use both the 800 and 1,600 bpi models of the 2400 Series Magnetic Tape Units. Display devices (Models 2250 and 2260) and data communications devices (2701 and 2702 Transmission Control Units) can also be connected to a Model 44 system, but no provisions have been included for use of System/360 optical readers, MICR readers, or audio response units. The peripheral device flexibility of the Model 44 is increased by its capability to be connected to an IBM 1800 Data Acquisition and Control System via the standard I/O chaIlI).els. The IBM 1800 brings to the Model 44 the speCialized facilities required to perform process control and high-speed data acquisition tasks. An optional Direct Data Channel feature in the Model 44 system permits exchange of data with an external device or system - such as the IBM 1800 - at speeds up to 4, 000, 000 bytes per second. Because of its restricted instruction repertoire, and because of its specialized built-in disk drive, the Model 44 uses a custom-designed software package - integrated through use of the system disk - that is not compatible with the extensive array of standard System/360 software. Designated the Model 44 Programming System, the software centers around a Disk Resident Monitor program that controls the sequential execution of batched jobs in a nonmultiprogramming environment. Input-output device control routines are also included within the Monitor. A disk-resident FORTRAN IV compiler with extensive capabilities, an assembler, and an array of disk-resident utility routines are also provided. The FORTRAN and Assembly languages are directly compatible with the same languages offered in IBM's Basic Programming Support (BPS) package of the standard System/360 software. (Three independent card/tapeoriented programs that do not utilize the system disk can be used instead of the Model 44 Programming Support, providing basic FORTRAN language, Assembly language, and data transcription facilities. ) 5/66 A AUERBACH ® 435:031. 001 A AUERBACH STANDAilD IBM SYSTEM/360 MODEL 44 SYSTEM CONFIGURATION EDP REPORTS ~ SYSTEM CONFIGURATION A Model 44 system consists of a Processing Unit and from 8,192 to 65,536 four-byte words of internal core storage. A Single Disk Storage Drive (Section 435:041) is provided as standard equipment, and is housed in the Processing Unit's qabinet. A second Single Disk Storage Drive can be installed as an optional feature. A Model 44 system also includes a console printer-keyboard as standard equipment. • Peripheral devices are connected to a Model 44 system via a Multiplexor Channel and/or one or two High-Speed Multiplexor Channels. A minimum of one channel of either type must be included in every Model 44 system. A Direct Data Channel can be included instead of the second High-Speed Multiplexor Channel to permit the connection of up to eight "foreign" I/O devices, i. e., devices not manufactured by IBM. Table I summarizes the input-output channel possibilities in a Model 44 system. Section 435:111, Simultaneous Operations, provides detailed information on the characteristics and performance capabilities of the three varieties of Model 44 I/o channels. All of the peripheral devices currently available with the System/360 Model 44 are listed in Table II, together with the rules governing their connection to the system. Mix possibilities and total number of devices per channel and per overall system are also explained. One 2315 Disk Cartridge. • One Multiplexor or High-Speed Multiplexor Channel. • One console printer-keyboard for output (standard software requires the use of one printer or magnetic tape unit for output). As noted in Table II, Peripheral Devices, a Model 44 system can be connected to an IBM 1800 Data Acquisition and Control System via control units connected to a subchannel of either a Multiplexor or High-Speed Multiplexor Channel. The IBM 1800 is a specialized computer system designed specifically for process control and high-speed data acquisition systems. Representative standard configurations of the System/360 Model 44 are presented on the following pages, with itemized monthly rental prices for each configuration. The configurations follow the standards and specifications explained in the Users' Guide, Section 4:031. One 2044 Processing Unit, Model E, F,G, or H (including one Single Disk Storage Drive). • 1442 Model N1 Card Read Punch; 2501 Model B1 or B2 Card Reader; 2520 Model B1 Card Read Punch; 2540 Model 1 Card Read Punch; 2401/2402 Model 1, 2, 3, 4, 5, or 6 Magnetic Tape Unit with 9-track capability; 2403/2404 Model 1, 2, 3, 4, 5, or 6 Magnetic Tape Unit with 9-track capability. Multiple Mode144 Processing Units can at present communicate with each other only through shared input-output devices. However, a Model 44 processor can be connected directly to any other model of the System/360 that has the Channel-toChannel adapter feature. The adapter uses one control-unit position and one sub channel of a Multiplexor or High-Speed Multiplexor channel. The minimum equipment requirements for a valid Model 44 system include: • One input unit from among the folloWing: TABLE I: SYSTEM/360 MODEL 44 I/O CHANNELS Channel Type Maximum Number (1) Multiplexor High-Speed Multiplexor Direct Data (2) Notes: (1) (2) (3) (4) (5) 1 2 1 Subchannels per Channel (5) 32 or 64 (4) 1 to 4 (3) 0 Control Unit Positions per Channel !~ 8 2 to 8 - None of the I/O channels is standard equipment. Up to three I/O channels can be used with a Model 44 system. To use the Direct Data Channel, the first High-Speed Multiplexor Channel must also be installed, and the second High-Speed Multiplexor Channel is prohibited. A High-Speed Multiplexor Channel provides a single subchannel with two control unit positions as a standard feature. Three additional sub channels per High-Speed Multiplexor channel can be prOVided, each with two control unit positions. The Model E (32, 768 bytes of core storage) Processing Unit provides control of 32 subchannels; Models F, G, and H provide control of 64 subchannels. Up to 8 Multiplexor subchannels and all of the HighSpeed Multiplexor subchannels can operate as shared subchannels, i. e .• can control as many as 16 I/o units (only one of which can transfer data at a given time). © 1966 AUERBA~H Corporation and AUERBACH Info, Inc. 5/66 435:031. 002 IBM SYSTEM/360 TABLE II: SYSTEM/360 MODEL 44 PERIPHERAL DEVICES Multiplexor Subchannels Used per Controller Maximum Controllers per System Maximum Peripheral Devices per Controller Peripheral Device Controller I/O Channel Requirements Random Access 2311 Disk Drive Single Disk Storage Drive 2841 special adapter MPX, HSMPX MPX, HSMPX IS 1 22 2 8 1 Console Console, Printer-Keyboard special adapter MPX, HSMPX 1 1 1 2403, 2404, 2803, or 2804 MPX, HSMPX IS per 2403 or 2803 2S per 2404 or 2804 22 (2403/2803) 11 (2404/2804) 8 self-contained MPX, HSMPX 1 22 1 self-contained MPX, HSMPX 1 22 1 self-contained MPX, HSMPX 1 22 1 2821+ MPX, HSMPX 1 22 1 \ Mal?;netic TaEe 2401 and 2402 Magnetic Tape Units Punched Card 2501 Card Reader Models B1, B2 2520 Card Read Punch ( Model B1 2520 Card Punch Models B2, B3 2540 Card Read Punch Modell 1442 Card Read Punch Model N1 1442 Card Punch Model N2 Punched Paper Tape 2671 Paper Tape Reader Modell Printers l403Printer Models 2, 3, 7, N1 1443 Printer Model N1 self-contained MPX, HSMPX 1 22 1 self-contained MPX, HSMPX 1 22 1 2822 MPX, HSMPX 1 22 1 2821+ MPX, HSMPX 1 per 1403 22 3 self-contained MPX, HSMPX 1 22 1 self-contained MPX, HSMPX IS 22 1 2840· MPX, HSMPX IS 22 8 2840· 2840· 2840· MPX, HSMPX MPX, HSMPX MPX, HSMPX IS 1S IS 22 22 22 4 4 4 2848 2848 2848 MPX, HSMPX MPX, HSMPX MPX, HSMPX 25 or 2S 17 or IS 9 or IS 22 22 22 24 16 8 self-contained MPX, HSMPX 4 max. 22 up to 4 lines self-contained MPX, HSMPX 31 max. 22 up to 31 lines special adapter MPX, HSMPX 1 22 1 5 22 1 DisEla~ Units 2250 Display Unit Modell 2250 Display Unit Model 2 2280 Film Recorder 2281 Film Recorder 2282 Film Recorder/ Scanner 2260 Display Station: Modell Model 2 Model 3 Data Communications 2701 Data Adapter Unit 2702 Transmission Control Data Acguisition!Process Control 1801 or 1802 ProcessorController 1827 Data Control Unit self-contained + A single 2821 Control Unit can also control a combination of one 2540 Card Read Punch and one 1403 Model 2 or 3 Printer, using 3 subchannels; or, a combination of one 2540 Card Read Punch and two 1403 Printers (Models 2 and/or.7), using 4 subchannels. • A single 2840 Display Control Unit can also control any mixture of up to 4 Film ·Units. Combinations of 2250 Model 2 Display Units and 2280/2281/2282 Film Units can also be handled by a 2840 Control Unit in the following mixes: 1, 2, or 3 Film Units can be used with 5, 4, or 1 Display Units, respectively. /" Legend MPX = Multiplexor Channel. HSMPX = High-Speed Multiplexor Cbannel. IS = One shared Multiplexor or High-Speed Multiplexor subchannel. ,/ 5/66 A (Contd.) AUERBACH '" MODEL 44: SYSTEM CONFIGURATION .1 435:031. 100 6-TAPE AUXILIARY STORAGE SYSTEM; CONFIGURATION V Deviations from Standard Configuration: . . • . . . . • . 20,000 more bytes of core storage. printer is 20% faster. reader is 20% faster. Equipment Rental Main Storage (32,768 bytes) 2044 Processing Unit, Model E 44 $ 3,465 Single Disk Storage Drive (1,171,200 bytes) Console Printer-Keyboard ~. . 2501 Card Reader, Model B1: Reads 600 cards per minute 260 1442 Card Punch, Model N2: Punches 91 full cards per minute 375 2821 Control Unit, Model 2 1403 Printer, Model 7: Prints 600 lines per minute 600 650 2403 Magnetic Tape Unit and Control 2402 Magnetic Tape Units (2) 2401 Magnetic Tape Unit (6 drives total) All Modell: 30,000 bytes/sec . 2841 Storage Control and three 2311 Disk Storage Drives (21. 75 million bytes) Optional Features Included: . . . • . . . . . . . . . . . . . . External Interrupt Multiplexor Channel High-Speed Multiplexor Channel with two subchannels TOTAL: ( 2,460 2,250 30 350 775 $11,215 NOTE: Inclusion of the High-Speed General Registers feature ($700) and the Floating-Point Arithmetic Feature ($275) increases the monthly rental price to $12,190. ( \. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 IBM SYSTEM/360 435:031. 200 .2 6-TAPE BUSINESS/SCIENTIFIC SYSTEM; CONFIGURATION VI Deviations from Standard Configuration: • . . . • . . . . printer is 20% faster. reader is 20% faster. Equipment Rental Main Storage (65,536 bytes) 2044 Processing Unit, Model F 44 Single Disk Storage Drive (1,171,200 bytes) $ 4,665 / Console Printer-Keyboard 2501 Card Reader, Model B1: Reads 600 cards per minute 260 1442 Card Punch, Model N2: Punches 91 full cards per minute 375 2821 Control Unit, Model 2 1403 Printer, Model 7: Prints 600 lines per minute 600 650 2403 Magnetic Tape 2402 Magnetic Tape 2401 Magnetic Tape (6 drives total) All Modell: 30,000 Unit and Control Units (2) Unit 2,460 bytes/sec. Optional Features Included: . . . . . . . . . . . . . . . . • . External Interrupt Multiplexor Channel High-Speed Multiplexor Channel with one subchannel Floating-Point Arithmetic TOTAL: 30 350 650 275 $10,315 NOTE: The total rental using the High-Speed General Registers feature is $11,015. / " (Contd. ) 5/66 A AUERBACH '" 435:031. 300 MODEL 44: SYSTEM CONFIGURATION .3 10-:-TAPE GENERAL SYSTEM, INTEGRATED; CONFIGURATION VIlA Deviations from Standard Configuration: . . . . . . . . . printer is 20% faster. reader is 20% faster. Equipment Rental Main Storage (65,536 bytes) 2044 Processing Unit, Model F 44 $ 4,665 Single Disk Storage Drive (1,171,200 bytes) Console Printer-Keyboard 2501 Card Reader, Model Bl: Reads 600 cards per minute 260 1442 Card Punoh, Model N2: Punches 91 full cards per minute 375 2821 Control Unit, Model 2 1403 Printer, Model 7: Prints 600 lines per minute 600 650 2403 Magnetic Tape Unit and Control (2) 2402 Magnetic Tape Units (4) (10 drives total) 5,750 All Model 2: 60,000 bytes/sec. Optional Features Included: . . • . . . . . . • . . . . . . . . External Interrupt Multiplexor Channel Higlr-Speed Multiplexor Channel with two subchannels Floating-Point Arithmetic TOTAL: 30 350 775 275 $13,730 NOTE: The total rental using Model 3 tape drives (90,000 bytes/second) and the High-Speed General Registers feature is $17,430. ( "- © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 435:031. 400 .4 IBM SYSTEM/360 4-TAPE SCIENTIFIC SYSTEM; CONFIGURATION XI Deviations from Standard Configuration: • . • . . . . • . printer is 140% faster. reader is 20% faster. punch is 119% slower. magnetic tapes are 100% faster. Equipment Rental Main Storage (65,536 bytes) 2044 Processing Unit, Model F 44 $ 4,665 Single Disk Storage Drive (1, 171, 200 bytes) Console Printer-Keyboard 2501 Card Reader, Model B1: Reads 600 cards per minute 260 1442 Card Punch, Model N2: Punches 91 full cards per minute 375 1443 Printer, Model N1: Prints 240 Lines per minute 875 2403 Magnetic Tape Unit and Control 2402 Magnetic Tape Unit 2401 Magnetic Tape Unit (4 drives total) All Modell: 30,000 bytes/sec. Optional Features Included: . . . • . . • . . . • . . . . • . . External Interrupt Multiplexor Channel High-Speed Multiplexor Channel with one sub channel Floating Point-Arithmetic TOTAL: NOTE: The total rental using the High-Speed General Registers feature is $10,020. 5/66 A AUERBACH 1,840 30 350 650 275 $ 9,320 ./ 435:041. 100 A AUERBACH STANDARD EDP IBM SYSTEM/360 MODEL 44 DISK DRIVE REPORTS INTERNAL STORAGE: SINGLE DISK STORAGE DRIVE , ( .1 GENERAL . 11 Identity: .. IBM System/360 Model 44 Single Disk Storage Drive. IBM 2315 Disk Cartridge. . 12 Basic Use: . System disk and auxiliary working storage. .13 Description The dual read/write heads (one head per surface) move in unison directly to the addressed track under control of a single Control Seek command. The two tracks that can be read and recorded in each of the 200 positions of the access arm are considered a logical cylinder of data. The specialized Read Data and Write Data instructions can store and fetch either a full track or a specified number of sectors. Error detection is provided by regenerating a check code when reading data and comparing this code to the check code that was generated and written with the data during the write operation. The Model 44 Processing Unit houses, as standard equipment, a Single Disk Storage Drive with a removable IBM 2315 Disk Cartridge. The on-line storage capacity is 1, 171,200 bytes, and this storage is used for residence of programming systems, for auxiliary processor storage, and for standard input-output operations. A second Single Disk Storage Drive of equal storage capacity and identical functional characteristics can be added to the Model 44 Processing Unit as an optional feature. A complete description of the Model 44 Processing Unit is provided in Section 435:051. The Single Disk Storage Drive is connected to one of the input-output channels by means of a Multiplexor or High-Speed Multiplexor Channel adapter that is installed as standard equipment within the Model 44 processor. The Disk Storage Drive takes up one control unit position and one sub channel of either a Multiplexor or a High-Speed Multiplexor channel. If the optional second Single Disk Storage Drive is installed in the processing unit, it connects to the same sub channel as the standard Single Disk Storage Drive. When both drives are installed, a seek operation on one unit can be overlapped with a seek, read, or write operation on the other unit because the channel is released immediately after . the seek operation is initiated. The data transfer rate of the Single Disk Storage Drive is 90,000 bytes per second; the unit always operates in burst mode over a Multiplexor or High-Speed Multiplexor Channel. The average access time to randomly-addressed data is 70 milliseconds. A single recording disk is permanently contained in each IBM 2315 Disk Cartridge. Cartridges are exchangeable by the operator through a side access slot in the cabinet of the processor. No programming compatibility exists between the Single Disk Storage Drive and the other System/360 mass storage units that are controlled through the IBM 2841 Storage Control Unit. Information is written on or read from the magnetic disk by a pair of read/write heads, one servicing each disk surface. Each surface is divided into eight sectors, and the effective storage capacity of each sector is fixed at 366 data bytes. Therefore, the storage capacity of each disk track (and the maximum data load that can be transferred by a single instruction) is 2,928 bytes. Since 400 tracks are available on the single disk, a total storage capacity of 1, 171,200 bytes of data is provided. Of the 1, 171, 200 bytes of information that can be stored in a single IBM 2315 Disk Cartridge, approximately 500, 000 bytes will be required for residence of the Model 44 Programming Support package. See Section 435:151 for descriptions of the control programs, language processors, and utility routines that comprise the software support for the Model 44 system. . 14 Availability: . . . . . not specified by IBM . . 15 First Delivery: ... 3rd quarter 1966. ( © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 /-- 435:051. 100 4 STANDARD EDP AUERBACH IBM SYSTEMi.360 MODEL 44 CENTRAL PROCESSOR REPORTS CENTRAL PROCESSOR GENERAL .1 .11 Identity: .12 Description IBM 2044 Processing Unit. The 2044 Processing Unit provides arithmetic, logic, and control functions, and internal core and disk storage for the IBM System/360 Model 44 system. The 2044 Processing Unit uses highspeed internal circuitry to implement four-byte (one-word) data flow and processor control. The basic System/360 processor design has been retained in the Model 44 processor, but modifications have been made to optimize performance of scientific and data acquisition tasks. The Model 44 processor uses the same basic data and instruction formats as the System/3GO Processor Models 30, 40, 50, 65, and 75. The instruction repertoire is an upward-compatible subset of the full System/360 repertoire. The Model 44 instruction set can optionally include floating-point arithmetic, but has no decimal arithmetic capabilities. The 2044 Processing Unit is available in four models, E through H, providing core storage capacities of 32,768, 65,536, 131, 072, or 262,144 8-bit bytes (SK, 16K, 32K, or 65K 32-bit binary words). The 32K-byte Model E processor can be expanded to a Model F, G, or H processor through field modification. Four bytes in parallel are read from or written into core storage during each one-microsecond cycle. A parity bit is associated with each 8-bit byte, and parity is checked during each data fetch from core storage. Like the System/360 Models 30 through 75, the Model 44 processor contains sixteen 32-bit general registers that can be used as fixed-point accumulators or as index registers. The general registers of the Model 44 processor are normally implemented in a non-addressable extension of core storage with a cycle time of one microsecond per word. The optional High-Speed General Registers (Feature 4583) can be supplied instead of the standard general registers, providing read-write times of 250 nanoseconds per 4-byte word. The High-Speed General Registers are implemented in "solid logic technology" (SLT) circuitry. Byproviding general registers that are four times faster than the standard Model 44 general registers, this feature substantially reduces the generation time of all addresses and the basic execution time of all fixed-point instructions in particular. See Paragraph .4, Processor Speeds, for a performance comparison between a Model 44 processor equipped with the standard general registers and one equipped with the optional High-Speed General Registers. I ( \" If the optional Floating Point Arithmetic feature is installed, four 64-bit floating-point registers are supplied. Short 32-bit floating-point operands utilize the high-order halves of these registers, implemented in high-speed circuitry. Long 64-bit floating-point operands use the high-speed halves of the floating-point registers for the high -order pOSitions of the operands, and an extensIon of processor storage as the registers for the loworder bits of the operands. In the Model 44 processor, the fractional parts (mantissas) of long floating-point operands can be of varying lengths. By means of a console switch on the processor, the user can ad.iust long-precision instructions for execution with 32, 40, 4,'!, or the full 56 bits of precision in the floming--point fraction. For maximum speed of exeeution of long floating-point instructions, the switch is set to truncate the fraction to 32 bits of pl'ecil:lion, providing floating-point precision that is still greater than that provided by the 24-bit fraetional precision of short floating-point operations. The execution times of long floating-point instruetiolls increase as greater fractional preci.sion is selected. The full 56-bit precision must be used if long floatingpoint operations are expected to produce identical answers when performed on a System/360 Model 44 processor and the other System/360 processors that are capable of floating-point arithmetic. _121 Model 44 Instruction Set The standard Model 44 instruction set contains about three-fourths of the standard System/360 instructions listed in Section 420:121; all decimal arithmetic and most variable field-length instructions are excluded, and floating-point al·ithmetic instructions (44 in number) are provided only as an extra-cost option. The basic arithmetic mode is fixed-point binary, using 32-bit operands and two's-eomplement notation. Sinee the Medel 44 processor is optimized toward scientific processing, the common data base is the 32-,bit word and the 16-bit halfword, composed of four and two bytes, respectively. However, a few instructions are provided to manipulate bytes Singly, such as the Insert Character, Store Character, Test Under Mask, and Compare Logical instructions. Binary to decimal and decimal to binary radix conversion instructions are not provided (though their presence is especially desirable (J in computers that cannot perform decimal arithmetic), nor are any code translation instructions supplied. All Storage-to-Storage (Type SS) instructions ar.e excluded, including all forms of the Move instruction. Another notable exclusion from the Model 44 instruction set is the Load Multiple and Store Multiple instructions that are designed to load and store designated groups of the 16 System/360 general registers with one instruction. Effective control of multiprogramming operations is facilitated in other System/360 models through use of these Load and Store Multiple instructions. However, the Model 44 processor has not been designed for multiprogramming; it is advertized as a high-speed sequential batch processor. Instructions can be two or four bytes in length. A 2-byte instruction causes no reference to main © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 435:051. 121 IBM SYSTEM/360-MODEL 44 . 121 Model 44 Instruction Set (Contd.) second. It has a replaceable printing head and a typewriter-style keyboard. The Model 44 console device takes up one control-unit position and one subchannel of either a Multiplexor Channel or HighSpeed Multiplexor Channel. storage and a 4 -byte instruction causes one reference to main storage. There are four basic instruction formats: • Type RR - Register to Register (2 bytes) • Type RX - Register to Indexed Storage (4 bytes) The functions and operations of the console printerkeyboard are the same as those described for the IBM 1052 Printer-Keyboard, Modell, in Report Section 420:061. The System/360 Model 44 provides a system control panel on the processor for use by the operator and the IBM customer engineer. This system control panel visually and functionally resembles the System/360 control panel described in Section 420:061. Op • Type RS - Register to Storage (4 bytes) .125 Channel Capabilities: .. see Simultaneous Operations, Section 435:111. Op . 126 Interrupt System • The basic Interrupt System of the System/360 Model 44 Processing Unit is essentially the same as that used with the System/360 processor models 30 through 75. See Paragraph 420:051. 123 for a detailed description of the five classes of System/ 360 interrupts. Type SI - Storage and Immediate Operand (4 bytes) Op I B = 4-bit base register specification. D = 12-bit displacement. I = 8-bit literal operand. Op= 8-bit operation code. R = 4-bit operand register specification. X = 4-bit index register specification. . 127 Optional Features The Store and Fetch Protection feature provides both read and write protection for the contents of specified 2, 048-byte blocks of core storage. The protection is achieved by identifying blocks of storage with a 4-bit "storage key" and comparing this key with a 4-bit "protection key" associated with the data to be fetched or stored. If the two keys match, or if the storage key is zero, the data can be read from or written to core storage. The write-protect portion of this feature is identical to that available with System/360 Models 30, 40, 50, 65, and 75. Two additional instructions are provided with this feature: Set Storage Key (SSK) and Insert Storage Key (ISK). .122 Compatibility A machine-language program written for a System/ 360 Model 44 and not implicitly dependent upon internal machine timing can be executed, and will produce identical results, on System/360 Models 30 through 75 that are similarly equipped. Machinelanguage compatibility in the reverse direction is generally not possible since the Universal System/ 360 instruction set is considerably larger than that provided with the Model 44. Model 44's Assembly and FORTRAN languages are unilaterally compatible with the Assembly and FORTRAN languages provided for use with the System/360 Basic Programm ing Support software. By making the core storage read-protect option available for the Model 44, IBM has provided an essential hardware feature for proceSSing in realtime and time-sharing environments. The Model 44 is emphasized by IBM as being particularly suitable for real-time processing, but the software support for the Model 44 system apparently has no special provisions to facilitate processing in timesharing environments. .123 IBM 2315 Disk Cartridge A single-disk storage drive is supplied as standard equipment with the 2044 Processing Unit for programming system r,esidence. It is built into the processor cabinet, and the single-disk 2315 Cartridge can be interchanged with other cartridges by the operator. The 2315 Cartridge can store up to 1,171,200 8-bit bytes. A second single-disk drive of equal capacity to the first can be added as an optional feature. Report Section 435:041 describes the single-disk drive in more detail. The High-Resolution Interval Timer feature occupies three bytes of core storage and one byte of a special register. This register decrements every 13 microseconds in its rightmost position. This feature is an extension of the standard Model 44 interval timer. The Priority Interrupt feature permits quick responses to changes in external conditions, improving the real-time processing efficiency of the System/360 Model 44. Thirty-two levels of priority interrupts are provided, and each main level has 256 sublevels. Thus a total of 8,192 external lines can directly and independently initiate processor interrupts. Two additional instructions are provided with this feature: Change Priority Mask (CHPM) and Load PSW Special (LPSX). .124 Console Printer-Keyboard A console printer-keyboard is also supplied as standard equipment with the System/360 Model 44. This device provides for communication between the operator and the system. Facilities are provided for interrupting the processing unit and for signalling the end of the operator's data transmission. The keyboard unit (for input data) and the printer (for computer output) are electrically and mechanically independent of each other. The printer-keyboard prints at 14.8 characters per 5/66 / The External Interrupt feature provides six lines for sending a single-priority external interrupt A (Contd. ) AUERBACH '" ,/ / CENTRAL PROCESSOR 435:051. 127 instructions are provided to move the device control word to and from storage: Read Direct Word (RDDW) and Write Direct Word (WRDW). .127 Optional Features (Contd.) signal to the Model 44 processor. These interruptions are independent of data channel operations. The Direct Word feature provides-for the transfer of 32 bits (a full word) of information between an external device and the processor's core storage on a one-word-per-instruction basis. Two additional .21 .13 Availability: . . . . . . . not specified by IBM. .14 First Delivery: .2 PROCESSING FACILITIES . . . . 3rd qual·ter 1966. Operations and Operands Operation and Variation Provision Radix Size automatic binary full or halfword. automatic automatic binary binary halfword (32-bit product). full word (64-bit product). none. automatic binary full word (64-bit dividend). automatic binary Multiply: automatic binary Divide: automatic binary .213 Boolean AND: Inclusive OR: Exclusive OR: automatic automatic automatic binary binary binary .211 Fixed point (binary only) Add-subtract: Multiply Short: Long: Divide No remainder: Remainder: .212 Floating point (optional) Add -subtract: * * 24 56 24 . 56 24 56 and and and and and and 7 7 7 7 7 7 bits bits bits bits bits bits (short). (long). + (short). (long). + (short). (long). + 1 word. 1 word. 1 word. Both normalized and unnormalized. + Variable-precision long-length floating-point operations are possible. A console switch sets the fraction length to 32, 40, 48, or 56 bits. Provision .214 ComparisonNumbers: .215 .216 . 217 . 218 . 219 / . 22 automatic fixed-point binary floating-point binary Absolute: Letters: Mixed: automatic automatic automatic Collating sequence ASCII code: . . . . . . Extended BCD code: specials, numbers, letters.} specials, letters, numbers. Code translation: . . . . Radix conversion: ... Edit format: . . . . . . . Table look-up: . . . . . OthersBinary shift: 32 32 32 32 32 or 16 bits. or 64 bits. bits or up to 256 bytes. bits or up to 256 bytes. bits or up to 256 bytes. see Data Code Tables, Section 420:141. none. none . none . none • automatic Special Cases of Operands (binary only) .221 Negative numbers: .•. 2 's complement and sign bit. .222 Zero: ••.••...... only positive zero. .223 Operand size determination Fixed size: ••••... halfword (16 bits), full word (32 bits), or double word (64 bits), implied by instruction used. Variable size: . . . . . 32-, 40-, 48-, or 56-bit floating-point fraction, set by a console switch. binary • 23 32 or 64 bits . Instruction Formats .231 Instruction structure: . 16 bits, or 32 bits for instructions that reference storage . . 232 Instruction layout and parts: . . . . . . . see Paragraph 435:051.121. . 234 Basic address structure:. . . . . • .• • 2 + 0; variation in instruction length is due to the fact that one operand may be designated by either a register address or a main storage address. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 IBM SYSTEM/360-MODEL 44 435:051. 235 .235 LiteralsArithmetic: ...••. none. Comparisons and tests (logical): ... 1 byte . . Incrementing modifiers: . . . . . . none; increment is either -lor contained in a register. . 236 Directly addressed operands - .2394 End value: .•••... implied as zero for Branch on Count; for Branch on Index, the value is in a storage location specified by the instruction. .2395 Combined step and test: • . . . • . . . . . yes. . 24 Internal storage Minimum Maximum Volume type size size accessible Core storage: General registers: 1.byte 1 register 256 bytes 16 registers 16,777,216 bytes* 16 one-word registers '* If base registers are used for relative addressing, a maximum of 4, 096 bytes .is accessible via each register so allocated. .237 Address indexing .2371 Number of methods: . 2. .2372 Names: . . • . . . . . . (1) indexing using the base register addresses. (2) indexing using the X field (in instruction format RX only); permits double indexing if used with method (1) . . 2373 Indexing rule: . . . . . base address and index field are treated as 24-bit positive binary integers; displacement is treated as a 12-bit positive binary integer. All these are added to form a 24-bit binary integer, ignoring overflows. .2374 Index specification: .. base address (B) field and index (X) field both specify the number of a register. .2375 Number of potential indexers: . . . . . . . 16. .2376 Addresses which can be indexed Type of address .2377 . 2378 . 238 . 239 .2391 .2392 .2393 5/66 Application Storage reference: .. ail can be indexed by base register contents. Storage address in RX instruction format: ...••.•• can have double indexing (by base register and index register). Cumulative indexing:. via double indexing . Combine index and step: . . . . . . . . . '. none . Indirect addressing: .. none. SteppingSpecification of increment: . . • . . . . . . . always minus one for Branch on Count. Increment sign: .. . . minus for Branch on Count; minus or plus for Branch on Index. Size of increment: .• always one for Branch on Count; 32 bits for Branch on Index. Special Process Storage .241 Category of storage Number of locations Size in bits Program usage General registers: 16 32 indexing, base addresses, and accumulators. Floatingpoint registers (optional) : 4 64 floating-point operations. Program Status Word: 1 64 holds location counter and various flags. Channel Control Word: 1 64 holds I/O control information. .3 SEQUENCE CONTROL FEATURES · 31 Instruction Sequencing .311 Number of sequence control facilities: ..• 11 Program Status Words (PSW), only one of which is active at a time. · 312 Arrangement: . . . . . . one PSW for initial program loading, two for each of the 5 types of interruption: I/O, program, . supervisorcall, external,and machine check. .313 Precedence rule: . . . . priority of interrupts: (1) machine check (2) program or supervisorcall (3) external (4) I/O. · 314 Special sub-sequence counters: . . . . . . . . none. .315 Sequence control step size: . . . . . . . . . . . halfword. .32 Look-Ahead: . . . . . . . none. .33 Interruption (see also Paragraph 420:051. 123) · 331 Possible causes Input-output units: .. unit available. unit ceased transmission . unit malfunction before transmission starts. Input-output controllers: . . . . . . . controller available • controller ceased transmission (perhaps because of error noted during transmission). controller malfunction before transmission starts. (Contd.) fA AUERBACH '" CENTRAL PROCESSOR 435:051. 332 Processor errors: ... illegal operation code. operation code and data incompatible. overflow, underflow, or divide error. all-zero floating-point result. operand incorrectly aligned. violation of storage protection. Other: . . • . . . . . . . . supervisory routine violation. system malfunction. external action from console or another system. . 332 Control by routine Individual control: . . . . . . . . . . acceptance or non-acceptance of I/O interrupts can be controlled by channel. length checks are controlled by specific instruction. Method: . . . • . . . . . specific bits in Program Status Word. (These bits are normally controlled by the system, not by the user's program.) • 333 Operator control: . . . . operator may only initiate a request for an external interrupt. .334 Interruption con(1) interruption condition ditions: . . . . . . signalled. (2) interruption condition attains the necessary priority on a channel to be forwarded to the computer interface (I/O interrupts only). (3) this interrupt not masked out by program or system masks . . 41 Instruction Times in Microseconds (4) processor in a mode of operation in which this type of interrupt is allowed to occur. .335 Interruption process Interruption action: present PSW (Program Status Word) is stored and replaced by a standby PSW. Registers saved: ... none of the 16 general registers are saved automatically. Each must be stored one at a time. Most of the necessary operational data is saved in the old PSW . Destination: . . . . . . . contained in standby PSW; one of 5 locations corresponding to the 5 levels of interrupt conditions. .336 Control methods Determine cause: ... analysis of flags by appropriate standard routines. Enable interruption: . . . . . . . . . . by setting of bits in the PSW or an I/O control word. .34 Multiprogramming: .. no special provisions. .35 Multisequencing: .... none. .4 PROCESSOR SPEEDS All System/360 Model 44 instructions use one or more of the 16 general processor registers during their execution. The standard Model 44 general registers are in a non-addressable extension of the I-microsecond main core storage. Optionally, the High-Speed General Registers feature can be installed, replacing the standard general registers with 16 high-speed general registers with a cycle time of 250 nanoseconds per word. Most Model 44 Processing Unit performance timings will vary depending on whether the general registers reside in core storage or in high-speed circuits. .411 Fixed point (binary only) Add-subtract: •••••••••• Multiply: •••••••••••••• Divide: •......•••••.•.• .412 Floating point - Standard Registers 4.75 18.0* 32.75 Long + Short Add-subtract: ••••••••••• 8.32 5:31 Multiply: ••••••••••••••• 63.13 15.50 Divide: •....•...•.••.... 127.0 24.75 .413 Additional allowance for Single indexing: ••••••••• O. 0 Double indexing: •••••••• 1. 0 (standard registers) or 0.75 (high-speed registers). Indirect addressing: ••••• none. Recomplementing: ••••••• none . . 414 Control: Compare Standard Registers Fixed point: . . . . . . . . 4.0 Floating point (long): .. 7.35 Floating point (short): . 4.74 Logical: . . . . . . . . . . . 4.0 Branch: . . . . . . . . . . . . 2.75 * High-Speed Registers 2.25 15.75 * 29.0 Long + Short -;r,-57 ~6 62.38 126.25 14.75 24.00 High-Speed Registers 2.25 6.60 3.99 2.25 2.0 Average figure. + Based on full 56-bit preciSion for floating-point fractions. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 435:051. 415 .415 Counter control Step: . . . • • . . . • . . Step and test: . . . . . Test . . . . . . . . . . . .416 Edit: . . . • • . . . . . . . .417 Convert: . . . • . . • . . .418 Shift: . • . . . • . . . . . IBM SYSTEM/360- MODEL 44 Standard Registers High-Speed Registers 4.75 3.75 4.0 none . none • widely variable . 2.25 2.75 2.25 . 42 Processor Performance in Microseconds .421 For random addresses High-Speed Registers Standard Registers Fixed Point Floating Floating Floating Fixed Point Binary Point (Long) Point (Short) Point (Long) Binary 7.0 16.57 c = a + b: . . • . . . 13. U 11.56 18.82 7.0 16.57 b = a + b: . . . . . . 13.0 11.56 18.82 Sum N items: ... 4. 75(N) 2. 25(N) 7. 57(N) 5. 31(N) 8. 32(N) 20.50 71.38 c = ab: . . . . . . . . . . 26.25 21. 75 73.63 31. 00 33.75 135.25 c = alb: . . . . . . . . . 41.00 137.50 .422 For arrays of data 14.50 33.96 ci = ai + bj: . . . . . . . 26.25 38.21 .25.43 25.43 14.50 33.96 bj = ai + bf . . . . . . . 26.25 38.21 17. 89(N) Sum N items: . . . . . 13. 25(N) 14. 37(N) 7.25(N) 20. 39(N) 27.50 89.59 c = c + ai bj: . . . . . . 39.0 35.18 92.84 .423 Branch based on comparison High-Speed Registers Standard Registers 24. 75(N) Numberic data: . . . . 43. 50(N) 24. 75(N) Alphabetic data: . . . . 43. 50(N) .424 -Switching 7.25 Unchecked: . . . . . . . 11.25 14.75 Checked: . . . . . . . . 21. 75 11. 0 + 11. 25(N) List Search: . . . . . . 20.0 + 18. 5(N) .425 Format control Unpack: . . . . . . . . . none. Compose: . . . . . . . . none. .426 Table look-up, per comparison High-Speed Registers Standard Registers 10.25 For a match: . . . . . . 17.50 For least or 16.0 greatest: . . . . . . . 26.0 For interpolation 10.25 point: . . . . . . . . . 17. 50 .427 Bit indicators Set bit in separate 2.75 location:. . . . . . .. 3.50 2.25 Set bit in pattern:. .. 4.75 Test bit in separate 3.75 location: . . . . . . . . 5.25 3.5 Test bit in pattern: .. 5.0 4.75(B) .428 Moving: . . . . . . . . . . 8. 25(B) where B = number of bytes rnoved. ERRORS, CHECKS, AND ACTION .5 Action .Check or Interlock Overflow: check forced transfer to program interrupt routine. forced transfer to program Underflow (floating-point): check interrupt routine. forced transfer to program Zero divisor: check interrupt routine. forced transfer to program Illegal data: check interrupt routine. Forbidden operation: check forced transfer to supervisor interrupt routine. Unavailable operation: check forced transfer to program interrupt routine. Illegal storage address: check forced transfer to program interrupt routine. Receipt of data: parity check forced transfer to machine error or input/output interrupt routine. Dispatch of data: send parity bit. 5/66 A AUERBACH ® Floating Point (Short) 9.31 9.31 4. 56(N) 19.50 28.75 21.18 21.18 11. 87(N) 31. 93 ,/ 435: 111. 100 ! ~ ~ AUERBACH • STAMDARD EDP IBM SYSTEM/360 MODEL 44 SIMULTANEOUS OPERATIONS REPORTS SIMULTANEOUS OPERATIONS A System/360 Model 44 system can concurrently execute: o One machine instruction; and o Up to four input-output operations on each of the two (maximum) HighSpeed Multiplexor channels; and /I) Multiple additional input-output operations (up to 64) via the Multiplexor Channel. When the Multiplexor Channel or High-Speed Multiplexor Channel is operated in the burst mode, only one input-output operation can proceed on that channel, but "interference" with central processor operations is less than in the multiplex mode. Multiplex-mode operations on either type of channel permit concurrent input-output data transfers on each subchannel, provided that the aggregate data rate does not exceed the capacity of the channel. The optional Direct Data Channel can be installed in place of the second HighSpeed Multiplexor Channel. The Direct Data Channel provides a 32-bit-wide data path between core storage and up to eight "foreign" input-output devices, i. e., external devices from a manufacturer other than IBM. In its normal mode of operation, the Direct Data Channel permits a single data transfer operation to be overlapped with internal processing. The maximum data transfer rate in this mode is 500,000 32-bit words per second. When operating in the "Priority-In" mode, the Direct Data Channel locks out all other input-output and internal processing operations and p'ermits data transfer to occur at up to 1,000,000 words per second. Use of the Direct Data Channel requires installation of the first High-Speed Selector Channel. The specific characteristics of the Model 44 Multiplexor, and Direct Data Channels can be summarized as follows: High~Speed Multiplexor, Multiplexor Channel Maximum number: ... ' .•... Maximum data rate, Channels not operating Multiplexed mode: . . . . . . . . . . . . . . Burst mode: . . . . . . . . . . . . . . . . . . Processor demand: . . . . . . . . • . . . . . . . l. 50 kilobytes/sec. 200 kilobytes/sec. 1 JJ.sec/byte in Burst mode, up to 5 JJ.s,ec/byte in Multiplexed mode; see Table 1. Number of control unit positions: . . . . . . . 8. MiLximum number of subchannels: . . . . . . 64. High-Speed Multiplexor Channel Maximum number: . . . . . . . . . . . . . . . . . Maximum data rate Multiplexed mode (each): . • . . . . . . . . . . Burst mode Each, with two operating: . . . . . . . . . One operating: . . . . • ' . . . . . . . . . . . . Processor demand: . • . . . . . . . . . . . . . . Number of control unit positions: . . . . . . . Maximum number of subchannels: . . • . . . . 2. 200 kilobytes/ sec. 400 kilobytes/sec. 500 kilobytes/ sec. 0.5 JJ.sec/byte; see Table 1. 8/channel. 4/channel. Direct Data Channel Maximum number: . . • . . . . . . . . . . . . . . Maximum data rate Normal mode: . . . . . . . . . . . . . . • . . . . Priority-In mode: . . . . . . . . . . . . . . . . Processor demandNormal mode: . . . . . . . . . . . . . • . . . . . Priority-In mode: . . . . . . . . . . . . . . . . Number of control unit positions: . . . . . . . Maximum number of subchannels: . . . . . . l. 500,000 words/sec. 1,000,000 words/sec. 25% of data transfer time. 100% of data transfer time. 8. none. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 IBM SYSTEM/360- MODEL 44 435:111. 101 TABLE I: INPUT-OUTPUT DEMANDS ON THE SYSTEM/360 MODEL 44 PROCESSOR Demand on Processor, per cent, via Device Peak Data Rate, KB/sec* Average Data Rate, KB/sec* 156 90 156 90 High-Speed Multiplexor Channel Multiplexor Channel 7.8 4.5 15.6 9.0 Random Access 2311 Disk Drive** Single Disk Storage Drive** Punched Card 2540 Card Read Punch: Read, 1,000 cpm Punch, 300 cpm 1442 Model N1 Card Read Punch: Read, 400 cpm Punch, 91 cpm 1442 Model N2 Card Punch, 91 cpm 2520 Model Bl Card Read Punch: Read, 500 cpm Punch, 500 cpm 2520 Card Punch: 500 cpm (Model B2) 300 cpm (Model B3) 2501 Card Reader: 600 cpm (Model B1) 1, 000 cpm (Model B2) Printers 1403: 132 columns, 600 lpm (Model 2) 120 columns, 600 lpm (Model 7) 132 columns, 1,100 lpm (Models 3, N1) 1443, 120 columns, 240 lpm Punched PaEer TaEe 2671 Paper Tape Reader, 1,000 cps Magnetic Tape 2400 Series: Modell, 300 KB/sec** Models 2 and 4, 60 KB/sec** Model 3, 90 KB/sec** Model 5, 120 KB/sec** Model 6, 180 KB/sec** 1.3 0.40 0.65 0.02 6.5 max. 0.20 max. 0.53 0.12 0.12 0.53 0.12 0.12 0.03 0.01 0.01 0.26 max. 0.06 max. 0.06 max. 0.67 ? 0.67 0.67 0.03 0.03 0.33 max. 0.33 max. ? ? 0.67 0.40 0.03 0.02 0.33 max. 0.20 max. 0.80 1.3 0.80 1.3 0.04 0.65 0.40 max. 6.5 max. 70 70 1.3 1.2 0.65 0.06 6.5 max 0.60 max. 70 70 2.4 0.48 0.12 0.02 1. 2 max. 0.24 max. 1 1 0.05 0.50 max. 30 60 90 120 180 30 60 90 120 180 70 70 * Kilobytes (thousands of bytes) per second. ** Operates in burst mode exclusively. 5/66 A AUERBACH '" 1.5 3.0 4.5 6.0 9.0 3.0 6.0 9.0 12 18 435:151.100 A• AUERBACH STANDARD ED:!? IBM SYSTEM/360 MODEL 44 SOFTWARE REPORTS SOFTWARE Because of its restricted instruction repertoire and its built-in Single Disk Storage Drive for use by the programming systems, the Model 44 does not use the extensive array of standard System/360 software that IBM is providing for Models 30, 40, 50, 65, and 75. However, two levels of software are currently offered for use with the Model 44: Programming System and Basic Programming Support. The Model 44 Programming System package is especially designed for use with the Model 44 processor, whereas the three Basic Programming Support programs (Assembler, FORTRAN, and utilities) are virtually identical to comparable programs in the standard System/360 Basic Programming Support (BPS) package. . 11 The Disk Resident Monitor of the Model 44 Programming System is a sequential batch processing monitor program, designed to supervise the execution of one program at a time and to control the automatic transition from program to program at end of job time. The Monitor includes full interrupt handling facilities and error condition routines. The interrupt control routines provide exit points for optional insertion of programmersupplied subroutines. Utility routines, such as program and machine diagnostic routines, are also provided by the Monitor. All Monitor facilities are accessible to the problem prqgrams. Another essential function pe~formed by the Disk Resident Monitor is control of input-output devices and supervision of their data transfer operations. The devices presently supported by the Monitor are listed in Table 1. No automatic control routines are currently provided for data communications and display devices. The Disk Resident Monitor and its I/O control routines will be available in January 1967. MODEL 44 PROGRAMMING SYSTEM \ '- IBM is providing specialized software for use with the Model 44 in order to use the processor's restricted instruction repertoire as efficiently as possible, and to take advantage of the built-in Single Disk Storage Drive. All Model 44 Programming System software is disk-resident, and the total package occupies approximately 500,000 bytes of the 1,171,200 bytes provided by an IBM 2315 Disk Cartridge used with the Single Disk Storage Drive. The Model 44 Programming System can function with the minimum amount of processor core storage (32,768 bytes), and can utilize any additional core storage to the system maximum of 262,144 bytes. Additional Model 44 configuration requirements for use of Programming System software include a 2315 Disk Cartridge for software systems reSidence, a Multiplexor or High-Speed Multiplexor Channel, a card reader and card punch, a line printer, and any associated control units. The optional Floating Point Arithmetic feature is also required to use the Programming System FORTRAN N compiler and to execute all programs generated by that compiler. Disk Resident Monitor . 12 Disk Resident FORTRAN IV The Model 44's Disk Resident FORTRAN IV language provides all of the facilities proposed for inclusion in the American Standards Association's Basic FORTRAN language. The Disk Resident FORTRAN IV language is directly compatible with the 10K-byte level FORTRAN supplied with the standard System/360 Basic Programming Support package (and described in Section 420:163). Both single- and double-precision floating-point arithmetic operations can be specified in the Disk Resident FORTRAN IV language. The IBM System/ 360 Scientific Subroutine Package (SSP) is also provided, giving the Model 44 FORTRAN programmer access to a library of 133 FORTRAN-language subroutines to perform statistical functions, matrix .~ TABLE I: I/O DEVICES SUPPORTED BY DISK RESIDENT MONITOR Unit Supported ( ',,- Console Printer Keyboard 1403 Printer, Models 2, 3, 7, N1 1442 Model N1 Card Read Punch 1442 Model N2 Card Punch 1443 Model N1 Printer 2501 Card Reader, Models B1, B2 2520 Model Bl Card Read Punch 2520 Card Punch, Models B2, B3 2540 Card Read Punch 2311 Disk Storage Drive 2400 Seri-es Magnetic Tape Drives, Models 1 through 6 Standard Single Disk Storage Drive Optional Single Disk Storage Drive Function Operator communication Output, compiler listings Input, output Output Output, compiler listings Input Input, output Output Input, output Input, output Input, output, compiler listings Software residence, input, output Input, output © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 IBM SYSTEM/36Q-MODEL 44 435: 151. 120 . 12 Disk Resident FORTRAN IV (Contd.) core storage, but can effectively utilize additional core storage up to only 65, 536 bytes. manipulations, and other mathematical functions. The Floating Point Arithmetic feature must be installed to compile and/or execute Disk Resident FORTRAN IV programs. other minimum configuration requirements for use of the Basic Programming Support software include a Multiplexor or High-Speed Multiplexor Channel, a card reader and card punch, a line printer, and all associated control units. Use of the magnetic tape-oriented FORTRAN compiler requires in addition a minimum of three tape drives and the Floating Point Arithmetic feature. The built-in Single Disk Storage Drive is not utilized by this software for program residence. The Disk Resident FORTRAN IV compiler will be available in January 1967. . 13 Disk Resident Assembler .14 The Disk Resident Assembler supplied for use with the System/360 Model 44 provides symbolic language to handle all available Model 44 instructions, including floating-point instructions and instructions designed for the control of special features in the processor, such as Read/Write Storage Protect and Priority Interrupt. Standard pseudo-operations for control of the assembly operation and the facility to use literal data are also provided. The Model 44 Assembler is directly compatible with and provides facilities identical to the Basic Programming Support Tape Assembly language that is available in the standard System/360 software and described in Section 420:173. The Disk Resident Assembler will be available in January 1967. Disk Resident Utilities The utility programs supplied for use with the Model 44's disk-resident Programming System include a program loader and file-to-file data transcription routines for all the input-output units listed in Table I. Like all other elements of the Model 44 Programming System software, the Disk Resident Utilities package will be delivered in January 1967. .2 .21 Like the Model 44 Disk Resident FORTRAN language, the Tape FORTRAN language provides all the facilities of the American Standards Association's Basic FORTRAN language. The language also provides all of the facilities available with the Disk Resident language described in Paragraph . 12 of this section. The Tape FORTRAN compiler is a "stand-alone" program; it requires the use of three magnetic tape units for compilation and a fourth tape unit for the compile-and-go capability. (Magnetic tape units that record data at the 1, 600-bpi density cannot be used with the Tape FORTRAN compiler.) The compiler also requires use of the Floating Point Arithmetic processor feature. The Tape FORTRAN compiler will be available in October 1966. .22 Card Assembler The Model 44 Basic Programming Support Card Assembler is a stand-alone program that provides all the symbolic language facilities of the standard System/360 card assembler that is described in Section 420:173. The Model 44 Basic Programming Support software does not provide any I/O device control routines, error routines, or interrupt handling routines; all such routines must be handcoded by the problem programmer. Pseudoinstructions are provided, but specialized macro routines to handle optional features in the processor, such as Direct Data Channel, Direct Word, and Priority Interrupt, are not available. The Card Assembler will be delivered with the first Model 44 systems, beginning in .october 1966. MODEL 44 BASIC PROGRAMMING SUPPORT Early users of the System/360 Model 44 will be provided with three independent software support programs, called the Model 44 Basic Programming Support, to be used until the specially-designed Model 44 Programming System package is made available. First deliveries of the Model 44 system are expected in October 1966, but its Programming System software system will not be available until January 1967, as noted above. The interim Basic Programming Support software is limited in scope and automatic programming facilities. The only input-output devices supported by this software include: 1442 and 2540 Card Read Punch, 2501 Card Reader, 2520 Card Punch, 1403 and 1443 Printer, and Models 1, 2, and 3 of the 2400 Series Magnetic Tape Units. Basic Programming Support software functions with the Model 44 processor's minimum 32,768 bytes of Tape FORTRAN .23 utility Programs Model 44 Basic Programming Support software also includes a package of utility routines that provide file-to-file data transcription capabilities for the devices listed in Paragraph. 2. /' 5/66 A AUERBACH @ 435: 20 1. 001 A AUERBACH SUMOAAD EDP IBM SYSTEM/360 MODEL 44 SYSTEM PERFORMANCE RfPIIR'S SYSTEM PERfORMANCE ( GENERALIZED FILE PROCESSING (435:201.100) The System/360 Model 44 is designed primarily as a scientific-oriented system, yet it can perform standard business data processing functions. For this reason, the Model 44's performance is measured on our four standard file processing problems. The lack of radix conversion instructions and good output editing instructions degrades the overall performance of the Model 44 when processing business-oriented problems of this type. The problems involve updating a master file from information in a detail file and producing a printed record of each transaction. This application is one of the most common commercial data processing jobs and is fully described in Section 4:200.1 of the Users' Guide. Standard File Problems A, B, and C show the effects of varying record sizes in the master file. Standard Problem D increases the amount of computation performed upon each transaction. Each problem is estimated for activity factors (ratios of number of detail records to number of master records) of zero to unity. In all cases a uniform distribution of activity is assumed. The master files are arranged primarily in binary format to accommodate the 4-byte binary word organization of the Model 44 processor. All computation is performed in fixed-point binary mode. Processing of the detail records and report files requires the use of time-consuming binary-to-decimal and decimal-to-binary conversion subroutines. In the absence of definitive execution times for IBM's radix conversion subroutines, these times have been estimated by our editorial staff. For all four configurations (V, VI, VIlA, and XI), the master files are on magnetic tape, arranged in various block sizes. The detail file is assigned to the card reader and the report file to the printer. The master-file tape units are connected to a High-Speed Multiplexor Channel, and tape reading and writing can fully overlap processing and the other input-output operations. The card reader and printer are each connected to a subchannel of a standard Multiplexor Channel. For all configurations on all four of the Standard File Problems, the master-file tape times are the controlling factor at very low activities, and the printer is the controlling factor thereafter. SORTING (435:201. 200) Although no sort program is supplied as part of the Model 44' s standard software, estimated times to perform standard 3-way tape sort operations are graphed to permit comparisons with other systems. The estimating procedure is described in Paragraph 4:200.213 of the Users' Guide. MATRIX INVERSION (435:201. 300) The standard estimate for inverting a non-symmetric, non-singular matrix was computed by the simple method in Paragraph 4:200.312 of the Users' Guide. In order to execute this procedure in floating-point form, the optional Floating-Point Arithmetic feature must be included on the Model 44. Two lines are shown on the graph, one using the short floatingpoint format (7-digit precision) and the other using the long format (17-digit precision). The Model 44's standard general registers are assumed to be present in the processor. GENERALIZED MATHEMATICAL PROCESSING (435:201. 400) Standard Mathematical Problem A is an application in which there is One stream of input data, a fixed computation to be performed, and one stream of output results. Two variables are introduced to demonstrate how the time varies with different proportions of input, computation, and output. The factor C is used to vary the amount of computation per input record. The factor R is used to vary the ratio of input records to output records. The procedure used for the Standard Mathematical Problem is fully described in Section 4:200.2 of the Users' Guide. The optional Floating-Point Arithmetic feature must be included on the Model 44 in order to perform the floating-point computations required in this problem. Double-length operations were used, since the problem specifications demand a minimum of 8-digit precision and single-length floating-point operations provide only 7-digit precision. However, by setting an operator-controlled switch on the Model 44's console, the length of double-length floatingpoint arithmetic operations can be reduced from 17-digit precision to 9-digit precision, © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 IBM SYSTEM/3~0 - MODEL 44 435:201. 002 with consequent reduction in the floating-point instruction execution times (see Model 44 Central Processor, page 435:051). Therefore, 9-digit precision, "long" floating-point computations have been performed throughout this problem. Graph 435:201. 400 shows three curves. The curve marked "R = 1. 0" shows one output record for every input record. The other two curves show one output record for every tenth (R = 0.1) and every hundredth (R = 0.01) input record. There is very little difference between these latter two curves. For configurations VI and VIlA (and Configuration XI at the O. 1 and 0.01 output ratios), the central processor becomes the controlling factor when more than 40 times the standard amount of computation is performed. The printer in Configuration XI is the controlling factor virtually throughout the problem when there is one output record for every input record. , WORKSHEET DATA TABLE 1 ! CONFIGURATION ITEM REFERENCE V 1 Char/block Records/block 1,056 1,056 12 12 12 51. 2 125 File 4 O_ _. _ ~=~ f----- _ _ ..!.ik2. _ _ _ f . . - .__O_ _. _ ° Central Processor Times msee/record msee/detail msee/work msee/report Standard File Problem A F = 1.0 [or C.P. 1-- ___ O.4~ b7 + ba ~--- ~.--a3K dominant I/O ~asterIn column. ~asterOut Printer Printer C.P. 0 ~~- ---~- ____ O.~ _ _ _0_.4~ 0.60 0.60 0.44 0.44 ------0.97 -----0:97 - -----_.- - - - ' : Printer C.P. Printer C.P. 0.44 - - 'l:~ ---- -' 6 4 . 1 - - - - - Ei4.i""'- - 0.53 0.53 0.53 ~- - - ---;;:-53-- - -0.-5-3-- - - --0:53- - ~. -- 4.'8-- -4 . 8 0.44 0.44 0.44 ~- 1 - - - - 1.1t-- ~- ~- ~- 64.1 4:200.114 ~- 1500.0 - 7.2 1500.0 7 : 2 - 1500.0- 7 : 2 - 1500.-0-78.76 1500.0 ,_ I - - G,OOO (?) ~--Standard File Problem A Space 78.76 1,566 5,5_62_ _ _ 5,562 ~--- 4,624 4,624 100 100 17 980 17 980 Fixed floating point Unit name - -~.--output Size of record ~. ~ Tl output T2 ~2L- ---output T4 T5 Tn T7 output msec penalty ~ord ~ops msec!report _ 1500.0 7.2 ""3600:0 - 78.76 3600.0 I--~)- I-~O~ ~- 128 1,5_6_6_ _ _ WorkinQ' msec/block 6,000 (?) __ 12_8_ _ _ ~ckslt023) ~kS24t048) To"! 5/66 ___0 _ 0 Unit of measure (bytes) ~routines Standard Mathematical Problem A ------- 78.76 Total. _ _0_ _ _ 0.15 . - ----O:~ 4:200.1132 - . - - - . - _ _ _ _ 1_.9_ _ _ - - 1 - . 9 - - ' - - ' - - - 1 9 _ 1.9 --3-.3-3.3 3.3 3.3 ~. File 4: .Reports 5 0.60 0.44 I--- - 0.44 ~--- - - I-----o~ I--0.097 ~------~ -----0.15- ~etails 4 0 ___0._53_ _ 0.60 C.P. and 1-------'-- _ _ _ ° 0_ _ _. _ _ ~--- '---~- ~.--~.--- - - -10051. 2 ---125 1 - - - _ _0_ _ _ _ _ _0 _ 4:200.112 1-- 3 mseclblock 125 125 ..Elk.!..o~ ,...--~File 4 msec/block 12 I----~- 1------_.- I--~1- ___10_o_ _. - f---~~--- I----~- File 4 2 1,056 1,056 msee/switch msee ,penalty XI (File 1) ~~~ Times VIIA (File 1) msec/block Standard File Problem A InputOutput K VI .- f-----~ - I-- _ _1_2_8 _ I--~- f----~- I--~100 100 17 980 17,980 Floating point :waung pu," 4:200.1151 ~- t----~ 2501 Card Reader, Mod Bl 2501 Card Reader, Mod. Bl 2501 Card Rea~ 1443 Printer. Mod Nt 1403 Printer, Mod 7 1403 Printer. Mod 7 80 bytes 80 bytes 80 bytes 80 bytes 80 bytes 80 bytes 100 100 100 100 100 250 ~ 0.40 0.40 0.40 0.40 0.40 0.40 2.22 2.22 2.22 2.52 2.52 2.52 1. ~8 1. 58 1. 58 4:200.413 ( - (Contd. ) A AUERBACH '" / 435: 20 1. 100 SYSTEM PERFORMANCE .1 GENERALIZED FILE PROCESSING . 11 Standard File Problem A .113 Timing basis: . . . . . . using estimating procedure outlined in Users' Guide, 4:200.113. . .114 Graph: . . . . . . . . . . . see graph below . .115 Storage space required Configuration V: ... 17, 980 bytes. Configuration VI: ... 17,980 bytes. Configuration VIlA: . 17, 980 bytes . Configuration XI: ... 17,980 bytes. . 111 Record sizes Master file: . . . . . . 108 data characters, packed as 88 8-bit bytes. Detail file: . . . . . . . 1 card. Report file: . . . . . . . 1 line. . 112 Computation: . . . . . . . standard, using fixedpoint binary arithmetic. 100.0 7 2 / 10.0 7 .., #' W \ "- 2 1.0 ~ ~ ~ / J 4 Time in Minutes to Process 10,000 Master File Records V-- ~ I /' ~7o/ .- 7 1.0 _C1' ~ 4 I'VIIA "",,"'" I' 2 ~ /O'?' /' I " 0.0 0.1 0.1 7 I ,,, 4 2 0.01 0.33 1.0 I \ Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations; curve marked CP shows central processor time.) © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 IBM SYSTEM/360 - 435: 20 1. 120 .12 Standard File Problem B MODEL 44 .122 Computation: . . . . . . . standard, using fixed-point binary arithmetic . . 121 Record sizes - .123 Timing basis: . . . . . . using estimating procedure Master file: . . . . . . 54 data characters, packed as 44 8-bit bytes. Detail file: . . . . . . . 1 card. Report file:. . . . . . . 1 line. outlined in Users' Guide, 4:200.12. .124 Graph: . . . . . . . . . . . see graph below. 100.0 7 4 2 "",-- / 10.0 ~ ------ ----- ~~ L 7 I ~ ~ 4 Time in Minutes to Process 10.000 Master File Records 2 1.0 7 4 I /" rrt;;~r/ --- ., ...c"P IIVIIA ~ ./ -"" G~/ 2 /~ j 0.1 ~. 7 I I 4 II ,/ 2 0.01 0.0 O. 1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations; curve marked CP shows central processor time.) 5/66 (Contd.) A AUERBACH OJ 435: 20 1. 130 SYSTEM· PER FOR MANCE I '" .13 .132 Computation: . . . . . . . standard, using fixed- Standard File Problem C point binary 3y.i.thmetic . basis: . . . . . . using estimating oro(~edure outlined in Usen," Guide, 4:200.13. . 134 Graph: . . • • • . . • . . . see graph below. . 131 Record sizes - . 133 Master file: . . . . . . 216 data characters, packed as 176 8-bit bytes. Detail file: . . . . . . . 1 card. Report file: . . . . . . . 1 line. Timi~g 100.0 7 4 2 10.0 4 Time in Minutes to Process 10,000 Master File Records , ,, 7 / 2 ~ / AI AfIY L Y ./ 7 III ~VIIA C~' .,;' 2 l ~ ",- --- l' - - =-",,- 1.0 /" JI. 0.1 7 ..- ----- ~ 1/ 1.0 4 ~ .--.. L 4 2 0.01 0.0 o. 1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations; curve marked CP shows central processor time.) © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 435: 20 I. 140 . 14 IBM SYSTEM/360 - Standard File Problem D . 141 Record sizes Master file: . . . . . . 108 data characters, packed as 88 8-bit bytes. Detail file: . . . . . . . 1 card. Report file: . . . . . . . 1 line. MODEL 44 .142 Computation: . . . . . . . trebled, using fixed-point binary arithmetic . .143 Timing basis: . . . . . . using estimating procedure outlined in Users' Guide, 4:200.14. . 144 Graph: . . . . . . . . . . . see graph below. 100.0 7 4 2 / 10.0 II Time in Minutes to Process 10,000 Master File Records 2 ".. ./ J ~o// 1.0 7 ,JI'- 4 C~~ 7 ._____Ci?- -- ~---.... 1.0 / 2 0.1 ~ i/VIlA ------ ~ - , 7 4 /' ~ ..-- / 1 , I' 4 2 0.01 0.0 0.1 0.33 1.0 Activity Factor Average Number of Detail Records Per Master Record (Roman numerals denote standard System Configurations; curve marked CP shows central processor time.) 5/66 fA AUERBACH (!) (Contd. ) 435: 20 1. 200 SYSTEM PERFORMANCE I \. .2 SORTING .21 Standard Problem Estimates . 213 Timing basis: . . . . . . using estimating procedure outlined in Users' Guide, 4:200.213; 3-way tape merge . . 214 Graph: . . . . . . . . . . . see graph below . .211 Record size: . . . . . . . 80 characters. . 212 Key size: . . . . . . . . . 8 characters. 1,000 7 4 2 100 7 4 'I 2 Time in Minutes to put Records into Required Order 10 / , , ,, 7 " 4 I ~ 2 ~'f' / V I I ,'I ./ / ~'\.' ~ ~,'1 / 1 , , 7 "/ 4 /' 2 1,/ 4.11 V / 0.1 100 2 4 7 1,000 2 4 7 10,000 2 4 7 100,000 Number of Records (Roman numerals denote standard System Configurations.) © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 435: 20 I. 300 IBM SYSTEM/360 - . 3· -MATRIX INVERSION .31 MODEL 44 decimal digits in the SHORT format or 17 digits in the long format. .312 Timing basis: . . . . . . using estimating procedure outlined in Users' Guide, 4:200.312. .313 Graph: . . . . . . . . . . . see graph below. Standard Problem Estimates .311 Basic parameters: ... general, non-symmetric matrices, using the optional Floating-Point Arithmetic feature; precision is approximately 7 1.0 7 I 4 , l ~ 2 VIJ I 0.1 I 7 I II I If 4 I J I II d!,F-.'/ 2 ,- §~ '-lJ ;g Time in Minutes for Complete Inversion O. 01 I 7 I I I I II I 4 I I III 2 '1 0.001 • 7 4 2 0.0001 1 2 4 2 7 4 10 7 2 100 4 7 1,000 Size of Matrix 5/66 A (Contd.) . AUERBACH '" 435: 20 1. 400 SYSTEM PERFORMANCE \ ;" I \ .4 GENERALIZED MATHEMATICAL PROCESSING . 41 Standard Mathematical Problem A Estimates "long" floating-point mode, set to 9-digit precision . .413 Timing basis: . . . . . . using estimating procedure outlined in Users' Guide, 4:200.413. Note: use of the optional Floating-Point Arithmetic Feature is assumed. .414 Graph:. . . . . . . . . . . see graph below. .411 Record sizes: . . . . . . 10 signed numbers; average size 5 digits, maximum size 8 digits . . 412 Computation: . . . . . . . 5 fifth-order polynomials; 5 divisions and 1 square root; computation is in 2-+----~--~+-~~~----~--+_+_+1_rHH----_r--+_~~rrrH 4 ~----_+--~_+_+~++++----_+--~_+_+~r++r----_+--~_+_r~rrH XI: R 2 = 1. 0 , _+----_r--+_~~r++++_----r-_+_;_+~++++----~--+_;~~~~. ~~1~ l' ... 1:\' VI, VIlA: R Time in 100 Milliseconds per Input Record 7 ~ 1. 0, 0.1, 0.01; XI: R = ~ ~~, 0.1, 0.01: -~~~~~~~~~·-3~·~l-~-~~~~~~~~~~tt~~~~~~~~I:\· IV "9"+--Ht-t-H 1',-f~+-H .~ " 2 2 0.1 4 7 2 1.0 4 2 7 4 10.0 7 100.0 C, Number of Computations per Input Record (R = number of output records per input record; curve marked "CP" shows central processor time; Roman numerals denote standard System Configurations.) © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 / '. ./ ./ 435:221. 101 A saMDARD EDP AUERBACH IBM SYSTEM/360 MODEL 44 PRICE DATA REPDRTS ~ PRICE DATA: MODEL 44 PRICES IDENTITY OF UNIT CLASS Name No. Monthly Rental $ PROCESSING UNIT 2020 Unit - 32,768 bytes - 65,536 bytes - 131,072 bytes - 262,144 bytes 3,465 4,665 6,265 10,065 Processing Unit Standard Features Single Disk Storage Drive (1,171,200 bytes) Console Printer-Keyboard - Processing Unit Optional Features External Interrupt Floating Point Arithmetic High-:Speed General Registers Multiplexor Channel High-Speed Multiplexor Channel (first) Purchase $ $ 200.00 220.00 250.00 350.00 123,600 179,700 257,700 441,700 - - 30 275 700 350 650 1. 00 11.00 28.00 17.75 29.25 1,260 11,550 29,400 14,680 27,300 4560 4561 4562 4599 Additional High-Speed Multiplexor Subchannels: First Second Third High-Speed Multiplexor Channel (second) 125 125 125 360 6.00 6.00 6.00 18.00 5,250 5,250 5,250 15,100 4565 4566 4567 3275 3288 3621 4555 9509 5625 Additional High-Speed Multiplexor Subchannels: First Second Third Direct Data Channel Direct Word Emergency Power-Off Control High Resolution Interval Timer Pin Feed Platen Priority Interrupt 125 125 125 800 275 NC 100 NC 400 6.00 6.00 6.00 30.00 3.00 NC 2.00 NC 10.00 5,250 5,250 5,250 33,600 11,550 NC 42,000 NC 16,800 Store and Fetch Protection, for: Model E Model F Model G Model H 225 275 325 400 4.00 4.75 5.50 7.00 9,450 11,550 13,650 16,800 NC NC NC NC NC NC NC NC NC NC NC NC 230 40.00 9,775 90 3895 4427 4583 5248 4598 / Processing Model E Model F Model G Model H Monthly Maintenance I \ 7531 7531,7532 7531-7533 7531-7534 I i \ " 2251 2252 7500 7501 6415 2315 Console Printer-Keyboard Multiplexor Channel Attachment Console Printer-Keyboard High-Speed Multiplexor Channel Attachment Single Disk Storage Drive Multiplexor Channel Attachment Single Disk Storage Drive High-Speed Multiplexor Channel Attachment Second Single Disk Storage Drive Disk Cartridge - - For prices of the System/360 peripheral devices, please refer to the general System/360 Price Data section, which begins on page 420:221. 101. © 1966 AUERBACH Corporation and AUERBACH Info, Inc. 5/66 "" .. , . ..'~"', .,: ...... , .... ;. ./ .. ~
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c041 52.342996, 2008/05/07-21:37:19 Create Date : 2018:05:10 16:23:34-08:00 Modify Date : 2018:05:11 14:00:59-07:00 Metadata Date : 2018:05:11 14:00:59-07:00 Producer : Adobe Acrobat 9.0 Paper Capture Plug-in Format : application/pdf Document ID : uuid:b124abc3-9a1f-0946-b8b0-d578d38d9e51 Instance ID : uuid:74ea684b-cec5-b84b-8a7b-2bec26790260 Page Layout : SinglePage Page Mode : UseOutlines Page Count : 978EXIF Metadata provided by EXIF.tools