## General information

The IBM 1620 was a general-purpose, stored-program data processing system for small businesses, research and engineering departments of large companies, and schools requiring solutions to complex problems in the areas of engineering, research, and management science.

- Punched card, paper tape and keyboard input; card, paper tape and printed output.
- Simultaneous read, compute and punch when using card input-output.
- Large-capacity core storage - up to 60,000 digits.
- High internal processing speeds. Access time - 20 microseconds.
- Compatibility with other IBM equipment through FORTRAN.
- Real-time input and output features enabled the 1620 to be expanded into a closed-loop process control system (IBM 1710).
- Available in a wide variety of systems configurations with many special features available upon request.
- Low installation and operating costs.
- A comprehensive but simplified operator's console.
- Simple but powerful instruction set.
- Decimal and alphameric notation eased program writing and clarified report writing.
- Variable field and record length for optimum use of storage.
- Extensive library of programming systems.
- Simplified two-address instruction format. One instruction could perform any one of the following combinations:

Find, add and store the sum of two numbers.

Designate the data to be operated upon, specify the return address from a subroutine, and branch to a subroutine.

Transmit from location to location an entire record regardless of length.

Contain a constant for use in a problem in addition to the operation performed.

- Automatic validity checking of all data transfers, arithmetic functions, and input-output operations.
- Automatic sign control.
- Additional instructions available.
- Automatic floating point feature available.

**Physical characteristics**

Solid-state components.

High reliability with low maintenance.

## Internal data representation

Self-checking, six-bit, binary-coded decimal.Four-bit numerical value (1-2-4-8)

Flag-bit for field and sign designation.

Check-bit to give odd parity check.

Direct conversion from card code to two-digit alphameric coding.

## Processing speeds

**Fixed point operations**

Basic machine cycle was 21 microseconds. Time included the fetching of two factors and was the complete interval elapsed from one instruction to the next.

Addition or subtraction (5 digits) - 560 microseconds. A rate of 1,780 per second.

Multiplication (5 digits by 5 digits) - 4.96 milliseconds. A rate of 200 per second.

Division (5-digit quotient) with automatic divide feature - 16.86 milliseconds. A rate of 56 per second.

Logical decisions - 200 microseconds. A rate of 5,000 per second.

Data transmission of 5-digit fields - 360 microseconds. A rate of 2,800 per second.

**Optional automatic floating point operations**

When using this hardware feature, floating point numbers consisted of a variable length mantissa with a two digit exponent. So that the required degree of precision could be specified, the mantissa could vary from 2 to 100 digits in length and the exponent field could range from -99 to + 99.

The times listed are based on a two-digit exponent and an eight-digit mantissa. They include normalizing and access to two floating point fields.

Floating add or subtract — l.2 milliseconds.

Floating multiply — 12.5 milliseconds.

Floating divide — 41.7 milliseconds.

## Components

**IBM 1620 Central Processing Unit**

Contains console, arithmetic and logical unit, and core storage.

**Console**

- Visual display of machine check indicators, program registers and storage locations.
- Control keys and switches for manual and semiautomatic control of computer operations.
- Typewriter and typewriter release/start key for simultaneous release and start were included as part of the console. It functioned as a direct input-output device.

**Arithmetic and logical unit**

- Two-address instruction format, 12 digits.
- 32 powerful commands — could be expanded to 47 with optional features.
- Addition, subtraction and multiplication accomplished by automatic table lookup in core storage.
- Division accomplished by available subroutine or by optional automatic divide feature.
- Console switches and machine check indicators could be interrogated by the program.

**Core storage**

- A basic system contained 20,000 digits of core storage.
- Each digit position individually addressable by a five-digit address.
- 300 positions permanently assigned for use in arithmetic operations.

**IBM 1623 Storage Unit**

Expanded core storage to 40,000 or 60,000 positions.

Model 1 contained an additional 20,000 positions.

Model 2 contained an additional 40,000 positions.

**IBM 1622 Card Read Punch**

Read 250 cards per minute, maximum.

Punched 125 cards per minute, maximum.

Synchronizer storage for input and output.

Overlap of reading, computing and punching.

Automatic conversion when reading or punching alphameric data.

Large-capacity radial, nonstop stackers.

Automatic checking of reading and punching.

**IBM 1621 Paper Tape Reader**

Read 150 characters per second.

Eight-channel paper tape.

Self-checking code insured accuracy of reading.

Accommodated both numerical and alphabetic information in single-character coding.

**IBM 1624 Tape Punch**

Punched 15 characters per second.

Eight-channel tape with self-checking code.

Accommodated both numerical and alphabetic information in single-character coding.

## Optional features

Automatic division.

Automatic floating point operations.

Multilevel indirect addressing.

Additional instructions.

## Checking features

Odd-bit parity check on internal data transmission.

Odd-bit parity check on tape input-output.

Automatic checking of card reading or punching.

Overflow check on addition, subtraction and compare.

Table-lookup arithmetic fully checked.

## Expansion to a 1710 Control System

A 1620 was field-convertible to a 1710 Control System. A 1711 Data Converter model 1 connected to a 1620 Data Processing System simplified collection and analysis of analog data without off-line conversion units. Data from analog measuring devices was transferred through the 1711 directly to the 1620. The system's versatility made it ideal for quality control applications, process studies, and process optimization.

With the 1711 model 2 and 1712 Multiplexer and Terminal Unit connected to the 1620, the computer not only received data from analog measuring devices, but fed results through the 1711/1712 to control processes by closing contacts which completed circuits to the instrumentation for closed-loop process control.

## Programming languages and systems

**Symbolic Programming System**

1620 symbolic language allowed the programmer to refer to instructions and data in the program by name or other meaningful designation without regard to their location in the machine to facilitate relocating sections of programs, incorporating subroutines, and inserting or deleting instructions. Programming was further simplified through the use of macroinstructions which generated linkages and incorporated subroutines into the object program.

Subroutines available for floating point operations included add, subtract, multiply, divide, square root, sine, cosine, arc tangent, and (for natural and base ten) exponential and logarithm. A subroutine for single precision division was also available. SPS would make use of variable lengths subroutines, as well as automatic floating point, on an optional basis.

**One-Pass SPS **

A subset of the 1620 SPS, this system required only one pass of the source program tape to assemble and punch out an object program.

**FORTRAN**

A programming system which permitted users to write their programs in a language closely resembling that of mathematics. A source program written in the FORTRAN language was processed by the 1620 FORTRAN compiler to produce a 1620 machine-language program. A separate subroutine package using the automatic divide feature was included. Automatic floating point operations were used on an optional basis. FORTRAN operated on a 20,000, 40,000 or 60,000 digit system.

**FORTRAN Pre-Compiler**

Used to edit source programs written in the 1620 FORTRAN language, FORTRAN Pre-Compiler eliminated many common errors in the source program. Console switch control permitted many input-output options in checking a program prior to compilation.

**FORTRAN II**

Designed for a 1620 system equipped with optional automatic divide, indirect addressing, additional core storage (1623 Model 1) and a 1622 Card Read Punch, FORTRAN II was an extension of the basic 1620 FORTRAN system. Additional FORTRAN language statements were included, and high degrees of precision in computation could be achieved by specifying the length of number fields in excess of the fixed length normally allowed.

**GOTRAN**

A simple "load-and-go" program whose language is a subset of, and compatible with, the 1620 FORTRAN, 1620 GOTRAN eliminated the compilation phase and went directly to problem solution. Upon execution of one program, the system was ready to accept another GOTRAN program.

**Program Library**

This included programs for mathematical functions, for utility (commonly used small programs), and for engineering applications.

## IBM Services

Executive and programming schools.

Systems engineering representatives in local IBM offices.

Special representatives in specific industries.

Tested applied programming routines.

An extensive library of technical publications.

A complete line of data processing machines and systems.

Prompt, efficient equipment maintenance and service.

Over 200 branch offices to serve customer needs.