Zgodovina raèunalni¹tva
CHARLES BABBAGE IN NJEGOVI STROJI
Charles Babbage!
Ena od najbolj izstopajoèih oseb v zgodovini strojev za raèunanje je Angle¾
Charles Babbage (1792-1871).
Babbage je izumil stroj, ki je po osnovi zelo
podoben dana¹njim raèunalnikom. Èeprav je od angle¹ke vlade uspel dobiti za
tiste èase precej denarja za financiranje projekta, je dr¾avna podpora
usahnila, ko se je pokazala zahtevnost problemov.
DIFERENÈNI STROJ je prvi in preprostej¹i od obeh strojev za raèunanje, ki ju
je izdelal. Namenjen je bil za raèunanje in tudi za avtomatièno tiskanje
matematiènih tabel. Od aritmetiènih operacij je uporabljal samo se¹tevanje,
vendar v povezavi z metodo konènih diferenc, kar omogoèa izraèun poljubnega
polinoma. Vse, kar je potrebno, je, da v registre diferenènega stroja
vstavimo zaèetne vrednosti diferenc in stroj bo, èe ga poganja ustrezen motor
(vBabbagevem èasu parni stroj), avtomatièno raèunal in izpisoval zaporedne
vrednosti funkcije.
Babbage je najprej predlagal gradnjo diferenènega stroja, ki bi obvladal
polinome ¹este stopnje z 20-mestno natanènostjo. Delo na gradnji se je
prièelo leta 1823 in je trajalo s presledki do leta 1833, ko je bil projekt
zaradi pomankanja denarja in sporov opu¹èen. Babbage ni nikoli dokonèal tega
stroja. Kasneje je, ¾e med delom na analitiènem stroju, naredil ¹e naèrt za
diferenèni stroj ¹t.2, ki je zmogel polinome sedme stopnje z 31-mestno
natanènostjo. Ta stroj je zanimiv zato, ker so ga leta 1991 po originalnih
Babbagevih naèrtih zgradili v londonskem Science Museum. Veèkot tri tone
te¾ak stroj je stal pribli¾no 500.000 ameri¹kih dolarjev in deluje brezhibno.
Z njim so hoteli dokazati, da je tako zapleten stroj v resnici mogoèe
narediti samo z mehanskimi sredstvi.
Do realizacije precej skromnej¹e inaèice diferenènega stroja je pri¹lo ¾e
v Babbagevem èasu. Leta 1834 je eden od Babbagevih èlankov pri¹el v roke
©vedu Georgu Scheutzu (1785-1873).ta se je z doloèeno finanèno pomoè ¹vedske
vlade lotil gradnje stroja, ki je zmogel polinome tretje stopnje s 15-mestno
natanènostjo. Prvi model je deloval ¾e leta 1837, konèna verzija, ki je
vsebovala tudi avtomatiènotskanje reziltatov, pa je bila gotova leta 1853.
Kasneje je podobne stroje zgradilo ¹e veè drugih ljudi. Ti stroji so bili v
svojem èasu precej¹nja atrakcija in so jih kazali na vseh pomembnih razstavah.
Zanimivo pa je, da jih je bilo zgrajenih zelo malo. Potrebe postrojnem
raèunanju v tistem èasu preprosto niso bile dovolj velike. Diferenèni stroj
je bil namenjen za raèunanje in tiskanje tabel funkcij in ne za poljubne
formule. Vendar pa do ideje o stroju za raèunanje poljubnih formul ni bilo
daleè. Svojo prvo obliko je do¾ivela v ¹e bolj slavnem Babbagevem stroju, ki
je znan pod imenom analitièni stroj.
O stroju, ki bi bil splo¹nej¹i, je Babbage razmi¹ljal ¾e med delom na
diferenènem stroju. Po prekinitvi dela na njem je v letih 1834 in 1835 prièel
razvijati idejo o stroju, kibi lahko izvajal poljubno zaporedje aritmetiènih
operacij. Kmalu je ugotovil, da je z izloèitvijo aritmetièenega mehanizma v
posebno centralno enoto mogoèe doseèi pomembne prihranke pri ¹tevilu
potrebnih delov. Skupaj z drugim mehanizmom, ki bi doloèal vrstni red
operacij, bi bilo v principu mogoèe re¹iti poljuben problem (èe zanemarimo
omejite stroja in seveda neizraèunljive probleme). Najprej je za ta mehanizem
uporabil boben z zobci.Taki bobni so se ¾e od ¹tirinajstega stoletja naprej
uporabljali za premikanje figuric na cerkvenih urah, kasneje pa tudi v
glasbenih avtomatih. Leta 1836 pa se je odloèil za luknjane kartice podobne
tistim, ki jih je leta 1801 izumil J.M.Jacquard (1752-1834) za doloèanje
vzorca na tkalskih strojih. V primerjavi z bobni so lunknjane kartice veliko
preprostej¹e za uporabo in shranjevanje. Rezultat je stroj, ki ga prikazuje
naslednja slika:
Po Babbagevem lastnem opisu lahko raèunski del analitiènega stroja razdelimo
na dva dela:
1.MLIN (mill), v katerem se izvajajo vse operacije.
2.POMNILNIK (store), v katerem so shranjeni operandi, na katerih se izvajajo
operacije in v katerega se shranjujejo rezultati operacij.
Èe primerjamo zgornjo sliko z zgradbo dana¹njih raèunalnikov, vidimi, da mlin
ustreza dana¹nji centralno precesni enoti. Mlin je znal izvajati ¹tiri
operacije:se¹tevanje, od¹tevanje, mno¾enje in deljenje. Vrstni red operacij
so doloèale luknjane kartice, ki jih je bilo potrebno pripraviti pred
prièetkom dela. Te kartice so bile razdeljene v dve loèeni skupini, vsaka s
svojim mehanizmom za branje:
a) Ukazne kartice.Babbage je razlikoval dve vrsti ukaznih kartic. Prva vrsta
so operacijske kartice, ki doloèajo, katera od operacij se naj izvede v
doloèenem koraku. Druga vrsta pa so tako imenovane kombinatoriène kartice, ki
so, kadar je bil izpolnjen doloèen pogoj, spro¾ile mehanizem za ponavljanje.
S pomoèjo tega mehanizma so se ukazne in/ali podatkovne kartice vrnile nazaj-
ukazi so se zato lahko ponovili. Pogoj, pri katerem se je to zgodilo, je bil
predznak ¹tevila. Povedano v dana¹nji terminologiji: kombinatoriène kartice
so omogoèale pogojne skoke. To sposobnost analitiènega stroja imamo danes za
enega od najpomembnej¹ih dose¾kov Charlesa Babbagea.
b) Operandne kartice. Tudi tu je Babbage razlikoval dve vrsi. Prva vrsta
so kartice spremenljivk, ki doloèajo, katere pomnilni¹ke lokacije naj se
uporabljajo v dani operaciji. Drugaèe povedano, doloèale so kje so operandi
in kam naj gre rezultat. Za vsako od operacij je bilo toèno doloèeno, koliko
kartic jo mora spremljati. Druga vrsta so kartice ¹tevil. Vsaka kartica te
vrste vsebuje predznaèeno ¹tevilo, ki se prenese v doloèeno pomnilni¹ko
lokacijo.
Ukazne in operandne kartice skupaj predstavljajo tisto, èemur danes pravimo
program. Babbage se je zelo dobro zavedalrazlike med fiziènim in programskim
pogledom na stroj. Predvideval je na primer, da se kartice po uporabi lahko
shranijo in ponovno uporabijo z istimi ali spremenjenimi vhodnimi podatki.
S tem v zvezi je omenjal tudi knji¾nico za analitièni stroj, v kateri bi bile
shranjene kartice za najpomembnej¹e probleme.
Brez pretiravanja lahko reèemo, da je analitièni stroj prvi pravi predhodnik
dana¹njih raèunalnikov, èeprav ni bil nikoli zgrajen.
Pomen analitiènega stroja:
1. Po zasnovi je analitièni stroj prva naprava, ki zdru¾uje dve, za
raèunalnika bistveni lastnosti: a) njeno delovanje vodi program in b)
namenjen je za re¹evanje poljubnih problemov. Strojem te vrste danes
pravimo "programsko vodeni raèunalniki za splo¹ne namene". V resnici
pojem raèunalnik danes implicitno vsebuje prav ti dve lastnosti, èe
seveda posebej ne reèemodrugaèe. Vedeti namreè moramo, da obstajajo
tudi raèunalniki za posebne namene.
2. Gledano iz stali¹èa izraèunljivosti je analitièni stroj ekvivalenten
univerzalnemu Turingovemu stroju in zato tudi dana¹njim raèunalnikom.
Gledano iz dana¹njega èasa, je analitiènemu stroju manjkalo pravzaprav samo
to, da ni bil narejen. Vsekakor pa lahko reèemo, da je bil problem stroja, ki
zna izraèunati vse, kar se da izraèunati, re¹en na papirju. Zato bi smeli
prièakovati, da se bo razvoj strojev za raèunanjeusmeril v re¹evanje
tehnolo¹kih problemov prirealizaciji analitiènega stroja. V resnici so se pa
stvari odvijale popolnoma drugaèe. Babbageovo delo je poèasi utonilo v pozabo
in po letu 1900 je zanj vedelo zelo malo ljudi. Skoraj vse, kar smo zgoraj
povedali, je bilo ponovno odkrito ¹ele po letu 1950. Kot bomo videli v
nadaljevanju, veliko ljudi, ki so se ukvarjali z razvojem raèunalnikov, za
Babbagevo delo sploh ni vedelo.