IBM 705
| Industry | Computer hardware |
|---|---|
| Predecessor | IBM 700 series (vacuum tube) |
| Founded | January 1, 1950 |
| Successor | IBM System/360 |
| Products | Mainframe computers |
| Parent | International 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
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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
- IBM Mainframe family tree
- The Architecture of IBM's Early Computers (PDF)
- C Gordon Bell, Computer Structures: Readings and Examples, McGraw-Hill, 1971; part 6, section 1, "The IBM 701-7094 II Sequence, a Family by Evolution"
- IBM 705
- IBM 7030 Stretch
- IBM 7070
- IBM 7094
- IBM 7090/94 Architecture
- Jack Harper's FAP page
- Birth of an Unwanted IBM Computer, by Bob Bemer
- IBM 700 film
Reference manuals
- 701
- 702
- 704
- 705
- 7010
- 7030
- 7040/7044
- 7070/7072/7074
- 7080
- 7090/7094