System/370 | |
Designer: | IBM |
Bits: | 32-bit |
Introduced: | 1970 |
Design: | CISC |
Type: | Register–Register Register–Memory Memory–Memory |
Encoding: | Variable (2, 4 or 6 bytes long) |
Branching: | Condition code, indexing, counting |
Endianness: | Big |
Predecessor: | System/360 |
Successor: | S/370-XA, ESA/370, ESA/390, z/Architecture |
Gpr: | 16× 32-bit |
Fpr: | 4× 64-bit |
The IBM System/370 (S/370) is a range of IBM mainframe computers announced as the successors to the System/360 family on June 30, 1970. The series mostly maintains backward compatibility with the S/360, allowing an easy migration path for customers; this, plus improved performance, were the dominant themes of the product announcement.
Early 370 systems differed from the 360 largely in their internal circuitry, moving from the individual transistors and small-scale integrated circuits to more modern devices using multiple transistors per integrated circuit, which IBM referred to as Monolithic System Technology, or MST. The higher density packaging allowed several formerly optional features from the 360 line to be included as standard features of the machines, floating point support for instance. The 370 also added a small number of new instructions.
At the time of its introduction, the development of virtual memory systems had become a major theme in the computer market, and the 370 was considered highly controversial as it lacked this feature. This was addressed in 1972 with the System/370 Advanced Function and its associated dynamic address translation (DAT) hardware. All future machines in the lineup received this option, along with several new operating systems that supported it. Smaller additions were made throughout the lifetime of the line, which led to a profusion of models that were generally referred to by the processor number. One of the last major additions to the line in 1988 were the ESA/370 extensions that allowed a machine to have multiple virtual address spaces and easily switch among them.
The 370 was IBM's primary large mainframe offering from the 1970s through the 1980s. In September 1990, the System/370 line was replaced with the System/390. The 390, which was based on a new ESA/390 model, expanded the multiple memory concept to include full hardware virtualization that allowed it to run multiple operating systems at the same time.
The original System/370 line was announced on June 30, 1970, with first customer shipment of the Models 155 and 165 planned for February 1971 and April 1971 respectively.[1] The 155 first shipped in January 1971. System/370 underwent several architectural improvements during its roughly 20-year lifetime.
The following features mentioned in the 11th edition of the System/370 Principles of Operationare either optional on S/360 but standard on S/370, introduced with S/370 or added to S/370 after announcement.
When the first System/370 machines, the Model 155 and the Model 165, were introduced, the System/370 architecture was described as an extension, but not a redesign, of IBM's 1964-introduced System/360 architecture.[2] The System/370 architecture incorporated only a small number of changes to the System/360 architecture. These changes included:
thereby permitting operations on up to 2^24-1 bytes (16 MB), vs. the 256-byte limits on the 360's MVC and CLC;[3] [4]
These models had core memory and did not include support for virtual storage, as they lacked a DAT (Dynamic Address Translation) box
All models of the System/370 used IBM's form of monolithic integrated circuits called MST (Monolithic System Technology) making them third generation computers. MST provided System/370 with four to eight times the circuit density and over ten times the reliability when compared to the previous second generation SLT technology of the System/360.
On September 23, 1970, IBM announced the Model 145, a third model of the System/370, which was the first model to feature semiconductor main memory made from monolithic integrated circuits and was scheduled for delivery in the late summer of 1971. All subsequent S/370 models used such memory.
In 1972, a very significant change was made when support for virtual storage was introduced with IBM's "System/370 Advanced Function" announcement. IBM had initially (and controversially) chosen to exclude virtual storage from the S/370 line.[8] [9] The August 2, 1972 announcement included:
Virtual storage had in fact been delivered on S/370 hardware before this announcement:
Shortly after the August 2, 1972 announcement, DAT box (address relocation hardware) upgrades for the S/370-155 and S/370-165 were quietly announced, but were available only for purchase by customers who already owned a Model 155 or 165.[13] After installation, these models were known as the S/370-155-II and S/370-165-II. IBM wanted customers to upgrade their 155 and 165 systems to the widely sold S/370-158 and -168.[14] These upgrades were surprisingly expensive ($200,000 and $400,000, respectively) and had long ship date lead times after being ordered by a customer; consequently, they were never popular with customers, the majority of whom leased their systems via a third-party leasing company. This led to the original S/370-155 and S/370-165 models being described as "boat anchors". The upgrade, required to run OS/VS1 or OS/VS2, was not cost effective for most customers by the time IBM could actually deliver and install it, so many customers were stuck with these machines running MVT until their lease ended. It was not unusual for this to be another four, five or even six years for the more unfortunate ones, and turned out to be a significant factor[15] in the slow adoption of OS/VS2 MVS, not only by customers in general, but for many internal IBM sites as well.
Later architectural changes primarily involved expansions in memory (central storage) - both physical memory and virtual address space - to enable larger workloads and meet client demands for more storage. This was the inevitable trend as Moore's Law eroded the unit cost of memory. As with all IBM mainframe development, preserving backward compatibility was paramount.
In 1981, IBM added the dual-address-space facility to System/370. This allows a program to have two address spaces; Control Register 1 contains the segment table origin (STO) for the primary address space and CR7 contains the STO for the secondary address space. The processor can run in primary-space mode or secondary-space mode. When in primary-space mode, instructions and data are fetched from the primary address space. When in secondary-space mode, operands whose addresses defined to be logical are fetched from the secondary address space; it is unpredictable whether instructions will be fetched from the primary or secondary address space, so code must be mapped into both address spaces in the same address ranges in both address spaces. The program can switch between primary-space and secondary-space mode with the SET ADDRESS SPACE CONTROL instruction; there are also MOVE TO PRIMARY and MOVE TO SECONDARY instructions that copy a range of bytes from an address range in one address space to an address range in the other address space.[19]
Address spaces are identified by an address-space number (ASN). The ASN contains indices into a two-level table, structured similarly to a two-level page table, with entries containing a presence bit, various fields indicating permissions granted for access to the address space, the starting address and length of the segment table for the address space, and other information. The SET SECONDARY ASN instruction makes the address space identified by a given ASN value the current secondary address space.
The initial System/370 architecture has a 24-bit limit on physical addresses, limiting physical memory to 16 MB. Page table entries have 12 bits of page frame address with 4 KB pages and 13 bits of page frame address with 2 KB pages, so combining a 12-bit page frame address with a 12-bit offset within the page or a 13-bit page frame address with an 11-bit offset within the page produces a 24-bit physical address.
The extended real addressing feature in System/370 raises this limit to 26 bits, increasing the physical memory limit to 64 MB. Two reserved bits in the page table entry for 4 KB pages were used to extend the page frame address. The extended real addressing is only available with address translation enabled and with 4 KB pages.
The following table summarizes the major S/370 series and models. The second column lists the principal architecture associated with each series. Many models implemented more than one architecture; thus, 308x processors initially shipped as S/370 architecture, but later offered XA; and many processors, such as the 4381, had microcode that allowed customer selection between S/370 or XA (later, ESA) operation.
Note also the confusing term "System/370-compatible", which appeared in IBM source documents to describe certain products. Outside IBM, this term would more often describe systems from Amdahl Corporation, Hitachi, and others, that could run the same S/370 software. This choice of terminology by IBM may have been a deliberate attempt to ignore the existence of those plug compatible manufacturers (PCMs), because they competed aggressively against IBM hardware dominance.
First year of series | Architecture | Market level | Series | Models |
---|---|---|---|---|
1970 | System/370 (no DAT) | high-end | System/370-xxx | -155, -165, -195 |
1970 | System/370 (DAT) | mid-range | -145[20] and -135 | |
1972 | System/370 | high-end | -158 and -168 | |
entry | -115 and -125 | |||
mid-range | -138 and -148 | |||
1977 | System/370-compatible[21] | high-end | 3031, 3032, 3033 | |
1979 | entry/mid | 4331, 4341, 4361 | ||
1980 | high-end | 3081, 3083, 3084 | ||
1981 | System/370-XA | |||
1983 | mid-range | 4381 | ||
1986 | high-end | -120 to -600 | ||
1986 | System/370-compatible[22] | entry | 9370, ... | |
1988 | ESA/370 | high-end | ES/3090 | ES/3090 |
1988 | mid-range | ES/4381 | -90, -91, -92 |
IBM used the name System/370 to announce the following eleven (3 digit) offerings:
The IBM System/370 Model 115 was announced March 13, 1973[23] as "an ideal System/370 entry system for users of IBM's System/3, 1130 computing system and System/360 Models 20, 22 and 25."
It was delivered with "a minimum of two (of IBM's newly announced) directly-attached IBM 3340 disk drives."[23] Up to four 3340s could be attached.
The CPU could be configured with 65,536 (64K) or 98,304 (96K) bytes of main memory. An optional 360/20 emulator was available.
The 115 was withdrawn on March 9, 1981.
The IBM System/370 Model 125 was announced Oct 4, 1972.[24]
Two, three or four directly attached IBM 3333 disk storage units provided "up to 400 million bytes online."
Main memory was either 98,304 (96K) or 131,072 (128K) bytes.
The 125 was withdrawn on March 9, 1981.
The IBM System/370 Model 135 was announced Mar 8, 1971.[25] Options for the 370/135 included a choice of four main memory sizes; IBM 1400 series (1401, 1440 and 1460) emulation was also offered.
A "reading device located in the Model 135 console" allowed updates and adding features to the Model 135's microcode.
The 135 was withdrawn on October 16, 1979.
The IBM System/370 Model 138 which was announced Jun 30, 1976 was offered with either 524,288 (512K) or 1,048,576 (1 MB) of memory. The latter was "double the maximum capacity of the Model 135," which "can be upgraded to the new computer's internal performance levels at customer locations."[26]
The 138 was withdrawn on November 1, 1983.
See main article: article and IBM System/370 Model 145.
The IBM System/370 Model 145 was announced Sep 23, 1970, three months after the 155 and 165 models.[20] It first shipped in June 1971.
The first System/370 to use monolithic main memory, the Model 145 was offered in six memory sizes. A portion of the main memory, the "Reloadable Control Storage" (RCS) was loaded from a prewritten disk cartridge containing microcode to implement, for example, all needed instructions, I/O channels, and optional instructions to enable the system to emulate earlier IBM machines.
The 145 was withdrawn on October 16, 1979.
The IBM System/370 Model 148 had the same announcement and withdrawal dates as the Model 138.[27]
As with the option to field-upgrade a 135, a 370/145 could be field-upgraded "at customer locations" to 148-level performance. The upgraded 135 and 145 systems were "designated the Models 135-3 and 145-3."
See main article: article and IBM System/370 Model 155.
The IBM System/370 Model 155 and the Model 165 were announced Jun 30, 1970, the first of the 370s introduced.[28] Neither had a DAT box; they were limited to running the same non-virtual-memory operating systems available for the System/360. The 155 first shipped in January 1971.
The OS/DOS[29] (DOS/360 programs under OS/360), 1401/1440/1460 and 1410/7010[30] [31] and 7070/7074 [32] compatibility features were included, and the supporting integrated emulator programs could operate concurrently with standard System/370 workloads.
In August 1972 IBM announced, as a field upgrade only, the IBM System/370 Model 155 II, which added a DAT box.
Both the 155 and the 165 were withdrawn on December 23, 1977.
The IBM System/370 Model 158 and the 370/168 were announced Aug 2, 1972.[33]
It included dynamic address translation (DAT) hardware, a prerequisite for the new virtual memory operating systems (DOS/VS, OS/VS1, OS/VS2).
A tightly coupled multiprocessor (MP) model was available, as was the ability to loosely couple this system to another 360 or 370 via an optional channel-to-channel adapter.
The 158 and 168 were withdrawn on September 15, 1980.
See main article: article and IBM System/370 Model 165.
The IBM System/370 Model 165 was described by IBM as "more powerful" compared to the "medium-scale" 370/155. It first shipped in April 1971.
Compatibility features included emulation for 7070/7074, 7080, and 709/7090/7094/7094 II.
Some have described the 360/85's use of microcoded vs hardwired as a bridge to the 370/165.[34]
In August 1972 IBM announced, as a field upgrade only, the IBM System/370 Model 165 II which added a DAT box.
The 165 was withdrawn on December 23, 1977.
See main article: IBM System/370 Model 168.
The IBM System/370 Model 168 included "up to eight megabytes"[35] of main memory, double the maximum of 4 megabytes on the 370/158.[33]
It included dynamic address translation (DAT) hardware, a pre-requisite for the new virtual memory operating systems.
Although the 168 served as IBM's "flagship" system,[36] a 1975 newsbrief said that IBM boosted the power of the 370/168 again "in the wake of the Amdahl challenge... only 10 months after it introduced the improved 168-3 processor."[37]
The 370/168 was not withdrawn until September 1980.
The IBM System/370 Model 195 was announced Jun 30, 1970 and, at that time, it was "IBM's most powerful computing system."[38]
Its introduction came about 14 months after the announcement of its direct predecessor, the 360/195. Both 195 machines were withdrawn Feb. 9, 1977.[39] [38]
Beginning in 1977, IBM began to introduce new systems, using the description "A compatible member of the System/370 family."[40] [41]
See main article: article and IBM 303X.
The first of the initial high end machines, IBM's 3033, was announced March 25, 1977[42] and was delivered the following March, at which time a multiprocessor version of the 3033 was announced.[43] IBM described it[44] as "The Big One."
IBM noted about the 3033, looking back, that "When it was rolled out on March 25, 1977, the 3033 eclipsed the internal operating speed of the company's previous flagship the System/370 Model 168-3 ..."[36]
The IBM 3031 and IBM 3032 were announced Oct. 7, 1977 and withdrawn Feb. 8, 1985.[40] [45]
See main article: article and IBM 308X.
Three systems comprised the next series of high end machines, IBM's 308X systems:
Despite the numbering, the least powerful was the 3083, which could be field-upgraded to a 3081;[47] the 3084 was the top of the line.[48]
These models introduced IBM's Extended Architecture's 31-bit address capability and a set of backward compatible MVS/Extended Architecture (MVS/XA) software replacing previous products and part of OS/VS2 R3.8:
Number | Name | |
---|---|---|
565–279 | Basic Telecommunications Access Method/System Product (BTAM/SP) | |
5668–978 | Graphics Access Method/System Product (GAM/SP) | |
5740-XC6 | MVS/System Product - JES2 Version 2 | |
5685–291 | MVS/System Product - JES3 Version 2 | |
5665–293 | TSO Extensions (TSO/E) for MVS/XA | |
5665–284 | MVS/Extended Architecture Data Facility Product (DFP) Version 1[49] |
All three 308x systems were withdrawn on August 4, 1987.
See main article: article and IBM 3090.
The next series of high-end machines, the IBM 3090, began with models 200 and 400.[50] They were announced Feb. 12, 1985, and were configured with two or four CPUs respectively. IBM subsequently announced models 120, 150, 180, 300, 500 and 600 with lower, intermediate and higher capacities; the first digit of the model number gives the number of central processors.
Starting with the E[51] models, and continuing with the J and S models, IBM offered Enterprise Systems Architecture/370 (ESA/370), Processor Resource/System Manager (PR/SM) and a set of backward compatible MVS/Enterprise System Architecture (MVS/ESA) software replacing previous products:
Number | Name | |
---|---|---|
5685–279 | BTAM/SP | |
5668–978 | GAM/SP 2.0 | |
5685–001 | MVS/System Product-JES2 Version 3[52] | |
5685–002 | MVS/System Product-JES3 Version 3 | |
5665–293 | TSO Extensions (TSO/E) for MVS/XA | |
5685–285 | TSO/E Version 1 Release 4 | |
5685–025 | TSO/E Version 2 | |
5665–284 | MVS/XA Data Facility Product (DFP) Version 1[53] | |
5665-XA2 | MVS/XA Data Facility Product (DFP) Version 2.3 | |
5665-XA3 | MVS/DFP Version 3.1 |
IBM's offering of an optional vector facility (VF) extension for the 3090 came at a time when Vector processing/Array processing suggested names like Cray and Control Data Corporation (CDC).[54] [55]
The 200 and 400 were withdrawn on May 5, 1989.
See main article: article and IBM 4300.
The first pair of IBM 4300 processors were Mid/Low end systems announced Jan 30, 1979[56] [57] as "compact (and).. compatible with System/370."
The 4331 was subsequently withdrawn on November 18, 1981, and the 4341 on February 11, 1986.
Other models were the 4321,[58] 4361[59] and 4381.[60]
The 4361 has "Programmable Power-Off -- enables the user to turn off the processor under program control";[59] "Unit power off" is (also) part of the 4381 feature list.[60]
IBM offered many Model Groups and models of the 4300 family, ranging from the entry level 4331 to the 4381, described as "one of the most powerful and versatile intermediate system processors ever produced by IBM."
The 4381 Model Group 3 was dual-CPU.
See main article: article and IBM 9370.
This low-end system, announced October 7, 1986,[61] was "designed to satisfy the computing requirements of IBM customers who value System/370 affinity" and "small enough and quiet enough to operate in an office environment."
IBM also noted its sensitivity to "entry software prices, substantial reductions in support and training requirements, and modest power consumption and maintenance costs."
Furthermore, it stated its awareness of the needs of small-to-medium size businesses to be able to respond, as "computing requirements grow," adding that "the IBM 9370 system can be easily expanded by adding additional features and racks to accommodate..."
This came at a time when Digital Equipment Corporation (DEC) and its VAX systems were strong competitors in both hardware and software;[62] the media of the day carried IBM's alleged "VAX Killer" phrase, albeit often skeptically.[63]
In the 360 era, a number of manufacturers had already standardized upon the IBM/360 instruction set and, to a degree, 360 architecture. Notable computer makers included Univac with the UNIVAC 9000 series, RCA with the RCA Spectra 70 series, English Electric with the English Electric System 4, and the Soviet ES EVM. These computers were not perfectly compatible, nor (except for the Russian efforts)[64] [65] were they intended to be.
That changed in the 1970s with the introduction of the IBM/370 and Gene Amdahl's launch of his own company. About the same time, Japanese giants began eyeing the lucrative mainframe market both at home and abroad. One Japanese consortium focused upon IBM and two others from the BUNCH (Burroughs/Univac/NCR/Control Data/Honeywell) group of IBM's competitors.[66] The latter efforts were abandoned and eventually all Japanese efforts focused on the IBM mainframe lines.
Some of the era's clones included:
IBM documentation numbers the bits from high order to low order; the most significant (leftmost) bit is designated as bit number 0.
+ align="center" | IBM S/370 registers | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Some of the aspects of this architecture are:
Some of the optional features are:
IBM took great care to ensure that changes to the architecture would remain compatible for unprivileged (problem state) programs; some new interfaces did not break the initial interface contract for privileged (supervisor mode) programs. Some examples are
Other changes were compatible only for unprivileged programs, although the changes for privileged programs were of limited scope and well defined. Some examples are:
Great care was taken in order to ensure that further modifications to the architecture would remain compatible, at least as far as non-privileged programs were concerned. This philosophy predates the definition of the S/370 architecture and started with the S/360 architecture. If certain rules are adhered to, a program written for this architecture will run with the intended results on the successors of this architecture.
Such an example is that the S/370 architecture specifies that the 64-bit PSW register bit number 32 has to be set to 0 and that doing otherwise leads to an exception. Subsequently, when the S/370-XA architecture was defined, it was stated that this bit would indicate whether the program was a program expecting a 24-bit address architecture or 31-bit address architecture. Thus, most programs that ran on the 24-bit architecture can still run on 31-bit systems; the 64-bit z/Architecture has an additional mode bit for 64-bit addresses, so that those programs, and programs that ran on the 31-bit architecture, can still run on 64-bit systems.
However, not all of the interfaces can remain compatible. Emphasis was put on having non control programs (called problem state programs) remain compatible. Thus, operating systems have to be ported to the new architecture because the control interfaces can (and were) redefined in an incompatible way. For example, the I/O interface was redesigned in S/370-XA making S/370 program issuing I/O operations unusable as-is.
IBM replaced the System/370 line with the System/390 in the 1990s, and similarly extended the architecture from ESA/370 to ESA/390. This was a minor architectural change, and was upwards compatible.
In 2000, the System/390 was replaced with the zSeries (now called IBM Z). The zSeries mainframes introduced the 64-bit z/Architecture, the most significant design improvement since the 31-bit transition. All have retained essential backward compatibility with the original S/360 architecture and instruction set.
The GNU Compiler Collection (GCC) had a back end for S/370, but it became obsolete over time and was finally replaced with the S/390 backend. Although the S/370 and S/390 instruction sets are essentially the same (and have been consistent since the introduction of the S/360), GCC operability on older systems has been abandoned.[70] GCC currently works on machines that have the full instruction set of System/390 Generation 5 (G5), the hardware platform for the initial release of Linux/390. However, a separately maintained version of GCC 3.2.3 that works for the S/370 is available, known as GCCMVS.[71]
See main article: article.
The block multiplexer channel, previously available only on the 360/85 and 360/195, was a standard part of the architecture. For compatibility it could operate as a selector channel. Block multiplexer channels were available in single byte (1.5 MB/s) and double byte (3.0 MB/s) versions.
As part of the DAT announcement, IBM upgraded channels to have Indirect Data Address Lists (IDALs). a form of I/O MMU.
Data streaming channels had a speed of 3.0 MB/s over a single byte interface, later upgraded to 4.5 MB/s.
Channel set switching allowed one processor in a multiprocessor configuration to take over the I/O workload from the other processor if it failed or was taken offline for maintenance. System/370-XA introduced a channel subsystem that performed I/O queuing previously done by the operating system.
The System/390 introduced the ESCON channel, an optical fiber, half-duplex, serial channel with a maximum distance of 43 kilometers. Originally operating at 10 Mbyte/s, it was subsequently increased to 17 Mbyte/s.
Subsequently, FICON became the standard IBM mainframe channel; FIbre CONnection (FICON) is the IBM proprietary name for the ANSI FC-SB-3 Single-Byte Command Code Sets-3 Mapping Protocol for Fibre Channel (FC) protocol used to map both IBM's antecedent (either ESCON or parallel Bus and Tag) channel-to-control-unit cabling infrastructure and protocol onto standard FC services and infrastructure at data rates up to 16 Gigabits/sec at distances up to 100 km. Fibre Channel Protocol (FCP) allows attaching SCSI devices using the same infrastructure as FICON.