Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
IBM System/370
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==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 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}} 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{{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=== 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 :* 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> * 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}} * support for the block multiplexer channel{{sfn|S370 |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]] ===Logic technology=== 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=== 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=== 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: * 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 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]] [[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: * 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><!-- 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.] --> in the slow adoption of OS/VS2 MVS, not only by customers in general, but for many internal IBM sites as well. ===Subsequent enhancements=== Later architectural changes primarily involved expansions in memory (central storage) – both physical memory and virtual [[address space]] – to enable larger workloads and meet client demands for more storage. This was the inevitable trend as [[Moore's Law]] eroded the unit cost of memory. As with all IBM mainframe development, preserving [[backward compatibility]] was paramount.{{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}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)