IBM System/370: Difference between revisions
Guy Harris (talk | contribs) Fix typo. |
Guy Harris (talk | contribs) Clarify that the IC technology switch from S/360 to S/370 was from hybrid integrated circuits to monolithic integrated circuits (except for the System/360 Model 85, which also used monolithic ICs). |
||
(474 intermediate revisions by more than 100 users not shown) | |||
Line 1: | Line 1: | ||
{{Short description|Family of mainframe computers 1970–1990}} |
|||
{{Redirect|IBM 370|the printer|IBM 370 printer}} |
|||
{{Infobox CPU architecture |
|||
| name = System/370 |
|||
| designer = [[IBM]] |
|||
| bits = [[32-bit computing|32-bit]] |
|||
| introduced = 1970 |
|||
| design = CISC |
|||
| type = Register–Register<br />Register–Memory<br />Memory–Memory |
|||
| encoding = Variable (2, 4 or 6 bytes long) |
|||
| branching = [[Status register|Condition code]], indexing, counting |
|||
| endianness = Big |
|||
| extensions = |
|||
| open = |
|||
| predecessor = [[System/360]] |
|||
| successor = [[S/370-XA]], [[ESA/370]], [[ESA/390]], [[z/Architecture]] |
|||
| gpr = 16× 32-bit |
|||
| fpr = [[IBM hexadecimal floating-point|4× 64-bit]]{{efn|16 FP registers in S/390}} |
|||
| image = Ordinateurs centraux 348-3-001-2 (edit).jpg |
|||
}} |
|||
{{IBM mainframes}} |
{{IBM mainframes}} |
||
<!-- Image with disputed fair-use status removed: [[Image:IBM_logo.svg|thumb|128px|IBM logo]] --> |
|||
The '''IBM System/370''' ( |
The '''IBM System/370''' ('''S/370''') is a range of [[IBM mainframe]] computers announced as the successors to the [[IBM System/360|System/360]] family on June 30, 1970. The series mostly{{efn|E.g., programs that depended on getting program interrupts for alignment errors might fail.}} 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 [[Solid Logic Technology]] [[hybrid integrated circuit]]s containing separate transistors to more modern monolithic [[integrated circuit]]s containing 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 system]]s 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 [[IBM System/390|System/390]]. The 390, which was based on a new [[ESA/390]] model, expanded the multiple memory concept to include full [[hardware virtualization]]{{disputed inline|Multiple operating systems|for=It was there earlier|date=April 2024}} that allowed it to run multiple operating systems at the same time. |
|||
==Evolution== |
==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.<ref>{{cite web|url=http://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PR370.html|title=System/370 Announcement | publisher=[[IBM]]| date=June 30, 1970}}</ref> The 155 first shipped in January 1971.<ref name="Pugh91" />{{rp|643}} System/370 underwent several architectural improvements during its roughly 20-year lifetime.{{sfn|S370|loc=[http://bitsavers.org/pdf/ibm/370/princOps/GA22-7000-10_370_Principles_of_Operation_Sep87.pdf#page=506 Appendix D. Facilities ]|pp=D-1-D-5}}{{sfn|S370-MVS}}{{sfn|S370-VM}}{{sfn|S370-XA|loc=[http://bitsavers.org/pdf/ibm/370/princOps/SA22-7085-1_370-XA_Principles_of_Operation_Jan87.pdf#page=534 Appendix D. Comparison Between System/370 and 370-XA Modes]|pp=D-1-D-10}}{{sfn|SIE}}{{sfn|S370-ESA|loc=[http://bitsavers.org/pdf/ibm/370/princOps/SA22-7200-0_370-ESA_Principles_of_Operation_Aug88.pdf#page=636 Appendix D. Comparison Between 370-XA and ESA/370]|pp=D{{hyphen}}1-D{{hyphen}}5}}{{sfn|S390-ESA|loc=[http://publibz.boulder.ibm.com/epubs/pdf/dz9ar008.pdf#page=947 Appendix D. Comparison Between ESA/370 and ESA/390]|pp=D{{hyphen}}1-D{{hyphen}}7}} |
|||
The original System/370 line underwent several architectural improvements during its roughly 20-year lifetime. The first and most significant change was the introduction of [[virtual memory]], 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.<ref>{{cite book|first=E.W.|last=Pugh|coauthors=L.R. Johnson, John H. Palmer|title=IBM's 360 and early 370 systems|publisher=MIT Press|id=ISBN 0-262-16123-0}}</ref><ref>{{cite web|url=http://febcm.club.fr/english/information_technology/information_technology_3.htm|title=Information technology industry timeline, 1964-1974}}</ref> 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]] ([[OS/MFT]] with virtual storage), OS/VS2 ([[OS/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 (operating system)|VM/370]] – the re-implemented [[CP/CMS]] |
|||
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]] to prevent anybody noticing the arrival of a 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).<ref>Varian, ''op. cit., p.'' 29 – security over delivery of relocating 145 to CSC</ref> The S/370-145 had relocation hardware (i.e., microcode) from the very beginning. IBM just did not document the facility nor annotate the relevant bits in the control registers and PSW that were displayed on the operator control panel when selected using the rollers. 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). |
|||
The following features mentioned in the 11th edition of the System/370 Principles of Operation{{sfn|S370|loc=[http://bitsavers.org/pdf/ibm/370/princOps/GA22-7000-10_370_Principles_of_Operation_Sep87.pdf#page=506 Appendix D. Facilities ]|pp=D-1-D-5}} |
|||
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.<ref>{{cite journal | author = A. Padegs | title = System/360 and Beyond | journal = IBM Journal of Research & Development | volume = 25 | issue = 5 | pages = 377–390 | date = September 1981 | publisher = IBM | url = http://www.research.ibm.com/journal/rd/255/ibmrd2505D.pdf }} – tables include model characteristics (Table 1) and announcement/shipment dates (Table 2). The S/370-155-II and -165-II are listed under the former but not the latter, because the upgraded systems were not formally announced as separate models. The "System/370 Advanced Function" announcement, including the -158 and -168, was the main public event.</ref> 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 efficient 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{{fact|date=March 2008}} <!-- |
|||
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 |
|||
Introducing DAT box for 155&165 slowed adoption of MVS?! Quite the opposite is true: the lack of DAT box in initial 155&156 slowed MVS adoption. |
|||
*Channel Indirect Data Addressing |
|||
*Channel-Set Switching |
|||
*Clear I/O |
|||
*Command Retry |
|||
*Commercial Instruction Set{{efn|Optional on S/360|name=optional}} |
|||
*Conditional Swapping |
|||
*CPU Timer and Clock Comparator |
|||
*Dual-Address Space (DAS) |
|||
*Extended-Precision Floating Point{{efn|Previously available on S/360 models [[IBM System/360 Model 85|85]] and [[IBM System/360 Model 195|195]]}} |
|||
*Extended Real Addressing |
|||
*External Signals |
|||
*Fast Release |
|||
*Floating Point{{efn|name=optional}} |
|||
*Halt Device |
|||
*I/O Extended Logout |
|||
*Limited Channel Logout |
|||
*Move Inverse{{efn|Available as an RPQ on S/360|name=RPQ}} |
|||
*Multiprocessing{{efn|Previously available on S/360 models [[IBM System/360 Model 65|65]] and [[IBM System/360 Model 67|67]], and on the [[IBM 9020|9020]]}} |
|||
*PSW-Key Handling |
|||
*Recovery Extensions |
|||
*Segment Protection |
|||
*Service Signal |
|||
*Start-I/O-Fast Queuing{{sfn|S370-1st|loc=[http://www.bitsavers.org/pdf/ibm/370/princOps/GA22-7000-0_370_Principles_Of_Operation_Jun70.pdf#page=26 Start I/O Fast Release]|p=26-27}} (SIOF) |
|||
*Storage-Key-Instruction Extensions |
|||
*Storage-Key 4K-Byte Block |
|||
*Suspend and Resume |
|||
*Test Block |
|||
*Translation{{efn|The Dynamic Address Translation on S/370 is different from that on the [[IBM System/360 Model 67|360/67]]}} |
|||
*Vector{{efn|Only on the [[IBM 3090|3090]]}} |
|||
*31-Bit IDAWs |
|||
===Initial models=== |
|||
--> in the slow adoption of OS/VS2 MVS, not only by customers in general, but for many internal IBM sites as well. |
|||
When the first System/370 machines, the [[IBM System/370 Model 155|Model 155]] and the [[IBM System/370 Model 165|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.<ref name="Model-165-IBM-Archives">{{cite web|url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3165.html|title=System/370 Model 165|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20230729090329/https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3165.html|archive-date=2023-07-29|url-status=dead}}</ref> The System/370 architecture incorporated only a small number of changes to the System/360 architecture. These changes included:{{sfn|S370-1st|loc=[http://bitsavers.org/pdf/ibm/370/princOps/GA22-7000-0_370_Principles_Of_Operation_Jun70.pdf#page=5 Modifications to System/360]|pp=2-5}} |
|||
<!-- Use Appendix in -10 edition? --> |
|||
* 13 new instructions, among which were |
|||
Later architectural changes primarily involved expansions in memory (central storage) – both physical memory and virtual [[address space]] – to support 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. |
|||
:* MOVE LONG ('''MVCL''');{{sfn|S370-1st|loc=[http://www.bitsavers.org/pdf/ibm/370/princOps/GA22-7000-0_370_Principles_Of_Operation_Jun70.pdf#page=23 Move Long]|pp=23-25}} |
|||
:* COMPARE LOGICAL LONG ('''CLCL''');{{sfn|S370-1st|loc=[http://www.bitsavers.org/pdf/ibm/370/princOps/GA22-7000-0_370_Principles_Of_Operation_Jun70.pdf#page=21 Compare Logical Long]|pp=21-22}} |
|||
::: thereby permitting operations on up to 2^24-1 bytes (16 MB), vs. the 256-byte limits on the 360's MVC and CLC;<ref>{{cite web|url=http://faculty.cs.niu.edu/~byrnes/csci360/notes/360ex.htm|title=Move Character Long|work=CSCI 360 Computer Programming in the Assembler Language}}</ref><ref>{{cite book|chapter-url=http://research.microsoft.com/en-us/um/people/gbell/tcmwebpage/timeline/chap51_ibm370_cs2.pdf|chapter=Architecture of the IBM System/370|first1=Richard P.|last1=Case|first2=Andris|last2=Padegs|title=Computer Structures: Readings and Examples|editor-first1=C. Gordon|editor-last1=Bell|editor-link1=Gordon Bell|editor-first2=Allen|editor-last2=Newell|editor-link2=Allen Newell}}</ref> |
|||
:* SHIFT AND ROUND DECIMAL ('''SRP'''),{{sfn|S370-1st|loc=[http://www.bitsavers.org/pdf/ibm/370/princOps/GA22-7000-0_370_Principles_Of_Operation_Jun70.pdf#page=25 Shift and Round Decimal]|pp=25-26}} which multiplied or divided a [[packed decimal]] value by a power of 10, rounding the result when dividing; |
|||
* optional 128-bit ([[IBM hexadecimal floating-point|hexadecimal]]) [[floating-point arithmetic]], introduced in the [[IBM System/360 Model 85|System/360 Model 85]]<ref>{{cite web|url=http://ed-thelen.org/comp-hist/IBM-ProdAnn/370-155.pdf|title=Announcing: System/370 Model 155|publisher=IBM}}</ref><ref>{{cite web|url=http://ed-thelen.org/comp-hist/IBM-ProdAnn/370-165.pdf|title=Announcing System/370 Model 165|publisher=IBM}}</ref> |
|||
* 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. |
|||
* a new higher-resolution time-of-day clock{{sfn|S370-1st|loc=[http://www.bitsavers.org/pdf/ibm/370/princOps/GA22-7000-0_370_Principles_Of_Operation_Jun70.pdf#page=6 Time-Of_Day Clock]|p=6}} |
|||
* 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]]s to [[31-bit]]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. |
|||
* support for the block multiplexer channel{{sfn|S370 |
|||
* The '''ESA/370''' architecture (later named '''390/ESA'''{{Fact|date=February 2007}} and finally '''[[ESA/390]]''') 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. |
|||
|loc=[http://bitsavers.org/pdf/ibm/370/princOps/GA22-7000-10_370_Principles_of_Operation_Sep87.pdf#page=355 Types of Channels] |
|||
|pp=13-4-13-5}} introduced in the System/360 Model 85.<ref>{{cite journal|url=http://research.microsoft.com/en-us/um/people/gbell/tcmwebpage/timeline/chap51_ibm370_cs2.pdf|title=Architecture of the IBM System/370|author1=Richard P. Case|author2=Andris Padegs|journal=[[Communications of the ACM]]|volume=21|issue=1|date=January 1978|pages=73–96|doi=10.1145/359327.359337|s2cid=207581262|quote=The IBM 2880 Block-Multiplexer Channel included most of the System/370 I/O architecture extensions and was made available on System/360 Models 85 and 195.}}</ref> |
|||
* 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 memory|virtual storage]], as they lacked a [[Memory management unit|DAT (Dynamic Address Translation) box]] |
|||
==Expanding the address space== |
|||
===Logic technology=== |
|||
As described above, the S/370 product line underwent a major architectural change: expansion of its address space from 24 to 31 bits. |
|||
All models of the System/370 used IBM's form of monolithic [[integrated circuit]]s called [[IBM Solid Logic Technology#Later developments|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 [[Solid Logic Technology|SLT]] technology of the System/360.<ref name="Pugh91" />{{rp|440}} |
|||
===Monolithic memory=== |
|||
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 address]]. (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.) |
|||
On September 23, 1970, IBM announced the [[IBM System/370 Model 145|Model 145]], a third model of the System/370, which was the first model to feature [[semiconductor memory|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=== |
|||
The strategy chosen was to implement expanded addressing in three stages: |
|||
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.<ref name="Pugh91">{{cite book|first=E.W.|last=Pugh |author2=L.R. Johnson |author3=John H. Palmer|title=IBM's 360 and early 370 systems|publisher=MIT Press|isbn=0-262-16123-0|url=https://archive.org/details/ibms360early370s0000pugh|url-access=registration|location=Cambridge|year=1991}}</ref>{{rp|479–484}}<ref>{{cite web|url=http://www.feb-patrimoine.com/histoire/english/information_technology/information_technology_3.htm|title=Information technology industry timeline, 1964–1974}}</ref> The August 2, 1972 announcement included: |
|||
# First at the physical level (to enable more memory hardware per system) |
|||
* address relocation hardware on all S/370s except the original models 155 and 165 |
|||
# Then at the operating system level (to let system software access multiple address spaces and utilize larger address spaces) |
|||
* the new S/370 models 158 and 168, with address relocation hardware |
|||
# Finally at the application level (to let new applications access larger address spaces) |
|||
* four new operating systems: [[DOS/VS]] (DOS with virtual storage), [[OS/VS1]] ([[OS/360 and successors|OS/360]] [[OS/360 and successors#OS/MFT|MFT]] with virtual storage), OS/VS2 (OS/360 [[OS/360 and successors#OS/MVT|MVT]] with virtual storage) Release 1, termed [[OS/VS2 (SVS)|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 (operating system)|VM/370]] – the re-implemented [[CP/CMS]] |
|||
[[File:Hist. Rechenzentrum.png|thumb|300px|right|System/370-145 3D Rendering]] |
|||
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 language]] 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. |
|||
[[File:IBM System 370-145 und Bandlaufwerke 2401.png|thumb|300px|right|3D Rendering of computer center with IBM System/370-145 and IBM 2401 tape drives]] |
|||
[[File:IBM 370-145 2.png|thumb|300px|right|System/370-145 3D Rendering]] |
|||
[[File:IBM 370-145.png|thumb|300px|right|System/370-145 system console.]] |
|||
Virtual storage had in fact been delivered on S/370 hardware before this announcement: |
|||
This evolutionary implementation (repeated in [[z/Architecture]]) had the characteristic of solving the most urgent problems first: Relief for real memory addressing being needed sooner that virtual memory addressing. |
|||
* 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).<ref>{{cite conference|url=http://www.leeandmelindavarian.com/Melinda/25paper.pdf|last=Varian|first=Melinda|title=VM and the VM community, past present, and future|conference=[[SHARE (computing)|SHARE]] 89 Sessions 9059-9061|year=1997|page=29}}</ref> The S/370-145 had an associative memory<ref name=SY24-3581-1>{{cite book |
|||
| title = IBM Maintenance Library 3145 Processing Unit Theory - Maintenance |
|||
| edition = Second |
|||
| url = http://www.bitsavers.org/pdf/ibm/370/fe/3145/SY24-3581-1_3145_Processing_Unit_Theory-Maintenance_Oct71.pdf |
|||
| id = SY24-3581-1 |
|||
| date = October 1971 |
|||
| publisher = IBM |
|||
| pages = CPU 117–129}}</ref><ref name=SY24-3581-4>{{cite book |
|||
| title = IBM Maintenance Library 3145 Processing Unit Theory - Maintenance |
|||
| edition = Fifth |
|||
| url = http://www.bitsavers.org/pdf/ibm/370/fe/3145/SY24-3581-4_3145_Processor_Theory_Maintenance.pdf |
|||
| id = SY24-3581-4 |
|||
| publisher = IBM}}</ref>{{rp|CPU 117-CPU 129}} used by the [[microcode]] for the DOS compatibility feature from its first shipments in June 1971;<ref name=SY24-3581-1/> the same hardware was used by the microcode for DAT.<ref name=SY24-3581-4 />{{rp|CPU 139}} 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.<ref name="S370VM">"IBM's Virtual Memory 370s," Datamation, September 1972, p.58-61</ref> 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.<ref>{{cite journal | author = A. Padegs | title = System/360 and Beyond | journal = IBM Journal of Research & Development | volume = 25 | issue = 5 | pages = 377–390 |date=September 1981 | publisher = IBM | doi = 10.1147/rd.255.0377}} – tables include model characteristics (Table 1) and announcement/shipment dates (Table 2). The S/370-155-II and -165-II are listed under the former but not the latter, because the upgraded systems were not formally announced as separate models. The "System/370 Advanced Function" announcement, including the -158 and -168, was the main public event.</ref> 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 [[Lease|leasing]] company.<ref name="S370VM" /> 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<ref>"155, 165 Owners Angry with IBM," Datamation, August 1973, p.76-86</ref><!-- |
|||
===31 versus 32 bits=== |
|||
Introducing DAT box for 155&165 slowed adoption of MVS?! Quite the opposite is true: the lack of DAT box in initial 155&165 slowed MVS adoption. [But that is the point: the lack of virtual memory in the original release meant that customers were soon asked to pay for an expensive and unexpected upgrade; many said no. It was the NEED for the upgrade, rather than its availability, that caused the problem.] |
|||
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."<ref>{{cite journal | author = A. Padegs | title = System/370 Extended Architecture: design considerations | journal = IBM Journal of Research & Development | volume = 27 | issue = 3 | pages = 198–205 | date = May 1983 | publisher = IBM}} [available on-line at [http://www.research.ibm.com/journal/rd/255/ibmrd2703B.pdf www.research.ibm.com] – a subsection titled "31-bit addressing" begins on page 201.</ref> In particular, the standard subroutine calling convention marked the final parameter word by setting its high bit. |
|||
--> in the slow adoption of OS/VS2 MVS, not only by customers in general, but for many internal IBM sites as well. |
|||
# 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).<ref>Melinda Varian, ''VM and the VM community, past present, and future,'' SHARE 89 Sessions 9059-9061, 1977, ''p.'' 26, note 85; available online at [http://www.princeton.edu/~melinda/25paper.pdf www.princeton.edu/~melinda]</ref> |
|||
# 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).<ref>Varian, ''op. cit., pp.'' 8-9, note 21; includes other comments about the "Inner Six" 360-67 design disclosees</ref> |
|||
===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.{{citation needed|date=October 2009}} |
|||
* Operating system specific assist, Extended Control Program Support (ECPS). extended facility and extension features for OS/VS1, MVS{{efn|One of these{{sfn|S370-MVS}} is required for MVS/SE and MVS/SP |
|||
* System/370 extended facility |
|||
* ECPS:MVS |
|||
* 3033 extension feature |
|||
}} and VM.{{efn|VM/370 R2, VM/BSE, VM/SE and VM/SP exploit Virtual-Machine Assist and Shadow-Table-Bypass Assist{{sfn|S370-VM}} if they are available. |
|||
}} Exploiting levels of these operating systems, e.g., MVS/System Extensions (MVS/SE), reduce path length for some frequent functions. |
|||
* The Dual Address Space<ref name="dual-address-space-share-paper">{{cite conference |
|||
| title = Dual Address Space & Linkage-Stack Architecture |
|||
| id = Session 10446 |
|||
| author = Dan Greiner |
|||
| date = 12 March 2012 |
|||
| conference = SHARE 118 Atlanta |
|||
| url = https://share.confex.com/share/118/webprogram/Session10446.html |
|||
| conference-url = https://share.confex.com/share/118/webprogram/ |
|||
| archive-url = https://web.archive.org/web/20210114021953/https://share.confex.com/share/118/webprogram/Session10446.html |
|||
| archive-date = 2021-01-14 |
|||
| url-status = live |
|||
}} |
|||
</ref> (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 [[IBM 303X#IBM 3033|3033]], but later made it available for some 43xx,<ref>{{cite book |
|||
| title = A Guide to the IBM 4381 Processor |
|||
| id = GC20·2021·2 |
|||
| date = April 1986 |
|||
| edition = Third |
|||
| page = 128 |
|||
| section = Section 80: Comparison Table of Hardware - 4341 Model Group 12 and 4381 Processors |
|||
| section-url = http://bitsavers.org/pdf/ibm/4381/GC20-2021-2_A_Guide_to_the_IBM_4381_Processor_Apr1986.pdf#page=137 |
|||
| url = http://bitsavers.org/pdf/ibm/4381/GC20-2021-2_A_Guide_to_the_IBM_4381_Processor_Apr1986.pdf |
|||
| publisher = IBM |
|||
}} |
|||
</ref> 3031 and 3032 processors. MVS/System Product (MVS/SP) Version 1 exploited DAS if it was available. |
|||
* In October 1981, the 3033 and [[IBM 308X#IBM 3081|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.{{sfn|S370|loc=[http://bitsavers.org/pdf/ibm/370/princOps/GA22-7000-10_370_Principles_of_Operation_Sep87.pdf#page=28 Storage Addressing with Extended Address Fields]|pp=3{{hyp}}3}} |
|||
* 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-bit computing|24-bit]]s to [[31-bit computing|31-bit]]s, 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 register]]s, more addressing modes, and various facilities for working with multiple address spaces simultaneously. |
|||
* On September 5, 1990, IBM announced the Enterprise Systems Architecture/390<ref name=MK.390>{{cite web |
|||
| url = https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PR390.html |
|||
| title = System/390 Announcement |
|||
| website = IBM Archives |
|||
| date = 23 January 2003 |
|||
| publisher = IBM |
|||
| access-date = 2017-01-29 |
|||
| archive-url = https://web.archive.org/web/20231026082859/https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PR390.html |
|||
| archive-date = 2023-10-26 |
|||
| url-status = dead |
|||
}} |
|||
</ref> ([[ESA/390]]), upward compatible with ESA/370. |
|||
===Dual address space=== |
|||
In 1981, IBM added the dual-address-space facility to System/370.<ref name="dual-address-space-share-paper" /> 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.<ref name="GA22-7000-7">{{cite book |url=http://bitsavers.trailing-edge.com/pdf/ibm/370/princOps/GA22-7000-7_IBM_System_370_Principles_of_Operation_8th_ed_198103.pdf |title=IBM System/370 Principles of Operation |edition=Eighth |date=September 1981 |id=GA22-7000-7 |publisher=[[IBM]] |page=3{{hyp}}11-3{{hyp}}6,5{{hyp}}11-5{{hyp}}29}}</ref> |
|||
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.<ref name="GA22-7000-7" /> |
|||
===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.{{sfn|S370|loc=[http://bitsavers.org/pdf/ibm/370/princOps/GA22-7000-10_370_Principles_of_Operation_Sep87.pdf#page=51 Page-Table Entries]|pp=3{{hyp}}26}} |
|||
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.{{sfn|S370|loc=[http://bitsavers.org/pdf/ibm/370/princOps/GA22-7000-10_370_Principles_of_Operation_Sep87.pdf#page=51 Page-Table Entries]|pp=3{{hyp}}26}} |
|||
==Series and models== |
==Series and models== |
||
The following table summarizes the major S/370 series and models. The middle 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. |
|||
===Models sorted by date introduced (table)=== |
|||
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 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 manufacturer]]s (PCMs), because they competed aggressively against IBM hardware dominance. |
|||
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 manufacturer]]s (PCMs), because they competed aggressively against IBM hardware dominance. |
|||
[[Image:IBM 370 145.png|thumb|400px|right|System/370-145 system console]] |
|||
{| class="wikitable" |
{| class="wikitable" |
||
! First year<br/>of series !! Architecture !! Market<br/>level !! Series !! Models |
! First year<br />of series !! Architecture !! Market<br />level !! Series !! Models |
||
|- |
|- |
||
| 1970 || System/370 (no DAT) || high-end || rowspan="5" | |
| 1970 || System/370 (no DAT) || high-end || rowspan="5" | System/370-xxx || -155, -165, -195 |
||
|- |
|- |
||
| 1970 || System/370 (DAT) || mid-range || -145<ref name="model145">{{cite web|url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3145.html|title=System/370 Model 145|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20230729090334/https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3145.html|archive-date=2023-07-29|url-status=dead}}</ref> and -135 |
|||
| 1970 || System/370 (DAT) || mid-range || -145 and -135 |
|||
|- |
|- |
||
| rowspan="3" | 1972 || rowspan="3" | System/370 || high-end || -158 and -168 |
| rowspan="3" | 1972 || rowspan="3" | System/370 || high-end || -158 and -168 |
||
Line 65: | Line 205: | ||
| mid-range || -138 and -148 |
| mid-range || -138 and -148 |
||
|- |
|- |
||
| 1977 || rowspan="3" | System/370-compatible<ref>{{cite web|url=http://www |
| 1977 || rowspan="3" | System/370-compatible<ref>{{cite web|url=http://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_basinfo.html|title=IBM timeline of S/370 series| website=[[IBM]] |date=23 January 2003}} with surprising term 'System/370-compatible' for the 3xxx and 4xxx series</ref> || high-end || [[IBM 303X|303x]] || 3031, 3032, 3033 |
||
|- |
|- |
||
| 1979 || entry/mid || [[IBM 4300 |
| 1979 || entry/mid || [[IBM 4300|43xx]] || 4331, 4341, 4361 |
||
|- |
|- |
||
| 1980 || rowspan="2" | high-end || rowspan="2" | 308x |
| 1980 || rowspan="2" | high-end || rowspan="2" | [[IBM 308X|308x]] || rowspan="2" | 3081, 3083, 3084 |
||
|- |
|- |
||
| 1981 || rowspan="3" | System/370-XA |
| 1981 || rowspan="3" | System/370-XA |
||
|- |
|- |
||
| 1983 || mid-range || [[IBM 4300 |
| 1983 || mid-range || [[IBM 4300|4381]] || 4381 |
||
|- |
|- |
||
| 1986 || high-end || 3090 || -120 to -600 |
| 1986 || high-end || [[IBM 3090|3090]] || -120 to -600 |
||
|- |
|- |
||
| 1986 || System/370-compatible<ref>{{cite web|url=http://www |
| 1986 || System/370-compatible<ref>{{cite web|url=http://www.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&appname=iSource&supplier=897&letternum=ENUS186-178&open&cm_mmc=5733-_-n-_-vrm_newsletter-_-10207_134134&cmibm_em=dm:0:12046832#|title=IBM 9370 announcement letter| website=[[IBM]] |date=7 October 1986}} to explain why the 9370 is categorized as a System/370 compatible system |
||
</ref> |
</ref> || entry || [[IBM 9370|937x]] || 9370, ... |
||
|- |
|- |
||
| 1988 || rowspan="2" | ESA/370 |
| 1988 || rowspan="2" | ESA/370 || high-end || ES/3090 || ES/3090 |
||
|- |
|- |
||
| 1988 || mid-range || ES/4381 || -90, -91, -92 |
| 1988 || mid-range || ES/4381 || -90, -91, -92 |
||
|} |
|} |
||
===Models grouped by Model number (detailed)=== |
|||
Notable machines in the 370 range include the [[IBM 370/195]], the [[IBM 370/168]], the [[IBM 3033]], the [[IBM 3090]] mainframe/[[supercomputer]] with its optional [[vector processor|vector facility]] (VF) extension, and the relatively inexpensive [[IBM 9370]] tailored for small-to-medium size businesses. |
|||
[[List of IBM products#Later solid-state computers & systems|IBM]] used the name System/370 to announce the following eleven (three-digit) offerings: |
|||
== |
====System/370 Model 115==== |
||
The '''IBM System/370 Model 115''' was announced March 13, 1973<ref name="IBM370.115">{{cite web|url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3115.html|title=System/370 Model 115|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20230719144824/https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3115.html|archive-date=2023-07-19|url-status=dead}}</ref> as "an ideal System/370 entry system for users of [[IBM System/3|IBM's System/3]], [[IBM 1130|1130 computing system]] and [[IBM System/360 Model 20|System/360 Models 20]], [[IBM System/360 Model 22|22]] and [[IBM System/360 Model 25|25]]." |
|||
It was delivered with "a minimum of two (of IBM's newly announced) directly attached [[IBM 3340]] disk drives."<ref name="IBM370.115"/> Up to four 3340s could be attached. |
|||
The System/370 line was replaced by the [[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. |
|||
The CPU could be configured with 65,536 (64K) or 98,304 (96K) bytes of main memory. An optional 360/20 emulator was available. |
|||
In 2000, the System/390 was replaced by the [[zSeries]]. 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 115 was withdrawn on March 9, 1981. |
|||
==Linux on the S/370== |
|||
====System/370 Model 125==== |
|||
The [[GNU Compiler Collection]] 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 deprecated. 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]]. |
|||
The '''IBM System/370 Model 125''' was announced Oct 4, 1972.<ref name="IBM370.125">{{cite web|url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3125.html|title=System/370 Model 125|website=IBM Archives| date=23 January 2003 |publisher=IBM|archive-url=https://web.archive.org/web/20230719145726/https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3125.html|archive-date=2023-07-19|url-status=dead}}</ref> |
|||
Two, three or four directly attached [[IBM 3333]] disk storage units provided "up to 400 million bytes online." |
|||
==Architecture details== |
|||
Main memory was either 98,304 (96K) or 131,072 (128K) bytes. |
|||
S/370 also refers to a [[Computer architecture|computer system architecture]] specification <ref>GA22-7000: ''System/370 principles of operation''</ref>, and is a direct and mostly [[backward compatible]] evolution of the System/360 architecture<ref>A22-6821: ''System/360 principles of operation''</ref><ref>GA22-7000-4: ''System/370 principles of operation, p.'' 9, chapter 1 – describes philosophy of evolution from S/360 to S/370</ref> 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. |
|||
The 125 was withdrawn on March 9, 1981. |
|||
Some of the most notable aspects of this architecture are: |
|||
====System/370 Model 135==== |
|||
The '''IBM System/370 Model 135''' was announced Mar 8, 1971.<ref name="IBM370.135">{{cite web|url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3135.html|title=System/370 Model 135|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20230719221316/https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3135.html|archive-date=2023-07-19|url-status=dead}}</ref> 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. |
|||
====System/370 Model 138==== |
|||
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."<ref>{{cite web|url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3138.html|title=System/370 Model 138|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20230719144824/https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3138.html|archive-date=2023-07-19|url-status=dead}}</ref> |
|||
The 138 was withdrawn on November 1, 1983. |
|||
====System/370 Model 145==== |
|||
{{main article|IBM System/370 Model 145}} |
|||
The '''IBM System/370 Model 145''' was announced Sep 23, 1970, three months after the 155 and 165 models.<ref name="model145"/> It first shipped in June 1971.<ref name="Pugh91" />{{rp|643}} |
|||
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.<ref name="model145" /> |
|||
The 145 was withdrawn on October 16, 1979. |
|||
====System/370 Model 148==== |
|||
The '''IBM System/370 Model 148''' had the same announcement and withdrawal dates as the Model 138.<ref>{{cite web|url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3148.html|title=System/370 Model 148|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20230719145815/https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3148.html|archive-date=2023-07-19|url-status=dead}}</ref> |
|||
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." |
|||
====System/370 Model 155==== |
|||
{{main article|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.<ref>{{cite web|url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3155.html|title=System/370 Model 155|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20230516082850/https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3155.html|archive-date=2023-05-16|url-status=dead}}</ref> Neither had a DAT box; they were limited to running the same non-virtual-memory operating systems available for the [[IBM System/360|System/360]]. The 155 first shipped in January 1971.<ref name="Pugh91" />{{rp|643}} |
|||
The ''OS/DOS''<ref>{{cite book |
|||
| title = IBM System/360 Operating System: DOS Emulator Planning Guide |
|||
| id = GC24-5076 |
|||
| publisher = IBM |
|||
}} |
|||
</ref> (DOS/360 programs under OS/360), ''1401/1440/1460 and 1410/7010''<ref>{{cite book |
|||
| publisher = IBM |
|||
| title = Emulating the IBM 1401, 1440 and 1460 on the IBM System/370 Models 145 and 155 using OS/360 Program Number 360C-EU-735 |
|||
| id = GC27-6945-1 |
|||
| edition = Second |
|||
| date = February 1971 |
|||
| mode = cs2 |
|||
}} |
|||
</ref><ref>{{cite book |
|||
| publisher = IBM |
|||
| title = Emulating the IBM 1410 and 7010 on the IBM System/370 Models 145 and 155 using OS/360 Program Number 360C-EU-736 |
|||
| id = GC27-6946-1 |
|||
| edition = Second |
|||
| date = June 1971 |
|||
| mode = cs2 |
|||
}} |
|||
</ref> and ''7070/7074'' <ref>{{cite book |
|||
| publisher = IBM |
|||
| title = Emulating the IBM 7074 on the IBM System/370 Models 155 and 165 using OS/360 Program Number 360C-EU-739 |
|||
| id = GC27-6948-1 |
|||
| edition = Second |
|||
| date = February 1971 |
|||
}} |
|||
</ref> 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. |
|||
====System/370 Model 158==== |
|||
The '''IBM System/370 Model 158''' and the 370/168 were announced Aug 2, 1972.<ref name="IBM370.158">{{cite web|url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3158.html|title=System/370 Model 158|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20210301143132/https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3158.html|archive-date=2021-03-01|url-status=dead}}</ref> |
|||
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. |
|||
====System/370 Model 165==== |
|||
{{main article|IBM System/370 Model 165}} |
|||
The '''IBM System/370 Model 165''' was described by IBM as "more powerful"<ref name="Model-165-IBM-Archives" /> compared to the "medium-scale" 370/155. It first shipped in April 1971.<ref name="Pugh91" />{{rp|643}} |
|||
Compatibility features included [[Emulator|emulation]] for [[IBM 700/7000 series|7070/7074, 7080, and 709/7090/7094/7094 II]]. |
|||
Some have described the [[IBM System/360 Model 85|360/85]]'s use of [[microcode]]d vs [[Hardwired control unit|hardwired]] as a bridge to the 370/165.<ref>{{cite newsgroup|url=https://groups.google.com/d/topic/alt.folklore.computers/OHWBCMBqwKY|title=IBM 360/85 vs. 370/165|author=Jon Elson|newsgroup=alt.folklore.computers|date=December 5, 2014}}</ref> |
|||
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. |
|||
====System/370 Model 168==== |
|||
{{main|IBM System/370 Model 168}} |
|||
The '''IBM System/370 Model 168''' included "up to eight megabytes"<ref>{{cite web|url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3168.html|title=System/370 Model 168|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20231205223819/https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3168.html|archive-date=2023-12-05|url-status=dead}}</ref> of main memory, double the maximum of 4 megabytes on the |
|||
370/158.<ref name="IBM370.158"/> |
|||
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,<ref name=FLAG3>{{cite web|url=https://www.ibm.com/ibm/history/exhibits/3033/3033_intro.html|title=IBM's 3033 "The Big One": IBM's 3033|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20230928083308/https://www.ibm.com/ibm/history/exhibits/3033/3033_intro.html|archive-date=2023-09-28|url-status=dead}}</ref> 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."<ref>{{cite news|newspaper=[[Computer Weekly]]|year=1975|issue=486|page=1|url=http://www.tnmoc.org/news/notes-museum/winter-19756-pages-computer-weekly|title=IBM boosts power of 370/168 again|archive-url=https://web.archive.org/web/20151208061017/http://www.tnmoc.org/news/notes-museum/winter-19756-pages-computer-weekly|archive-date=December 8, 2015}}</ref> |
|||
The 370/168 was not withdrawn until September 1980. |
|||
====System/370 Model 195==== |
|||
[[File:CHM Artifacts (3300701247).jpg|thumb|Model 195 control panel]] |
|||
The '''IBM System/370 Model 195''' was announced Jun 30, 1970 and, at that time, it was "IBM's most powerful computing system."<ref name="ibm-archives-3195">{{cite web|url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3195.html|title=System/370 Model 195|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20230729090333/https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3195.html|archive-date=2023-07-29|url-status=dead}}</ref> |
|||
Its introduction came about 14 months after the announcement of its direct predecessor, the [[IBM System/360 Model 195|360/195]]. Both 195 machines were withdrawn Feb. 9, 1977.<ref>{{cite web|url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP2195.html|title=System/360 Model 195|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20230729090329/https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP2195.html|archive-date=2023-07-29|url-status=dead}}</ref><ref name="ibm-archives-3195"/> |
|||
====System/370-compatible==== |
|||
Beginning in 1977, IBM began to introduce new systems, using the description "A compatible member of the System/370 family."<ref name="IBM.3031">{{cite web|url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3031.html|title=3031 Processor Complex|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20230719144802/https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3031.html|archive-date=2023-07-19|url-status=dead}}</ref><ref>{{cite web|url=http://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_basinfo.html|title=Mainframes - Basic information sources|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20230922112055/http://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_basinfo.html|archive-date=2023-09-22|url-status=dead}}</ref> |
|||
=====IBM 303X===== |
|||
{{main article|IBM 303X}} |
|||
The first of the initial high end machines, IBM's '''3033''', was announced March 25, 1977<ref>{{cite web|url=https://www.ibm.com/ibm/history/exhibits/3033/3033_PR01.html|title=3033 Press announcement|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20230719145845/https://www.ibm.com/ibm/history/exhibits/3033/3033_PR01.html|archive-date=2023-07-19|url-status=dead}}</ref> and was delivered the following March, at which time a multiprocessor version of the 3033 was announced.<ref>{{cite web|url=https://www.ibm.com/ibm/history/exhibits/3033/3033_PR02.html|title=3033 Multiprocessor - Press announcement|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20230719223056/https://www.ibm.com/ibm/history/exhibits/3033/3033_PR02.html|archive-date=2023-07-19|url-status=dead}}</ref> IBM described it<ref>{{cite web|url=https://www.ibm.com/ibm/history/exhibits/3033/3033_intro.html|title=IBM's 3033 "The Big One": IBM's 3033|website=IBM Archives|date=23 January 2003|publisher=IBM|quote=''THINK'' magazine later simply dubbed it {{ndash}} "The Big One."|archive-url=https://web.archive.org/web/20230928083308/https://www.ibm.com/ibm/history/exhibits/3033/3033_intro.html|archive-date=2023-09-28|url-status=dead}}</ref> 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 ..."<ref name=FLAG3/> |
|||
The IBM '''3031''' and IBM '''3032''' were announced Oct. 7, 1977 and withdrawn Feb. 8, 1985.<ref name="IBM.3031"/><ref>{{cite web|url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3032.html|title=3032 Processor Complex|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20230719144906/https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3032.html|archive-date=2023-07-19|url-status=dead}}</ref> |
|||
=====IBM 308X===== |
|||
{{main article|IBM 308X}} |
|||
Three systems comprised the next series of high end machines, IBM's 308X systems: |
|||
* The '''3081'''<ref name="IBM.3081">{{cite web|url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3081.html|title=3081 Processor Complex|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20230719144956/https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3081.html|archive-date=2023-07-19|url-status=dead}}</ref> (announced Nov 12, 1980) had 2 [[Central processing unit|CPU]]s |
|||
* The '''3083'''<ref name="IBM.3083">{{cite web|url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3083.html|title=3083 Processor Complex|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20230719144956/https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3083.html|archive-date=2023-07-19|url-status=dead}}</ref> (announced Mar 31, 1982) had 1 CPU |
|||
* The '''3084'''<ref name="IBM.3084">{{cite web|url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3084.html|title=3084 Processor Complex|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20231210232532/https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3084.html|archive-date=2023-12-10|url-status=dead}}</ref> (announced Sep 3, 1982) had 4 CPUs |
|||
Despite the numbering, the least powerful was the 3083, which could be field-upgraded to a 3081;<ref name="IBM.3083"/> the 3084 was the top of the line.<ref name="IBM.3084"/> |
|||
These models introduced IBM's [[31-bit|Extended Architecture]]'s 31-bit address capability{{sfn|S370-XA-1st}} and a set of [[Backward compatibility|backward compatible]] MVS/Extended Architecture (MVS/XA) software replacing previous products and part of OS/VS2 R3.8: |
|||
{| class="wikitable" |
|||
|- |
|||
! Number |
|||
! style="align:left;" | 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<ref>{{citation |
|||
| title = TSO Extensions (TSO/E), which enhances and extends the capability of TSO, is announced |
|||
| id = ZP81-0796 |
|||
| date = November 2, 1981 |
|||
| url = https://www.ibm.com/common/ssi/rep_ca/6/877/ENUSZP81-0796/ |
|||
| series = Announcement Letters |
|||
| publisher = IBM |
|||
}} |
|||
</ref> |
|||
|- |
|||
| 5665–284 |
|||
| MVS/Extended Architecture Data Facility Product (DFP) Version 1<ref name="dfp-1-2-general-information">{{cite book |
|||
| title = MVS/Extended Architecture Data Facility Product: General Information |
|||
| date = January 1984 |
|||
| edition = Third |
|||
| url = http://bitsavers.org/pdf/ibm/370/MVS_XA/DFP/GC26-4007-2_MVS_XA_DFP_Release_1.2_General_Information_Jan1984.pdf |
|||
| publisher = IBM |
|||
| access-date = 2024-09-19 |
|||
}}</ref> |
|||
|} |
|||
All three 308x systems were withdrawn on August 4, 1987. |
|||
=====IBM 3090===== |
|||
{{main article|IBM 3090}} |
|||
The next series of high-end machines, the '''IBM 3090''', began with models{{efn|IBM used a lower case "m"}} 200 and 400.<ref>{{cite web|url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3090.html|title=3090 Processor Complex|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20231204192300/https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3090.html|archive-date=2023-12-04|url-status=dead}}</ref> They were announced Feb. 12, 1985, and were configured with two or four [[Central processing unit|CPU]]s 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<ref>{{cite web|url=http://www.ibm.com/common/ssi/rep_ca/0/897/ENUS187-110/index.html|title=IBM 3090 PROCESSOR UNIT MODEL 120E, IBM 3092 PROCESSOR CONTROLLER MODEL 3|publisher=IBM|date=May 19, 1987}}</ref> models, and continuing with the J and S models, IBM offered Enterprise Systems Architecture/370{{sfn|S370-ESA}} (ESA/370), [[Processor Resource/System Manager]] (PR/SM) and a set of backward compatible MVS/Enterprise System Architecture (MVS/ESA) software replacing previous products: |
|||
{| class="wikitable" |
|||
|- |
|||
! Number |
|||
! syle="text-align:left" | Name |
|||
|- |
|||
| 5685–279 |
|||
| BTAM/SP |
|||
|- |
|||
| 5668–978 |
|||
| GAM/SP 2.0 |
|||
|- |
|||
| 5685–001 |
|||
| MVS/System Product-JES2 Version 3<ref name=SP3>{{cite book |
|||
| title = 5685-001 MVS/System Product-JES2 Version 3 Release 1.0 |
|||
| series = IBM Sales Manual |
|||
| date = 8 August 2001 |
|||
| url = https://www.ibm.com/common/ssi/cgi-bin/ssialias?infotype=dd&subtype=sm&htmlfid=897/ENUS5685-001#Header_43 |
|||
| publisher = IBM |
|||
}} |
|||
</ref> |
|||
|- |
|||
| 5685–002 |
|||
| MVS/System Product-JES3 Version 3<ref name=SP3/> |
|||
|- |
|||
| 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<ref name="dfp-1-2-general-information" /> |
|||
|- |
|||
| 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).<ref>the hyperlink on the words "Vector processing" point to an article that has only 2 mentions of IBM, one of which begins "In 2000, IBM, Toshiba and Sony collaborated."</ref><ref>The "first to market" advantage can be summarized as "In 1972, computer designer Seymour Cray left CDC and formed a new company" as noted in Getting Up to Speed: The Future of Supercomputing, 2005, {{ISBN|0309165512}}, by National Research Council, Division on Engineering and Physical Sciences, Computer Science and Telecommunications Board</ref> |
|||
The 200 and 400 were withdrawn on May 5, 1989. |
|||
=====IBM 4300===== |
|||
{{main article|IBM 4300}} |
|||
The first pair of '''IBM 4300''' processors were Mid/Low end systems announced Jan 30, 1979<ref>{{cite web|url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP4331.html|title=4331 Processor|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20231209132724/https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP4331.html|archive-date=2023-12-09|url-status=dead}}</ref><ref>{{cite web|url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP4341.html|title=4341 Processor|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20230719223403/https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP4341.html|archive-date=2023-07-19|url-status=dead}}</ref> 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,<ref>{{Cite web|url=https://www.ibm.com/ibm/history/exhibits/dpd50/dpd50_chronology5.html|title=IBM Archives: DPD chronology - page 5| website=[[IBM]] |date=23 January 2003 |archive-url=https://web.archive.org/web/20201021214611/https://www.ibm.com/ibm/history/exhibits/dpd50/dpd50_chronology5.html |archive-date=2020-10-21}}</ref> 4361<ref name="IBM.4361">{{cite web|url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP4361.html|title=4361 Processor|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20230914064000/https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP4361.html|archive-date=2023-09-14|url-status=dead}}</ref> and 4381.<ref name="IBM.4381">{{cite web|url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP4381.html|title=4381 Processor|website=IBM Archives|date=23 January 2003|publisher=IBM|archive-url=https://web.archive.org/web/20230719145726/https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP4381.html|archive-date=2023-07-19|url-status=dead}}</ref> |
|||
The 4361 has "Programmable Power-Off -- enables the user to turn off the processor under program control";<ref name="IBM.4361"/> "Unit power off" is (also) part of the 4381 feature list.<ref name="IBM.4381"/> |
|||
IBM offered many Model Groups and models of the 4300 family,{{efn|One announcement alone featured mention of "Twelve models of the 4381" for just 3 "Model Groups" and also listed 6 other Model Groups}} 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."{{efn|The same IBM web page notes the following date announced/withdrawn dates: Model Groups '''1 & 2''' (Sep 15, 1983 - Feb 11, 1986), Model Group '''3''' (Oct 25, 1984 - Feb 11, 1986), Model Groups '''11, 12, 13 & 14''' (announced Feb 11, 1986), Model Groups '''21, 22, 23 & 24''' (May 19, 1987 - Aug 19, 1992).}} |
|||
The 4381 Model Group 3 was dual-CPU. |
|||
=====IBM 9370===== |
|||
{{main article|IBM 9370}} |
|||
This low-end system, announced October 7, 1986,<ref>{{cite web |
|||
|url=http://www.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&appname=iSource&supplier=897&letternum=ENUS186-178&open&cm_mmc=5733-_-n-_-vrm_newsletter-_-10207_134134&cmibm_em=dm:0:12046832 |
|||
|title=IBM 9370 INFORMATION SYSTEM OVERVIEW |
|||
|date=October 7, 1986|publisher=IBM}}</ref> 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;<ref>{{cite web |
|||
|url=http://inspirehep.net/record/312767/files/ssc-n-691.pdf |
|||
|title=Report Of The SSC Computer Planning Committee |
|||
|at=chapter 5.4, "SUMMARY OF RELATIVE STRENGTH OF DEC/VMS AND IBM/VM" |date=January 1990}}</ref> the media of the day carried IBM's alleged "VAX Killer" phrase, albeit often skeptically.<ref>{{cite news |newspaper=[[The New York Times]] |
|||
|url=https://www.nytimes.com/1988/01/03/business/the-moment-of-truth-for-big-blue.html |
|||
|title=The Moment of Truth for Big Blue |
|||
|quote=appears to be slaying precious few Vaxes |
|||
|author=David E. Sanger |date=January 3, 1988}}</ref> |
|||
===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 [[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)<ref>{{cite magazine |magazine=[[Wired (magazine)|Wired]] |date=November 1997 |
|||
|url=https://www.wired.com/1997/11/heartof |
|||
|title=Heart of Darkness |
|||
|author=David S. Bennahum |
|||
|quote=from 1967 to 1972, it put in place a massive industrial complex to reverse-engineer, copy, and produce IBM mainframes and DEC minicomputers... Once a computer was reduced to its constituent bits on both a software and hardware level, industrial management designed a manufacturing process to replicate the machine... a clone of the IBM 360/40 in 1970, a Cold War coup. Later, he worked on duplicating the IBM 370}}</ref><ref>Re the 370 (followup to 360/40 clone): {{cite news |newspaper=[[The Washington Post]] |
|||
|url=https://www.washingtonpost.com/archive/politics/1985/09/24/soviet-radar-allegedly-stolen-from-us/3a754179-c337-4d60-8471-2e7b1d76f6bd/?noredirect=on |
|||
|title=Soviet Radar Allegedly Stolen From U.S. |
|||
|author=Michael Weisskopf |date=September 24, 1985}}</ref> 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]] ('''B'''urroughs/'''U'''nivac/'''N'''CR/'''C'''ontrol Data/'''H'''oneywell) group of IBM's competitors.<ref>{{cite news |newspaper=[[The New York Times]] |
|||
|url=https://www.nytimes.com/1984/02/05/business/bailing-out-of-the-mainframe-industry.html |
|||
|title=Bailing Out Of The Mainframe Industry |
|||
|quote=an acronym for Burroughs, ... and Honeywell |
|||
|author=David E. Sanger |date=February 5, 1984}}</ref> The latter efforts were abandoned and eventually all Japanese efforts focused on the IBM mainframe lines. |
|||
Some of the era's clones included: |
|||
{{columns-list|colwidth=18em| |
|||
* [[Amdahl Corporation]] 470 series |
|||
* [[ES EVM]] |
|||
* [[Fujitsu]] |
|||
* [[Hitachi]] |
|||
* [[Magnuson Computer Systems]] |
|||
* [[Mitsubishi]] |
|||
* [[Siemens]] |
|||
* Two Pi Corporation<ref>{{cite journal |
|||
|url=https://ieeexplore.ieee.org/document/1647006 |title=Microprocessor-based minicomputer runs IBM 370 software |date=June 1978 |
|||
|journal=Computer |volume=11 |issue=6 |pages=87–90 |publisher=IEEE |doi=10.1109/C-M.1978.218231 |access-date=July 1, 2021 |quote=The plug-compatible CPU is the conception of Dr. Jared A. Anderson and his associates at Two Pi Corp., ..|last1=Michalopoulos |first1=D. A. }}</ref> |
|||
* [[Univac]] |
|||
}} |
|||
==Architecture details== |
|||
<!-- Pretty up, add introductory text or move --> |
|||
IBM documentation numbers the bits from high order to low order; the most significant (leftmost) bit is designated as bit number 0. |
|||
{| class="infobox" style="font-size:88%" |
|||
|- |
|||
|+ align="center" | ''IBM S/370 registers'' |
|||
|- |
|||
| style="border-style: none;" | |
|||
{| class="wikitable" style="font-size:75%" |
|||
|+ General Registers 0–15 |
|||
|- |
|||
| colspan=34 style="border-style: none;" | <br /> |
|||
|- |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
| colspan=32 | Two's complement value |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
|- |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 0 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 1 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 2 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 3 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 4 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 5 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 6 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 7 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 8 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 9 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 10 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 11 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 12 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 13 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 14 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 15 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 16 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 17 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 18 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 19 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 20 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 21 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 22 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 23 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 24 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 25 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 26 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 27 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 28 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 29 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 30 --> |
|||
| style="width:1%; text-align:right; border-style: none none none none;" | 31 |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
|} |
|||
|- |
|||
| style="border-style: none;" | |
|||
{| class="wikitable" style="font-size:75%" |
|||
|+ Control Registers 0–15 |
|||
|- |
|||
| colspan=34 style="border-style: none;" | <br /> |
|||
|- |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
| colspan=32 | See Principles of Operation{{sfn|S370|loc=[http://bitsavers.org/pdf/ibm/370/princOps/GA22-7000-10_370_Principles_of_Operation_Sep87.pdf#page=83 Assignment of Control-Register Fields]|pp=4-10-4-11}} |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
|- |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 0 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 1 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 2 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 3 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 4 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 5 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 6 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 7 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 8 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 9 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 10 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 11 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 12 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 13 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 14 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 15 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 16 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 17 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 18 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 19 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 20 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 21 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 22 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 23 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 24 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 25 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 26 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 27 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 28 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 29 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 30 --> |
|||
| style="width:1%; text-align:right; border-style: none none none none;" | 31 |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
|} |
|||
|- |
|||
| style="border-style: none;" | |
|||
{| class="wikitable" style="font-size:75%" |
|||
|+ Floating Point Registers 0–6 |
|||
|- |
|||
| colspan=34 style="border-style: none;" | <br /> |
|||
|- |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
| S |
|||
| colspan=7 | Biased exponent |
|||
| colspan=24 | Mantissa |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
|- |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 0 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 1 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 2 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 3 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 4 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 5 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 6 --> |
|||
| style="width:1%; text-align:right; border-style: none none none none;" | 7 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 8 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 9 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 10 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 11 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 12 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 13 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 14 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 15 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 16 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 17 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 18 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 19 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 20 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 21 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 22 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 23 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 24 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 25 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 26 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 27 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 28 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 29 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 30 --> |
|||
| style="width:1%; text-align:right; border-style: none none none none;" | 31 |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
|- |
|||
| colspan=34 style="border-style: none;" | <br /> |
|||
|- |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
| colspan=32 | Mantissa (continued) |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
|- |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 32 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 33 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 34 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 35 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 36 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 37 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 38 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 39 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 40 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 41 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 42 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 43 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 44 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 45 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 46 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 47 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 48 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 49 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 50 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 51 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 52 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 53 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 54 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 55 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 56 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 57 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 58 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 59 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 60 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 61 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 62 --> |
|||
| style="width:1%; text-align:right; border-style: none none none none;" | 63 |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
|} |
|||
|- |
|||
| style="border-style: none;" | |
|||
{| class="wikitable" style="font-size:75%" |
|||
|+ S/370 '''B'''asic '''C'''ontrol mode PSW{{sfn|S370|loc=[http://bitsavers.org/pdf/ibm/370/princOps/GA22-7000-10_370_Principles_of_Operation_Sep87.pdf#page=81 Program-Status Word Format in BC Mode]|pp=4-8{{snd}}4-9}} |
|||
|- |
|||
| colspan=34 style="border-style: none;" | <br /> |
|||
|- |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
| colspan=6 |Chan.<br />Mask |
|||
| I<br />O |
|||
| E<br />X |
|||
| colspan=4 | Key |
|||
| 0 |
|||
| M |
|||
| W |
|||
| P |
|||
| colspan=16 | Interruption Code |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
|- |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 0 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 1 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 2 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 3 --> |
|||
| style="width:1%; text-align:right; border-style: none none none none;" | 4 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 5 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 6 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 7 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 8 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 9 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 10 --> |
|||
| style="width:1%; text-align:right; border-style: none none none none;" | 11 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 12 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 13 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 14 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 15 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 16 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 17 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 18 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 19 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 20 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 21 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 22 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 23 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 24 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 25 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 26 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 27 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 28 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 29 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 30 --> |
|||
| style="width:1%; text-align:right; border-style: none none none none;" | 31 |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
|- |
|||
| colspan=34 style="border-style: none;" | <br> |
|||
|- |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
| colspan=2 | ILC |
|||
| colspan=2 | CC |
|||
| colspan=4 | Program<br />Mask |
|||
| colspan=24 | Instruction Address |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
|- |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 32 |
|||
| style="width:1%; text-align:right; border-style: none none none none;" | 33 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 34 |
|||
| style="width:1%; text-align:right; border-style: none none none none;" | 35 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 36 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 37 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 38 --> |
|||
| style="width:1%; text-align:right; border-style: none none none none;" | 39 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 40 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 41 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 42 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 43 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 44 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 45 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 46 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 47 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 48 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 49 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 50 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 51 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 52 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 53 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 54 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 55 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 56 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 57 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 58 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 59 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 60 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 61 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 62 --> |
|||
| style="width:1%; text-align:right; border-style: none none none none;' | 63 |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
|- |
|||
| colspan="34" style="border-style: none;"| |
|||
{| class="wikitable mw-collapsible autocollapse" |
|||
|+ {{nowrap|S/370 BC mode PSW abbreviations}} |
|||
|- |
|||
! style="width:10%; text-align:left;"| Bits |
|||
! style="width:10%; text-align:left;"| Field |
|||
! style="width:80%; text-align:left;"| Meaning |
|||
|- |
|||
| 0–5 |
|||
| |
|||
| Channel Masks for channels 0–5 |
|||
|- |
|||
| 6 |
|||
| IO |
|||
| I/O Mask for channels > 5 |
|||
|- |
|||
| 7 |
|||
| EX |
|||
| External Mask |
|||
|- |
|||
| 8–11 |
|||
| Key |
|||
| PSW key |
|||
|- |
|||
| 12 |
|||
| E=0 |
|||
| '''B'''asic '''C'''ontrol mode |
|||
|- |
|||
| 13 |
|||
| M |
|||
| Machine-check mask |
|||
|- |
|||
| 14 |
|||
| W |
|||
| Wait state |
|||
|- |
|||
| 15 |
|||
| P |
|||
| Problem state |
|||
|- |
|||
| 16–31 |
|||
| IC |
|||
| Interruption Code{{sfn|S370|loc=[http://bitsavers.org/pdf/ibm/370/princOps/GA22-7000-10_370_Principles_of_Operation_Sep87.pdf#page=154 Interruption Action]|pp=6-3{{snd}}6-5}} |
|||
|- |
|||
| 32–33 |
|||
| ILC |
|||
| Instruction-Length Code{{sfn|S370|loc=[http://bitsavers.org/pdf/ibm/370/princOps/GA22-7000-10_370_Principles_of_Operation_Sep87.pdf#page=158 Instruction-Length Code]|pp=6-7{{snd}}6-9}} |
|||
|- |
|||
| 34–35 |
|||
| CC |
|||
| Condition Code |
|||
|- |
|||
| 36–39 |
|||
| PM |
|||
| |
|||
{| class="wikitable mw-collapsible autocollapse" |
|||
|+ style="text-align: left;" | {{nowrap|Program Mask}} |
|||
! Bit |
|||
! Meaning |
|||
|- |
|||
| 36 |
|||
| Fixed-point overflow |
|||
|- |
|||
| 37 |
|||
| Decimal overflow |
|||
|- |
|||
| 38 |
|||
| Exponent underflow |
|||
|- |
|||
| 39 |
|||
| Significance |
|||
|} |
|||
|- |
|||
| 40–63 |
|||
| IA |
|||
| Instruction Address |
|||
|} |
|||
|} |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
|- |
|||
| style="border-style: none;" | |
|||
{| class="wikitable" style="font-size:75%" |
|||
|+ S/370 '''E'''xtended '''C'''ontrol mode PSW{{sfn|S370|loc=[http://bitsavers.org/pdf/ibm/370/princOps/GA22-7000-10_370_Principles_of_Operation_Sep87.pdf#page=79 Program-Status Word Format in EC Mode]|pp=4-6{{snd}}4-7}} |
|||
|- |
|||
| colspan=34 style="border-style: none;" | <br /> |
|||
|- |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
| 0 |
|||
| R |
|||
| style="border-style: solid none solid solid" | 0 |
|||
| style="border-style: solid none solid" | 0 |
|||
| style="border-style: solid solid solid none" | 0 |
|||
| T |
|||
| I<br />O |
|||
| E<br />X |
|||
| colspan=4 | Key |
|||
| 1 |
|||
| M |
|||
| W |
|||
| P |
|||
| S |
|||
| 0 |
|||
| colspan=2 | CC |
|||
| colspan=4 | Program<br />Mask |
|||
| style="border-style: solid none solid solid;" | 0 |
|||
| style="border-style: solid none solid;" | 0 |
|||
| style="border-style: solid none solid;" | 0 |
|||
| style="border-style: solid none solid;" | 0 |
|||
| style="border-style: solid none solid;" | 0 |
|||
| style="border-style: solid none solid;" | 0 |
|||
| style="border-style: solid none solid;" | 0 |
|||
| style="border-style: solid solid solid none;" | 0 |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
|- |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 0 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 1 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 2 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 3 --> |
|||
| style="width:1%; text-align:right; border-style: none none none none;" | 4 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 5 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 6 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 7 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 8 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 9 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 10 --> |
|||
| style="width:1%; text-align:right; border-style: none none none none;" | 11 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 12 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 13 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 14 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 15 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 16 |
|||
| style="width:1%; text-align:right; border-style: none none none none;" | 17 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 18 |
|||
| style="width:1%; text-align:right; border-style: none none none none;" | 19 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 20 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 21 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 22 --> |
|||
| style="width:1%; text-align:right; border-style: none none none none;" | 23 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 24 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 25 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 26 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 27 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 28 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 29 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 30 --> |
|||
| style="width:1%; text-align:right; border-style: none none none none;" | 31 |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
|- |
|||
| colspan=34 style="border-style: none;" | <br> |
|||
|- |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
| style="border-style: solid none solid solid;" | 0 |
|||
| style="border-style: solid none solid;" | 0 |
|||
| style="border-style: solid none solid;" | 0 |
|||
| style="border-style: solid none solid;" | 0 |
|||
| style="border-style: solid none solid;" | 0 |
|||
| style="border-style: solid none solid;" | 0 |
|||
| style="border-style: solid none solid;" | 0 |
|||
| style="border-style: solid solid solid none;" | 0 |
|||
| colspan=24 | Instruction Address |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
|- |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | 32 |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 33 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 34 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 35 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 36 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 37 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 38 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 39 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 40 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 41 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 42 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 43 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 44 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 45 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 46 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 47 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 48 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 49 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 50 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 51 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 52 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 53 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 54 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 55 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 56 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 57 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 58 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 59 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 60 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 61 --> |
|||
| style="width:1%; text-align:left; border-style: none none none none;" | <!-- 62 --> |
|||
| style="width:1%; text-align:right; border-style: none none none none;' | 63 |
|||
| style="width:.5%; text-align:left; border-style: none none none none;" | |
|||
|- |
|||
| colspan="34" style="border-style: none;"| |
|||
{| class="wikitable mw-collapsible autocollapse" |
|||
|+ {{nowrap|S/370 EC mode PSW abbreviations}} |
|||
|- |
|||
! style="width:10%; text-align:left;"| Bits |
|||
! style="width:10%; text-align:left;"| Field |
|||
! style="width:80%; text-align:left;"| Meaning |
|||
|- |
|||
| 1 |
|||
| R |
|||
| PER Mask |
|||
|- |
|||
| 5 |
|||
| T |
|||
| DAT mode |
|||
|- |
|||
| 6 |
|||
| IO |
|||
| I/O Mask; subject to channel mask in CR2 |
|||
|- |
|||
| 7 |
|||
| EX |
|||
| External Mask; subject to external subclass mask in CR0 |
|||
|- |
|||
| 8–11 |
|||
| Key |
|||
| PSW key |
|||
|- |
|||
| 12 |
|||
| E=1 |
|||
| '''E'''xtended '''C'''ontrol mode |
|||
|- |
|||
| 13 |
|||
| M |
|||
| Machine-check mask |
|||
|- |
|||
| 14 |
|||
| W |
|||
| Wait state |
|||
|- |
|||
| 15 |
|||
| P |
|||
| Problem state |
|||
|- |
|||
| 16 |
|||
| S |
|||
| Address-Space Control<br />0=primary-space mode<br />1=Secondary-space mode |
|||
|- |
|||
| 18–19 |
|||
| CC |
|||
| Condition Code |
|||
|- |
|||
| 20–23 |
|||
| PM |
|||
| |
|||
{| class="wikitable mw-collapsible autocollapse" |
|||
|+ style="text-align: left;" | {{nowrap|Program Mask}} |
|||
! Bit |
|||
! Meaning |
|||
|- |
|||
| 20 |
|||
| Fixed-point overflow |
|||
|- |
|||
| 21 |
|||
| Decimal overflow |
|||
|- |
|||
| 22 |
|||
| Exponent underflow |
|||
|- |
|||
| 23 |
|||
| Significance |
|||
|} |
|||
|- |
|||
| 40–63 |
|||
| IA |
|||
| Instruction Address |
|||
|} |
|||
|} |
|||
|} |
|||
S/370 also refers to a [[Computer architecture|computer system architecture]] specification,{{sfn|S370}} and is a direct and mostly [[backward compatible]] evolution of the System/360 architecture{{sfn|S370|loc=[http://bitsavers.org/pdf/ibm/370/princOps/GA22-7000-10_370_Principles_of_Operation_Sep87.pdf#page=16 Chapter 1 Introduction]|pp=1-1{{snd}}1-4}} 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 |
* [[Big endian]] byte ordering |
||
* One or more processors with |
* One or more processors with: |
||
** 16 32-bit General purpose [[Processor register|register]]s |
** 16 32-bit General purpose [[Processor register|register]]s |
||
** 16 32-bit Control registers |
** 16 32-bit Control registers |
||
** 4 64-bit [[IBM hexadecimal floating-point|Floating-point]] registers |
|||
** A 64-bit Program status word (PSW) which describes (among other things) |
** A 64-bit Program status word (PSW) which describes (among other things) |
||
*** [[Interrupt]] masks |
*** [[Interrupt]] masks |
||
Line 115: | Line 1,115: | ||
** An interruption mechanism, [[Interrupt|maskable]] and unmaskable interruption classes and subclasses |
** An interruption mechanism, [[Interrupt|maskable]] and unmaskable interruption classes and subclasses |
||
** An [[instruction set]]. Each instruction is wholly described and also defines the conditions under which an exception is recognized in the form of program interruption. |
** An [[instruction set]]. Each instruction is wholly described and also defines the conditions under which an exception is recognized in the form of program interruption. |
||
* A [[Primary storage|memory (called storage) subsystem]] with |
* A [[Primary storage|memory (called storage) subsystem]] with: |
||
** 8 bits per byte |
** 8 bits per byte |
||
** A special processor communication area starting at address 0 |
** A special processor communication area starting at address 0 |
||
** Key controlled protection |
** Key controlled protection |
||
** 24-bit addressing |
** 24-bit addressing |
||
* Manual control operations that |
* Manual control operations that provide: |
||
** A [[booting|bootstrap]] process (a process called Initial Program Load or IPL) |
** A [[booting|bootstrap]] process (a process called Initial Program Load or IPL) |
||
** Operator-initiated interrupts |
** Operator-initiated interrupts |
||
Line 126: | Line 1,126: | ||
** Basic debugging facilities |
** Basic debugging facilities |
||
** Manual display and modifications of the system's state (memory and processor) |
** Manual display and modifications of the system's state (memory and processor) |
||
* An Input/Output mechanism |
* An Input/Output mechanism{{snd}}which does not describe the devices themselves |
||
Some of the |
Some of the optional features are: |
||
* A [[Virtual memory#History|Dynamic Address Translation]] (DAT) mechanism that can be used to implement a [[virtual memory]] system |
|||
* A Dynamic Address Translation mechanism that can be used to implement a [[virtual memory]] system |
|||
* [[Floating point]] instructions |
* [[Floating point]] instructions |
||
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 |
|||
; <nowiki>ECPS:MVS</nowiki><ref>{{cite book |
|||
| title = IBM System/370 Extended Facility and ECPS:MVS |
|||
| id = GA22-7072-1 |
|||
| date = November 1980 |
|||
| edition = Second |
|||
| publisher = IBM |
|||
| url = http://www.computinghistory.org.uk/downloads/12265 |
|||
}} |
|||
</ref> |
|||
:A feature to enhance performance for the [[MVS/370]] operating systems |
|||
;<nowiki>ECPS:VM</nowiki><ref>{{cite book |
|||
| title = Virtual-Machine Assist and Shadow-Table-Bypass Assist |
|||
| id = GA22-7074-0 |
|||
| date = May 1980 |
|||
| edition = First |
|||
| publisher = IBM |
|||
| url = http://bitsavers.org/pdf/ibm/370/VM/370/GA22-7074-0_Virtual-Machine_Assist_and_Shadow-Table-Bypass_Assist_May80.pdf |
|||
| access-date = 2024-09-19 |
|||
}}</ref> |
|||
:A feature to enhance performance for the [[VM (operating system)|VM]] operating systems |
|||
Other changes were compatible only for unprivileged programs, although the changes for privileged programs were of limited scope and well defined. Some examples are: |
|||
* ECPS:VM, a feature to assist the VM/370 operating system |
|||
;<nowiki>ECPS:VSE</nowiki><ref>{{cite book |
|||
* ECPS:VSE, a feature to assist the DOS operating system |
|||
| title = IBM 4300 Processors Principles of Operation for ECPS:VSE Mode |
|||
| id = GA22-7070-1 |
|||
| date = September 1980 |
|||
| edition = Second |
|||
| publisher = IBM |
|||
| url = http://bitsavers.org/pdf/ibm/4300/GA22-7070-1_4300_Processors_PrincOps_ECPS_VSE_Mode_Sep80.pdf |
|||
}} |
|||
</ref> |
|||
:A feature to enhance performance for the [[DOS/VSE]] operating system. |
|||
;S/370-XA{{sfn|S370-XA-1st}} |
|||
:A feature to provide a new I/O interface and to support [[31-bit computing|31-bit]] virtual and physical addressing |
|||
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. |
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. |
<!-- 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.<ref name="370-princops-4"/>{{rp|10}} 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. --> |
||
<!-- Not supported by cited reference, and certainly not true for CCW. --> |
|||
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.{{sfn|S390-ESA|loc=[http://publibz.boulder.ibm.com/epubs/pdf/dz9ar008.pdf#page=45 Section 1.3.2.2 Problem-State Compatibility]|pp=1-13{{snd}}1-14}} 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. |
|||
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. |
|||
==S/370 replacement== |
|||
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 [[IBM System/390|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 [[IBM System z|zSeries]] (now called IBM Z). The zSeries mainframes introduced the 64-bit [[z/Architecture]], the most significant design improvement since the 31-bit transition.{{citation needed|date=October 2009}} All have retained essential backward compatibility with the original S/360 architecture and instruction set. |
|||
==GCC and Linux on the S/370== |
|||
The [[GNU Compiler Collection]] (GCC) had a [[compiler back-end|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.<ref>{{cite web|url=https://gcc.gnu.org/gcc-3.4/changes.html#obsolete_systems|title=Removed architectures and systems removed from GCC 3.4}}</ref> 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 on IBM Z|Linux/390]]. However, a separately maintained version of GCC 3.2.3 that works for the S/370 is available, known as GCCMVS.<ref>{{cite web|url=http://gccmvs.sourceforge.net|title=GCCMVS (GCC 3.2.3 for S/370)}}</ref> |
|||
==I/O evolutions== |
|||
===I/O evolution from original S/360 to S/370=== |
|||
{{main article|IBM System/360#Channels}} |
|||
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.{{sfn|S370|loc=[http://bitsavers.org/pdf/ibm/370/princOps/GA22-7000-10_370_Principles_of_Operation_Sep87.pdf#page=356 Programming Note]|p=13-5}} Block multiplexer channels were available in single byte (1.5 MB/s) and double byte (3.0 MB/s) versions. |
|||
===I/O evolution since original S/370=== |
|||
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 communications|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. |
|||
==See also== |
==See also== |
||
* [[ |
* [[Hercules emulator]] |
||
* [[System/ |
* [[IBM System/360]] |
||
* [[ |
* [[IBM System/370-XA]] |
||
* [[IBM ESA/390]] |
|||
* [[hercules emulator|Hercules S/370, ESA/390 and z/Architecture emulator]] |
|||
* [[IBM System z]] |
|||
* [[PC-based IBM-compatible mainframes]] |
|||
==Notes== |
|||
{{notelist}} |
|||
==References== |
==References== |
||
;'''S370-1st''' |
|||
{{Reflist}} |
|||
:{{cite book |
|||
| title = IBM System/370 Principles of Operation |
|||
| id = A22-7000-0 |
|||
| date = June 1970 |
|||
| edition = First |
|||
| url = http://www.bitsavers.org/pdf/ibm/370/princOps/GA22-7000-0_370_Principles_Of_Operation_Jun70.pdf |
|||
| ref = {{sfnref|S370-1st}} |
|||
| publisher = IBM |
|||
}} |
|||
;'''S370''' |
|||
:{{cite book |
|||
| title = IBM System/370 Principles of Operation |
|||
| id = A22-7000-10 |
|||
| date = September 1987 |
|||
| edition = Eleventh |
|||
| url = http://bitsavers.org/pdf/ibm/370/princOps/GA22-7000-10_370_Principles_of_Operation_Sep87.pdf |
|||
| ref = {{sfnref|S370}} |
|||
| publisher = IBM |
|||
}} |
|||
;'''S370-MVS''' |
|||
:{{cite book |
|||
| title = IBM System/370 Assists for MVS |
|||
| id = GA22-7079-1 |
|||
| date = October 1981 |
|||
| edition = Second |
|||
| url = http://bitsavers.org/pdf/ibm/370/MVS/GA22-7079-1_IBM_System_370_Assists_for_MVS_Oct81.pdf |
|||
| ref = {{sfnref|S370-MVS}} |
|||
| publisher = IBM |
|||
}} |
|||
;'''S370-VM''' |
|||
:{{cite book |
|||
| title = Virtual-Machine Assist and Shadow-Table-Bypass Assist |
|||
| id = GA22-7074-0 |
|||
| date = May 1980 |
|||
| edition = First |
|||
| url = http://bitsavers.org/pdf/ibm/370/VM/370/GA22-7074-0_Virtual-Machine_Assist_and_Shadow-Table-Bypass_Assist_May80.pdf |
|||
| ref = {{sfnref|S370-VM}} |
|||
| publisher = IBM |
|||
| access-date = 2024-09-19 |
|||
}} |
|||
;'''S370-XA-1st''' |
|||
:{{cite book |
|||
| url = http://www.bitsavers.org/pdf/ibm/370/princOps/SA22-7085-0_370-XA_Principles_of_Operation_Mar83.pdf |
|||
| title = IBM System/370 Extended Architecture Principles of Operation |
|||
| id = SA22-7085-0 |
|||
| date = March 1983 |
|||
| ref = {{sfnref|S370-XA-1st}} |
|||
| publisher = IBM |
|||
}} |
|||
;'''S370-XA''' |
|||
:{{cite book |
|||
| title = IBM System/370 Extended Architecture Principles of Operation |
|||
| id = SA22-7085-1 |
|||
| date = January 1987 |
|||
| edition = Second |
|||
| url = http://bitsavers.org/pdf/ibm/370/princOps/SA22-7085-1_370-XA_Principles_of_Operation_Jan87.pdf |
|||
| ref = {{sfnref|S370-XA}} |
|||
| publisher = IBM |
|||
}} |
|||
;'''S370-ESA''' |
|||
:{{cite book |
|||
| title = IBM Enterprise Systems Architecture/370 Principles of Operation |
|||
| id = SA22-7200-0 |
|||
| date = August 1988 |
|||
| edition = First |
|||
| url = http://bitsavers.org/pdf/ibm/370/princOps/SA22-7200-0_370-ESA_Principles_of_Operation_Aug88.pdf |
|||
| ref = {{sfnref|S370-ESA}} |
|||
| publisher = IBM |
|||
}} |
|||
;'''S/390-ESA''' |
|||
:{{cite book |
|||
| title = IBM Enterprise Systems Architecture/390 Principles of Operation |
|||
| id = SA22-7201-08 |
|||
| date = June 2003 |
|||
| edition = Ninth |
|||
| url = http://publibz.boulder.ibm.com/epubs/pdf/dz9ar008.pdf |
|||
| ref = {{sfnref|S390-ESA}} |
|||
| publisher = IBM |
|||
| access-date = 2021-01-01 |
|||
| archive-date = 2023-01-29 |
|||
| archive-url = https://web.archive.org/web/20230129050211/http://publibz.boulder.ibm.com/epubs/pdf/dz9ar008.pdf |
|||
| url-status = dead |
|||
}} |
|||
;SIE |
|||
:{{cite book |
|||
| title = IBM System/370 Extended Architecture Interpretive Execution |
|||
| id = SA22-7095-0 |
|||
| date = January 1984 |
|||
| edition = First |
|||
| url = http://bitsavers.org/pdf/ibm/370/MVS_XA/SA22-7095-0_370-XA_Interpretive_Execution_Jan84.pdf |
|||
| ref = {{sfnref|SIE}} |
|||
| publisher = IBM |
|||
}} |
|||
{{reflist}} |
|||
==Further reading== |
|||
* {{cite book |
|||
| last1 = Prasad |
|||
| first1 = N.S. |
|||
| title = IBM Mainframes |
|||
| date = 1989 |
|||
| publisher = McGraw-Hill |
|||
| isbn = 0070506868 |
|||
| url-access = registration |
|||
| url = https://archive.org/details/ibmmainframesarc00pras}} {{mdash}} Chapter 4 (pp. 111{{ndash}}166) describes the System/370 architecture; Chapter 5 (pp. 167{{ndash}}206) describes the System/370 Extended Architecture. |
|||
==External links== |
==External links== |
||
* [http://www.hercules-390.eu/ Hercules System/370 Emulator] A software implementation of IBM System/370 |
|||
*{{cite web|url=http://bitsavers.org/pdf/ibm/370/princOps/GA22-7000-4_370_Principles_Of_Operation_Sep75.pdf|title=System/370 Principles of Operation, IBM, GA22-7000-4|month=September|year=1975}} |
|||
*{{cite web|url=http://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_PR370.html|title=System/370 Announcement}} |
|||
*{{cite journal|first=P.H.|last=Gum|title=System/370 Extended Architecture: facilities for virtual machines|journal=IBM Journal of Research & Development|volume=27|issue=6|month=November|year=1983|url=http://www.research.ibm.com/journal/rd/273/ibmrd2706L.pdf|format=PDF}} |
|||
*{{cite journal|first=K.E.|last=Plambeck|title=Concepts of Enterprise System Architecture/370|journal=IBM Systems Journal|volume=28|issue=1|year=1989|url=http://www.research.ibm.com/journal/sj/281/ibmsj2801E.pdf|format=PDF}} |
|||
*{{cite journal|first=K.E.|last=Plambeck|coauthors=W. Eckert, R.R. Rogers, C.F. Webb|title=Development and attributes of z/Architecture|journal=IBM Journal of Research & Development|volume=46|issue=4/5|doi= 10.1147/rd.464.0367}} |
|||
*{{cite web|url=http://febcm.club.fr/english/information_technology/information_technology_3.htm|title=Information technology industry timeline, 1964-1974}} provides a good overview of period events |
|||
* [http://dvision.superwailingbonus.com Web-based S/370 Assembler Simulator] |
|||
* [http://www.cs.niu.edu/~abyrnes/csci360/notes.html Course Notes] from Northern Illinois University on IBM 370 |
|||
{{IBM System/370 line}} |
|||
[[Category:Computing platforms]] |
|||
[[Category:IBM System/360 mainframe line|System/370]] |
|||
[[Category:1970 introductions]] |
|||
[[Category:Computing by computer model]] |
|||
{{DEFAULTSORT:Ibm System 370}} |
|||
[[ |
[[Category:IBM System/360 mainframe line| 370]] |
||
[[Category:Computing platforms]] |
|||
[[pt:IBM System/370]] |
|||
[[Category:Computer-related introductions in 1970]] |
|||
[[ru:IBM System/370]] |
|||
[[Category:1990s disestablishments]] |
|||
[[Category:32-bit computers]] |
Latest revision as of 06:19, 26 November 2024
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 |
Registers | |
General-purpose | 16× 32-bit |
Floating point | 4× 64-bit[a] |
History of IBM mainframes, 1952–present |
---|
Market name |
Architecture |
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[b] 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 Solid Logic Technology hybrid integrated circuits containing separate transistors to more modern monolithic integrated circuits containing 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[disputed (for: It was there earlier) – discuss] that allowed it to run multiple operating systems at the same time.
Evolution
[edit]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.[2]: 643 System/370 underwent several architectural improvements during its roughly 20-year lifetime.[3][4][5][6][7][8][9]
The following features mentioned in the 11th edition of the System/370 Principles of Operation[3] 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[c]
- Conditional Swapping
- CPU Timer and Clock Comparator
- Dual-Address Space (DAS)
- Extended-Precision Floating Point[d]
- Extended Real Addressing
- External Signals
- Fast Release
- Floating Point[c]
- Halt Device
- I/O Extended Logout
- Limited Channel Logout
- Move Inverse[e]
- Multiprocessing[f]
- PSW-Key Handling
- Recovery Extensions
- Segment Protection
- Service Signal
- Start-I/O-Fast Queuing[10] (SIOF)
- Storage-Key-Instruction Extensions
- Storage-Key 4K-Byte Block
- Suspend and Resume
- Test Block
- Translation[g]
- Vector[h]
- 31-Bit IDAWs
Initial models
[edit]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.[11] The System/370 architecture incorporated only a small number of changes to the System/360 architecture. These changes included:[12]
- 13 new instructions, among which were
-
- SHIFT AND ROUND DECIMAL (SRP),[17] 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[18][19]
- a new higher-resolution time-of-day clock[20]
- support for the block multiplexer channel[21] introduced in the System/360 Model 85.[22]
- 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
[edit]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.[2]: 440
Monolithic memory
[edit]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
[edit]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.[2]: 479–484 [23] 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).[24] The S/370-145 had an associative memory[25][26]: CPU 117-CPU 129 used by the microcode for the DOS compatibility feature from its first shipments in June 1971;[25] the same hardware was used by the microcode for DAT.[26]: CPU 139 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.[27] 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.[28] 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.[27] 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[29] in the slow adoption of OS/VS2 MVS, not only by customers in general, but for many internal IBM sites as well.
Subsequent enhancements
[edit]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.[citation needed]
- Operating system specific assist, Extended Control Program Support (ECPS). extended facility and extension features for OS/VS1, MVS[i] and VM.[j] Exploiting levels of these operating systems, e.g., MVS/System Extensions (MVS/SE), reduce path length for some frequent functions.
- The Dual Address Space[30] (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,[31] 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.[32]
- 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[33] (ESA/390), upward compatible with ESA/370.
Dual address space
[edit]In 1981, IBM added the dual-address-space facility to System/370.[30] 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.[34]
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.[34]
Extended real addressing
[edit]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.[35]
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.[35]
Series and models
[edit]Models sorted by date introduced (table)
[edit]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[36] and -135 | |
1972 | System/370 | high-end | -158 and -168 | |
entry | -115 and -125 | |||
mid-range | -138 and -148 | |||
1977 | System/370-compatible[37] | 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[38] | entry | 937x | 9370, ... |
1988 | ESA/370 | high-end | ES/3090 | ES/3090 |
1988 | mid-range | ES/4381 | -90, -91, -92 |
Models grouped by Model number (detailed)
[edit]IBM used the name System/370 to announce the following eleven (three-digit) offerings:
System/370 Model 115
[edit]The IBM System/370 Model 115 was announced March 13, 1973[39] 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."[39] 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.
System/370 Model 125
[edit]The IBM System/370 Model 125 was announced Oct 4, 1972.[40]
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.
System/370 Model 135
[edit]The IBM System/370 Model 135 was announced Mar 8, 1971.[41] 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.
System/370 Model 138
[edit]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."[42]
The 138 was withdrawn on November 1, 1983.
System/370 Model 145
[edit]The IBM System/370 Model 145 was announced Sep 23, 1970, three months after the 155 and 165 models.[36] It first shipped in June 1971.[2]: 643
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.[36]
The 145 was withdrawn on October 16, 1979.
System/370 Model 148
[edit]The IBM System/370 Model 148 had the same announcement and withdrawal dates as the Model 138.[43]
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."
System/370 Model 155
[edit]The IBM System/370 Model 155 and the Model 165 were announced Jun 30, 1970, the first of the 370s introduced.[44] 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.[2]: 643
The OS/DOS[45] (DOS/360 programs under OS/360), 1401/1440/1460 and 1410/7010[46][47] and 7070/7074 [48] 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.
System/370 Model 158
[edit]The IBM System/370 Model 158 and the 370/168 were announced Aug 2, 1972.[49]
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.
System/370 Model 165
[edit]The IBM System/370 Model 165 was described by IBM as "more powerful"[11] compared to the "medium-scale" 370/155. It first shipped in April 1971.[2]: 643
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.[50]
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.
System/370 Model 168
[edit]The IBM System/370 Model 168 included "up to eight megabytes"[51] of main memory, double the maximum of 4 megabytes on the 370/158.[49]
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,[52] 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."[53]
The 370/168 was not withdrawn until September 1980.
System/370 Model 195
[edit]The IBM System/370 Model 195 was announced Jun 30, 1970 and, at that time, it was "IBM's most powerful computing system."[54]
Its introduction came about 14 months after the announcement of its direct predecessor, the 360/195. Both 195 machines were withdrawn Feb. 9, 1977.[55][54]
System/370-compatible
[edit]Beginning in 1977, IBM began to introduce new systems, using the description "A compatible member of the System/370 family."[56][57]
IBM 303X
[edit]The first of the initial high end machines, IBM's 3033, was announced March 25, 1977[58] and was delivered the following March, at which time a multiprocessor version of the 3033 was announced.[59] IBM described it[60] 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 ..."[52]
The IBM 3031 and IBM 3032 were announced Oct. 7, 1977 and withdrawn Feb. 8, 1985.[56][61]
IBM 308X
[edit]Three systems comprised the next series of high end machines, IBM's 308X systems:
- The 3081[62] (announced Nov 12, 1980) had 2 CPUs
- The 3083[63] (announced Mar 31, 1982) had 1 CPU
- The 3084[64] (announced Sep 3, 1982) had 4 CPUs
Despite the numbering, the least powerful was the 3083, which could be field-upgraded to a 3081;[63] the 3084 was the top of the line.[64]
These models introduced IBM's Extended Architecture's 31-bit address capability[65] 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[66] |
5665–284 | MVS/Extended Architecture Data Facility Product (DFP) Version 1[67] |
All three 308x systems were withdrawn on August 4, 1987.
IBM 3090
[edit]The next series of high-end machines, the IBM 3090, began with models[k] 200 and 400.[68] 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[69] models, and continuing with the J and S models, IBM offered Enterprise Systems Architecture/370[70] (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[71] |
5685–002 | MVS/System Product-JES3 Version 3[71] |
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[67] |
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).[72][73]
The 200 and 400 were withdrawn on May 5, 1989.
IBM 4300
[edit]The first pair of IBM 4300 processors were Mid/Low end systems announced Jan 30, 1979[74][75] 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,[76] 4361[77] and 4381.[78]
The 4361 has "Programmable Power-Off -- enables the user to turn off the processor under program control";[77] "Unit power off" is (also) part of the 4381 feature list.[78]
IBM offered many Model Groups and models of the 4300 family,[l] 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."[m]
The 4381 Model Group 3 was dual-CPU.
IBM 9370
[edit]This low-end system, announced October 7, 1986,[79] 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;[80] the media of the day carried IBM's alleged "VAX Killer" phrase, albeit often skeptically.[81]
Clones
[edit]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)[82][83] 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.[84] 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 470 series
- ES EVM
- Fujitsu
- Hitachi
- Magnuson Computer Systems
- Mitsubishi
- Siemens
- Two Pi Corporation[85]
- Univac
Architecture details
[edit]IBM documentation numbers the bits from high order to low order; the most significant (leftmost) bit is designated as bit number 0.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
S/370 also refers to a computer system architecture specification,[91] and is a direct and mostly backward compatible evolution of the System/360 architecture[92] 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 registers
- 16 32-bit Control registers
- 4 64-bit Floating-point registers
- A 64-bit Program status word (PSW) which describes (among other things)
- Interrupt masks
- Privilege states
- A condition code
- A 24-bit instruction address
- Timing facilities (Time of day clock, interval timer, CPU timer and clock comparator)
- An interruption mechanism, maskable and unmaskable interruption classes and subclasses
- An instruction set. 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 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 does not describe the devices themselves
Some of the optional features are:
- A Dynamic Address Translation (DAT) mechanism that can be used to implement a virtual memory system
- Floating point instructions
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
- ECPS:MVS[93]
- A feature to enhance performance for the MVS/370 operating systems
- ECPS:VM[94]
- A feature to enhance performance for the VM operating systems
Other changes were compatible only for unprivileged programs, although the changes for privileged programs were of limited scope and well defined. Some examples are:
- ECPS:VSE[95]
- A feature to enhance performance for the DOS/VSE operating system.
- S/370-XA[65]
- A feature to provide a new I/O interface and to support 31-bit virtual and physical addressing
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.[96] 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.
S/370 replacement
[edit]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.[citation needed] All have retained essential backward compatibility with the original S/360 architecture and instruction set.
GCC and Linux on the S/370
[edit]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.[97] 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.[98]
I/O evolutions
[edit]I/O evolution from original S/360 to S/370
[edit]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.[99] Block multiplexer channels were available in single byte (1.5 MB/s) and double byte (3.0 MB/s) versions.
I/O evolution since original S/370
[edit]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.
See also
[edit]- Hercules emulator
- IBM System/360
- IBM System/370-XA
- IBM ESA/390
- IBM System z
- PC-based IBM-compatible mainframes
Notes
[edit]- ^ 16 FP registers in S/390
- ^ E.g., programs that depended on getting program interrupts for alignment errors might fail.
- ^ a b Optional on S/360
- ^ Previously available on S/360 models 85 and 195
- ^ Available as an RPQ on S/360
- ^ Previously available on S/360 models 65 and 67, and on the 9020
- ^ The Dynamic Address Translation on S/370 is different from that on the 360/67
- ^ Only on the 3090
- ^ One of these[4] is required for MVS/SE and MVS/SP
- System/370 extended facility
- ECPS:MVS
- 3033 extension feature
- ^ VM/370 R2, VM/BSE, VM/SE and VM/SP exploit Virtual-Machine Assist and Shadow-Table-Bypass Assist[5] if they are available.
- ^ IBM used a lower case "m"
- ^ One announcement alone featured mention of "Twelve models of the 4381" for just 3 "Model Groups" and also listed 6 other Model Groups
- ^ The same IBM web page notes the following date announced/withdrawn dates: Model Groups 1 & 2 (Sep 15, 1983 - Feb 11, 1986), Model Group 3 (Oct 25, 1984 - Feb 11, 1986), Model Groups 11, 12, 13 & 14 (announced Feb 11, 1986), Model Groups 21, 22, 23 & 24 (May 19, 1987 - Aug 19, 1992).
References
[edit]- S370-1st
- IBM System/370 Principles of Operation (PDF) (First ed.). IBM. June 1970. A22-7000-0.
- S370
- IBM System/370 Principles of Operation (PDF) (Eleventh ed.). IBM. September 1987. A22-7000-10.
- S370-MVS
- IBM System/370 Assists for MVS (PDF) (Second ed.). IBM. October 1981. GA22-7079-1.
- S370-VM
- Virtual-Machine Assist and Shadow-Table-Bypass Assist (PDF) (First ed.). IBM. May 1980. GA22-7074-0. Retrieved 2024-09-19.
- S370-XA-1st
- IBM System/370 Extended Architecture Principles of Operation (PDF). IBM. March 1983. SA22-7085-0.
- S370-XA
- IBM System/370 Extended Architecture Principles of Operation (PDF) (Second ed.). IBM. January 1987. SA22-7085-1.
- S370-ESA
- IBM Enterprise Systems Architecture/370 Principles of Operation (PDF) (First ed.). IBM. August 1988. SA22-7200-0.
- S/390-ESA
- IBM Enterprise Systems Architecture/390 Principles of Operation (PDF) (Ninth ed.). IBM. June 2003. SA22-7201-08. Archived from the original (PDF) on 2023-01-29. Retrieved 2021-01-01.
- SIE
- IBM System/370 Extended Architecture Interpretive Execution (PDF) (First ed.). IBM. January 1984. SA22-7095-0.
- ^ "System/370 Announcement". IBM. June 30, 1970.
- ^ a b c d e f Pugh, E.W.; L.R. Johnson; John H. Palmer (1991). IBM's 360 and early 370 systems. Cambridge: MIT Press. ISBN 0-262-16123-0.
- ^ a b S370, pp. D-1–D-5, Appendix D. Facilities .
- ^ a b S370-MVS.
- ^ a b S370-VM.
- ^ S370-XA, pp. D-1–D-10, Appendix D. Comparison Between System/370 and 370-XA Modes.
- ^ SIE.
- ^ S370-ESA, pp. D-1–D-5, Appendix D. Comparison Between 370-XA and ESA/370.
- ^ S390-ESA, pp. D-1–D-7, Appendix D. Comparison Between ESA/370 and ESA/390.
- ^ S370-1st, p. 26-27, Start I/O Fast Release.
- ^ a b "System/370 Model 165". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-07-29.
- ^ S370-1st, pp. 2–5, Modifications to System/360.
- ^ S370-1st, pp. 23–25, Move Long.
- ^ S370-1st, pp. 21–22, Compare Logical Long.
- ^ "Move Character Long". CSCI 360 Computer Programming in the Assembler Language.
- ^ Case, Richard P.; Padegs, Andris. "Architecture of the IBM System/370" (PDF). In Bell, C. Gordon; Newell, Allen (eds.). Computer Structures: Readings and Examples.
- ^ S370-1st, pp. 25–26, Shift and Round Decimal.
- ^ "Announcing: System/370 Model 155" (PDF). IBM.
- ^ "Announcing System/370 Model 165" (PDF). IBM.
- ^ S370-1st, p. 6, Time-Of_Day Clock.
- ^ S370, pp. 13-4–13-5, Types of Channels.
- ^ Richard P. Case; Andris Padegs (January 1978). "Architecture of the IBM System/370" (PDF). Communications of the ACM. 21 (1): 73–96. doi:10.1145/359327.359337. S2CID 207581262.
The IBM 2880 Block-Multiplexer Channel included most of the System/370 I/O architecture extensions and was made available on System/360 Models 85 and 195.
- ^ "Information technology industry timeline, 1964–1974".
- ^ Varian, Melinda (1997). VM and the VM community, past present, and future (PDF). SHARE 89 Sessions 9059-9061. p. 29.
- ^ a b IBM Maintenance Library 3145 Processing Unit Theory - Maintenance (PDF) (Second ed.). IBM. October 1971. pp. CPU 117–129. SY24-3581-1.
- ^ a b IBM Maintenance Library 3145 Processing Unit Theory - Maintenance (PDF) (Fifth ed.). IBM. SY24-3581-4.
- ^ a b "IBM's Virtual Memory 370s," Datamation, September 1972, p.58-61
- ^ A. Padegs (September 1981). "System/360 and Beyond". IBM Journal of Research & Development. 25 (5). IBM: 377–390. doi:10.1147/rd.255.0377. – tables include model characteristics (Table 1) and announcement/shipment dates (Table 2). The S/370-155-II and -165-II are listed under the former but not the latter, because the upgraded systems were not formally announced as separate models. The "System/370 Advanced Function" announcement, including the -158 and -168, was the main public event.
- ^ "155, 165 Owners Angry with IBM," Datamation, August 1973, p.76-86
- ^ "Section 80: Comparison Table of Hardware - 4341 Model Group 12 and 4381 Processors" (PDF). A Guide to the IBM 4381 Processor (PDF) (Third ed.). IBM. April 1986. p. 128. GC20·2021·2.
- ^ S370, pp. 3–3, Storage Addressing with Extended Address Fields.
- ^ "System/390 Announcement". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-10-26. Retrieved 2017-01-29.
- ^ a b IBM System/370 Principles of Operation (PDF) (Eighth ed.). IBM. September 1981. p. 3-11-3-6,5-11-5-29. GA22-7000-7.
- ^ a b S370, pp. 3–26, Page-Table Entries.
- ^ a b c "System/370 Model 145". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-07-29.
- ^ "IBM timeline of S/370 series". IBM. 23 January 2003. with surprising term 'System/370-compatible' for the 3xxx and 4xxx series
- ^ "IBM 9370 announcement letter". IBM. 7 October 1986. to explain why the 9370 is categorized as a System/370 compatible system
- ^ a b "System/370 Model 115". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-07-19.
- ^ "System/370 Model 125". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-07-19.
- ^ "System/370 Model 135". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-07-19.
- ^ "System/370 Model 138". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-07-19.
- ^ "System/370 Model 148". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-07-19.
- ^ "System/370 Model 155". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-05-16.
- ^ IBM System/360 Operating System: DOS Emulator Planning Guide. IBM. GC24-5076.
- ^ Emulating the IBM 1401, 1440 and 1460 on the IBM System/370 Models 145 and 155 using OS/360 Program Number 360C-EU-735 (Second ed.), IBM, February 1971, GC27-6945-1
- ^ Emulating the IBM 1410 and 7010 on the IBM System/370 Models 145 and 155 using OS/360 Program Number 360C-EU-736 (Second ed.), IBM, June 1971, GC27-6946-1
- ^ Emulating the IBM 7074 on the IBM System/370 Models 155 and 165 using OS/360 Program Number 360C-EU-739 (Second ed.). IBM. February 1971. GC27-6948-1.
- ^ a b "System/370 Model 158". IBM Archives. IBM. 23 January 2003. Archived from the original on 2021-03-01.
- ^ Jon Elson (December 5, 2014). "IBM 360/85 vs. 370/165". Newsgroup: alt.folklore.computers.
- ^ "System/370 Model 168". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-12-05.
- ^ a b "IBM's 3033 "The Big One": IBM's 3033". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-09-28.
- ^ "IBM boosts power of 370/168 again". Computer Weekly. No. 486. 1975. p. 1. Archived from the original on December 8, 2015.
- ^ a b "System/370 Model 195". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-07-29.
- ^ "System/360 Model 195". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-07-29.
- ^ a b "3031 Processor Complex". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-07-19.
- ^ "Mainframes - Basic information sources". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-09-22.
- ^ "3033 Press announcement". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-07-19.
- ^ "3033 Multiprocessor - Press announcement". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-07-19.
- ^ "IBM's 3033 "The Big One": IBM's 3033". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-09-28.
THINK magazine later simply dubbed it – "The Big One."
- ^ "3032 Processor Complex". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-07-19.
- ^ "3081 Processor Complex". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-07-19.
- ^ a b "3083 Processor Complex". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-07-19.
- ^ a b "3084 Processor Complex". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-12-10.
- ^ a b S370-XA-1st.
- ^ TSO Extensions (TSO/E), which enhances and extends the capability of TSO, is announced, Announcement Letters, IBM, November 2, 1981, ZP81-0796
- ^ a b MVS/Extended Architecture Data Facility Product: General Information (PDF) (Third ed.). IBM. January 1984. Retrieved 2024-09-19.
- ^ "3090 Processor Complex". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-12-04.
- ^ "IBM 3090 PROCESSOR UNIT MODEL 120E, IBM 3092 PROCESSOR CONTROLLER MODEL 3". IBM. May 19, 1987.
- ^ S370-ESA.
- ^ a b 5685-001 MVS/System Product-JES2 Version 3 Release 1.0. IBM Sales Manual. IBM. 8 August 2001.
- ^ the hyperlink on the words "Vector processing" point to an article that has only 2 mentions of IBM, one of which begins "In 2000, IBM, Toshiba and Sony collaborated."
- ^ The "first to market" advantage can be summarized as "In 1972, computer designer Seymour Cray left CDC and formed a new company" as noted in Getting Up to Speed: The Future of Supercomputing, 2005, ISBN 0309165512, by National Research Council, Division on Engineering and Physical Sciences, Computer Science and Telecommunications Board
- ^ "4331 Processor". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-12-09.
- ^ "4341 Processor". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-07-19.
- ^ "IBM Archives: DPD chronology - page 5". IBM. 23 January 2003. Archived from the original on 2020-10-21.
- ^ a b "4361 Processor". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-09-14.
- ^ a b "4381 Processor". IBM Archives. IBM. 23 January 2003. Archived from the original on 2023-07-19.
- ^ "IBM 9370 INFORMATION SYSTEM OVERVIEW". IBM. October 7, 1986.
- ^ "Report Of The SSC Computer Planning Committee" (PDF). January 1990. chapter 5.4, "SUMMARY OF RELATIVE STRENGTH OF DEC/VMS AND IBM/VM".
- ^ David E. Sanger (January 3, 1988). "The Moment of Truth for Big Blue". The New York Times.
appears to be slaying precious few Vaxes
- ^ David S. Bennahum (November 1997). "Heart of Darkness". Wired.
from 1967 to 1972, it put in place a massive industrial complex to reverse-engineer, copy, and produce IBM mainframes and DEC minicomputers... Once a computer was reduced to its constituent bits on both a software and hardware level, industrial management designed a manufacturing process to replicate the machine... a clone of the IBM 360/40 in 1970, a Cold War coup. Later, he worked on duplicating the IBM 370
- ^ Re the 370 (followup to 360/40 clone): Michael Weisskopf (September 24, 1985). "Soviet Radar Allegedly Stolen From U.S." The Washington Post.
- ^ David E. Sanger (February 5, 1984). "Bailing Out Of The Mainframe Industry". The New York Times.
an acronym for Burroughs, ... and Honeywell
- ^ Michalopoulos, D. A. (June 1978). "Microprocessor-based minicomputer runs IBM 370 software". Computer. 11 (6). IEEE: 87–90. doi:10.1109/C-M.1978.218231. Retrieved July 1, 2021.
The plug-compatible CPU is the conception of Dr. Jared A. Anderson and his associates at Two Pi Corp., ..
- ^ S370, pp. 4-10–4-11, Assignment of Control-Register Fields.
- ^ S370, pp. 4-8 – , 4–9, Program-Status Word Format in BC Mode.
- ^ S370, pp. 6-3 – , 6–5, Interruption Action.
- ^ S370, pp. 6-7 – , 6–9, Instruction-Length Code.
- ^ S370, pp. 4-6 – , 4–7, Program-Status Word Format in EC Mode.
- ^ S370.
- ^ S370, pp. 1-1 – , 1–4, Chapter 1 Introduction.
- ^ IBM System/370 Extended Facility and ECPS:MVS (Second ed.). IBM. November 1980. GA22-7072-1.
- ^ Virtual-Machine Assist and Shadow-Table-Bypass Assist (PDF) (First ed.). IBM. May 1980. GA22-7074-0. Retrieved 2024-09-19.
- ^ IBM 4300 Processors Principles of Operation for ECPS:VSE Mode (PDF) (Second ed.). IBM. September 1980. GA22-7070-1.
- ^ S390-ESA, pp. 1-13 – , 1–14, Section 1.3.2.2 Problem-State Compatibility.
- ^ "Removed architectures and systems removed from GCC 3.4".
- ^ "GCCMVS (GCC 3.2.3 for S/370)".
- ^ S370, p. 13-5, Programming Note.
Further reading
[edit]- Prasad, N.S. (1989). IBM Mainframes. McGraw-Hill. ISBN 0070506868. — Chapter 4 (pp. 111–166) describes the System/370 architecture; Chapter 5 (pp. 167–206) describes the System/370 Extended Architecture.
External links
[edit]- Hercules System/370 Emulator A software implementation of IBM System/370