Latvijas Zinātņu akadēmija

Akadēmiskās lekcijas

 


 

Andris Padegs

 

IBM360 lieldatoru attīstīšana un nozīme

(Lekcija nolasīta 2004.gada 25.novembrī Latvijas Zinātņu akadēmijā)

 

Lekcijas ilustrācijas (1.daļa * 2.daļa * 3.daļa)

 

Attēls 1 – IBM360 lieldatoru attīstīšana un nozīme

 

Pasaules mērogā lielākai daļai no lieldatoriem tagad pamatā ir IBM360, jeb, precīzāk runājot, IBM Sistēmas 360 arhitektūra. Šo arhitektūru IBM izlaida tirgū 1964. gadā, un kopš tā laika tā ir daudzas reizes papildināta, pārdēvējot to par Sistēmu 370 un vēlāk Sistēmu 390. Bet pamats ir tas pats.

 

Es runāšu par apsvērumiem kas noveda pie IBM Sistēmas 360 arhitektūras attīstīšanas - kāpēc vajadzēja jaunu datoru arhitektūru, kā tā atšķīrās no citām tā laika datoru arhitektūrām un kādi bija finansiālie apsvērumi. Tad es runāšu par principiem šīs arhitektūras attīstīšanā. Beidzot es runāšu par tās nozīmi pasaules mērogā, ieskaitot Japānu un bijušo Padomju Savienību. Es gribu uzsvērt, ka mans mērķis ir runāt par procesiem un apsvērumiem un nevis par tehniskām detaļām.

 

Šodien ļoti pazīstami ir personālie datori, ar kuru gandrīz katram ir bijusi tieša saskare.

 

Attēls 2 – Lieldatoru attīstība

 

Tie kļuva populāri 80-to gadu sākumā. Es runāšu par lieldatoru (angliski ”mainframe”) arhitektūru. Lieldatori bija datori, un vienīgie datori, kas eksistēja sākot ar pagājušā gadu simta vidu. Tie toreiz aizņēma veselas istabas un namu stāvus un bieži maksāja miljons dolāru un vairāk. Tie tiek lietoti arī šodien un ir daudz jaudīgāki, un dārgāki, par personālajiem datoriem. Es mēģināšu vietām pieminēt, kā tā laika apsvērumi attiecas uz šodienas personālajiem datoriem.

 

Kas ir datoru arhitektūra

 

Attēls 3 – Kas ir datoru arhitektūra

 

Vispirms, pirms es sāku to iztirzāt, es gribu definēt, kas ir datoru arhitektūra. Precīzi runājot, datoru arhitektūra ir datora interfeiss ar tiešo lietotāju, kas šajā gadījumā ir programma. Tā ir datora darbības principu specifikācija, kas ļauj programmai darboties un dot sagaidītos rezultātus.

 

Attēls 4 – Datoru būvēšanas aspekti

 

Te es gribētu atšķirt arhitektūru no diviem citiem datoru būves aspektiem:

 

 

Lai labāk saprastu, kas ir arhitektūra un īstenošana, apskatīsim parasto veco analogo pulksteni.

 

Attēls 5 – Analogā pulksteņa arhitektūra

 

Arhitektūra šeit nosaka laika mērīšanas principu: apli sadalītu 60 daļās, divpadsmit skaitļus izvietotus aplī, divus rādītājus un rādītāju kustības likumību. Arhitektūra te ir tas, ko mēs mācam bērnam, lai viņš pazītu pulksteni. Šai arhitektūrai var būt dažādi grafiskie ietērpi – dažāda stila fonti un rādītāji, aplis var būt kantains un cipari pat var būt izlaisti. Bet pamatā arhitektūra vienmēr ir tā pati, un ar to pietiek, lai pulksteni varētu lasīt un lietot.

 

Pulksteņa loģiskā īstenošana ietver spēka piegādi un laika mērīšanas mehānisma īstenošanu: vai lietot bateriju, svārstu vai atsperi; kas būs svārsta periods; kā sakārtot zobratus.

 

Pulksteņa fiziskā īstenošana ietver tādus apsvērumus kā materiālu izvēle, tolerances un zobratu gultņu specifikācijas. Bet, lai bērni pazītu pulksteni, mēs viņiem nemācām, kādas frekvences maiņstrāva tam ir vajadzīga, cik tam ir zobratu, un vai zobrati ir taisīti no misiņa vai tērauda.

 

Attēls 6 – Datoru arhitektūra

 

Tātad datora arhitektūru iekļauj visu to, kas ir nepieciešams datora programmēšanai. Tā iekļauj instrukciju un datu formātus un kodus un pilnīgu funkcionālo definīciju. Ja diviem datoriem ir tā pati arhitektūra, programmas var pārnest no viena datora uz otru. Te ir jāuzsver, ka datora arhitektūra nedrīkst iekļaut ne vairāk ne mazāk. Ja definīcija ir nepilnīga, svarīgi datora darbības aspekti var būt savādāki diviem datoriem, un programma, kas ir rakstīta vienai mašīnai var nestrādāt uz citas; ja definīcija nosaka par daudz, tā ierobežo mašīnu loģisko īstenošanu.

 

Termins „arhitektūra” pirmo reizi tika pielietots datoru konstrukcijā, izveidojot IBM Stretch datoru, un tas parādījās publikācijā 1962. gadā[1]. Tas tika precizēts publikācijās, kas saistījās ar Sistēmu 360 un tagad tiek plaši pielietots.

 

Es gribu piezīmēt, ka daži autori vārdā „arhitektūra” iekļauj arī loģisko īstenošanu un ar to apzīmē funkcionālo definīciju kā arī reģistru izvietojumu. Es šo vārdu lietošu šaurākā nozīmē.

 

IBM datori 1950-to gadu beigās

 

Attēls 7 – IBM datori pirms Sistēmas 360

 

Datorus saka būvēt un plašāk lietot 50-to gadu vidū. 50-to gadu beigās IBM laida tirgū sešas[2] mašīnu sērijas. Katrai sērijai bija sava arhitektūra, un par katru sēriju bija atbildīga atsevišķa konstruktoru komanda, ar minimālu mijiedarbību. Katra sērija sākās ar kādu datoru, kas tika konstruēts noteiktam tirgus slānim vai kas izlietoja kādu jaunu tehnoloģijas principu. Pamazām šī datora lietotājiem prasības pieauga, un tehnoloģijas progress ļāva ražot jaudīgākus datorus tirgus prasību apmierināšanai. Bet klienti, dabīgi, gribēja darbināt savas vecās programmas uz jaunajām mašīnām. Tas nozīmēja, ka jaunajiem datoriem bija jābūt saderīgiem ar iepriekšējiem, un datori izveidojās sērijās ar vairāk vai mazāk saderīgām datoru ģenerācijām.

 

Izņemot IBM Stretch sistēmu, arhitektūra kā tāda šiem datoriem nebija dokumentēta; tas, kā šie datori strādāja, bija šo datoru arhitektūra. No vienas puses, ir apbrīnojami, ka nedefinētas arhitektūras varēja tik ilgi pastāvēt. Bet tālākai šo sēriju uzturēšanai bija robežas.

 

Kāpēc vajadzēja jaunu arhitektūru?

 

Piecdesmito gadu beigās un sešdesmito gadu sakumā radās jauni apsvērumi datoru konstrukcijai. Te ir daži no šiem apsvērumiem.

 

Attēls 8 – Kāpēc vajadzēja jaunu arhitektūru?

 

Es gribētu šeit pieminēt, ka līdzīgas prasības un argumenti attiecas arī uz šīsdienas personālajiem datoriem, bet pirms vairāk nekā 40 gadiem tās bija jaunas un mainīja datoru arhitektūras attīstības virzienu. Daudzas no šim prasībām netika ņemtas vērā personālo datoru izveidošanā, jo galvenā sākotnējā personālo datoru prasība bija tā, ka tiem jābūt ļoti lētiem. Līdz ar to šie datori atkārtoja sākotnējo lieldatoru arhitektūras trūkumus. Pamazām šie trūkumi tiek aizpildīti, prasībām pieaugot un tehnoloģijas cenām krītoties.

 

  1. Pirmkārt, agrākie argumenti, ka katrai lietotāju klasei ir savdabīgi uzdevumi, kas attaisno specializētu datoru būvi, kļuva vājāki. Dators pavada daudz laika sistēmas kontroles un sakopšanas darbā, kas ir kopējs visiem lietotājiem. Te ir ieskaitītas tādas funkcijas kā darbu izpildes plānošana, programmu izvietošana, ievada un izvada operāciju kontrole un kompilēšana.
    Šo darba sadalījumu mēs tagad skaidri redzam pie šīsdienas personālajiem datoriem. Pirmkārt, ir tikai viena tipa personālie datori – nav specializēti datori teksta apstrādei un finanšu aprēķiniem, un, otrkārt, dators pavada daudz vairāk laika dažādajās Windows virstēriņa funkcijās nekā, piemēram, apstrādājot lietotāja e-pastu vai dokumentu.
  2. Otrkārt, bija vēlama vienveidīga metode ievada un izvada aparātu pievienošanai un kontrolei, kas prasīja kopēju aparātu pievienošanas interfeisi visām sistēmām, kā arī vienveida programmas instrukcijas.
    Personālajiem datoriem līdzīga situācija tika atrisināta pirms pāris gadiem, kad ieveda Universālo seriālo maģistrāli, tā saukto USB. Tas ir kopējs savienojums visiem jauniem personālo datoru ievada un izvada aparātiem.
  3. Treškārt, lai ļautu datoriem autonomi darboties un mazinātu prasības pēc operatora iejaukšanās, arhitektūrai vajadzēja dot iespēju datoram darboties vienlaicīgi ar vairākām programmām multiprogrammu režīmā un būt spējīgam atrast un reaģēt uz mašīnas kļūdām.
    Jaunās personālo datoru Windows versijas arī arvien vairāk gādā, lai dators nekad nebūtu jāaptur un par jaunu jāiedarbina, un lietotājs bieži (par daudz bieži!) saņem visādus ziņojumus par datora darbību un kļūdām. Bet te vēl daudz kas jāuzlabo. Lieldatoru sistēmas tagad strādā mēnešiem ilgi bez neparedzētas apstāšanās.
  4. Jaunajām sistēmām vajadzēja daudz lielāku operatīvo atmiņu, un jaunajai arhitektūrai vajadzēja attiecīgas adresēšanas spējas. Šī bija viena no galvenajām prasībām. Novērojumi rādija, ka atmiņas lielums dubultojas katrus 30 mēnešus, kas nozīmē, ka atmiņas adreses lielums ik divarpus gadus ir jāpalielina par vienu bitu.
  5. Pēdīgi, programmatūras attīstīšanas izdevumi kļuva arvien lielāki attiecībā pret mašīnas būvi – bija nepieciešama kopēja arhitektūra mazām un lielām mašīnām un dažādām lietotāju klasēm, lai varētu ar ieguldījumu programmatūrā dalīties.

 

Izņemot IBM superdatoru Stretch, neviena no agrāko datoru arhitektūrām neapmierināja šīs prasības. IBM Stretch datora mērķis bija būt iespējami ātrākam tā laika datoram atomenerģijas pētniecības vajadzībām. Tas tika attīstīts 50-to gadu beigās, un no 1962. līdz 1965. gadam tika uzskatīts par pasaules jaudīgāko datoru. Stretch datora arhitektūru izveidoja lielā mērā tā pati grupa, kas vēlāk uzņēmās Sistēmas 360 arhitektūras attīstīšanu, un abām sistēmām ir līdzīgi arhitektūras principi. Bet Stretch arhitektūru var uzskatīt par eksperimentālu, kam nebija sevišķi jārēķinās ar būvēšanas izdevumiem, un tā nederēja par pamatu datoru sērijai, kur vajag arī mazas jaudas datorus.

 

IBM Riski

 

IBM uzņēmās milzīgu risku, izveidojot datorus ar jaunu arhitektūru, jo datoriem, kas nebija saderīgi ar agrākajiem, nebija nodrošināts tirgus. IBM tajos gados nebija dominējoša firma datoru laukā, un risks bija dažādas plāksnēs:

 

Attēls 9 – IBM riski

 

  1. Pirmkārt, IBM klienti sagaidīja jaudīgākus datorus, bet tādus, ar kuriem varētu lietot viņu toreizējās programmas. Kā pārliecināt šos klientus pāriet uz jaunas arhitektūras datoru, kur vecās programmas vairs nestrādā vai strādā relatīvi lēnāk speciālā režīmā?
    Iedomājaties situāciju šodien, ja jūs savas tagadējās programmas vairs nevarētu lietot uz jaunās ģenerācijas personāliem datoriem. Bija jārēķinās, ka šāda maiņa dos sāncenšu firmām lodziņu, kur ielauzties un pārņemt IBM klientu.
    Šī problēma tika atrisināta īsi pirms Sistēmas 360 atklāšanas ar to, ka daži modeļi deva iespēju emulēt, jeb atdarināt, vecās arhitektūras.
  2. Otrkārt, saderīgu datoru sērijas izveidošana bija jauna un vēl nepārbaudīta doma, un nebija skaidrs, cik plašā diapazonā tas būs iespējams.
  3. Lai iegūtu lielāko tirgus efektu, jaunas sērijas ievešana bija jāsaista ar jaunu tehnoloģiju. IBM tajā laikā ražoja tā saucamās otrās ģenerācijas datorus ar atsevišķiem tranzistoriem, un trešās ģenerācijas shēmu attīstība nebija vēl nobeigta. Tehnoloģijas izvēle izrādījās viena no lielākajiem diskusiju (vai, precīzāk runājot, strīdu) tematiem, kas beidzās ar to, ka Sistēma 360 oriģinālie modeļi bija trešās ģenerācijas datori ar diskrētam integrētām shēmām.
  4. Un pēdīgi, nopietns risks bija laika jautājums. Vai varēs visus produktus nobeigt reizē paredzētajā laikā? Vajadzēja datorus, visus ievada un izvada aparātus, operētājsistēmu, kompilatorus un veselu strīpu citu programmas produktu. Tik lielu produktu komplektu IBM nekad nebija vienlaicīgi radījis.

 

Attēls 10 – Ieguldījums IBM360 lieldatoros

 

Sistēmas 360 izveidošana bija viens no dārgākiem valsts jeb privātiem projektiem 60-tos gados Amerikā; kopējais ieguldījums tiek aplēsts uz pieciem miljardiem tā laika dolāriem, kas līdzinātos 30 miljardiem šīsdienas dolāru. Tas bija laikā, kad IBM kopējais gada ienākums bija 3.2 miljardi dolāru (1964)[3]. Sistēmas 360 izveidošana un sagatavošanās produkcijai maksāja vairāk nekā ASV „Manhattan” atombumbas attīstīšanas projekts kara laikā, kas izmaksāja 2 miljardi dolāru, un bija otrs dārgākais pēc Apollo lidojuma uz mēnesi. (Interesanti ir pieminēt, ka Latvijas valsts 2003. gada iekšējais kopprodukts bija 5 līdz 6 miljardi latu vai kādi 11 miljardi dolāru, kas inflācijas dēļ līdzinās kādiem 1.8 miljardiem 1964. gada dolāriem. Tas diagrammā ir atzīmēts ar sarkano stabiņu.)

 

Arhitektūras attīstīšanas process

 

Neskatoties uz lielo risku, argumenti par jauna veida datoru sērijas nepieciešamību ar saderīgiem datoriem bija spēcīgi, un IBM firmas vadība principā pieņēma šo virzienu. Bet arhitektūra tad vēl nebija izstrādāta. Viens no galvenajiem neatrisinātajiem jautājumiem bija mazo mašīnu izmaksa – vai būs iespējams realizēt mazjaudīgās mašīnās tādu arhitektūru, kas atbilst lielo mašīnu prasībām? Datoru būvēšanā tajā laikā sāka pielietot mikroprogrammēšanas tehnoloģiju, bet tas nepārliecināja mazo mašīnu konstruktorus.

 

Šī bija vide, kurā tika attīstīta Sistēmas 360 arhitektūra. Principā bija vienošanās par kopēju saderīgu datoru sērijas radīšanu, un plāns paredzēja būvēt piecas dažādas jaudas un cenas mašīnas, kur lielākā ir 20 reizes jaudīgāka par mazāko. Četrus centrālos procesorus būvēja Amerikā un vienu Anglijā. Vācijā būvēja sesto, kas beigās tomēr nebija pilnīgi saderīgs un tādēļ netika uzskatīts kā daļa no sērijas. Ievada un izvada aparatūru konstruēja citās pilsētās un zemēs. Katrai konstruktoru grupai bija sava pieredze mašīnu būvē, dažām grupām bija jāpielāgo agrāk konstruēta mašīna jaunajai arhitektūrai, un katram konstruktoram bija savi uzskati. Ne visi ticēja jaunajam virzienam.

 

Arhitekta uzdevums bija radīt arhitektūru, kas atbilst prasībām un ir īstenojama dažādas jaudas plānotajos datoros. Bet prasības tajā laikā bija miglainas. Kas būs operētājsistēmas struktūra? Cik lielu precizitāti vajadzēs tipiskiem inženieru vai laika pareģošanas aprēķiniem? Gadus vēlāk, kad nāca ieteikumi uzlabot Sistēmas 360 arhitektūru, ieteikumu ievest kādu maiņu varēja izvērtēt, analizējot, kā tā uzlabos eksistējošas sistēmas vai lietojumprogrammas darbību. Sākotnējo arhitektūru izveidojot, bija jāvadās pēc tā, kā būtu jākonstruē operētājsistēma un kādas instrukcijas varētu kompilators izmantot. Kaut arī tika darītas dažādas simulācijas, nebija konkrētu datu.

 

Sistēmas arhitektūra neradās visā pilnībā vienā rāvienā. Vispirms tika noteikti pamata elementi, kā astoņi biti baita lielums, adrešu ģenerācijas principi un vispārējā sistēmas struktūra. Tādi temati kā ievada un izvada kanāli un peldošā komata datu formāts tika risināti autonomi.

 

Attēls 11 – Arhitektūras attīstīšanas process

 

Bet neviena definīcija nebija pilnīga pašā sākumā. Priekšlikumi tika dokumentēti un pārrunāti, jo nevarēja likt mašīnu konstruktoriem gaidīt, kamēr specifikācija ir nobeigta. Tik pat svarīgi bija dot iespēju visiem piedalīties definīcijas attīstīšanā. Arhitekts bija atbildīgs par vispārējo kvalitāti, un viņa spalvai bija gala vārds, bet viņam bija cieši jāsadarbojas ar datoru konstruktoriem un programmētajiem, lai saprastu viņu apsvērumus un novērstu iebildumus.

 

Šis process ir attēlots diagrammā. Arhitekts apraksta memorandā priekšlikumu, ko izdala inženieriem un programmētājiem. Pēc pārrunām un ieteikumiem maiņām, arhitekts sagatavo jaunu versiju. Šis process var atkārtoties vairākas reizes. Kad nopietnu iebildumu vairs nav, definīcija tiek uzskatīta par galīgu. Vēlāk visas pieņemtās definīcijas tiek sakopotas darbības principu grāmatā, pēc kuras konstruē mašīnas un raksta programmas.

 

Kas ir laba arhitektūra?

 

Arhitektūrai ir jāatbilst lietotāju vajadzībām, bet labai arhitektūrai ir vēl citas prasības. Ja tā ir komplicēta, mākslīga un nedabīga, to ir grūti saprast, iemācīties un atcerēties. To ir arī grūtāk iebūvēt datorā un programmēt.

 

Attēls 12 – Kas ir laba arhitektūra

 

Laba arhitektūra ir temats pats par sevi, bet te ir dažas īpašības un prasības.

 

 

 

 

 

 

 

Lekcijas ilustrācijas (1.daļa)

 

Sistēmas 360 modeļi

Lekcijas ilustrācijas (2.daļa)

 

Attēls 13 – S/360 konsole

 

Jauno Sistēmas 360 sēriju izlaida klajā 1964. gada 7. aprīlī. Tā sastāvēja no pieciem datoriem, dažādiem ievada un izvada aparātiem un programmas produktiem.

 

Sistēmai raksturīga ir samērā vienkārša konsole. Agrākajiem lieldatoriem bija bezgala lampiņu uz konsoles. Bet tās ir nozīmīgas tikai inženieriem, kas datoru labo; tās nevajag lietotājiem.

 

Attēls 14 – S/360 Modelis 44

 

Šeit ir viens no Sistēmas 360 modeļiem – Modelis 44, ar tipiskām tā laika ievada un izvada ierīcēm. To konstruēja Anglijā

 

Attēls 15 – S/360 Modelis 50

 

Modelis 50 ir drusku jaudīgāks, bet pēc izskata to nevar pateikt.

 

Pirmajos mēnešos pēc Sistēmas 360 atklāšanas pieprasījums bija mazāks nekā IBM sagaidīja, un firmas vadība sāka bažīties. Parasti pirmajās dienās ir daudz pasūtījumu, jo klienti grib nodrošināt savu vietu fabrikas produkcijā. 

 

Attēls 16 – S/360 produkcija

 

Bet pēc pāris mēnešiem pasūtījumi sāka nākt, un pieprasījums bija daudz lielāks nekā to sagaidīja. Pāris gadu laikā IBM ražoja līdz 1000 lieldatorus mēnesī, kas bija divas reizes vairāk nekā bija paredzēts. Sistēmas 360 modeļus taisīja Amerikā un Eiropā, un sešos gados kopējā produkcija bija 35 000 lieldatori.

 

IBM 360 datori bija neskaitāmās bankās un valdības birojos, tie kontrolēja American Airlines lidojumu rezervēšanas sistēmu, un ar tiem vadīja Amerikas raķešu lidojumus ārpus zemeslodes, ieskaitot Apollo lidojumu uz mēnesi 1969. gadā.

 

Viena no lielākajām aplikācijām bija ASV lidmašīnu satiksmes kontrole, kuras uzdevums bija novērst lidmašīnu sadursmes gaisā.

 

Attēls 17 – S/360 9020

 

Datorā bija ievietota katras lidmašīnas pozīcija un maršruts. Bija vairākas šādas instalācijas, un, lidmašīnai lidojot, šī informācija tika pārsūtīta no vienas sistēmas nākošajai. Lai nodrošinātu, ka sistēma vienmēr strādā, šeit bija saslēgti kopā vairāki Modeļa 50 datori.

 

Arhitektūras attīstība

 

Attēls 18 – S/360 attīstība

 

Sistēmas 360 arhitektūra visu laiku tika papildināta, un ik pāris gadus IBM laida tirgū jaunus modeļus[4]. 1970. gadā šī papildinātā arhitektūra tika pārdēvēta par Sistēmu 370[5], tad 1982. gadā to nosauca par 370-XA[6], 1988. gadā par 370-ESA un vēlāk par Sistēmu 390, tagad par z-sēriju.

 

Attēls 19 – S/360 attīstība pirmajos 20 gados

 

Šī diagramma[7] uzskaita visus tehniskos papildinājumus pirmajos 20 gados un procesorus, kur tie tika ieviesti. Diagrammas detaļas šeit nav domātas salasīšanai, bet tikai lai parādītu, ka arhitektūra nestāvēja uz vietas. Šajos gados IBM izlaida tirgū kādus 25 jaunus modeļus.

 

Attēls 20 – S/370 Modelis 155

 

Šis ir viens no S/370 modeļiem. Izskatā lielākā starpība ir skapju stilā. Kas ir šajos skapjos? Pa kreisi ir vesela rinda magnētisko lenšu aparātu, pa labi ir cietie diski. Un vēl tiek lietotas papīra IBM kartiņas. Arhitektūrā ir jaunas funkcijas, tehnoloģija ir cita, un jauda ir daudz lielāka. Bet dators var darbināt visas vecās programmas.

 

Attēls 21 – S/370 Modelis 165

 

Te ir viens no lielākajiem 370 modeļiem, Modelis 165. Kopā līdz šim IBM ir laidis tirgū ap 50 dažādus procesorus, kam pamatā ir Sistēmas 360 arhitektūra. IBM piedāvāja arī shēmas karti, ar kuras palīdzību IBM personālais dators kļuva par 360 datoru un līdz ar to varēja izpildīt IBM 360 lieldatoram rakstītas programmas.

 

Attēls 22 – S/390 lieldators (2004. g.)

 

Šeit ir jaunākais 2004. gada modelis. Salīdzinot ar oriģinālo 1964. gada 360 lieldatoru, tas ir 50 000 reizes jaudīgāks un tā operatīvā atmiņa ir kādas 250 000 reizes lielāka. Bet arhitektūras pamati viesiem ir tie paši, un lietojumprogramma rakstīta oriģinālam Sistēmas 360 datoram darbojas arī šajā jaunajā modelī.

 

Panākumi tirgū

 

Attēls 23 – IBM ienākumi no S/360

 

Sistēmas 360 lieldatori kļuva par IBM galveno ienākumu avotu, un firmas gada ienākumi pieauga no 3.2 miljardiem dolāru 1964. gadā uz 7.0 miljardiem sešus gadus vēlāk. 1982. gadā IBM ienākumi bija 34 miljardi dolāru, un puse[8] no tiem bija par S/360 un S/370 lieldatoru sistēmu produktiem.

 

Astoņdesmito gadu beigās kļuva populāras dalītas datoru sistēmas, kur tīklā saslēgti klienta un servera datori strādā pie kopējas aplikācijas. Šādas sistēmas ir pārņēmušas daļu no lieldatoru aplikācijām, un pēdējos desmit gados IBM lieldatoru tirgus sarūk par kādiem 5% gadā. Tomēr 2003. gadā IBM ieņēma 4.2 miljardus dolāru par saviem lieldatoriem, un tiek rēķināts, ka 70% no datiem pasaulē vēl joprojām tiek glabāti lieldatoru atmiņās, kam galveno kārt pamatā ir Sistēmas 360 arhitektūra.

 

Lekcijas ilustrācijas (2.daļa)

 

Arhitektūras dokumentēšana

 

Lekcijas ilustrācijas (3.daļa)

 

Viens jautājums, kas tika pārrunāts šī projekta sakumā un vēl daudzus gadus vēlāk, bija arhitektūras dokumentēšanas valoda – kādā valodā dokumentēt definīciju, kas ir tehniska un kam ir jābūt ļoti precīzai. Tika izteikta stingra pārliecība, ka tas ir iespējams tikai ar formālu matemātiska rakstura valodu.

 

Attēls 24 – Arhitektūras dokumentēšana

 

Sistēmas 360 oficiālā definīcija ir normālā angļu valodā, un par arhitektūras definīcijas metodiku kopš tiem laikiem vairāk nav debates. Šī definīcija, kas tika radīta 1960-to gadu sākumā un ir vairākas reizes papildināta, ir vienīgā definīcija, pēc kuras šīs sērijas datori tiek būvēti un programmēti. Tā ir tulkota daudzās valodās, pēc tās ir uzbūvēti kādi 200 tūkstoši datoru Amerikā, Japānā, Krievijā un citās zemēs, un pēc tās vadās neskaitāmi tūkstoši programmētāju visā pasaulē.

 

Ir ļoti svarīgi, lai būtu tikai viena definīcija, ko lieto visi mašīnu konstruktori un visi programmētāji. Nevar sagaidīt, ka visi datoru konstruktori un lietotāji iemācītos un pilnīgi pārzinātu kādu formālu valodu; ja precīzais apraksts nebūtu dabīgā valodā, nebūtu novēršami blakus apraksti dabīgā valodā, un nesaskaņu gadījumos rastos jautājumi par valdošo definīciju. Arhitektūra ir aprakstīta formāli APL valodā un šādai definīcijai ir priekšrocība, ka definīciju var izpildīt un pārbaudīt. Bet tā nav autoritatīvā definīcija.

 

Angļu valoda Sistēmas darbības principu grāmatā ir konspektīva un precīza, un vārdi tiek lietoti taupīgi un vienmēr ar to pašu nozīmi. Dokumentācija tika darīta vienlaicīgi ar arhitektūras attīstīšanu, un katra teikuma nozīme tika izvērtēta un pārrunāta arhitektūras attīstīšanas procesā. Stils, ko ieveda ar Sistēmas 360 arhitektūras definīciju, vēl joprojām tiek lietots. Interesanti ir piezīmēt, ka oriģinālās definīcijas autori bija divi cilvēki (viens no tiem šīs lekcijas autors), kam angļu valoda nebija mātes valoda.

 

Slepenība vai atklātība

 

Komercfirmas savus jauno produktu plānus tura slepenībā. Tam ir vairāki iemesli – lai būtu soli priekšā konkurentiem un lai neiespaidotu pašreizējo produktu tirgu. Tā bija arī ar Sistēmas 360 attīstīšanas plāniem 60-gadu sākumā un ar visiem papildinājumiem turpmākos gados pirms tie tika laisti klajā.

 

Attēls 25 – Slepenība vai atklātība

 

Kad datorus sāk pārdot, arhitektūra tiek atklāta un publicēta, jo lietotājiem ir jāzina, kā mašīnu programmēt. Jaunie izgudrojumi tiek patentēti, un tā firma var aizsargāt savu produktu uz 17 gadiem, kas ar likumu ir noteikts ASV patenta aizsardzības mūžs. Bieži patenti sedz kritiskus jaunā datora darbības aspektus, un datoru nevar būvēt, nelietojot patentā aprakstīto izgudrojumu. Bet tas nenozīmē, ka neviens cits nevar tādu pat datoru būvēt. Firmas savstarpēji licenzē patentus. Katram patentam tiek noteikta tā vērtība, un tad patentus paketes tiek izmainītas starp firmām, par mazāk vērtīgu paketi piemaksājot. Šie maksājumi ir miljonos dolāru.

 

Kad IBM atklāja visu Sistēmas 360 produktu plānu, kā klientiem tā sāncenšiem kļuva skaidrs, ka IBM datoru nākotne balstīsies uz Sistēmas 360 arhitektūru. Citām firmām tad radās motivācija būvēt saderīgus datorus. Pirmā, kas to darīja, bija RCA firma Amerikā, kas publicēja arī savu arhitektūras grāmatu. Tā bija kopija no IBM grāmatas, ieskaitot IBM tipogrāfiskās kļūdas. RCA firmai gan ar datoriem labi neveicās, un tā nebija nopietns IBM konkurents.

 

Situācija mainījās 70- un 80-os gados, kad Japāna uzstādīja par savu valsts mērķi iekarot pasaules datoru tirgu, un IBM arhitektūra bija kļuvusi par sava veida standartu. IBM turpināja papildināt oriģinālo Sistēmas 360 arhitektūru, un konkurentiem, sevišķi Japāņu firmām Hitači un Fudžitsu, bija ļoti liela motivācija piekļūt pie iekšējiem IBM dokumentiem. Šo arhitektūru kopēja arī Sīmens firma Vācijā un citas firmas Amerikā. Tagad japāņu firmas arī šo tirgu ir pametušas.

 

IBM jaunos izgudrojumus attiecīgi sargāja. Katrs pāris lapaspušu memorands, kas aprakstīja kādu jaunu ideju vai detaļu, tika klasificēts kā konfidenciāls un bija pakļauts stingriem atklāšanas noteikumiem.

 

Attēls 26 – Izgudrojumu sargāšana

 

Bet sevišķi stingri noteikumi bija tiem pāris aptverošiem dokumentiem, kas saturēja arhitektūras pilnīgu definīciju. Tiem bija speciāla konfidencialitātes klasifikācija, tos varēja saņemt tikai speciāli autorizēti cilvēki, dokumenti bija jātur speciālos seifos, un katru mēnesi auditori pārbaudīja, vai saņēmējam ir visi dokumenti. Dokumenti bija numurēti, un dokumenta numurs lieliem pelēkiem cipariem bija pāri katrai lapaspusei, tā kā to nevarēja fotogrāfiski pavairot, izlaižot numuru. Ar dažiem dokumentiem mēs gājām vēl tālāk – katram dokumentam zināmā lapaspusē bija kāds unikāli samainīts vārds, lai varētu oriģinālās kopijas īpašnieku atrast, ja arī viss dokuments būtu bijis pārrakstīts.

 

Liekas, ka visā visumā šīs aizsardzības metodes bija efektīvas. Bet tās bija vajadzīgas. Bija zināms gadījums, kur reiz kādā motelī Kalifornijā notika mēģinājums pārdot vienu no šiem aptverošiem arhitektūras dokumentiem Hitači firmas pārstāvim. Zādzības plāns jau bija agrāk atklāts, un šo transakciju Amerikas federālā policija FBI nofotografēja.

 

PSRS interese

 

Gadus pēc 360 atklāšanas kļuva zināms, ka Hruščovs bija prasījis saviem tehnologiem – kur ir mūsu Sistēma 360. Vēlāk rakstīja, ka Padomju Savienība plāno saderīgu datoru sēriju un ka tā būs gatava 70-to gadu sākumā. Pie IBM bija arī zināms, ka viens Sistēmas 360 modelis, ko IBM pārdeva Polijai, kaut kādu iemeslu dēļ tika sūtīts caur Maskavu un tur bija aizkavējies vairāk nekā mēnesi.

 

Attēls 27 – PSRS interese

 

Kad es biju Rīgā 1973. gadā, man bija iespēja redzēt vienu no pirmajiem šīs Riad sērijas modeļiem, cik atceros, tas bija Modelis 1025 Elektronikas institūtā. No ārpuses tā bija IBM mašīnas kopija, un uz drukātāja nāca ārā ļoti pazīstamas IBM operētājsistēmas frāzes, pa reizei iejaucot arī kādu latviešu un krievu vārdu. Mašīnā strādāja IBM operētājsistēma, un nebija šaubu, ka dators bija arī iekšēji IBM kopija. Mašīna nāca no Krievijas, bet Elektronikas institūta sistēmā tā darbojās ar disku no Francijas un kādu citu aparātu no Bulgārijas. Man stāstīja, ka aparāti ir savienoti ar „Internacionālo interfeiss standartu”. Tā, dabīgi, bija IBM definīcija. Es esmu viens no šī patenta trim autoriem. Šeit attēlā ir viens patents, kas gan ir par citu izgudrojumu.

 

Attēls 28 – Patents

 

Tā kā IBM Sistēmas 360 arhitektūra ir publicēta, to jebkurš varēja (un var) to iebūvēt savos datoros. Patentēšana neaizsargāja IBM izgudrojumus Padomju Savienībā, jo tur rietumu patenti tika ignorēti.

 

Amerikas valdība katrus 10 vai 20 gadus izvērtēja Padomju Savienības datoru attīstības līmeni, un 80-to gadu sākumā man bija izdevība piedalīties šajā izvērtēšanā. Tas man deva iespēju tuvāk iepazīties ar datoru tehnoloģiju Padomju Savienībā.

 

Attēls 29 – Sākotnējie PSRS datori

 

Pagājušā gadu simteņa septiņdesmitajos gados Padomju Savienība bija vismaz 10 gadus aiz Amerikas. To parāda šie skaitļi, kas salīdzina Padomju piecgades plānus ar ASV faktisko produkciju.

 

Pirmā no komunistu zemēm, kas sāka kopēt IBM 360 arhitektūru, bija Austrumvācija. Viņi 1968. gadā sāka būvēt savu Robotron  R-40 datoru, kas bija pilnīgi saderīgs ar Sistēmu 360.[9]

 

Attēls 30 - PSRS Riad I datori

 

Vēlāk, Maskavas vadībā, Austrumeiropas bloka zemes izstrādāja plānu būvēt  Riad 1 datorus, kur katrai zemei bija atbildība par kādu datoru vai ievada-izvada aparātu. Bulgārijā ražotais ES-1020 modelis pirmo reizi tika atklāts 1971. gadā, bet pagāja vēl pāris gadi pirms datori bija lietojami. Riad I datori bija saderīgi ar Sistēmas 360 arhitektūru, un tie izlietoja IBM sistēmu programmas. To jauda bija līdzīga attiecīgo IBM modeļu jaudai, bet šie modeļi iznāca kādus desmit gadus vēlāk.[10]

 

Attēls 31 – PSRS Riad ES 1035

 

Riad I sērijā bija četri modeļi: ES-1020, -1030, -1040 un -1050.[11] Kopējā Riad I produkcija bija ap 5 000 sistēmu.

 

Attēls 32 - Riad II datori

 

Nākošā padomju datoru sērija bija Riad II, kas balstījās uz Sistēmas 370 arhitektūru.[12]

 

Jāņem gan vērā, ka padomju datoriem saderība nenozīmēja to pašu, ko pie IBM. IBM klients saņēma Sistēmas 360 komponentus – procesorus un ievada un izvada aparātus – no fabrikām dažādās zemēs un pilsētās, tos saslēdza kopā, un tie tiešām tūlīt strādāja. Padomju sistēmā tas negāja tik gludi. Un nav arī skaidrs, vai datori bija domāti pilnīgi saderīgi.

 

Bez tam jāņem vērā, ka Padomju Savienībā Riad datori nebija vienīgie, ko ražoja. Visiem IBM lieldatoriem pamatā ir Sistēmas 360 arhitektūra; militāriem nolūkiem būvētiem datoriem ir speciāli modeļi, kas var izturēt lielu kratīšanu vai karstumu, bet tiem ir tā pati arhitektūra, un tie var darbināt tās pašas programmas. Padomju Savienībā tā nebija.

 

Padomju Savienība mēģināja iegūt pēc iespējas vairāk informācijas par tehnoloģiju un iekšējo datoru struktūru. To padomju diplomāti darīja visādos veidos, un ir zināmi bez gala zādzību mēģinājumu. Man ar to bija personīga pieredze. Kāds Padomju Savienības ANO misijas sekretārs, latvietis, man reiz piezvanīja un gribēja tikties. Es sestdienās vedu bērnus uz latviešu papildskolu mūsu baznīcā Jonkeros, kas ir netālu no Ņujorkas, un piedāvājos tikties tur.

 

Attēls 33 – Latviešu baznīca Jonkeros

 

Kaut arī viņam tā vieta ļoti nepatika, tikāmies pie baznīcas durvīm. Aizgājām uz restorānu, un tur pie kafijas tases viņš diezgan skaidri izteica vēlēšanos uzzināt vairāk par manu darbu pie IBM. Es nācu pretī ar jautājumu par raķešu bāzēm Latvijā, un mūsu saruna nekur tālāk netika.

 

Nozīme

 

IBM 360 arhitektūra tagad ir kļuvusi par faktisku pasaules lieldatoru standartu.

 

Attēls 34 – Lieldatoru arhitektūras standarts

 

Šī diagramma ir ļoti līdzīga tai, kuru es lietoju, lai aprakstītu, kas ir arhitektūra. Starpība ir tā, ka šī diagramma atspoguļo situāciju pasaulē šodien: datorus ar Sistēmas 360 un tās pēcteču arhitektūru būvē citas firmas visā pasaulē, un lielākā daļa izmanto IBM operētājsistēmu (rietumos to klients nopērk no IBM).

 

Attēls 35 – S/370 nozīme

 

Sistēmas 360 arhitektūra ir nozīmīga ar to, ka tā bija pirmā reize, kur datoru arhitektūra tika izveidota saderīgu datoru sērijas būvei, un šie datori tika būvēti saskaņā ar arhitektūru un nevis otrādi. Sistēma 360 ieveda jaunus jēdzienus, kā astoņ-bit baitu, un pašu terminu „baits”, ko pirmo reizi sāka lietot Stretch arhitektūrā. Pēdējo 40 gadu laikā 360 arhitektūra ir papildināta, galveno kārt ar operētājsistēmai vajadzīgajām funkcijām, bet pamati ir tie paši, un pirms 40 gadiem rakstīta lietojumprogramma strādā arī uz jaunākajiem šodien ražotiem datoriem. Šī arhitektūra visus šos gadus ir bijusi pamats lielai daļai IBM ienākumu.

 

Dabīgs jautājums ir, vai tika pielaistas arī kādas kļūdas. Pāris kļūdas bija jāizlabo pirmajā gadā jau instalētiem datoriem, un tās izmaksāja IBM vairākus miljonus dolāru. Arhitekti paredzēja septiņ-bitu burtciparu koda standartu, kas nekad nepiepildījās. Ja definīciju radītu šodien, dažas lietas darītu savādāk, un vismaz viena komplicēta instrukcija (EDIT), kas tika ievietota kā kompromiss, ir nevajadzīga. To tagad nevar ņemt ārā, jo iespējams, ka kāds kaut kur to lieto. Bet tas, ka šī arhitektūra ir pastāvējusi 40 gadus un ir bijusi pielāgojama jaunām prasībām un papildināma, norāda uz tās pamatprincipu kvalitāti.

 

Skaistums arhitektūrā

 

Nobeidzot, es gribu uzsvērt, ka kaut ari datoru arhitektūras izveidošana ir tehnisks uzdevums, tas nav mehāniski veicams. Gala rezultāts balstās pa daļai uz mērījumiem, simulācijām un projekcijām, bet pamatā ir cilvēka intelekta procesi – uztvert, analizēt un radīt.

 

Pirmais solis ir saprast īstās prasības un vajadzības. Tas nav vienkārši, jo vajadzības reti kad ir precīzi formulētas. Bieži lietotāji pieprasa zināmu atrisinājumu, kas dažādu iemeslu dēļ varbūt nav pieņemams, bet tai pat laikā norāda uz kādu vajadzību. Vajadzības mainās, un ir jāparedz, kādas tās būs nākotnē. Vajadzības ir jāidentificē un jāanalizē, un ir jāizprot to būtība, lai risinājuma piemērotību varētu vērtēt pēc tā, cik lielā mērā tas atbilst vajadzībām.

 

Vienlaicīgi ar vajadzību skaidrošanu ir jāsāk domāt par iespējamiem atrisinājumiem. Jāmēģina saskatīt, kādas elementārās darbības ir kopējas dažādajām vajadzībām un jāmēģina atrast funkcijas, formāti un elementāri struktūras elementi, kas atbilstu šīm vajadzībām. Labai sistēmas arhitektūrai ir jābūt loģiski tīrai un minimālai – vienam risinājumam ir jākalpo vairākām vajadzībām, bet viena uzdevuma risināšanai ir jābūt tikai vienai iespējai.

 

Attēls 36 – Džordža Vašingtona tilts

 

Viens no lielajiem tiltiem Ņujorkā ir iekārtais Džordža Vašingtona tilts pāri Hudzonas upei, ko atklāja 1932. gadā un kas sešus gadus bija garākais iekārtais tilts pasaulē. Tilta konstruktors Otmars Amans (Othmar Ammann) bija pazīstams ar savu uzskatu, ka inženiera konstrukcija nedrīkst būt tikai praktiska vien, tai ir jābūt arī acij tīkamai; tilts nav tikai būve, kas palīdz tikt pāri upei; tam ir arī jāizdaiļo apkārtne. Ar savām tīrajām līnijām, slaido klāju un eleganto formu Džordža Vašingtona tiltu toreiz uzskatīja par skaistāko tiltu pasaulē.

 

Labai sistēmas arhitektūrai arī ir īpašības, kas nav tehniski izmērāmas, bet tomēr ir saskatāmas un izjūtamas; kam ir estētisks raksturs. Laba datora arhitektūra nevar būt tikai savstarpēji nesaistītu risinājumu kopojums; visiem elementiem jābūt saistītiem un saskaņotiem, un tiem ir jābūt viena vesela būtiskām un mērķtiecīgām sastāvdaļām. Tādi konstrukcijas aspekti kā simetrija, konsekvence un stils robežojas ar skaistuma izjūtām. Šinī punktā darbs ir iedvesmai un radošajam garam. Datora arhitektam ir jāizvērtē garš saraksts ar ļoti specifiskām tehniskām vajadzībām, bet tās nav vienīgās prasības. Viņam ir jādod risinājums, kas apmierina lielāko daļu no šīm vajadzībām, bet tajā pašā laikā ir vienkāršs, vienveidīgs un tīrs. Pieredze rāda, ka tāds risinājums ir arī praktisks.

 

Lekcijas ilustrācijas (3.daļa)



 

[1] Buchholz, W., ed. Planning a Computer System, New York, McGraw-Hill, 1962.

 

[2] Blaauw, G. un F. P. Brooks, „Computer Architecture – Concepts and Evolution,” New York,  Addison Wesley, 1997.

 

[3] IBM 1965. gada finanšu pārskats.

 

[4] Padegs, A., „System/360 and Beyond,” IBM Journal of Research and Development, Vol. 25, Number 5, 1981.

 

[5] Case, R. P. un A. Padegs, „Architecture of the IBM System/370,” Communications of the ACM, Vol. 21, Number 1, 1978.

 

[6] Padegs, A., „System/370 Extended Architecture: Design Considerations,” IBM Journal of Research and Development, Vol. 27, Number 3, 1983.

 

[7] Padegs, A., „Evolution of System/360-370 Architectures,” daļa no David Gifford un Alfred Spector „Case Study: IBM’s System/360-370 Architecture” (intervija ar R. P. Case un A. Padegu), Communications of the ACM, Vol. 30, Number 4, 291-307, 1987.

 

[8] Gifford, D un A. Spector, „Case Study: IBM’s System/360-370 Architecture,” Communications of the ACM, Vol. 30, Number 4, 293, 1987.

 

[9] N. C. Davis and S. E. Goodman, „The Soviet Block’s Unified System of Computers”, Computing Surveys, Vol 10, Nr. 2, June 1978, p.101.

 

[10] Skaitļi par lieldatoru jaudu ņemti no publicētiem datiem presē. IBM saviem datoriem neuzdod ātrumu izteiktu MIPS skaitļos (MIPS = Million Instructions per Second)..

 

[11] N. C. Davis and S. E. Goodman, „The Soviet Block’s Unified System of Computers”, Computing Surveys, Vol 10, Nr. 2, June 1978, p.102.

 

[12] N. C. Davis and S. E. Goodman, „The Soviet Block’s Unified System of Computers”, Computing Surveys, Vol 10, Nr. 2, June 1978, p.103


Lekcijas ilustrācijas (1.daļa  *  2.daļa  *  3.daļa)

Latvijas Zinātņu akadēmijas Rudens pilnsapulce 2004.g. 25.novembrī

Andris Padegs