Kompiuterių raidaPirmuosius mechaninius skaičiavimo įrenginius dar antikos laikais naudojo
matematikai, inžinieriai bei prekeiviai. Kinijoje ir Japonijoje prieš
keletą tūkstančių metų iki Kristaus gimimo jau buvo naudojami
skaičiuotuvai, padaryti iš karoliukų, pritvirtintų prie specialaus rėmo
(karoliukai vadinosi kalkulėmis, iš čia ir kilo terminai “kalkuliuoti” ir
“kalkuliatorius”. Ant siūlo suvertų kalkulių pozicija atitiko tam tikrą
skaičių.
Vieną iš tobulesnių mechaninių kalkuliatorių 1642 metais sukūrė prancūzų
mokslininkas Blezas Paskalis. Šį įrenginį, pavadintą “Paskalina”,sudarė
ratukai, ant kurių buvo užrašyti skaičiai nuo 0 iki 9. Apsisukęs vieną
kartą, ratukas užkabindavo gretimą ratuką ir pasukdavo jį per vieną
skaičių.
Pagrindinė “Paskalinos” yda – labai sudėtingas įvairių operacijų, išskyrus
sudėtį, atlikimas. Pirmąją mašiną, kuria lengvai atliekami visi keturi
veiksmai , 1673 metais sukūrė vokietis Gotfrydas Vilhelmas Leibnicas.
Anglų matematikas Čarlzas Babidžas, sugalvojęs dvi reikšmingiausias
mechanines skaičiavimo mašinas, dažnai vadinamas šiuolaikinės technikos
“tėvu”. Pirmąją mašiną, skirtą matematiniu lentelių sudarymui ir tikrinimui
(skaičiuojant skaičių skirtumą), Č. Babidžas sukūrė 1822 metais. Ji
vadinosi skirtuminė mašina. 1833 m. jis nutarė sukurti universalią
skaičiavimo mašiną ir pavadino ją “analizine mašina”. Tačiau realizuoti
analizinę mašiną buvo labai problematiška – galiausiai ji būtų buvusi ne
mažesnė už garvežį. Todėl ši mašina nebuvo sukurta. Č. Babidžas nepateikė
nė vieno išsamaus jos aprašymo. Tačiau aprašymas buvo išsuogotas jo
bendradarbės, grafienės, Augustos Ados Bairon-Lavleis dėka. Grafienė Ada
Lavleis vadinama pirmąja programuotoja. Jos garbei viena iš programavimo
kalbų pavadinta Ada.
Č. Babidžo nuopelnas yra tas, kad analizinėje mašinoje jis pritaikė
komponentus, kurie yra svarbiausi ir šiuolaikiniame kompiuteryje. Jis
pirmasis suprato, kad skaičiavimo mašiną turi sudaryti penki pagrindiniai
komponentai:1. Įvesties įrenginys,
2. Atmintis,
3. Aritmetinis įrenginys,
4. Valdymo įrenginys,
5. Išvesties įrenginys.Amerikietis Hermanas Holeritas 1890 metais laimėjo efektyvaus gyventojų
surašymo duomenų apdovanojimo konkursą. Jis taip pat naudojo perfokoltas.
H. Holerito tabuliatorius tapo pirmąja skaičiavimo mašina, veikiančia ne
mechaniniu procesų pagrindu. Ji pasirodė esanti labai efektivi, ir tai
leido įsteigti firmą, gaminančią tokius tabuliatorius. Nuo 1924 metų iki
dabar ji vadinasi IBM (International Business Machines) ir yra viena
stambiausių kompiuterius gaminančių firmų.
Vokiečių inžinierius Konradas Cūzė paekperimentavęs su dešimtaine
skaičiavimo sistema, vis dėlto pasirinko dvejetainę. Nors ir nesusipažino
su anglų matematiko Džordžo Būlio logika, leidžiančia atlikti elementarius
veiksmus su dvejetainiais skaičiais, K. Cūzė 1936 metais sukūrė skaičiavimo
mašiną Z – 1, kurioje buvo pritaikyti Dž. Būlio algebros principai.
Vėlesniame modelyje Z – 2 vietoje mechaniniu jungiklių jungiklių jis
panaudojo elektromechanines reles, o informacijai įvesti pritaikė
perforuotą 35 mm pločio fotojuostą (vėliau ją pakeitė popierine).
1941 metų pabaigoje, JAV įstojus į karą, IBM firmos prezidentas pasiūlė
Amerikos prezidentui savo paslaugas ir 1944 metais firma pagamino gana
galingą kompiuterį “Mark – 1”, turintį apie 750 tūkstančių dalelių, tarp jų
3304 elektromechanines reles.
1943 metų pabaigoje Anglijoje ėmė veikti didelė skaičiavimo mašina
“Colossus – 1”, skirta vokiečių šifrogramoms dešifruoti.
Berlyne K. Cūzė sukonstravo Z – 3 ir pradėjo projektuoti Z – 4, kurioje
vietoj elektromechaninių relių turėjo būti panaudotos vakuuminės
elektroninės lempos. Tai būtų leidę gerokai padidinti mašinos greitį.
Tačiau A. Hitleris nepalaikė šio projekto, tikėdamasis labai greitai
nugalėti.
Nors pirmosios elektroninės skaičiavimo mašinos projektą sukūrė JAV
mokslininkas Džonas Atanosovas dar 1939 metais, tačiau tik 1945 metų
pabaigoje JAV buvo sukurta galinga, grynai elektroninė mašina ENIAC
(Electronic Numerical Integrator, Analyser and Calculator), kurioje
sumontuotos 17468 elektroninės lempos.
1947 metais Kembridže Morisas Vilksas sukonstravo mašiną EDSAC
(Electronic Delay Storge Automatic Calculator). Skirtingai negu kitos, ji
rėmėsi nauja programavimo aprūpinimo strategija, taigi naudojo
standartines, dažnai skaičiavimams taikomas programas ir įrangą programų
klaidoms aptikti.[1,2]
Kompiuterių kartos
Pirmoji karta. Vakuuminės lempos. ENIAC kompiuteris
Kompiuteris ENIAC – elektronis skaitmeninis integratorius ir
skaičiuotuvas {Electronics Numerical Integrator And Computer} buvo sukurtas
vadovaujant Džonui Makliui (John Mauchly) ir Džonui Ekertui (John Presper
Eckert) Pensilvanijos universitete (JAV) ir yra pirmasis
pasaulyje
bendrosios paskirties elektroninis skaitmeninis kompiuteris.
Šis projektas – atsakas į JAV poreikius antrojo pasaulinio karo metu.
JAV karinių pajėgų Balistikos tyrimų laboratorijai (BTL), atsakingai už
trajektorijų lentelių naujiesiems ginklams rengimą, buvo labai sunku
tiksliai ir per trumpą laiką jas parengti. Be jų naujieji ginklai
kariškiams buvo beverčiai. BTL samdydavo daugiau kaip 200 žmonių,
daugiausia moterų, šie staliniais mechaniniais kalkuliatoriais spręsdavo
įvairias balistikos lygtis. Tam tikro ginklo lentelei parengti vienas
žmogus dirbdavo daug valandų ir net dienų.
Pensilvanijos universiteto elektrotechnikos profesorius Dž. Maklis ir
vienas iš jo doktorantų Dž. Ekertas pasiūlė BTL tikslams iš elektroninių
lempų sukurti bendrosios paskirties kompiuterį. 1943 m. šis pasiūlymas JAV
kariuomenės buvo priimtas, ir prasidėjo ENIAC kūrimo darbai. Sukurtoji
mašina priminė monstrą – svėrė 30 tonų, užėmė 1600 m2 patalpos, joje buvo
per 18 000 vakuuminių elektroninių lempų. Ji išeikvodavo apie 140 KW
elektros galios, tačiau veikė žymiai sparčiau už bet kurį elektromechaninį
kompiuterį – galėjo atlikti 5000 sudėties operacijų per sekundę.
ENIAC – dešimtainė, o ne dvejetainė mašina. Skaičiai joje buvo
pateikiami dešimtaine forma ir taikoma dešimtainė aritmetika. Jos atmintį
sudarė 20 vadinamųjų kaupiklių {accumulator}, kiekvienas jų galėjo saugoti
iki 10 dešimtainių skaičių. Kiekvienam skaičiui atvaizduoti naudotas žiedas
iš 10 vakuuminių lempų. Tam tikru momentu tik viena iš lempų būdavo įjungta
ir būdavo atvaizduojamas vienas iš 10 skaitmenų. Pagrindinis trūkumas tai,
kad ENIAC kompiuterį programuodavo rankiniu būdu jungdami arba išjungdami
jungiklius ir perjungdami kontaktus laidžiais trumpikliais.
ENIAC pagamintas 1946-aisiais metais – per vėlai, kad būtų panaudotas
kare. Tad pirmasis jo uždavinys – sudėtingų skaičiavimų serija, kuri padėjo
nustatyti principinę vandenilinės bombos pagaminimo galimybę. ENIAC
kompiuterio taikymas kitiems, nei buvo numatyta, tikslams įrodė jo
bendrosios paskirties pobūdį. 1946-ieji – tai įžengimas į naują –
elektroninių kompiuterių erą. ENIAC, veikęs BTL iki 1955-ųjų, buvo
išmontuotas.1.3.2. Noimano (skaičiavimo) mašina
Programų įvedimas arba jų modifikavimas ENIAC kompiuteryje buvo
nuobodus ir varginantis procesas. Programavimą galima buvo palengvinti tik
pačią programą pateikiant patogiu atmintyje kartu su duomenimis saugoti
pavidalu, instrukcijas kompiuteriui teikiant juo pačiu – jam skaitant iš
atminties, o programas įvedant arba keičiant atminties fragmentuose
nustatant tam tikras reikšmes.
Ši idėja, žinoma kaip įsimenamos programos koncepcija {stored-program
concept}, dažniausiai siejama su ENIAC kompiuterio kūrėjais, ypač su
matematiku Džonu von Noimanu (John von Neumann), ENIAC projekto
konsultantu. Ją maždaug tuo pačiu laiku plėtojo ir Tiūringas (Turing).
Žinią apie šios idėjos pritaikymą (Electronic Discrete Variable Computer –
EDVAC kompiuteryje) pirmą kartą viešai paskelbė Noimanas 1945 m.
1946 m. Noimanas kartu su savo kolegomis Prinstono pažangiųjų studijų
institute (Princeton Institute for Advanced Studies) ėmėsi kurti naują
kompiuterį IAS pavadinimu. Šis kompiuteris buvo baigtas tik 1952 m. ir yra
visų vėlesnių bendrosios paskirties kompiuterių prototipas.
1.7 pav. pateikta IAS kompiuterio apibendrinta struktūra. Pagrindinės
komponentės:
• Pagrindinė atmintis, sauganti ir duomenis, ir instrukcijas;
• Aritmetinis ir loginis įrenginys (ALĮ), galintis operuoti dvejetainiais
skaičiais.
• Valdymo įrenginys, interpretuojantis atmintyje esančias instrukcijas ir
kontroliuojantis jų vykdymą.
• Įvesties ir išvesties (Į/I) įrenginys, kurio veikimą taip pat
kontroliuoja valdymo įrenginys.
Ši struktūra Noimano pasiūlyta anksčiau ir jos apibūdinimą čia verta
pacituoti [1]:
Pirma: Kadangi įrenginys (kompiuteris) visų pirmą yra skaičiuotuvas
{computer}, jis turi gebėti atlikti dažniausiai pasitaikančias elementarias
aritmetines operacijas, t. y. sudėties, atimties, daugybos ir dalybos: +,
–, ´, ¸. Todėl labai naudinga, kad jame būtų specializuoti šias operacijas
atliekantys organai. Nepaisant to, kad kol kas šis principas tėra tik tuščias garsas,
specifiniam būdui, kuriuo jis bus įgyvendintas, reikia skirti daugiau
dėmesio… Bet kuriuo atveju centrinė aritmetinė {Central Arithmetic – CA}
dalis įrenginyje turėtų būti. Taigi deklaruotina jo (kompiuterio) pirmoji
specifinė dalis – CA.
Antra: Įrenginio (kompiuterio) veikimo logiką, t. y. tikslų jo
operacijų nuoseklumą, efektyviausiai gali valdyti centrinis valdymo
organas. Jeigu įrenginio (kompiuterio) veikimas pasižymės lankstumu, t. y.
kompiuteris atitiks visas įmanomas paskirtis, tuomet reikės atskirti
specifiškas instrukcijas, numatytas specialioms užduotims spręsti, nuo
bendrųjų valdymo organų,
šias instrukcijas gauna ir vykdo
nesigilindami, kas jos iš esmės yra. Minėtos instrukcijos turi būti tam
tikru būdu įsimenamos, o valdymo organai yra įrenginio (kompiuterio) tam
tikros veikiančios dalys. Taigi centriniu valdymu {Central Control – CC}
vadinsime tik šias pastarąsias funkcijas atliekančius organus, ir jie