Jump to content

IBM 705

From Alfawiki
IBM 700/7000 series
IndustryComputer hardware
PredecessorIBM 700 series (vacuum tube)
FoundedJanuary 1, 1950; 76 years ago (1950-01-01)
SuccessorIBM System/360
ProductsMainframe computers
ParentInternational Business Machines (IBM)

The IBM 700/7000 series represents a collection of large-scale mainframe computers developed by IBM throughout the 1950s and early 1960s. This lineup encompasses several processor architectures that were not mutually compatible. The initial 700 series utilized vacuum-tube components and was succeeded by the transistor-based 7000 series. Eventually, the 7000 series gave way to the System/360, which IBM introduced in 1964. Nevertheless, the first System/360 model capable of fully substituting the 7000 systems—the 360/65—was released only in November 1965. Persistent difficulties with OS/360 and substantial expenses related to software migration resulted in many 7000 machines remaining in service for an extended period.

Architectures

The IBM 700/7000 line incorporates six unique data and instruction storage designs:

  • Early scientific systems (36/18-bit word length): 701 (Defense Calculator)
  • Later scientific models (36-bit words with hardware-supported floating-point): 704, 709, 7040, 7044, 7090, 7094
  • Commercial-oriented machines (variable-length character strings): 702, 705, 7080
  • 1400 series derivatives (variable-length character strings): 7010
  • Decimal architecture (10-digit words featuring hardware floating-point): 7070, 7072, 7074
  • Supercomputer class (64-bit words with hardware floating-point): 7030 "Stretch"

Vacuum tubes powered the 700 series devices, whereas transistor technology was employed in the 7000 series. Except for the earliest models of the 701 and 702, which initially relied on Williams tube CRT memory before transitioning, all systems utilized magnetic-core memory.

Software compatibility challenges

Initially, these computers were marketed without accompanying software. However, as operating systems developed, IBM encountered difficulties supporting four distinct mainframe architectures alongside the IBM 1400 midrange systems, necessitating multiple programming efforts.

The System/360 consolidated capabilities from both the 7000 and 1400 lines to serve commercial and scientific applications but did not maintain backward compatibility. Certain System/360 models incorporated optional microcode features enabling emulation of the instruction sets from the 1400 and 7000 series. Its successor, the System/370 introduced in mid-1970, improved emulation functionalities under operating system control—contrasting with earlier models that required system shutdown to switch emulation modes for legacy platforms such as the 7040/44, 7070/72/74, 7080, and 7090/94.

Peripheral devices

Although differing architecturally, machines within each class shared electronic technologies and typically supported identical peripheral equipment. Magnetic tape drives commonly used the 7-track format, with vacuum tube systems employing the IBM 727 drive and transistorized models utilizing the 729. Both vacuum tube and most transistor machines operated with similar card readers and punches, as well as line printers introduced alongside the 701—examples include the IBM 711, 721, and 716—which were based on IBM’s tabulating machine heritage featuring plugboard control panels. Due to their relatively slower speed, many installations running the 7000 series incorporated an IBM 1401 to provide faster peripherals for off-line card-to-tape and tape-to-line-printer processing. Later on, peripherals from the midrange IBM 1400 series were adopted by models like the 7010, 7040, and 7044. Innovations from the supercomputer-class 7030 influenced data channels and peripheral designs across other computers in the 7000 family, including devices such as the 7340 Hypertape.

Initial Scientific Architecture (701)

Originating as the Defense Calculator at IBM's Poughkeepsie facility, this system was officially introduced on April 7, 1953, under the name IBM 701 Electronic Data Processing Machine.

Data Representation

Numerical values were represented using either 36-bit or 18-bit lengths, employing exclusively fixed-point binary numbers in sign/magnitude representation.

Instruction Layout

Each instruction was composed of 18 bits with a single address format:

  • Sign bit (1 bit) – indicating whether the operand address referred to a whole word (-) or half word (+)
  • Opcode (5 bits) – allowing for 32 distinct instructions
  • Address (12 bits) – addressing up to 4,096 half-word locations

To double the memory capacity from 2,048 to 4,096 words, a special 33rd instruction utilized the highest bit of the address field as a bank selector.

Registers

The processor's registers included:

  • AC – a 38-bit Accumulator
  • MQ – a 36-bit Multiplier-Quotient register
Memory

Memory configurations offered either 2,048 or 4,096 words, each 36 bits wide, with characters encoded in six-bit groups.

Subsequent Scientific Architecture (704/709/7090/7094)

IBM’s 36-bit scientific architecture was designed for computation-heavy applications. Early models featured vacuum-tube technology such as the IBM 704 and IBM 709, succeeded by transistor-based systems including the IBM 7090, 7094, and more economical variants like the IBM 7040 and 7044. The pinnacle of this line was the Direct Coupled System (DCS), which integrated a 7094 with a 7044 to manage input/output tasks.

Data Representation

Numbers were expressed in 36 bits for both fixed-point and floating-point formats:

  • Fixed-point values used binary sign/magnitude representation
  • Single-precision floating-point comprised a sign bit, an eight-bit exponent with excess-128 bias, and a 27-bit magnitude
  • Double-precision floating-point (introduced on the 7094) included a sign bit, a seventeen-bit exponent with excess-65536 bias, and a 54-bit magnitude
  • Alphameric data employed six-bit BCD encoding, packing six characters per word
Instruction Structure

Instructions consisted of four fields: a three-bit prefix, fifteen-bit decrement, three-bit tag, and fifteen-bit address. The prefix identified the instruction class; the decrement field often contained immediate operands or further defined instruction specifics. The tag field indicated which index registers would be subtracted from the address to compute the effective address. The address field held either an actual address or an immediate value.

Registers
IBM 704x/709x Register Set
Data Registers
S Q P 1 2 3 ... 17 18 20 21 ... 35 (bit position)
Accumulator AC
S   Multiplier/Quotient MQ

Included processor registers were:

  • AC – a 38-bit Accumulator using sign/magnitude format with overflow bits labeled Q and P
  • MQ – a 36-bit Multiplier-Quotient register also in sign/magnitude format
  • XR – fifteen-bit Index Registers (either three or seven), operating in two’s complement form and subtracted from instruction addresses to modify them
  • SI – Sense Indicators facilitating operator interaction through panel switches and indicator lights

When multiple index registers were present, their contents could be combined using logical OR if multiple tags were active. The IBM 7094 supported "multiple tag mode" for backward compatibility, which could be enabled or disabled via specific instructions.

Memory Capacity
  • IBM 704 offered memory sizes of 4,096, 8,192, or up to 32,768 words—all consisting of 36-bit binary words with six-bit character encoding
  • The IBM 709 series (including models 709, 7090, and 7094) along with midrange models like the 7040 and 7044 had fixed maximum memory sizes up to 32,768 words with six-bit characters
Input/Output Systems

The IBM 709 and 7090 series utilized Data Synchronizer Channels (DSCs) to perform high-speed input/output operations such as tape and disk access. Basic seven-bit DSCs (for example, model 7607) ran simple memory-resident programs managing data transfers between memory and peripherals. More advanced nine-bit DSCs (such as model 7909) supported complex channel programming. Because unit record devices operated slowly on these systems, punched card input/output and high-speed printing were frequently offloaded through magnetic tape processing by an offline IBM 1401 system. Later setups connected fast I/O subsystems like the IBM 7044 directly to mainframes such as the IBM 7094 in an IBM 7094/7044 Direct Coupled System (DCS), where the smaller machine managed rapid peripheral operations.

FORTRAN assembly program

The FORTRAN Assembly Program (FAP) served as an assembler for the IBM 709, 7090, and 7094 systems. Developed at the Western Data Processing Center by David E. Ferguson and Donald P. Moore specifically for the IBM 709, it functioned within IBM's Fortran Monitor System (FMS) and IBSYS operating environments. Prior assemblers included the SHARE Compiler-Assembler-Translator (SCAT), which operated under the SHARE Operating System (SOS). Bell Laboratories enhanced FAP by introducing macros, resulting in BE-FAP, while the ultimate assembler for the 7090/7094 was the Macro Assembly Program (IBMAP), running on IBSYS/IBJOB. Notably, SCAT, FAP, and MAP were incompatible with one another.

The pseudo-operation BSS, designed to allocate memory space, gave rise to the term "BSS section," a concept still widely used in many assembly languages to identify reserved memory areas excluded from executables.

Commercial architecture (702/705/7080)

The IBM 702 and IBM 705 share many similarities; however, while the 705 can execute numerous 702 programs without alterations, it is not entirely compatible.

The IBM 7080 represents a transistor-based enhancement of the 705 with several improvements. It supports backward compatibility through modes labeled 705 I, 705 II, 705 III, alongside its native full 7080 mode.

Data format

Information is stored as variable-length character strings terminated by a Record mark.

Instruction format

Instructions consist of five characters: one opcode character followed by four address characters – OAAAA

Registers
  • 702
    • Two accumulators (A and B), each holding 512 characters
  • 705
    • A single accumulator containing 256 characters
    • Fourteen auxiliary storage units of 16 characters each
    • One auxiliary storage unit of 32 characters
  • 7080
    • One accumulator with 256 characters
    • Thirty auxiliary storage units, each with 512 characters
    • Thirty-two communication storage units holding eight characters each
Memory
  • 702
    • Memory capacity ranges from 2,000 to 10,000 characters using Williams tubes in increments of 2,000
    • Character cycle time: 23 microseconds
  • 705 (Models I, II, III)
    • Core memory between 20,000 and 80,000 characters
    • Character cycle times of either 17 or 9.8 microseconds
  • 7080
    • Core memory options of either 80,000 or 160,000 characters
    • Character cycle time: 2.18 microseconds
Input/output

Both the 705 and standard 7080 models utilize channels with a seven-bit interface; however, the 7080 can be upgraded with faster 7908 data channels featuring a nine-bit interface.

1400 series architecture (7010)

The commercial architecture of the IBM 700/7000 series served as an inspiration for the successful IBM 1400 series of medium-scale business computers. Subsequently, IBM launched a mainframe iteration called the IBM 7010 based on the IBM 1410.

Data format
  • Variable-length character strings terminated by a word mark.
Instruction format
  • Instructions vary in length: possible sizes include 1, 2, 6, 7, 11, or 12 characters.
Registers

Fifteen five-character fields located in low memory act as index registers that modify instruction addresses. Programmers also have access to internal registers such as the B address register used for subroutine calls.

Memory
  • Capacity of approximately 100,000 characters

Decimal architecture (7070/7072/7074)

The IBM 7070, IBM 7072, and IBM 7074 models are decimal machines with fixed-word lengths employing ten-digit words similar to those in the earlier IBM 650, but their instruction sets are incompatible.

Data format
  • Word size consists of ten decimal digits plus a sign
  • Digits encoded using two-out-of-five code
  • Optional floating-point support with a two-digit exponent
  • Each word contains three signs: Plus and Minus for numeric values, and Alpha for encoding five text characters via digit pairs
Instruction format
  • Single-word instructions only
  • Two-digit opcode accompanied by a sign (Plus or Minus)
  • Two-digit index register field
  • Two-digit field control specifying digit selection and shifting parameters
  • Four-digit address field
Registers
  • Registers occupy one word and are addressable like memory locations.
  • Accumulators – three total (addresses range from standard addresses 9991–9993 to extended addresses 99991–99993 on the 7074)
  • Program register – one unit (addressed at standard location 9995; extended on the 7074), accessible via console for current instruction storage
  • Instruction counter – one unit (standard address is 9999; extended on the 7074), also console-accessible
  • Index registers – ninety-nine total (addresses from 0001 to 0099)
Memory
  • Standard capacity ranges from 5,000 up to nearly 10,000 words
  • Extended memory on the model 7074 ranges between approximately 15,000 and 30,000 words
  • Access times: six microseconds for models 7070/7072 and four microseconds for model 7074
  • Addition times vary: seventy-two microseconds on the model 7070, twelve microseconds on the model 7072, and ten microseconds on the model 7074
Input/output

These systems use channels equipped with a seven-bit interface. The IBM 7070 and IBM 7074 can also support faster peripherals through nine-bit interfaces provided by the use of specialized data channels such as the IBM 7907.

Timeline

Year Category Logic Memory
Decimal Commercial Scientific Supercomputer
1952 IBM 701 vacuum tube technology Williams tube memory
1953 IBM 702
1954 IBM 705 IBM 704 core memory
1958 IBM 709
IBM 7070 transistor technology
1959 IBM 7090
1960 IBM 7074
1961 IBM 7072 IBM 7080 IBM 7030
1962 IBM 7010 IBM 7094
1963 IBM 7040
IBM 7044
1964 IBM 7094 II

In 1962, the U.S. Internal Revenue Service operated an IBM 7074 system.

Despite its designation, the IBM 7700 Data Acquisition System, introduced in December 1963, does not belong to the IBM 7000 series.

Performance

The IBM 700 and 7000 series were developed prior to the establishment of standardized performance tests such as the Whetstone (1972), Dhrystone (1984), LINPACK (1979), and Livermore loops (1986).

Presented below are performance metrics from Gibson and Knight, where greater numbers signify faster speeds, alongside TRIDIA program execution times in seconds, where lower values indicate superior performance.

Model Gibson
mix
KIPS
Knight
Index
Scientific
TRIDIA Program
(FORTRAN)
(seconds)
IBM 705 m1,2 0.50
IBM 705 m3 0.38
IBM 709 21
IBM 7030 372 15.58
IBM 7040 148
IBM 7044 109 74
IBM 7090 139 66
IBM 7094 176 31.35
IBM 7094 II 257 217 16.50

See also

External links

Reference manuals

701
702
704
705
7010
7030
7040/7044
7070/7072/7074
7080
7090/7094