Juurte juurde – arvutite ürgajastusse

Villemsi veerg

Kus on e-õppe juured? Juuri on muidugi mitmesuguseid, kõik erineva pikkusega. Kõige pikemad on kaks haru: esiteks kaugõpe (seda omaaegset kaugõpet ei taha vähemalt kõrgkoolid enam eriti meeldegi tuletada) ja teiseks arvutite kasutuselevõtt. See viimane juhtus pea täpselt 50 aastat tagasi, kui Eestisse saabus esimene elektronarvuti ja loodi Tartu ülikooli arvutuskeskus. Nüüd on meist igaühel taskus, kotis ja laua peal palju võimsam arvuti kui see esimene, mis tegi 100 operatsiooni sekundis ja mille sisemälu mahtu ei mõõdetud mitte gigabaitides, vaid kilosõnades (sõna oli 18 bitti). Tundub, et sellest meie eduka e-õppe olulisest juurest – esimestest sammudest arvutite kasutamisel Eestis – on laias ringis teadmised pea olematud. Aga need inimesed, kes seda esimest arvutirevolutsiooni – Eesti esimese arvuti käimapanemist, esimeste arvutikursuste õpetamist ülikoolis ja matemaatika eriklassi avamist 1961. a ka keskkoolis – korraldasid, on meie hulgas. Siit ka idee valgustada neid esimesi samme ka uudiskirjas.

Sellest, kuidas esimene arvuti 1959. a saadi, kuidas esimesi programmeerimise kursusi hakati lugema, saab lugeda intervjuust prof. Ülo Kaasikuga Teaduste Akadeemia kogumikust “Eesti Vabariigi teaduspreemiad 2007”. Kes olid aga need tudengid, kellele neid esimesi kursusi loeti? Kuidas nad oma teadmisi rakendasid? Minu seekordseks vestluskaaslaseks on Mati Krull, kes lõpetas 1961. a TRÜ matemaatikateaduskonna. Ta kuulus nende üliõpilaste hulka, kellele prof. Ülo Kaasik hakkas esimesena programmeerimist õpetama ja kes 1962. a asus ise põhitöö kõrvalt TRÜ arvutuskeskuses programmeerimist õpetama A. H. Tammsaare nim. Tartu I kk (praegune HTG) esimesele matemaatikaklassile (kus ma ka ise õppisin). Kohtusin oma pinginaabri Helli Urmeti ja meie kooliaegse programmeerimisõpetaja Mati Krulliga põhjarannikul Karepal pärast Mõdrikul peetud e-Õppe Arenduskeskuse sügisseminari. Vanade tuttavate vestlus ei kulgenud klassikalises intervjuu vormis – panime lihtsalt diktofoni käima ja sukeldusime 1960. aastatesse. Rääkis põhiliselt Mati. Püüan siin tema mälestusi vahendada. Minu kommentaarid on sulgudes ja kursiivis.

Räägib Mati Krull

Mati Krull Eesti esimese arvuti Ural-1 juhtpuldis.

Mati Krull Eesti esimese arvuti Ural-1 juhtpuldis.

Olin neljandal kursusel, kui Ülo Kaasik luges esimese programmeerimise kursuse. See polnud ainuke arvutikursus, Vello Reeben õpetas meile elektrotehnika elemente. (Aasta hiljem õpetati mõlemat ainet ka keskkoolis matemaatikaklassile, kus programmeerimise õpetamisega tegi algust Ülo Kaasik ja järgmisel aastal jätkas Mati Krull.)

800 elektronlambiga Ural-1 oli väga imposantne arvuti. Sisemälu oli tal magnettrumlil, mille läbimõõt oli umbes 30 cm ja kuhu mahtus 2048 (ainult 2 K!) 18bitist sõna. Alumiiniumist trummel oli kaetud ferromagnetilise kihiga. Töörežiimis tegi see trummel 6000 pööret minutis, see määras arvuti töökiiruse: 100 operatsiooni sekundis. Tal oli ka magnetlintidel välismälu, aga Tartu eksemplaril seda korralikult käima ei saadudki. No mis sa teed sellise arvutiga, kus ainult 2 K sisemälu on kasutatav!

Arvuti töölepanemine oli pikk protsess selle sisemälu tõttu: see mälu asus raami sees. Kõigepealt soojendati raam üles ja alles siis pandi trummel keerlema. Keerlemisega ta venis natuke, aga pead pidid ju täpselt paigas olema. Kuna seda magnettrumlit vedas rihmülekandega mootor, siis mõne aja pärast rihm venis, hakkas libisema ja 100 pöörde asemel tegi trummel palju vähem. Rihma aeg-ajalt pingutati, aga kui pöörete arv oli alla kriitilise piiri, läks arvuti segamini ega olnud töövõimeline. Täpset piiri ma enam ei mäleta, oli ikka kõvasti üle 50. Neid sisemäluks olevaid magnettrumleid vahetati aeg-ajalt. Kulunu saadeti tehasesse tagasi, kus ta siis uuesti ferromagnetilise kihiga kaeti. Arvutis töötas sel ajal tagavaratrummel. (Nüüdsel ajal vahetame 16 GB mälupulki, mis on tikutoosist väiksemad!)

Elektronlampide plaadid.

Elektronlampide plaadid.

Programmide käivitamine töötaval arvutil käis järgmiselt. Algkäivitusega loeti perfolindilt (mitte paberlindilt nagu hiljem, vaid Ural-1-l oli perforeeritud filmilint) sisse 3–5 käsku ja siis anti juhtimine nendele sisseloetud mõnele käsule. Sinna tuli siis kavalalt paigutada käsud, mis programmi enda perfolindilt sisse lugesid ja käivitasid. Selleks oli ruumi vaid mõne käsu jagu.

Pesad, kus elektronlambid peal olid, käisid arvutisse plaatidega (vt jooniseid). Lambil olid jalad, millega nad käisid pesasse plaadil. Pesadel endil oli üle kümne jala, millega nad käisid oma kohale vastavas kapis. Kõik need jalad võisid ühendust mitte anda. Kasutati kummihaamrit, et vajaduse korral lambile või kogu pesale väike tonks anda, et ühendus korralikult töötaks.

Plaadid lampidega arvutis.

Plaadid lampidega arvutis.

Arvuti enda testimine oli sel ajal tõsine probleem. Üks ülesanne oli koostada selliseid programme, mis annaks infot selle kohta, milline sõlm tõrgub või ei funktsioneeri korralikult, et selle info põhjal oleks inseneridel lihtsam viga leida. Sellise programmi koostamiseks pidi väga hästi elektroonilist osa tundma ja väga hästi programmeerida oskama. Tolleaegsete arvutitega kulus suur hulk ööpäevast arvuti korrasoleku kontrollimiseks ja parandamiseks, s.t arvutiga töötasid insenerid. Väiksem osa ajast oli siis töökorras arvutiga arvutuste tegemine.

Diplomitöö

Algul pidi mu diplomitöö teema olema mängude teooriast – kindla strateegiaga maatriksmängud. Tavastrateegiaga on see nullsummaline mäng. Aga kui vastasmängija ei jälgi tavastrateegiat, on võimalik teda võita. Pidin tegema sellise programmi, mis siis, kui vastane ei mängi puhta strateegiaga, leiaks tema käikude vastu võitva strateegia. Aga varsti asendus see suhteliselt teoreetiline teema teise, praktikas olulisema teemaga.

Standardprogramme (ruutjuur, siinus jne) oli kahte tüüpi. Nn suure täpsusega standardprogrammid, mis tulid arvutiga kaasa, võtsid niigi vähesest mälust suure hulga enda alla ja andsid tulemuse 17 kahendkohalise täpsusega. Alati polnud aga nii suurt täpsust vaja. Minu diplomitööks oli teha dubleeriv komplekt standardprogramme, mis oleks kiired ja võtaks vähem mälu. Tulemus pidi olema mingites teatud veapiirides. Polünoomidega ma neid seal lähendasin ja sain programmid tunduvalt lühemaks. Need teised olid ka polünoomide abil tehtud. Teine komplekt programme oli ujukomaarvude operatsioonide imiteerimine selles põhimõtteliselt fikseeritud koma režiimil töötavas arvutis. Ujukomaarv esitati mantissi ja järgu abil kahes osas, mantiss pikas, 36bitises pesas ja järk lühikeses, 18bitises. Operatsioonid tehti standardprogrammidega, mille kirjutamine oli ka minu diplomitöö osa. Viienda kursuse ajal olin juba poole kohaga arvutuskeskuses tööl. Pärast tegelesin ka koostava programmi väljatöötamisega, mis paigutas standardprogramme programmeerija soovitud kohta mälus ja modifitseeris vastavalt aadresse. Arvuti oli ju otseadresseerimisega – igas käsus oli vastava mälupesa otsene aadress vahetult sees.

Milliseid ülesandeid Ural-1 peal lahendati?

Lahendati suuri arvutusülesandeid, näiteks Tõravere astronoomidele. Aga ka projekteerimisülesandeid – näiteks numbriliselt lahendati mingeid kolmekordseid integraale projekteeritava soojuselektrijaama jaoks. Need tulid Tallinna Polütehnilise Instituudi (Tallinna Tehnikaülikooli endine nimi) kaudu – mujal Eestis siis veel arvuteid ei olnud. Suure rühma moodustasid tööstuslikud planeerimisülesandeid, mida lahendati simpleksmeetodiga. Need oli optimaalsete plaanide koostamiseks. Näiteks söödaratsioonide arvutamiseks. Me püüdsime endale ka simpleksmeetodiga ratsionaalset toitumise plaani koostada, minimaalset hinda ajasime taga. Aga esimene versioon ei olnud kasutatav, sest koosnes põhiliselt halvaast. 🙂

Suur rehkendus oli koormusarvestus. Aparaaditehas tootis üle 40 erineva aparaadi, selleks toodeti 5800 erinevat detaili. Iga detaili tehti 4–5 operatsiooniga erinevatel tööpinkidel. Tööpinke oli saja ringis. Oli tarvis teada, kui mitu tundi on vaja koormata iga tööpinki, et plaani täita. Kõike seda rehkendaski Ural-1, mina ise tegin programmi. (Meenutame, et mälu oli endiselt 2 K, seda nii programmi kui ka algandmete jaoks. Välismälu aga puudus.) Päästis andmete pakkimine ja bitikaupa töö juhtimine.

Selle sama tehase jaoks tegin siis ka ühe optimaalse plaani, mis oli olemasolevast pea 10% tootlikum. Sellega läksime peainseneri juurde. Peainsener ütles: mis sa arvad, et ma ise ei tea! Kui ma tänavu selle 10% parema plaani käiku lasen, siis mille abil ma järgmised kolm aastat preemiat teenin? Me läheme sinna sammhaaval kolme aastaga ja saame igal aastal preemiat.

Keegi majandusteaduskonnast tegeles nahakombinaadiga. Nahk on selline, nagu looma seljast tuleb – igaüks isesuurune, aukude ja muude defektidega. Siis kusagil istus keegi noor naisterahvas, lappas igasugu raamatuid ja pani kirja, et siit peab tulema 63% kasulikke detaile välja ja sealt 72%. Küsiti, kas paremini ei saa. Meie ütlesime, et paneme andmed arvutisse, teeme analüüsi ja rakendame optimaalse planeerimise meetodeid. Peainsener, kelle kabinetis see arutelu käis, ütles selle peale (esimest ja viimast korda elus on mulle nii öeldud): noormees, minge pange see uks väljastpoolt kinni. Seal oli kaks varianti. Kui seda nahka ei saanud välja viia ja mustal turul realiseerida, siis tehti ta lisadetailideks ja anti üleplaanilist toodangut ja teeniti selle pealt.

Helli täiendab

Hiljem, juba Ural-4ga tehti õmblustööstusele arvutusi. Mudelid tehti valmis, mindi nendega hulgimüügilaadale. Sealt telliti suuruste ja konkreetsete kangaste järgi partiisid. Siis oli vaja teha juurdelõikuse kaardid, kanga optimaalse kasutuse plaan jne tellimuste järgi. Varem tehti neid kõiki käsitsi. Kangad on mustrilised, mustri sammu tuleb arvestada, iga kangas on ise laiusega. Need olid väga mahukad ülesanded.

Ega see Ural-4 oluliselt suurem ei olnud, mälu oli paar korda rohkem ja ujupunkti aritmeetikat ei tehtud enam programmide abil, vaid see oli realiseeritud juba arvutis endas. Pidid head programmeerijad olema, kes sellise mahuga ülesandeid sellistel arvutitel lahendasid.

Mati lisab

Muidugi me ka lõbustasime end selle arvutiga. Koostasime programme, mis indikaatorlambid teatud mustri järgi dünaamiliselt vilkuma panid. Siis kustutasime tuled ära. Kena oli vaadata, kui tuled vurinal ette antud mustrite järgi liikusid.

Lõpetuseks

Muidugi rääkisime veel paljust muust. Sellest, kuidas Mati Nõo keskkoolis õpetas, kui Ural-1 Tartust pärast Ural-4 saabumist Nõo keskkoolile kingiti ja seal kogu Nõukogude Liidus esimene kooli arvutuskeskus loodi. Kuidas ta palju hiljem ka Haljala koolis Juku abil kooliõpilasi haris. Sellest, kuidas 1980ndate keskel jagati kolhoosidele ja sovhoosidele Iskra 226 arvuteid, millega majandid midagi peale ei osanud hakata, sest arvutil puudus tarkvara, ka operatsioonisüsteem. See Iskra 226 arvuti ise oli Wang 2200 nõukogudemaal toodetud koopia, selline 8tolliste flopiketastega miniarvuti. Kuidas Mati tegi üksinda sellele operatsioonisüsteemi, mille kasutamisega kolhoosi raamatupidamise naised hakkama said ja mis võimaldas majandi raamatupidamisülesandeid (taimekasvatuse, loomakasvatuse, piimatootmise aruanded) lahendada ning mille teised sama arvutiga õnnistatud kolhoosid lennult haarasid. Sel ajal olid Mati tööpäevad 16tunnised. Ja kuidas tehti abstraktse tehase küberneetilist mudelit, kus programmeerijatena lõid kaasa ka meie matemaatikaklassi lõpetanud kaaslased. Huvitav, millal oleks esimesed arvutid Eestisse jõudnud, kui poleks olnud selliseid inimesi nagu prof. Ülo Kaasik ja prof. Leo Võhandu või kui neil poleks leidunud selliseid õpilasi nagu Mati Krull?

Tags:

Autorist