|System/390||ESA/390 (ARCHLVL 1)|
|zSeries||z/Architecture 1 (ARCHLVL 2)|
|System z10||z/Architecture 2 (ARCHLVL 3)|
logic module from an early IBM computer.]]
The IBM 700/7000 series was a series of large scale (mainframe) computer systems made by IBM through the 1950s and early 1960s. The series included several different, incompatible processor architectures. The 700s used vacuum tube logic and were all made obsolete by the introduction of the transistorized 7000s. The 7000s, in turn, were eventually replaced by System/360, which was announced in 1964. However the 360/65, the first 360 powerful enough to replace 7000s, did not become available until November 1965. Early problems with OS/360 and the high cost of converting software kept many 7000s in service for years afterwards.
The IBM 700/7000 series had six completely different ways of storing data and instructions:
The 700 class used vacuum tubes, the 7000 class was transistorized. All machines (like most other computers of the time) used magnetic core memory; except for early 701 and 702 models, which used CRT memory. While the architectures differed, the machines in the same class shared electronics technologies and generally used the same peripherals including tape drives (IBM 727 and 729), card readers, card punches and printers. Early peripherals were based on IBM accounting machine technology and even used control panels. Later peripherals were adopted from the midline IBM 1400 series.
Early computers were sold without software. As operating systems began to emerge, having four different mainframe architectures plus the 1400 midline architectures became a major problem for IBM since it meant at least four different programming efforts were required.
The System/360 combined the best features of the 7000 and 1400 series architectures into a single design, however some 360 models had optional features that allowed them to emulate the 1400 and 7000 instruction sets in microcode. One of the selling points of the System/370 was improved 1400/7000 series emulation (it could be done under operating system control instead of shutting down and restarting in emulation mode as was done on the 360s).
Numbers were either 36 bits or 18 bits long, only fixed point. (See: Why 36 bits?)
Instructions were 18 bits long, single address.
To expand the memory from 2048 to 4096 words, a 33rd instruction was added that used the most significant bit of its address field to select the bank. (This instruction was probably created using the "No OP" instruction, which appears to have been the only instruction with unused bits, as it originally ignored its address field. However documentation on this new instruction is not currently available.)
Processor registers consisted of:
2,048 or 4,096 – 36-bit binary words with six-bit characters
Numbers were 36 bits long, both fixed point and floating point. (See: Why 36 bits?)
The basic instruction format was a 3-bit prefix, 15-bit decrement, 3-bit tag, and 15-bit address. The prefix field specified the class of instruction. The decrement field often contained an immediate operand to modify the results of the operation, or was used to further define the instruction type. The three bits of the tag specified three (seven in the 7094) index registers, the contents of which were subtracted from the address to produce an effective address. The address field either contained an address or an immediate operand.
Processor registers consisted of:
The Accumulator (and Multiplier-Quotient) registers operated in signed magnitude format.
The Index registers operated using two's complement format and when used to modify an instruction address were subtracted from the address in the instruction. On machines with three index registers, if the tag had 2 or 3 bits set (i.e. selected multiple registers) then their values were ORed together before being subtracted. The IBM 7094, with seven index registers had a "compatibility" mode to permit programs from earlier machines that used this trick to continue to be used.
The Sense Indicators permitted interaction with the operator via panel switches and lights.
The 709/7090 series used Data Synchronizer Channels for high speed input/output, such as tape and disk. The DSCs executed their own simple programs from the computer memory that controlled the transfer of data between memory and the I/O devices. Punch card I/O and high speed printing were often performed by transferring magnetic tapes to an off-line IBM 1401. Later, the data channels were used to connect an 7094 and a 7044 to form the IBM 7094/7044 Direct Coupled System (DCS). In that configuration, the 7044 primarily handled I/O.
The FORTRAN Assembly Program (FAP) was the default macro assembler for the 709, 7090, and 7094.
Its pseudo-operation BSS, used to reserve memory, is the origin of the common name of the "BSS section", still used in many assembly languages today for designating reserved memory address ranges of the type not having to be saved in the executable image.
The IBM 702 and IBM 705 were similar and the 705 could run many 702 programs without modification, but they were not completely compatible.
The IBM 7080 was a transistorized version of the 705, with various improvements. For backward compatibility it could be run in 705 I mode, 705 II mode, 705 III mode, or full 7080 mode.
Data was represented by a variable length string of characters terminated by a Record mark.
Five characters: one character opcode & 4 character address - OAAAA
The 700/7000 commercial architecture inspired the very successful IBM 1400 series of mid-sized business computers. In turn, IBM later introduced a mainframe version of the IBM 1410 called the IBM 7010.
Data was represented by a variable length string of characters terminated by a Wordmark.
Variable length: 1, 2, 6, 7, 11, or 12 characters.
None, all instructions operated on memory.
The IBM 7700 Data Acquisition System was not a member of the IBM 7000 series, despite its number and its announcement date of December 2, 1963.