The
IBM System/370 was a model range of
IBM mainframeIBM mainframes are large computer systems produced by IBM from 1952 to the present. During the 1960s and 1970s, the term mainframe computer was almost synonymous with IBM products due to their marketshare...
s announced on June 30, 1970 as the successors to the
System/360The IBM System/360 was a mainframe computer system family first announced by IBM on April 7, 1964, and sold between 1964 and 1978. It was the first family of computers designed to cover the complete range of applications, from small to large, both commercial and scientific...
family. The series maintained
backward compatibilityIn the context of telecommunications and computing, a device or technology is said to be backward or downward compatible if it can work with input generated by an older device...
with the S/360, allowing an easy migration path for customers; this, plus improved performance, were the dominant themes of the product announcement. Improvements over the S/360 first released in the S/370 model range included:
- standard dual-processor capability;
- "monolithic main memory" based on integrated circuit
An integrated circuit or monolithic integrated circuit is an electronic circuit manufactured by the patterned diffusion of trace elements into the surface of a thin substrate of semiconductor material...
s instead of magnetic coreMagnetic-core memory was the predominant form of random-access computer memory for 20 years . It uses tiny magnetic toroids , the cores, through which wires are threaded to write and read information. Each core represents one bit of information...
s;
- full support for virtual memory
In computing, virtual memory is a memory management technique developed for multitasking kernels. This technique virtualizes a computer architecture's various forms of computer data storage , allowing a program to be designed as though there is only one kind of memory, "virtual" memory, which...
through a new microcode floppy disk on the 370/145 and a hardware upgrade to include a DAT boxA memory management unit , sometimes called paged memory management unit , is a computer hardware component responsible for handling accesses to memory requested by the CPU...
on the 370/155 and 370/165; these were not announced until 1972;
- 128-bit floating point
In computing, floating point describes a method of representing real numbers in a way that can support a wide range of values. Numbers are, in general, represented approximately to a fixed number of significant digits and scaled using an exponent. The base for the scaling is normally 2, 10 or 16...
arithmetic on all models[The 360/85 had extended precison floating point.].
Evolution
The original System/370 line underwent several architectural improvements during its roughly 20-year lifetime. One very significant change was the introduction of
virtual memoryIn computing, virtual memory is a memory management technique developed for multitasking kernels. This technique virtualizes a computer architecture's various forms of computer data storage , allowing a program to be designed as though there is only one kind of memory, "virtual" memory, which...
, which was first made generally available in 1972 via IBM's "System/370 Advanced Function" announcement. IBM had initially (and controversially) chosen to exclude virtual storage from the S/370 line. The August 2nd, 1972 announcement included:
- Address relocation hardware on all S/370s except the original models 155 and 165
- The new S/370-158 and -168
- Four new operating systems: DOS/VS (DOS with virtual storage), OS/VS1
Operating System/Virtual Storage 1, or OS/VS1,was an IBM mainframe computer operating system designed to be run on IBM System/370 hardware....
(OS/360OS/360, officially known as IBM System/360 Operating System, was a batch processing operating system developed by IBM for their then-new System/360 mainframe computer, announced in 1964; it was heavily influenced by the earlier IBSYS/IBJOB and Input/Output Control System packages...
MFT with virtual storage), OS/VS2 (OS/360 MVT with virtual storage) Release 1, termed SVSSingle Virtual Storage refers to Release 1 of Operating System/Virtual Storage 2 ; it is the successor system to the MVTBut not 65MP option of Operating System/360...
(Single Virtual Storage), and Release 2, termed MVSMultiple Virtual Storage, more commonly called MVS, was the most commonly used operating system on the System/370 and System/390 IBM mainframe computers...
(Multiple Virtual Storage) and planned to be available 20 months later (at the end of March 1974), and VM/370VM refers to a family of IBM virtual machine operating systems used on IBM mainframes System/370, System/390, zSeries, System z and compatible systems, including the Hercules emulator for personal computers. The first version, released in 1972, was VM/370, or officially Virtual Machine Facility/370...
– the re-implemented CP/CMSCP/CMS was a time-sharing operating system of the late 60s and early 70s, known for its excellent performance and advanced features...

Virtual memory had in fact been delivered on S/370 hardware before this announcement:
- In June 1971, on the S/370-145 (one of which had to be 'smuggled' into Cambridge Scientific Center
The IBM Cambridge Scientific Center, established in February 1964 by Norm Rasmussen, was situated at 545 Technology Square , Cambridge, Massachusetts in the same building as MIT's Project MAC...
to prevent anybody noticing the arrival of an S/370 at that hotbed of virtual memory development – since this would have signaled that the S/370 was about to receive address relocation technology). (Varian 1997:p29) The S/370-145 had relocation hardware (implemented in microcode) from its first shipments in June 1971. Although IBM famously chose to exclude virtual memory from the S/370 announcement, that decision was being reconsidered during the completion of the 145 engineering, due partly to virtual memory experience at CSC and elsewhere. The 145 microcode architecture simplified the addition of virtual memory, allowing this capability to be present in early 145s without the extensive hardware modifications needed in other models. However, IBM did not document the 145's virtual memory capability, nor annotate the relevant bits in the control registers and PSW that were displayed on the operator control panel when selected using the roller switches. Existing S/370-145 customers were happy to learn that they did not have to purchase a hardware upgrade in order to run DOS/VS or OS/VS1 (or OS/VS2 Release 1 – which was possible, but not common because of the limited amount of main storage available on the S/370-145).
Shortly after the August 2nd, 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. 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. 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, majority of which 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 in the slow adoption of OS/VS2 MVS, not only by customers in general, but for many internal IBM sites as well.
1980s
Later architectural changes primarily involved expansions in memory (central storage) – both physical memory and virtual
address spaceIn computing, an address space defines a range of discrete addresses, each of which may correspond to a network host, peripheral device, disk sector, a memory cell or other logical or physical entity.- Overview :...
– to support larger workloads and meet client demands for more storage. This was the inevitable trend as
Moore's LawMoore's law describes a long-term trend in the history of computing hardware: the number of transistors that can be placed inexpensively on an integrated circuit doubles approximately every two years....
eroded the unit cost of memory. As with all IBM mainframe development, preserving
backward compatibilityIn the context of telecommunications and computing, a device or technology is said to be backward or downward compatible if it can work with input generated by an older device...
was paramount.
- In October 1981, the 3033 and 3081
The IBM Model 3081 Processor Complex was a mainframe computer which was announced November 12, 1980 and withdrawn August 4, 1987. It introduced the System/370 Extended Architecture. It consisted of a 3081 Processor Unit and supporting units; the 3083 and 3084 were in the same family...
processors added "extended real addressing," which allowed 26-bit addressing for physical storage (but still imposed a 24-bit limit for any individual address space). This capability appeared later on other systems, such as the 4381 and 3090.
- The S/370-XA architecture, first available in early 1983 on the 3081 and 3083 processors, provided a number of major enhancements, including: expansion of the address space from 24-bit
Notable 24-bit machines include the ICT 1900 series and the Harris H series.The IBM System/360, announced in 1964, was a popular computer system with 24-bit addressing and 32-bit general registers and arithmetic...
s to 31-bitPerhaps the only computing architecture based on 31-bit addressing is one of computing's most famous and most profitable. In 1983, IBM introduced 31-bit addressing in the System/370-XA mainframe architecture as an upgrade to the 24-bit addressing of earlier models...
s; facilitating movement of data between two address spaces; and a complete redesign of the I/O architecture. The cross-memory services capability which facilitated movement of data between address spaces was actually available just prior to S/370-XA architecture on the 3031, 3032 and 3033 processors.
- The ESA/370 architecture (later named ESA/390
ESA/390 was introduced in September 1990 and is IBM's last 31-bit-address/32-bit-data mainframe computing design, copied by Amdahl, Hitachi, and Fujitsu among other competitors...
) made further extensions, including the addition of sixteen 32-bit access registers, more addressing modes, and various facilities for working with multiple address spaces simultaneously.
Expanding the address space
As described above, the S/370 product line underwent a major architectural change: expansion of its address space from 24 to 31 bits.
The evolution of S/370 addressing was always complicated by the basic S/360 instruction set design, and its large installed code base, which relied on a 24-bit
logical addressIn computing, a logical address is the address at which an item appears to reside from the perspective of an executing application program....
. (In particular, a heavily-used machine instruction, "Load Address" (LA), explicitly cleared the top eight bits of the address being placed in a register. This created enormous migration problems for existing software.)
The strategy chosen was to implement expanded addressing in three stages:
- First at the physical level (to enable more memory hardware per system)
- Then at the operating system level (to let system software access multiple address spaces and utilize larger address spaces)
- Finally at the application level (to let new applications access larger address spaces)
Since the core S/360 instruction set remained geared to a 24-bit universe, this third step would require a real break from the
status quo; existing
assembly languageAn assembly language is a low-level programming language for computers, microprocessors, microcontrollers, and other programmable devices. It implements a symbolic representation of the machine codes and other constants needed to program a given CPU architecture...
applications would of course not benefit, and new compilers would be needed before non-assembler applications could be migrated. Most shops thus continued to run their 24-bit applications in a higher-performance 31-bit world.
This evolutionary implementation (repeated in
z/Architecturez/Architecture, initially and briefly called ESA Modal Extensions , refers to IBM's 64-bit computing architecture for IBM mainframe computers. IBM introduced its first z/Architecture-based system, the zSeries Model 900, in late 2000. Later z/Architecture systems include the IBM z800, z990, z890,...
) had the characteristic of solving the most urgent problems first: relief for real memory addressing being needed sooner that virtual memory addressing.
31 versus 32 bits
IBM's choice of 31-bit (versus 32-bit) addressing for S/370-XA involved various factors. The S/360-67 had included a full 32-bit addressing mode, but this feature was not carried forward to the S/370 series, which began with only 24-bit addressing. When IBM later expanded the S/370 address space in S/370-XA, several reasons are cited for the choice of 31 bits:
- The desire to retain the high-order bit as a "control or escape bit." In particular, the standard subroutine calling convention marked the final parameter word by setting its high bit.
- Interaction between 32-bit addresses and two instructions (BXH and BXLE) that treated their arguments as signed numbers (and which was said to be the reason TSS used 31-bit addressing on the S/360-67). (Varian 1997:p26, note 85)
- Input from key initial S/360-67 sites, who had debated the alternatives during the initial system design period, and had recommended 31 bits (instead of the 32-bit design that was ultimately chosen at the time). (Varian 1997:pp8–9, note 21, includes other comments about the "Inner Six" 360-67 design disclosees)
Series and models
The following table summarizes the major S/370 series and models. The second column lists the principal architecture associated with each series. Many models supported 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 CorporationAmdahl Corporation is an information technology company which specializes in IBM mainframe-compatible computer products. Founded in 1970 by Dr. Gene Amdahl, a former IBM employee, it has been a wholly owned subsidiary of Fujitsu since 1997...
, Hitachi Ltd., 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 and -135 |
| 1972 |
System/370 |
high-end |
-158 and -168 |
| entry |
-115 and -125 |
| mid-range |
-138 and -148 |
| 1977 |
System/370-compatible |
high-end |
303x |
3031, 3032, 3033 |
| 1979 |
entry/mid |
43xx |
4331, 4341, 4361 |
| 1980 |
high-end |
308x |
3081, 3083, 3084 |
| 1981 |
System/370-XA |
| 1983 |
mid-range |
4381 |
4381 |
| 1986 |
high-end |
3090 |
-120 to -600 |
| 1986 |
System/370-compatible |
entry |
937x |
9370, ... |
| 1988 |
ESA/370 |
high-end |
ES/3090 |
ES/3090 |
| 1988 |
mid-range |
ES/4381 |
-90, -91, -92 |
Notable machines in the 370 range include the IBM 370/195, the IBM 370/168, the IBM 3033, the IBM 3090 mainframe/
supercomputerA supercomputer is a computer at the frontline of current processing capacity, particularly speed of calculation.Supercomputers are used for highly calculation-intensive tasks such as problems including quantum physics, weather forecasting, climate research, molecular modeling A supercomputer is a...
with its optional
vector facilityA vector processor, or array processor, is a central processing unit that implements an instruction set containing instructions that operate on one-dimensional arrays of data called vectors. This is in contrast to a scalar processor, whose instructions operate on single data items...
(VF) extension, and the relatively inexpensive IBM 9370 tailored for small-to-medium size businesses.
Clones
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
UnivacUNIVAC is the name of a business unit and division of the Remington Rand company formed by the 1950 purchase of the Eckert-Mauchly Computer Corporation, founded four years earlier by ENIAC inventors J. Presper Eckert and John Mauchly, and the associated line of computers which continues to this day...
,
RCARCA Corporation, founded as the Radio Corporation of America, was an American electronics company in existence from 1919 to 1986. The RCA trademark is currently owned by the French conglomerate Technicolor SA through RCA Trademark Management S.A., a company owned by Technicolor...
,
English ElectricEnglish Electric was a British industrial manufacturer. Founded in 1918, it initially specialised in industrial electric motors and transformers...
, and the Soviet
ES EVMES EVM was a series of clones of IBM's System/360 and System/370 mainframes, released in the Comecon countries under the initiative of the Soviet Union since the 1960s. Production continued until 1998...
. These computers weren't perfectly compatible, nor (except for the Russian efforts) were they intended to be.
That changed in the 1970s with the introduction of the IBM/370 and
Gene AmdahlGene Myron Amdahl is a Norwegian-American computer architect and high-tech entrepreneur, chiefly known for his work on mainframe computers at IBM and later his own companies, especially Amdahl Corporation...
's launch of his own company. About the same time, Japanese giants began eying the lucrative mainframe market both at home and abroad. One Japanese consortium focused upon IBM and two others IBM's competitors, which had become known as the
BUNCHThe group of mainframe computer competitors to IBM in the 1970s became known as the BUNCH: Burroughs, UNIVAC, NCR, Control Data Corporation, and Honeywell...
(
Burroughs/
Univac/
NCR/
Control Data/
Honeywell). The latter efforts were abandoned and eventually all Japanese efforts focused on the IBM mainframe lines.
Some of the era's clones included:
- Amdahl Corporation
Amdahl Corporation is an information technology company which specializes in IBM mainframe-compatible computer products. Founded in 1970 by Dr. Gene Amdahl, a former IBM employee, it has been a wholly owned subsidiary of Fujitsu since 1997...
- ES EVM
ES EVM was a series of clones of IBM's System/360 and System/370 mainframes, released in the Comecon countries under the initiative of the Soviet Union since the 1960s. Production continued until 1998...
- Fujitsu
is a Japanese multinational information technology equipment and services company headquartered in Tokyo, Japan. It is the world's third-largest IT services provider measured by revenues....
- Hitachi
Hitachi is a multinational corporation specializing in high-technology.Hitachi may also refer to:*Hitachi, Ibaraki, Japan*Hitachi province, former province of Japan*Prince Hitachi and Princess Hitachi, members of the Japanese imperial family...
- Mitsubishi
The Mitsubishi Group , Mitsubishi Group of Companies, or Mitsubishi Companies is a Japanese multinational conglomerate company that consists of a range of autonomous businesses which share the Mitsubishi brand, trademark and legacy...
- RCA
RCA Corporation, founded as the Radio Corporation of America, was an American electronics company in existence from 1919 to 1986. The RCA trademark is currently owned by the French conglomerate Technicolor SA through RCA Trademark Management S.A., a company owned by Technicolor...
- Siemens
Siemens may refer toSiemens, a German family name carried by generations of telecommunications industrialists, including:* Werner von Siemens , inventor, founder of Siemens AG...
- Univac
UNIVAC is the name of a business unit and division of the Remington Rand company formed by the 1950 purchase of the Eckert-Mauchly Computer Corporation, founded four years earlier by ENIAC inventors J. Presper Eckert and John Mauchly, and the associated line of computers which continues to this day...
S/370 replacement
The System/370 line was replaced by the IBM System/390 in the 1990s, and the architecture was similarly renamed from ESA/370 to ESA/390. This was essentially just a rename for marketing reasons, rather than major architectural change.
In 2000, the System/390 was replaced by the zSeries (now called IBM System z). The zSeries mainframes introduced the 64-bit
z/Architecturez/Architecture, initially and briefly called ESA Modal Extensions , refers to IBM's 64-bit computing architecture for IBM mainframe computers. IBM introduced its first z/Architecture-based system, the zSeries Model 900, in late 2000. Later z/Architecture systems include the IBM z800, z990, z890,...
, 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.
Linux on the S/370
The
GNU Compiler CollectionThe GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain...
(GCC) had a backend for S/370, but it became obsolete over time and was finally replaced by 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 support for older systems has been abandoned. Current support is available for machines supporting 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 supports the S/370 is available, known as GCCMVS.
I/O evolutions
- The block multiplexer channel, previously available only on the 360/85 and 360/195, was a standard part of the architecture
- Also, as part of the DAT announcement, channels were upgraded to support Indirect Data Address lists (allowing some form of I/O MMU)
Architecture details
S/370 also refers to a
computer system architectureIn computer science and engineering, computer architecture is the practical art of selecting and interconnecting hardware components to create computers that meet functional, performance and cost goals and the formal modelling of those systems....
specification, and is a direct and mostly backward compatible evolution of the System/360 architecture from which it retains most aspects. This specification does not make any assumptions on the implementation itself, but rather describes the interfaces and the expected behavior of an implementation. The architecture describes mandatory interfaces that must be available on all implementations and optional interfaces which may or may not be implemented.
Some of the aspects of this architecture are:
- Big endian byte ordering
- One or more processors with
- 16 32-bit General purpose register
In computer architecture, a processor register is a small amount of storage available as part of a CPU or other digital processor. Such registers are addressed by mechanisms other than main memory and can be accessed more quickly...
s
- 16 32-bit Control registers
- A 64-bit Program status word (PSW) which describes (among other things)
- Interrupt
In computing, an interrupt is an asynchronous signal indicating the need for attention or a synchronous event in software indicating the need for a change in execution....
masks
- Privilege states
- A condition code
- A 24-bit instruction address
The program counter , commonly called the instruction pointer in Intel x86 microprocessors, and sometimes called the instruction address register, or just part of the instruction sequencer in some computers, is a processor register that indicates where the computer is in its instruction sequence...
- Timing facilities (Time of day clock, interval timer, CPU timer and clock comparator)
- An interruption mechanism, maskable
In computing, an interrupt is an asynchronous signal indicating the need for attention or a synchronous event in software indicating the need for a change in execution....
and unmaskable interruption classes and subclasses
- An instruction set
An instruction set, or instruction set architecture , is the part of the computer architecture related to programming, including the native data types, instructions, registers, addressing modes, memory architecture, interrupt and exception handling, and external I/O...
. Each instruction is wholly described and also defines the conditions under which an exception is recognized in the form of program interruption.
- A memory (called storage) subsystem with
- 8 bits per byte
- A special processor communication area starting at address 0
- Key controlled protection
- 24-bit addressing
- Manual control operations that provide
- A bootstrap
In computing, booting is a process that begins when a user turns on a computer system and prepares the computer to perform its normal operations. On modern computers, this typically involves loading and starting an operating system. The boot sequence is the initial set of operations that the...
process (a process called Initial Program Load or IPL)
- Operator-initiated interrupts
- Resetting the system
- Basic debugging facilities
- Manual display and modifications of the system's state (memory and processor)
- An Input/Output mechanism - which doesn't describe the devices themselves
Some of the optional features are:
- A Dynamic Address Translation mechanism that can be used to implement a virtual memory
In computing, virtual memory is a memory management technique developed for multitasking kernels. This technique virtualizes a computer architecture's various forms of computer data storage , allowing a program to be designed as though there is only one kind of memory, "virtual" memory, which...
system
- Floating point
In computing, floating point describes a method of representing real numbers in a way that can support a wide range of values. Numbers are, in general, represented approximately to a fixed number of significant digits and scaled using an exponent. The base for the scaling is normally 2, 10 or 16...
instructions
Due to the extensible nature of the interface specification, new interface could be devised without breaking the initial interface contract. Such examples are:
- ECPS:VM, a feature to assist the VM/370 operating system
- ECPS:VSE, a feature to assist the DOS operating system
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.
One of the key aspect that allows this compatibility is to define that unused fields are to be set to a predetermined value (usually 0) - and that using another value leads to an exception condition being recognized. When the interface is modified, this unused field can then be used to alter the interface contract. A well formed program can then still produce the expected result even when executing on an implementation of the new interface.
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 running on the 24 bit architecture can still run on 31 bit systems and the new 64 bit system.
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.
See also
- IBM System/360
- IBM ESA/390
- IBM System z
- PC-based IBM-compatible mainframes
Since the rise of the personal computer in the 1980s, IBM and other vendors have created PC-based IBM-compatible mainframes which are compatible with the larger IBM mainframe computers. For a period of time PC-based mainframe-compatible systems had a lower price and did not require as much...
- Hercules S/370, ESA/390 and z/Architecture emulator
Hercules is a computer emulator which allows software designed for IBM mainframe computers and for plug-compatible mainframes to run on other types of computer hardware: notably on low-cost personal computers...
(since 1999)
External links
- Computer Programming in the Assembler Language, CSCI 360 lecture notes for a Northern Illinois University
Northern Illinois University is a state university and research institution located in DeKalb, Illinois, with satellite centers in Hoffman Estates, Naperville, Rockford, and Oregon. It was originally founded as Northern Illinois State Normal School on May 22, 1895 by Illinois Governor John P...
course