Lably
Skip to content

IBM System/370

Family of computers 1970–1990

  • 22 min read
  • 6 chapters
IBM System/370 control panel. Edit of File:Ordinateurs centraux 348-3-001.jpg to reduce extreme lens distortion.
Yves Tessier · CC BY-SA 4.0

Related on Lably

Through Operating system

Early 370 systems differed from the 360 largely in their internal circuitry, moving from the Solid Logic Technology hybrid integrated circuits containing separate transistors to more modern monolithic integrated circuits containing multiple transistors per integrated circuit, which IBM called 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. Its level of success led to competition from plug-compatible manufacturers such as Amdahl Corporation, Hitachi, and others. IBM began a project to introduce a replacement for the 370 that would lock these vendors out, the Future Systems, but this was cancelled in 1975 and the line was instead updated with more powerful CPUs that were similar but added new features. On September 5, 1990, IBM replaced the System/370 line with the System/390, starting with the ES/9000. The S/390 was based on a new ESA/390 architecture, which slightly expanded the ESA/370 architecture.

Evolution

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. 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 Operation are either optional on S/360 but standard on S/370, introduced with S/370 or added to S/370 after announcement.

  • Branch and Save
  • Channel Indirect Data Addressing
  • Channel-Set Switching
  • Clear I/O
  • Command Retry
  • Commercial Instruction Set
  • Conditional Swapping
  • CPU Timer and Clock Comparator
  • Dual-Address Space (DAS)
  • Extended-Precision Floating Point
  • Extended Real Addressing
  • External Signals
  • Fast Release
  • Floating Point
  • Halt Device
  • I/O Extended Logout
  • Limited Channel Logout
  • Move Inverse
  • Multiprocessing
  • PSW-Key Handling
  • Recovery Extensions
  • Segment Protection
  • Service Signal
  • Start-I/O-Fast Queuing (SIOF)
  • Storage-Key-Instruction Extensions
  • Storage-Key 4K-Byte Block
  • Suspend and Resume
  • Test Block
  • Translation
  • Vector
  • 31-Bit IDAWs

Initial models

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 System/360 architecture which was introduced in 1964. The System/370 architecture incorporated only a small number of changes to the System/360 architecture. These changes included:

  • 13 new instructions, among which were
  • MOVE LONG (MVCL);
  • COMPARE LOGICAL LONG (CLCL);
thereby permitting operations on up to 2^24-1 bytes (16 MB), vs. the 256-byte limits on the 360's MVC and CLC;
  • SHIFT AND ROUND DECIMAL (SRP), which multiplied or divided a packed decimal value by a power of 10, rounding the result when dividing;
  • optional 128-bit (hexadecimal) floating-point arithmetic, introduced in the System/360 Model 85
  • a new higher-resolution time-of-day clock
  • support for the block multiplexer channel introduced in the System/360 Model 85.
  • All of the emulator features were designed to run under the control of the standard operating systems. IBM documented the S/370 emulator programs as integrated emulators.

These models had core memory and did not include support for virtual storage, as they lacked a DAT (Dynamic Address Translation) box

Logic technology

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.

Monolithic memory

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.

Virtual storage

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. The August 2, 1972 announcement included:

  • address relocation hardware on all S/370s except the original models 155 and 165
  • the new S/370 models 158 and 168, with address relocation hardware
  • four new operating systems: DOS/VS (DOS with virtual storage), OS/VS1 (OS/360 MFT with virtual storage), OS/VS2 (OS/360 MVT with virtual storage) Release 1, termed SVS (Single Virtual Storage), and Release 2, termed MVS (Multiple Virtual Storage) and planned to be available 20 months later (at the end of March 1974), and VM/370 – the re-implemented CP/CMS

Virtual storage 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 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). The S/370-145 had an associative memory used by the microcode for the DOS compatibility feature from its first shipments in June 1971; the same hardware was used by the microcode for DAT. Although IBM famously chose to exclude virtual storage from the S/370 announcement, that decision was being reconsidered during the completion of the 145 engineering, partly because of virtual memory experience at CSC and elsewhere. The 145 microcode architecture simplified the addition of virtual storage, 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 storage 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. The Reference and Change bits of the Storage-protection Keys, however, were labeled on the rollers, a dead giveaway to anyone who had worked with the earlier 360/67. 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 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. 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, 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 in the slow adoption of OS/VS2 MVS, not only by customers in general, but for many internal IBM sites as well.

Subsequent enhancements

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.

  • Operating system specific assist, Extended Control Program Support (ECPS). extended facility and extension features for OS/VS1, MVS, VM, and DOS/VSE. Exploiting levels of these operating systems, e.g., MVS/System Extensions (MVS/SE), reduce path length for some frequent functions.
  • The Dual Address Space (DAS) facility allows a privileged program to move data between two address spaces without the overhead of allocating a buffer in common storage, moving the data to the buffer, scheduling an SRB in the target address space, moving the data to their final destination and freeing the buffer. IBM introduced DAS in 1981 for the 3033, but later made it available for some 43xx, 3031 and 3032 processors. MVS/System Product (MVS/SP) Version 1 exploited DAS if it was available.
  • In October 1981, the 3033 and 3081 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 System/370 Extended Architecture (S/370-XA), first available in early 1983 on the 3081 and 3083 processors, provided a number of major enhancements, including expansion of virtual address spaces from 24-bits to 31-bits, expansion of real addresses from 24 or 26 bits to 31 bits, and a complete redesign of the I/O architecture.
  • In February 1988, IBM announced the Enterprise Systems Architecture/370 (ESA/370) for enhanced (E) 3090 and 4381 models. It added sixteen 32-bit access registers, more addressing modes, and various facilities for working with multiple address spaces simultaneously.
  • On September 5, 1990, IBM announced the Enterprise Systems Architecture/390 (ESA/390), upward compatible with ESA/370.

Dual address space

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.

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.

Extended real addressing

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.

Sign in to keep reading

5 more chapters are free with a Lably account.

More in Computing and communication