IBM System/360

System/360
IBM System 360 model 30 profile.agr.jpg
IBM System/360 Model 30 processor unit
DesignerIBM
Bits32-bit
Introduced1964; 55 years ago (1964)
DesignCISC
TypeRegister-Register
Register-Memory
Memory-Memory
EncodingVariable (2, 4 or 6 bytes long)
BranchingCondition code, indexing, counting
EndiannessBig
Page sizeN/A, except for 360/67
OpenYes
Registers
General purpose16× 32-bit
Floating point4× 64-bit

The IBM System/360 (S/360) is a family of mainframe computer systems that was announced by IBM on April 7, 1964, and delivered between 1965 and 1978.[1] It was the first family of computers designed to cover the complete range of applications, from small to large, both commercial and scientific. The design made a clear distinction between architecture and implementation, allowing IBM to release a suite of compatible designs at different prices. All but the incompatible Model 44 and the most expensive systems used microcode to implement the instruction set, which featured 8-bit byte addressing and binary, decimal and (hexadecimal) floating-point calculations.

The launch of the System/360 family introduced IBM's Solid Logic Technology (SLT), a new technology that was the start of more powerful but smaller computers.[2]

The slowest System/360 model announced in 1964, the Model 30, could perform up to 34,500 instructions per second, with memory from 8 to 64 KB.[3] High performance models came later. The 1967 IBM System/360 Model 91 could do up to 16.6 million instructions per second.[4] The larger 360 models could have up to 8 MB of main memory,[5] though main memory that big was unusual—a large installation might have as little as 256 KB of main storage, but 512 KB, 768 KB or 1024 KB was more common. Up to 8 megabytes of slower (8 microsecond) Large Capacity Storage (LCS) was also available.

The IBM 360 was extremely successful in the market, allowing customers to purchase a smaller system with the knowledge they would always be able to migrate upward if their needs grew, without reprogramming of application software or replacing peripheral devices. Many consider the design one of the most successful computers in history, influencing computer design for years to come.

The chief architect of System/360 was Gene Amdahl, and the project was managed by Fred Brooks, responsible to Chairman Thomas J. Watson Jr.[5] The commercial release was piloted by another of Watson's lieutenants, John R. Opel, who managed the launch of IBM’s System 360 mainframe family in 1964.[6]

Application-level compatibility (with some restrictions) for System/360 software is maintained to the present day with the System z mainframe servers.

System/360 history

An IBM System/360 Model 20 CPU with front panels removed, with IBM 2560 MFCM (Multi-Function Card Machine)
IBM System/360 Model 30 CPU (red, middle of picture), tape drives to its left, and disk drives to its right, at the Computer History Museum
IBM System/360 Model 50 CPU, computer operator's console, and peripherals at Volkswagen
System/360 Model 65 operator's console, with register value lamps and toggle switches (middle of picture) and "emergency pull" switch (upper right)

A family of computers

Contrasting with at-the-time normal industry practice, IBM created an entire new series of computers, from small to large, low- to high-performance, all using the same instruction set (with two exceptions for specific markets). This feat allowed customers to use a cheaper model and then upgrade to larger systems as their needs increased without the time and expense of rewriting software. Before the introduction of System/360, business and scientific applications used different computers with different instruction sets and operating systems. Different-sized computers also had their own instruction sets. IBM was the first manufacturer to exploit microcode technology to implement a compatible range of computers of widely differing performance, although the largest, fastest, models had hard-wired logic instead.

This flexibility greatly lowered barriers to entry. With most other vendors customers had to choose between machines they could outgrow and machines that were potentially too powerful and thus too costly. This meant that many companies simply did not buy computers.

Models

IBM initially announced a series of six computers and forty common peripherals. IBM eventually delivered fourteen models, including rare one-off models for NASA. The least expensive model was the Model 20 with as little as 4096 bytes of core memory, eight 16-bit registers instead of the sixteen 32-bit registers of other System/360 models, and an instruction set that was a subset of that used by the rest of the range.

The initial announcement in 1964 included Models 30, 40, 50, 60, 62, and 70. The first three were low- to middle-range systems aimed at the IBM 1400 series market. All three first shipped in mid-1965. The last three, intended to replace the 7000 series machines, never shipped and were replaced with the 65 and 75, which were first delivered in November 1965, and January 1966, respectively.

Later additions to the low-end included models 20 (1966, mentioned above), 22 (1971), and 25 (1968). The Model 20 had several sub-models; sub-model 5 was at the higher end of the model. The Model 22 was a recycled Model 30 with minor limitations: a smaller maximum memory configuration, and slower I/O channels, which limited it to slower and lower-capacity disk and tape devices than on the 30.

The Model 44 (1966) was a specialized model, designed for scientific computing and for real-time computing and process control, featuring some additional instructions, and with all storage-to-storage instructions and five other complex instructions eliminated.

This image of the IBM System 360 Model 91 operator's console, was taken by NASA sometime in the late 1960s.

A succession of high-end machines included the Model 67 (1966, mentioned below, briefly anticipated as the 64 and 66[7]), 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.[8]

Backward compatibility

IBM's existing customers had a large investment in software that executed on second-generation machines. Four models offered the option of emulation of the customer's previous computer using a combination of special hardware,[9] special microcode and an emulation program that used the emulation instructions to simulate the target system, so that old programs could run on the new machine.

System/360 model Emulated systems
Model 20 1401
Model 30 1401
1440
1460
Model 40 1401
1440
1460
1410
7010
Model 50 1401
1440
1460
1410
7010
7070, 7072 and 7074
Model 65 7070, 7072 and 7074
7080
709
7090, 7094 7094 II
7040 and 7044

However, customers initially had to halt the computer and load the emulation program.[10]

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 emulator programs to execute under operating system control alongside native programs.[11]

Successors and variants

System/360 (excepting the Model 20) 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 3090, the ES/9000 family, 9672 (System/390 family), the zSeries, System z9, System z10 and IBM zEnterprise System.

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,[12] Fujitsu as the Facom, the RCA Spectra 70 series,[NB 1] and the English Electric System 4.[NB 2] 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.[12] The Soviet Union produced a System/360 clone named the ES EVM.[13]

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.[citation needed])

Table of System/360 models

Model Announced[14] Shipped[14] Scientific
performance
(kIPS)[NB 3]
Commercial
performance
(kIPS)[NB 4]
CPU
Bandwidth
(MB/sec)[15]
Memory
bandwidth
(MB/sec)[15]
Memory size
(in (binary) KB)
Weight
(lbs)
Notes
30 Apr 1964 Jun 1965 10.2 29 1.3 0.7 8-64[16] 1700 (770 kg)[17]:2030.1
40 Apr 1964 Apr 1965 40 75 3.2 0.8 16-256[18] 1700-2310 (770-1050 kg)
depends on memory.[17]:2040.1
50 Apr 1964 Aug 1965 133 169 8.0 2.0 64-512[19] 4,700-7,135 (2,100-3,236 kg)
depends on memory.[17]:2050.2,2050.4
Supported IBM 2361 Large Capacity Storage (LCS).
60 - 62 Apr 1964 never Replaced by Model 65
70 Apr 1964 never Replaced by Model 75
90 Apr 1964 never Replaced by Model 92
92 Aug 1964 never Redesignated as IBM System/360 Model 91[14]
20 Nov 1964 Mar 1966 2.0 2.6 4-32[20] 1,200–1,400 (540–640 kg)[21] 16-bit, low end, limited partially incompatible instruction set
91 Jan 1966[14]:p.394 Oct 1967 1,900 1,800 133 164 1,024-4,096[22] Available on special bid beginning Nov 1964[14]:388
64 - 66 Apr 1965 never Replaced by Model 67
65 Apr 1965 Nov 1965 563 567 40 21 128-1,024[23] 4290-8830 (1950-4005 kg)
depends on memory and number of processors.[17]:2065.2,2065.4,2065.6,2065.8,2065.10
Supported LCS
75 Apr 1965 Jan 1966 940 670 41 43 256-1,024[24] 5125-5325 (2325-2415 kg)
depends on memory.[17]:2075.2,2075.4
Supported LCS
67 Aug 1965 May 1966 40 21 512-2,048[25] 3674 (1700 kg) - Processor only.[17]:2067.6 Dynamic address translation for time sharing
44 Aug 1965 Sep 1966 118 185 16 4.0 32-256[26] 2900-4200 (1300-1900 kg)
depends on memory.[17]:2044.2
Specialized for scientific computing
95 special order Feb 1968 3,800 est. 3,600 est. 133 711 5,220[27] Performance estimated as 2× Model 91[14]:p.394
25 Jan 1968 Oct 1968 9.7 25 1.1 2.2 16-48[28] 2050 (930 kg)[17]:2025.2
85 Jan 1968 Dec 1969 3,245 3,418 100 67 512-4,096[29] 14428 (6544 kg) - Processor only.[17]:2085.2 16-32 KB cache memory, extended-precision floating point.
195 Aug 1969 Mar 1971 10,000 est. 10,000 est. 148 169 1,024-4,096[30] 13450-28350 (6150-12900 kg)
depends on memory.[17]:3195.2,3195.4
32 KB IC cache memory. Performance estimated as 3× Model 85.[14]:p.422
22 Apr 1971 Jun 1971 1.3 0.7 24-32[31] 1500 (680 kg)[17]:2022.1 A re-manufactured Model 30
Other Languages
Afrikaans: System/360
asturianu: IBM S/360
български: System/360
Deutsch: System/360
español: IBM S/360
français: IBM 360 et 370
hrvatski: IBM System/360
italiano: IBM System/360
עברית: IBM System/360
Nederlands: IBM Systeem/360
日本語: System/360
português: IBM System/360
русский: IBM System/360
suomi: IBM S/360
Türkçe: IBM 360
українська: IBM System/360
Tiếng Việt: IBM System/360