, with
register value lamps and
toggle switches (middle of picture) and "
emergency pull" switch (upper right)
Background By the early 1960s, IBM was struggling with the load of supporting and upgrading five separate lines of computers. These were aimed at different market segments and were entirely different from each other. A customer who purchased a machine to handle accounting, such as the
IBM 1401, that was now looking for a machine for engineering calculations, such as the
IBM 7040, had no reason to select IBM – the 7040 was incompatible with the 1401 and they might as well have been from different companies. Customers were frustrated that major investments, often entirely new machines and programs, were required when seemingly small performance improvements were needed. In 1961, IBM assembled a task force to chart their developments for the 1960s, known as SPREAD, for Systems Programming, Research, Engineering and Development. In meetings at the New Englander Motor Hotel in
Greenwich, Connecticut, SPREAD developed a new concept for the next generation of IBM machines. At the time, new technologies were coming into the market including the introduction of replacement of individual
transistors with
small-scale integrated circuits and the move to an 8-bit
byte from the former 6-bit oriented words. These were going to lead to a new generation of machines, today known as the third generation, from all of the existing vendors.
"Family" concept Producing a single system design with support for all of these features, at a price acceptable to low-end customers and with a performance level acceptable to high-end customers, would border on impossible. Instead, the SPREAD concept was based on the separation of the defined feature set from its internal operation, with a family of machines with different performance and different internal designs. Specifically, depending on the machine, some components might not be directly implemented in hardware, and would instead be completed using small programs referred to as
microcode or microprograms. These small programs, or subprograms, would be stored in
read only memory (ROM) inside the machine. Some models use microcode in the
central processing unit (CPU) to implement instructions while others use only hardware. Some models use
cycle-stealing microcode in the CPU to implement I/O channels while others use only hardware in separate units. Today this approach is known as
microcode. This meant that a single lineup could have machines tailored to match the price and performance niches that formerly demanded entirely separate computer systems, where software was specific to each system. This flexibility greatly lowered barriers to entry. With most other vendors customers had to choose between machines they might outgrow or machines that were potentially too powerful and thus too costly. In practice, this meant that many companies simply did not buy computers. Now, a customer could purchase a machine that solved a particular requirement, knowing they could switch models as their needs changed, without losing support for the programs they were already running.), 85 (1969),
91 (1967, anticipated as the 92), 95 (1968), and 195 (1971). The 85 design was intermediate between the System/360 line and the follow-on
System/370 and was the basis for the 370/165. There was a System/370 version of the 195, but it did not include Dynamic Address Translation. The implementations differed substantially, using different native data path widths, presence or absence of microcode, yet were extremely compatible. Except where specifically documented, the models were architecturally compatible. The
91, for example, was designed for scientific computing and provided
out-of-order instruction execution (and could yield "imprecise interrupts" if a program trap occurred while several instructions were being read), but lacked the decimal instruction set used in commercial applications. New features could be added without violating architectural definitions: the 65 had a dual-processor version (M65MP) with extensions for inter-CPU signalling; the 85 introduced cache memory. Models 44, 75, 91, 95, and 195 were implemented with hardwired logic, rather than microcoded as all other models. The
Model 67, announced in August 1965, was the first production IBM system to offer
dynamic address translation (virtual memory) hardware to support
time-sharing. "DAT" is now more commonly referred to as an
MMU. An experimental one-off unit was built based on a model 40. Before the 67, IBM had announced models 64 and 66, DAT versions of the 60 and 62, but they were almost immediately replaced with the 67 at the same time that the 60 and 62 were replaced with the 65. DAT hardware would reappear in the
S/370 series in 1972, though it was initially absent from the series. Like its close relative, the 65, the 67 also offered dual CPUs. IBM stopped marketing all System/360 models by the end of 1977.
Backward compatibility IBM's existing customers had a large investment in software that ran on
second-generation machines. Several System/360 models had the option of
emulating the customer's existing computer using special hardware IBM later added features and modified emulator programs to allow emulation of the 1401, 1440, 1460, 1410 and 7010 under the control of an operating system. The Model 85 and later System/370 maintained the precedent, retaining emulation options and allowing emulators to run under OS control alongside native programs.
Successors and variants System/360 (excepting the Models 20, 44 and 67) was replaced with the compatible
System/370 range in 1970 and Model 20 users were targeted to move to the
IBM System/3. (The idea of a major breakthrough with
FS technology was dropped in the mid-1970s for cost-effectiveness and continuity reasons.) Later compatible IBM systems include the
4300 family, the
308x family, the
3090, the
ES/9000 and
9672 families (
System/390 family), and the
IBM Z series. Computers that were mostly identical or compatible in terms of the machine code or architecture of the System/360 included
Amdahl's 470 family (and its successors),
Hitachi mainframes, the
UNIVAC 9000 series, Fujitsu as the Facom, the
RCA Spectra 70 series, and the
English Electric System 4. The System 4 machines were built under license to RCA. RCA sold the Spectra series to what was then
UNIVAC, where they became the UNIVAC Series 70. UNIVAC also developed the
UNIVAC Series 90 as successors to the 9000 series and Series 70. The
IBM 5100 portable computer, introduced in 1975, offered an option to execute the System/360's
APL.SV programming language through a hardware emulator. IBM used this approach to avoid the costs and delay of creating a 5100-specific version of APL. Special
radiation-hardened and otherwise somewhat modified System/360s, in the form of the
System/4 Pi avionics computer, are used in several fighter and bomber jet aircraft. In the complete 32-bit AP-101 version, 4 Pi machines were used as the replicated computing nodes of the
fault-tolerant Space Shuttle computer system (in five nodes). The U.S.
Federal Aviation Administration operated the
IBM 9020, a special cluster of modified System/360s for air traffic control, from 1970 until the 1990s. (Some 9020 software is apparently still used via
emulation on newer hardware.) ==Table of System/360 models==