Šiandien mūsų kišenėse telpa įrenginiai, kurių skaičiavimo galia milijonus kartų viršija tą, kuri buvo naudojama planuojant ir vykdant pirmąsias kosmines misijas. Tačiau šis stulbinantis technologinis stebuklas neatsirado per vieną naktį. Prieš kelis dešimtmečius skaičiavimo mašinos nebuvo nei elegantiški, lengvi nešiojamieji kompiuteriai, nei grakštūs išmanieji telefonai. Tai buvo didžiuliai, tonas sveriantys ir kurtinantį triukšmą skleidžiantys mechanizmai, kuriems reikėjo specialiai pritaikytų pastatų, galingų pramoninių aušinimo sistemų ir ištisų inžinierių bei matematikų komandų vien tam, kad jie galėtų atlikti pačias paprasčiausias matematines operacijas. Norint iš tiesų suprasti, kokį milžinišką evoliucinį šuolį per palyginti trumpą laiką padarė žmonija, būtina atsigręžti atgal į technologijų aušrą ir išsamiai pažvelgti, kaip gimė, funkcionavo ir kodėl tiek daug fizinės erdvės reikalavo pirmosios elektroninės smegenys.
Pirmųjų skaičiavimo mašinų evoliucija ir karinis poreikis
Žmonijos siekis automatizuoti skaičiavimus siekia tūkstantmečius – nuo paprasčiausių medinių abakų iki sudėtingų mechaninių įrenginių. Jau XIX amžiuje britų matematikas Charles Babbage suprojektavo „Analitinę mašiną“, kuri teoriškai turėjo atlikti sudėtingus skaičiavimus naudojant krumpliaračius ir garo variklius, o Ada Lovelace jai sukūrė pirmuosius algoritmus. Tačiau tikrasis lūžis įvyko dvidešimtojo amžiaus viduryje, kai nerangiai judančią mechaniką pamažu ėmė keisti greita elektronika.
Antrojo pasaulinio karo metais atsirado neįtikėtinai didžiulis poreikis greitai ir, svarbiausia, tiksliai atlikti sudėtingus balistikos skaičiavimus artilerijos lentelėms, taip pat dešifruoti itin slaptus priešų pranešimus. Būtent šis karinis spaudimas ir dosnus valstybių finansavimas tapo esminiu katalizatoriumi, paspartinusiu pirmųjų kompiuterių kūrimą. Pirmieji žingsniai buvo žengti naudojant elektromechanines mašinas, tokias kaip garsusis Harvard Mark I. Šis įrenginys buvo net penkiolikos metrų ilgio ir svėrė apie penkias tonas. Nors jis vis dar naudojo judančias dalis – elektromechanines reles, kurios atidarydavo ir uždarydavo elektros grandines – tai buvo be galo svarbus pereinamasis etapas. Relės veikė lėtai ir skleidė didžiulį triukšmą, primenantį tūkstančių metalinių mezgimo virbalų tarškėjimą. Mokslininkai netrukus suprato, kad tikrasis greičio potencialas slypi ne dūzgiančiose fizinėse dalyse, o laisvame elektronų sraute.
ENIAC – elektroninis milžinas, visam laikui pakeitęs pasaulį
Kalbant apie ankstyvuosius kompiuterius ir technologijų proveržį, neįmanoma nepaminėti ENIAC (Elektroninio skaitmeninio integratoriaus ir kompiuterio). Sukurtas Jungtinėse Amerikos Valstijose, Pensilvanijos universitete 1945 metais mokslininkų John Mauchly ir J. Presper Eckert, jis šiandien pagrįstai laikomas pirmuoju bendrosios paskirties elektroniniu skaitmeniniu kompiuteriu. Skirtingai nei jo elektromechaniniai pirmtakai, ENIAC neturėjo judančių dalių skaičiavimams atlikti – visas duomenų apdorojimas vyko išskirtinai elektroniniu būdu.
Šio įrenginio mastai ir fiziniai parametrai šiandienos standartais atrodo tiesiog sunkiai suvokiami. ENIAC užėmė maždaug 167 kvadratinių metrų patalpą – tai prilygsta dideliam privačiam namui. Kompiuteris svėrė beveik 30 tonų ir nuolatos reikalavo apie 150 kilovatų elektros energijos. Tarp to meto gyventojų netgi sklandė populiari miesto legenda, teigianti, kad kaskart, kai ENIAC būdavo įjungiamas, Filadelfijos mieste trumpam pritemdavo gatvių žibintai ir namų šviesos. Nors šiandien tokie parametrai skamba komiškai ir neefektyviai, tuo metu tai buvo neprilygstamas inžinerijos stebuklas. ENIAC galėjo atlikti 5000 sudėties operacijų per vieną sekundę – tūkstantį kartų greičiau nei bet kuri iki tol egzistavusi elektromechaninė skaičiavimo mašina.
Fizikos dėsniai ir vakuuminės lempos
Pagrindinė ir pati svarbiausia technologinė inovacija, leidusi ENIAC pasiekti tokį neregėtą skaičiavimo greitį, buvo vakuuminės lempos. Tai stikliniai, tradicinę elektros lemputę primenantys pailgi vamzdeliai, iš kurių aklinai išsiurbtas oras. Jų viduje esantys metaliniai elektrodai leidžia labai tiksliai kontroliuoti elektros srovės tekėjimą erdvėje. Kompiuteriuose šios vakuuminės lempos atliko elektroninių jungiklių vaidmenį – jos galėjo būti tik dviejų fiksuotų būsenų: praleisti elektros srovę (reprezentuojant skaičių vienas) arba jos nepraleisti (reprezentuojant nulį). Tai yra pačios dvejetainės sistemos, kuria iki šiol paremti visi šiuolaikiniai kompiuteriai, fizinė išraiška ir fundamentali veikimo logika.
ENIAC savo sistemoje turėjo beveik 18 000 tokių vakuuminių lempų. Kadangi jos veikė kaitinimo principu, kiekviena iš jų generavo didžiulį karštį ir buvo itin trapi. Lempoms perdegus, didelė dalis mašinos skaičiavimų nustodavo veikti arba pateikdavo klaidingus rezultatus. Todėl inžinieriai turėdavo nuolat patruliuoti tarp kompiuterio spintų su karučiais, pilnais naujų lempų, ieškoti sugedusių komponentų ir juos nedelsiant keisti. Būtent dėl šios priežiūros specifikos populiariojoje kultūroje įsitvirtino terminas „kompiuterio blakė“ (angl. bug). Kartais į patalpas, kur veikė šiltos ir švytinčios mašinos, įskrisdavo tikri naktiniai vabzdžiai. Jie nutūpdavo ant atvirų kontaktų, sukeldavo trumpąjį jungimą, sugadindavo lempas ir sustabdydavo visą programos darbą.
Kodėl pirmiesiems kompiuteriams reikėjo ištisų salių?
Dabartinių technologijų vartotojui, pripratusiam prie miniatiūrinių sprendimų, gali būti sunku suvokti, kodėl įrenginys, atliekantis mažiau funkcijų nei paprasčiausias muzikinis atvirukas, turėjo užimti tokį milžinišką plotą ir sverti dešimtis tonų. Priežasčių, lėmusių šių mašinų dydį, buvo ne viena, ir visos jos tiesiogiai susijusios su to meto technologiniais bei fiziniais apribojimais:
- Fizinis ir elektroninis komponentų dydis: Vakuuminės lempos, elektromechaninės relės, dideli keraminiai rezistoriai ir masyvūs kondensatoriai patys savaime buvo dideli objektai. Norint sukurti net ir labai primityvią sistemą, galinčią apdoroti vos kelis baitus informacijos, reikėjo tūkstančių tokių detalių. Jų tiesiog nebuvo įmanoma fiziškai sutalpinti į mažesnę, kompaktiškesnę erdvę nepažeidžiant izoliacijos atstumų.
- Pramoninių aušinimo sistemų poreikis: Kadangi tūkstančiai vakuuminių lempų nuolat skleidė neapsakomą kiekį šilumos (veikdamos kaip tūkstančiai mažų krosnelių), kompiuteriai ypač greitai perkausdavo. Siekiant išvengti gaisrų, komponentų lydymosi ir užtikrinti stabilią veiklą, reikėjo įrengti galingas ventiliacijos ir oro kondicionavimo sistemas, kurios pačios užėmė kone tiek pat vietos, kiek ir pati skaičiavimo technika.
- Masyvi energijos tiekimo infrastruktūra: Šimtams kilovatų elektros energijos nepertraukiamai tiekti reikėjo masyvių aukštos įtampos transformatorių, storių varinių kabelių tinklų, sudėtingų elektros paskirstymo skydų ir rezervinių generatorių.
- Atminties įrenginių gabaritai ir specifika: Pirmosios operatyviosios atminties technologijos, tokios kaip skysto gyvsidabrio vėlinimo linijos ar magnetiniai būgnai, buvo gremėzdiški ir sunkūs mechanizmai. Pavyzdžiui, magnetinis būgnas galėjo būti suaugusio žmogaus ūgio metalinis cilindras, besisukantis dideliu greičiu variklio pagalba, o visame jo paviršiuje tilpo vos keli kilobaitai duomenų.
Programavimas be klaviatūros, pelės ir grafinio ekrano
Dar vienas esminis skirtumas tarp šiuolaikinių sistemų ir pirmųjų kompiuterių buvo pačios sąveikos su mašina būdas. Šiandien mes instinktyviai naudojame klaviatūras, jautrias peles, aukštos raiškos liečiamuosius ekranus ir vizualiai patrauklias, intuityvias grafines sąsajas. Tuo tarpu pirmųjų kompiuterių valdymas ir programavimas buvo nepaprastai sunkus, sudėtingas ir daugiausiai fizinis darbas. Nebuvo jokių aukšto lygio programavimo kalbų, kodo redaktorių ar išmaniųjų operacinių sistemų.
Norint priversti ankstyvąjį kompiuterį atlikti visiškai naują matematinę užduotį, specialistams reikėdavo valandų valandas fiziškai perjunginėti tūkstančius jungiklių ir rankomis perjunginėti storus laidus iš vienų kontaktinių lizdų į kitus. Šis sekinantis procesas labai priminė senovinės ir didelės telefonų stoties operatorių darbą. Pasiruošimas vienam vieninteliam sudėtingam balistikos skaičiavimui galėdavo trukti kelias dienas ar net savaites, o pats skaičiavimo procesas, kai mašina pagaliau būdavo paleidžiama, užtrukdavo vos kelias sekundes.
Siekiant paspartinti duomenų įvedimą, vėliau masiškai pradėtos naudoti perfokortos – stori kartoniniai lapeliai su specialia tvarka išmuštomis mažomis skylutėmis. Kompiuterio mechaniniai skaitytuvai analizuodavo šias skylutes, perleisdami per jas šviesą arba metalinius kontaktus, ir taip gaudavo reikiamas instrukcijas bei įvesties duomenis. Tai iš esmės buvo pirmoji apčiuopiama fizinė programinės įrangos forma. Vėliau perfokortas papildė ir ilgos perforuotos popieriaus juostos bei magnetinės juostos ritės.
Ypač svarbu paminėti ir įvertinti tai, kad pirmosios profesionalios ENIAC ir kitų ankstyvųjų mašinų programuotojos išimtinai buvo moterys. Nors labai ilgą laiką technologijų istorijos puslapiuose joms nebuvo skiriama pakankamai dėmesio, šios genialios matematikės atliko titanišką darbą. Jos turėjo išmokti suprasti ir valdyti šį laidų bei lempų milžiną vien analizuodamos sudėtingus inžinerinius logikos brėžinius, nes tuo metu jokių patogių naudojimo instrukcijų ar vadovėlių tiesiog neegzistavo.
Evoliucijos šuolis: nuo tranzistorių iki integrinių grandynų
Esminis technologinis proveržis, galiausiai leidęs kompiuteriams susitraukti nuo viso kambario dydžio nepaslankių monstrų iki patogių darbalaukio įrenginių, įvyko išradus tranzistorių 1947 metais „Bell Labs“ laboratorijose. Tranzistoriai atliko lygiai tą pačią loginę funkciją kaip ir senosios vakuuminės lempos – jie veikė kaip ypač greiti elektros srovės jungikliai. Tačiau esminis skirtumas buvo tas, kad jie buvo pagaminti iš kietųjų puslaidininkių medžiagų (iš pradžių iš germanio, o vėliau iš kur kas pigesnio ir efektyvesnio silicio). Tranzistoriai buvo šimtus ir tūkstančius kartų mažesni, beveik neskleidė jokios šilumos, naudojo nykstamai mažai energijos, neturėjo perdegti galinčių siūlelių ir buvo kur kas patikimesni bei ilgaamžiškesni.
Netrukus po tranzistoriaus atsiradimo sekė kitas, dar svarbesnis kompiuterių evoliucijos žingsnis – integriniai grandynai, populiariai vadinami tiesiog mikroschemomis. Inžinieriai sugalvojo genialų būdą, kaip ant vieno labai mažo silicio kristalo gabalėlio išėsdinti ne vieną, o iškart šimtus, tūkstančius, o bėgant metams – ir milijardus mikroskopinių tranzistorių kartu su juos jungiančiais kanalais. Šis atradimas atvėrė plačias duris visai asmeninių kompiuterių revoliucijai. Aštuntajame dešimtmetyje atsiradę pirmieji pilnaverčiai mikroprocesoriai sujungė visas svarbiausias kompiuterio skaičiavimo funkcijas į vieną nedidelį lustą. Taip milžiniški, ištisus pastatus užimantys laidų ir karštų lempų labirintai tapo tik muziejų eksponatais ir istorija, o vis galingesnės technologijos pradėjo nevaržomai skverbtis į kiekvieną biurą ir kiekvienus namus.
Dažniausiai užduodami klausimai
Kas iš tiesų išrado patį pirmąjį kompiuterį?
Vienareikšmio atsakymo nėra, nes tai priklauso nuo to, kaip tiksliai apibrėšime žodį „kompiuteris“. Mechaninio kompiuterio koncepciją dar XIX amžiaus pradžioje sukūrė britų inžinierius ir matematikas Charles Babbage. Pirmuoju pasaulyje veikiančiu programuojamu elektromechaniniu kompiuteriu dažniausiai laikomas vokiečio Konrad Zuse sukurtas įrenginys Z3, pristatytas 1941 metais. O štai pirmasis visiškai elektroninis bendrosios paskirties skaitmeninis kompiuteris be mechaninių skaičiavimo dalių buvo amerikiečių ENIAC, viešai pademonstruotas 1945 metais.
Kiek laiko iš tikrųjų trukdavo suprogramuoti pirmuosius kompiuterius?
Kadangi kompiuterių aušroje nebuvo jokių aukšto lygio programavimo kalbų (tokių kaip C++, Python ar Java) ir netgi nebuvo įprastų klaviatūrų, visas programavimas buvo atliekamas fiziškai – tiesiogiai perjungiant tūkstančius laidų ir sudėtingų jungiklių. Priklausomai nuo matematinės užduoties apimties ir sudėtingumo, naujos programos suvedimas ir patikrinimas tokiose mašinose kaip ENIAC galėdavo užtrukti nuo kelių ilgų darbo dienų iki poros savaičių intensyvaus inžinierių darbo.
Kaip buvo saugomi duomenys ir programos ankstyvuosiuose kompiuteriuose?
Pačioje pradžioje duomenys išvis nebuvo ilgalaikiai saugomi pačioje mašinoje – jie būdavo įvedami kaskart iš naujo naudojant kartonines perfokortas ar perforuotas popierines juostas, o galutiniai rezultatai būdavo iškart atspausdinami ant popieriaus. Kiek vėliau atsirado tokios unikalios technologijos kaip magnetiniai būgnai, skysto gyvsidabrio vėlinimo linijos bei magnetinės šerdies atmintis. Šie išradimai galiausiai leido pačiam kompiuteriui savarankiškai „atsiminti“ nedidelius informacijos kiekius bei saugoti operacinį kodą.
Ar tiesa, kad pirmieji kompiuteriai naudojo tiek pat elektros, kiek ištisi miesto kvartalai?
Taip, tai gana tikslus palyginimas. Dėl dešimčių tūkstančių kaistančių vakuuminių lempų ir joms vėsinti skirtų milžiniškų aušinimo sistemų, tokie kompiuteriai vartodavo didžiulius kiekius energijos – maždaug apie 150 kilovatų ar net daugiau. Tai visiškai prilygsta elektros kiekiui, kurio pilnai pakaktų vienu metu aprūpinti keliasdešimt ar net šimtą to meto standartinių namų ūkių.
Kiek kainavo sukurti ir išlaikyti pirmuosius kompiuterius?
Pirmosios skaičiavimo mašinos buvo be galo brangios ir prieinamos tik turtingiausioms vyriausybėms ar didžiausiems universitetams. ENIAC sukūrimas Jungtinių Valstijų kariuomenei kainavo apie 500 000 dolerių, kas, įvertinus infliaciją, šiandien prilygtų beveik 8 milijonams dolerių. Papildomai milžiniškus biudžetus siurbė nuolatinis detalių keitimas, nepertraukiamas elektros tiekimas bei didžiulės aptarnaujančio personalo komandos atlyginimai.
Ateities architektūra: naujos skaičiavimo dimensijos
Žvelgiant atgal į ilgą ir sudėtingą technologijų kelią nuo lėtų elektromechaninių relių ir didžiulių, kaistančių vakuuminių lempų iki šiandieninių mikroskopinių, nanometrinių tranzistorių, natūraliai kyla klausimas, kur link ši evoliucija juda toliau. Klasikinių, siliciu paremtų kompiuterių komponentai nenumaldomai artėja prie absoliučių fizikos dėsnių nulemtų mažėjimo ribų. Kai inžinierių kuriami tranzistoriai tampa vos kelių atomų dydžio, mikro lygyje pradeda stipriai veikti nenuspėjami kvantinės mechanikos efektai, trikdantys įprastą ir valdomą elektronų judėjimą. Todėl geriausi pasaulio mokslininkai jau šiandien intensyviai kuria ir bando visiškai naujo, precedento neturinčio tipo skaičiavimo mašinas.
Kvantiniai kompiuteriai iš pat pamatų keičia ilgai gyvavusią informacijos apdorojimo paradigmą. Vietoj klasikinių bitų, kurie gali būti išreikšti tik griežtu nuliu arba vienetu, šios inovatyvios mašinos naudoja kubitus (kvantinius bitus). Kubitai, pasitelkdami tokius sudėtingus reiškinius kaip kvantinė superpozicija ir kvantinis susietumas, sugeba egzistuoti keliose būsenose vienu metu. Tai stebuklingai galinga savybė, leidžianti atlikti milijonus sudėtingų matematinių skaičiavimų paraleliai, vienu metu. Pavyzdžiui, sudėtinga optimizavimo ar šifravimo užduotis, kurią galingiausias šiuolaikinis pasaulio superkompiuteris spręstų tūkstančius metų, tinkamai suprogramuotas kvantinis įrenginys teoriškai galėtų išspręsti vos per kelias minutes. Šis milžiniškas greičio šuolis atvers neįtikėtinas ir šiandien sunkiai prognozuojamas galimybes modernioje medicinoje, greitai kuriant personalizuotus naujus vaistus, absoliučiai saugioje kriptografijoje, dirbtinio intelekto mokyme bei modeliuojant itin sudėtingas pasaulinio klimato kaitos sistemas.
Be sparčiai besivystančios kvantinės technologijos, didžiulis, dar neišnaudotas potencialas slypi ir neuromorfinėje kompiuterių inžinerijoje. Šioje srityje mokslininkai atidžiai studijuoja biologiją ir bando sukurti fizines mikroschemas, kurios veiktų tiksliu gyvo žmogaus smegenų principu – imituojant neuronus ir sinapses. Tokie biologiškai įkvėpti įrenginiai bus ypač puikiai pritaikyti sudėtingiems dirbtinio intelekto ir mašininio mokymosi algoritmams apdoroti, sunaudojant tik labai mažą dalelę tos milžiniškos elektros energijos, kurios šiandien reikalauja tradiciniai debesų kompiuterijos duomenų centrai. Taigi, nors mes sėkmingai perėjome visą etapą nuo kambario dydžio, tonas sveriančių mašinų prie mikroskopinių, vos įžiūrimų lustų, skaičiavimo technologijų evoliucija anaiptol nesibaigė. Priešingai – mes tiesiog stovime ant dar vieno, galbūt dar galingesnio ir sudėtingesnio revoliucinio slenksčio, visam laikui pakeisiančio mūsų suvokimą apie tai, kas kompiuterijoje yra įmanoma.
