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.
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.
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
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.
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).
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.
[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: IBMs 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: IBMs System/360-370 Architecture, Communications of the ACM, Vol. 30, Number 4, 293, 1987.
[9] N. C. Davis and S. E. Goodman, The Soviet Blocks 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 Blocks Unified System of Computers, Computing Surveys, Vol 10, Nr. 2, June 1978, p.102.
[12] N. C. Davis and S. E. Goodman, The Soviet Blocks 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ī