From Wikipedia, the free encyclopedia
IBM System/360 (S/360) var en familie med 32-biter CISC stormaskiner som ble utviklet og produsert av IBM. Familien ble annonsert av IBM den 7. april 1964, og ble levert til kundene fra juni 1965 til 7. oktober 1977.[1] IBM System/360 representerte et stort fremskritt, i den forstand at dette var de første datamaskinene som hadde et generelt bruksområde. Familien kunne således erstatte tidligere spesialiserte datamaskiner. Den var konstruert for å brukes til en komplett rekke med applikasjonsprogrammer, store og små, kommersielle og vitenskapelige. I konstruksjonen gjorde IBM et klart skille mellom datamaskinarkitektur (IBM System/360-arkitekturen) på den ene siden, og implementasjonen på den andre. Slik ble det mulig å produsere ulike modeller til forskjellige priser. Bortsett fra modell 44 (som ikke var kompatibel med resten), og de aller dyreste modellene, benyttet IBM System/360 mikrokode for instruksjonssettet. Dette var kjennetegnet av 8-biter byteadressering, og av binære, desimale og heksadesimale kalkulasjoner av flyttall.
IBM System/360 (S/360) | |||
---|---|---|---|
Produsent | Juni 1965 – 7. oktober 1977 | ||
Utgitt | Juni 1965 | ||
Type | Stormaskin | ||
Prosessor | 32-biter CISC | ||
Minne | Standard: 256 Kb. Maksimalt 8 Mb. | ||
Operativsystem (OS) | OS/360, IBM TSS/360, CP-67, BOS/360, BPS/360, DOS/360, TOS/360, Michigan Terminal System |
Samtidig med lanseringen av IBM System/360, introduserte IBM sin Solid Logic Technology, en ny teknologi som var begynnelsen på kraftigere og samtidig mindre datamaskiner.[2]
En av de første modellene var System/360 modell 30. Den kunne utføre 34 500 instruksjoner per sekund, og hadde et hovedminne som varierte fra 8 til 64 Kb.[3] Modeller med større ytelse kom senere. System/360 modell 91 ble levert i oktober 1967 og hadde en ytelse på 16,6 millioner instruksjoner per sekund.[4] De største modellene kunne ha opptil 8 Mb med hovedminne.[5] En typisk grunninstallasjon hadde 256 Kb hovedminne, men 512 Kb, 768 Kb og 1024 Kb var mer vanlig. I tillegg hadde modell 50, modell 65 og modell 75 støtte for opptil 8 Mb IBM 2361 Large Capacity Storage. Dette var et magnetkjerneminne med en syklus på 8 mikrosekunder og en aksesstid på 3,6 mikrosekunder.
IBM System/360 ble levert sammen med operativsystemet OS/360,[6][7] som var et av de første operativsystemene som benyttet sekundært minne som en innebygd del av deres kjøring. IBM TSS/360[8] ble utviklet eksklusivt for modell 67 som en konkurrent til Multics, og ble senere erstattet av CP-67 og det tidsdelte miljøet Time Sharing Option[9][10] i OS/360 Multiprogramming with a Variable number of Tasks (MVT) versjon 20.1.[11][12] IBM utviklet også operativsystemene BOS/360,[13] BPS/360,[14] DOS/360[14] og TOS/360[14] for de minste modellene. I 1967 utviklet University of Michigan det tidsdelte operativsystemet Michigan Terminal System til bruk på modell 67 og de etterfølgende stormaskinene IBM System/370.[15]
Hovedarkitekten bak System/360 var Gene Amdahl (1922–2015). Prosjektleder var Fred Brooks (1931–), og han var i sin tur underlagt Thomas J. Watson Jr. (1914–1993),[5] som var IBMs andre president. Den kommersielle lanseringen i 1964 ble ledet av John R. Opel (1925–2011).[16] System/360 var en salgssuksess. Kunder som kjøpte mindre systemer, kunne oppgradere til større uten å måtte omprogrammere maskinvaren eller kjøpe nytt periferiutstyr. De var en av de mest suksessfulle datamaskiner i historien, og påvirket konstruksjonen av datamaskiner i mange år fremover. IBM System/360 erstattet IBM 700/7000-serien og ble i sin tur etterfulgt av IBM System/370 (1970), IBM ESA/390 (1990), IBM System z (2000), IBM System z9 (2005), IBM System z10 (2008) og IBM zEnterprise System (2010). Med enkelte unntak, er programvare for System/360 kompatibel med z/Architecture.
I kontrast til det som var den alminnelige industripraksisen, skapte IBM en hel serie av stormaskiner, fra liten til stor, fra lav ytelse til høy ytelse, som alle benyttet det samme instruksjonssettet (med unntak av to modeller som var ment for spesielle markeder). Dette gjorde det mulig for kunder å velge billigere modeller og deretter oppgradere til større systemer, dersom deres behov økte, uten å bruke tid og penger på å omskrive programvaren. IBM var den første produsenten til å benytte mikrokode, som er et av kjennetegnene på en CISC-arkitektur. Fordelen med dette var at det ble mulig å implementere en fullstendig rekke med datamaskiner som hadde høyst forskjellig ytelse. De største og raskeste modellene benyttet i stedet en logikk som var koblet direkte på datamaskinen.
Denne fleksibiliteten gjorde barrierene lavere for å investere i datamaskinene. Andre leverandører (med unntak av International Computers and Tabulators) stilte kundene overfor valget mellom maskiner som kunne bli foreldet og maskiner som hadde før høy ytelse, og dermed var for kostbare. Dette innebar igjen at mange selskaper avholdt seg fra å kjøpe datamaskiner.
IBM annonserte opprinnelig en serie på seks stormaskiner og 40 vanlige periferienheter. Til slutt leverte IBM i alt 14 modeller, deriblant enkelte sjeldne modeller for NASA. Den billigste modellen var IBM System/360 modell 20. Den hadde så lite som 4 Kb hovedminne, åtte 16-biter prosessorregistere i stedet for 16 stk 32-biter generelle registere, og et instruksjonssett som var delvis inkompatibelt med de andre modellene.
Den første annonseringen den 7. april 1964 omfattet modell 30, modell 40 og modell 50, så vel som modellene 60, 62 og 70. De tre første tilhørte det nederste og middelskiktet i ytelse, og var ment å erstatte IBM 1400-serien. De ble levert i april (modell 40), juni (modell 30) og august (modell 50) 1965. De tre siste var ment å erstatte IBM 700/7000-serien, men ble aldri lansert. I stedet ble de erstattet av modell 65 og modell 75, som ble lansert i henholdsvis november 1965 og januar 1966.
Modell 25 ble annonsert 3. januar 1968 og ble lansert i oktober 1968. Den var i hovedsak en forbedret utgave av modell 20. Modell 22 ble annonsert 7. april 1971 og var i hovedsak en modell 30 med et mindre hovedminne og tregere I/O-kanaler. Dette gjorde at den hadde harddisker og magnetbånd som var tregere og hadde lavere kapasitet enn modell 30.
Modell 44 var en spesialisert modell som var konstruert for vitenskapelig databehandling, sanntids databehandling og prosesskontroll. Den hadde noen ekstra instruksjoner, mens alle storage-to-storage instruksjoner og de fem andre komplekse instruksjoner var fjernet.
Etterfølgende modeller inkluderte modell 67 i 1966,[17] (erstattet de forventede modellene 64 og 66, som ikke ble lansert), modell 85 i 1969, modell 91 i 1967 (erstattet modell 92 som ikke ble lansert), modell 95 i 1968 og modell 195 i 1971. Modell 85 var en mellomting mellom IBM System/360 og den etterfølgende familien IBM System/370. Den var også basis for modell 165 av IBM System/370. Det fantes også en IBM System/370-modell som var basert på modell 195, men den hadde ikke dynamisk adresseoversettelse.
Implementasjonene varierte mye, ved å bruke forskjellige bredder på databussene, forskjellig størrelse på hovedminnet samt nærvær eller fravær av mikrokode. Bortsett fra spesifikke unntak, var modellene kompatible med hverandre. Modell 91 var for eksempel konstruert for vitenskapelig databehandling og sørget for eksekvering utenfor rekkefølge. Den kunne likevel gi upresise avbrudd, hvis dette inntraff mens flere instruksjoner ble lest. Modellen manglet også et desimalt instruksjonssett for kommersielle applikasjoner. Nye egenskaper kunne tilføyes uten å krenke arkitekturens definisjoner. Modell 65 eksisterte i en versjon med symmetrisk flerprosessering i form av to mikroprosessorer (M65MP) med utvidelser for signaler mellom mikroprosessorene. Modell 85 introduserte et hurtigminne på 16 eller 32 Kb og utvidet presisjon for flyttall. Modellene 44, 75, 91, 95 og 195 var implementert uten mikrokode.
Modell 67 var den første datamaskinen fra IBM med dynamisk adresseoversettelse (dynamic address translation eller DAT) for å støtte tidsdeling. DAT blir i dag vanligvis referert til som en minnehåndterer, og modell 40 hadde en eksperimentell ekstern enhet for minnehåndtering. Modellene 64 og 66 var ment å være DAT-versjoner av modellene 60 og 62, men de ble ikke lansert. I stedet for modell 60, ble modell 67 lansert, og i stedet for modell 62 ble modell 65 lansert. Maskinvare for DAT skulle bli implementert i en av modellene til IBM System S/370, men var opprinnelig fraværende i denne serien. Også System S/370 tilbød modeller med to mikroprosessorer.
IBM sluttet å markedsføre alle modeller av IBM System/360 den 7. oktober 1977.[18]
IBM's eksisterende kundebase hadde foretatt store investeringer i programvare som kjørte på tidligere datamaskiner. Noen modeller kunne leveres sammen med en emulator på kundens tidligere datamaskiner (IBM 1400-serien på modell 30 og IBM 7094 på modell 65) ved å bruke en kombinasjon av spesiell maskinvare,[19] en spesiell mikrokode og et emuleringsprogram som brukte de emulerte instruksjoner til å simulere det nye datasystemet, slik at gamle programmer kunne kjøre på den nye datamaskinen. Kundene måtte likevel stanse datamaskinen og laste inn emulatorprogrammet.[20] Modell 85 og senere IBM System/370 hadde også emulatorvalgene, men tillot dem å kjøre under operativsystemets kontroll sammen med datamaskinens egne programmer.[21]
Bortsett fra modell 20, ble IBM System/360 erstattet av den kompatible serien IBM System/370 i 1970. Brukere av modell 20 var ment å gå over til IBM System/3. Ideen om et stort teknologisk gjennombrudd gjennom IBM Future Systems project, ble forkastet i 1975 på grunn av prosjektets kostnader og ønsket om kontinuitet. Senere kompatible stormaskiner inkluderer IBM 3090, IBM ES/9000, IBM 9672 i IBM System/390-familien, IBM System z, IBM System z9, IBM System z10 og IBM zEnterprise System.
Datamaskiner som hadde nesten samme eller kompatibel maskinkode eller arkitektur som IBM System/360, var Amdahl Corporations 470-familie og etterfølgere, Hitachi stormaskiner, UNIVAC 9000,[22] Fujitsus FACOM, RCA Spectra 70 og English Electrics System 4. System 4 ble bygd på lisens fra RCA. RCA solgte Spectra-serien til UNIVAC, hvor de ble til UNIVAC 70-serien. UNIVAC utviklet også UNIVAC 90 som etterfølgere til UNIVAC 9000 og UNIVAC 70.[22] Sovjetunionen produserte en klone av IBM System/360 fra 1969 til 1978 som ble kalt ES EVM.[23]
Den portable datamaskinen IBM 5100 Portable Computer, som ble introdusert i 1975, kunne kjøre IBM System/360's programmeringsspråk APL.SV gjennom en maskinvare-emulator. IBM benyttet denne tilnærmelsen for å unngå kostnader og forsinkelser når de skapte en 5100-spesifikk versjon av APL.
Spesielle strålingsherdede og på annen måte modifiserte utgaver av IBM System/360, i form av den IBM System/4 Pi-baserte avionikk-datamaskin, brukes i flere jagerfly og bombefly. I sin komplette 32-biter AP-101 versjon, ble datamaskiner basert på IBM System/4 Pi brukt i fem replikerte nav i det feiltolerante datasystemet til romfergeprogrammet. USAs Federal Aviation Administration benyttet IBM 9020, en spesiell regneklynge av modifiserte IBM System/360, til luftfartskontroll fra 1970 til 1990-årene. Noe av programvaren brukes fortsatt via emulering på nyere maskinvare.
Modell | Annonsert[24] | Levert[24] | Trukket tilbake | Vitenskapelig ytelse (kIPS)[lower-alpha 1] |
Kommersiell ytelse (kIPS)[lower-alpha 2] |
Mikroprosessor båndbredde (MB/sec)[26] |
Minne båndbredde (MB/sec)[26] |
Minnestørrelse (binær KB) |
Merknader |
---|---|---|---|---|---|---|---|---|---|
30 | 7. april 1964 | Juni 1965 | 22. juni 1970 | 10.2 | 29 | 1.3 | 0.7 | 8-64[27] | |
40 | 7. april 1964 | April 1965 | 7. oktober 1977 | 40 | 75 | 3.2 | 0.8 | 16-256[28] | |
50 | 7. april 1964 | August 1965 | 15. mars 1977 | 133 | 169 | 8.0 | 2.0 | 64-512[29] | Støttet IBM 2361 Large Capacity Storage (LCS) |
60 og 62 | 7. april 1964 | Ble aldri lansert, men ble erstattet av modell 65 | |||||||
70 | 7. april 1964 | Ble aldri lansert, men ble erstattet av modell 75 | |||||||
90 | 7. april 1964 | Ble aldri lansert, men ble erstattet av modell 92 | |||||||
92 | 17. august 1964 | Ble aldri lansert, men ble erstattet av modell 91 og modell 95[30] | |||||||
20 | 18. november 1964 | Mars 1966 | Ukjent | 2.0 | 2.6 | 4-32[31] | 16-biter, delvis inkompatibelt instruksjonssett | ||
64 og 66 | 22. april 1965 | Ble aldri lansert, men ble erstattet av modell 67 | |||||||
65 | 22. april 1965 | November 1965 | 15. mars 1977 | 563 | 567 | 40 | 21 | 128-1,024[32] | Støttet LCS |
75 | 22. april 1965 | Januar 1966 | 15. mars 1977 | 940 | 670 | 41 | 43 | 256-1,024[33] | Støttet LCS |
67 | 16. august 1965 | Mai 1966 | 15. mars 1977 | 40 | 21 | 512-2,048[34] | Dynamisk adresseoversettelse for tidsdeling | ||
44 | 16. august 1965 | September 1966 | 24. september 1973 | 118 | 185 | 16 | 4.0 | 32-256[35] | Beregnet på vitenskapelig databehandling |
91 | 18. januar 1966 | Oktober 1967 | 20. februar 1967 | 1,900 | 1,800 | 133 | 164 | 1,024-4,096[36] | |
95 | Februar 1968 | Ukjent | 3,800 (estimert) |
3,600 (estimert) |
133 | 711 | 5,220[37] | Ble ikke annonsert, men levert på spesialordre. Ytelsen er blitt estimert som 2× modell 91 per Pugh p. 394[24] | |
25 | 3. januar 1968 | Oktober 1968 | 7. oktober 1977 | 9.7 | 25 | 1.1 | 2.2 | 16-48[38] | |
85 | 30. januar 1968 | Desember 1969 | 24. juni 1971 | 3,245 | 3,418 | 100 | 67 | 512-4,096[39] | 16-32 Kb hurtigminne, utvidet presisjon for flyttall |
195 | 20. august 1969 | Mars 1971 | 9. februar 1977 | 10,000 (estimert) |
10,000 (estimert) |
148 | 169 | 1,024-4,096[40] | 32 Kb hurtigminne. Ytelsen estimert til 3× modell 85 per Pugh p. 422.[24] |
22 | 7. april 1971 | Juni 1971 | 7. oktober 1977 | 1.3 | 0.7 | 24-32[41] | En versjon av modell 30, med mindre hovedminne og tregere I/O |
IBM System/360 introduserte en rekke industristandarder. slik som:
Utdypende artikkel: IBM System/360-arkitekturen
IBM System/360 hadde en spesifikasjon av en datamaskinarkitektur.[43][44][45] Denne spesifikasjonen gjorde ingen antagelser om implementasjonen, men beskrev bare grensesnittet og den forventede adferd til implementasjonen. Arkitekturen beskriver standard grensesnitt som må være tilstede i implementasjonen og valgfrie grensesnitt. Noen aspekter ved denne arkitekturen er:
Enkelte aspekter ved arkitekturen var valgfrie:
Alle modeller, bortsett fra modell 20 og modell 44, implementerte denne spesifikasjonen.
Binære aritmetiske og logiske operasjoner blir utført som register-til-register og som minne-til-register/register-til-minne instruksjoner som en standard egenskap. Hvis opsjonen Commercial Instruction Set var satt, da kunne BCD-aritmetikk utføres som minne-til-minne operasjoner, med enkelte tilfeller av minne-til-register operasjoner. Hvis opsjonen Scientific Instruction Set var installert, hadde man tilgang til fire flyttalsregistere som kunne bli programmert for enten 32-biter eller 64-biter flyttallsoperasjoner. Modellene 85 og 195 kunne også operere på flyttall med 128-biter utvidet presisjon som var lagret i par av flyttallsregistere. Dette kunne også gjøres gjennom programvare-emulering i andre modeller. System/360 benyttet en 8-biters byte, 32-biter ord. 64-biter dobbeltord og 4-biter nibble. Maskininstruksjonene hadde operatorer med operander, som kunne inneholde registertall eller minneadresser. Denne komplekse kombinasjonen av opsjoner av instruksjoner førte til en stor mengde instruksjonslengder og instruksjonsformater.
Adressering ble oppnådd ved å benytte en baseadresse + forskyvning på registrene 1 til F15. Forskyvningen var kodet i 12 biter. System/360 tillot således en 4096-byte forskyvning (0-4095), som et offset fra adressen som var lagret i baseregisteret.
Register 0 kunne ikke brukes som baseregister eller indeksregister, og heller ikke som et branch adresseregister. «0» var reservert til å indikere en adresse i de første 4 Kb av minnet. Hvis register 0 var spesifisert som beskrevet, var verdien 0x00000000 implisitt innmatning til den effektive adressekalkulasjon i stedet for en hvilken som helst verdi som måtte befinne seg innenfor register 0. Hvis det var spesifisert som et branch adresseregister, ble ingen branch foretatt, og innholdet i register 0 ble ignorert, men instruksjonens sideeffekter ble utført.
Denne spesifikke adferd muliggjorde innledende utførelse av en avbruddsrutine, ettersom baseregistrene ikke nødvendigvis var satt til 0 under de første få instruksjonssykluser av en avbruddsrutine. Den var ikke behøvelig for IPL (Initial Program Load eller oppstart), ettersom man alltid kunne tømme et register uten behov for å lagre det.
Med unntak av modell 67,[34] var adressene virkelige adresser. Virtuell hukommelse var ikke tilgjengelig i de fleste av IBMs stormaskiner før IBM System/370. Modell 67 introduserte en arkitektur for virtuell hukommelse; denne ble tatt i bruk av Michigan Terminal System, CP-67 og IBM TSS/360, men ikke av de ulike avartene av OS/360.
Maskinkode-instruksjonene var 2 bytes lange uten minne-operander, 4 bytes lange med en operand eller 6 bytes lange med to operander. Instruksjonene var alltid plassert innenfor 2-bytes grenser.
Instruksjoner som MVC (Move-Characters) (heksadesimalt: D2) kunne flytte på det meste 256 bytes med informasjon. For å flytte mer enn 256 bytes, var det påkrevd med flere MVC-instruksjoner. System/370 introduserte en familie av mer kraftige instruksjoner, som for eksempel instruksjonen MVCL (Move-Characters-Long), som støttet flytting av opptil 16 Mb i en enkeltt blokk.
En operand var to bytes lang, og presenterte vanligvis en adresse som en 4-biter nibble med et baseregister og en 12-biter forskyvning relativ til innholdet i dette registeret, innenfor områder 000–FFF (heksadesimalt). Adressen som korresponderte med denne operanden var innholdet i det spesifiserte generelle register pluss forskyvningen. En MVC-instruksjon som flyttet 256 bytes (med lengde 255, heksadesimalt som FF) fra baseregister 7 (pluss forskyvning 000) til baseregister 8 (pluss forskyvning 001) ville bli kodet som 6-byte instruksjonen D2FF 8001 7000 (operator, lengde, adresse1, adresse2).
System/360 var konstruert for å skille mellom systemtilstanden og problemtilstanden. Dette sørget for et grunnleggende nivå av sikkerhet og muligheten til å gjenopprette datamaskinen fra programmeringsfeil. Problemprogrammer kunne ikke modifisere data eller programlagring knyttet til systemtilstanden. Feil i adressering, data eller operasjon fikk datamaskinen til å gå inn i systemtilstanden gjennom en kontrollert rutine, slik at operativsystemet kunne prøve å korrigere eller avslutte programmet som hadde feil. På samme måte kunne den gjenopprette visse maskinvarefeil gjennom rutiner for datamaskinsjekk.
Utdypende artikkel: Kanal I/O
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.