e-gradiva     Sistemi Motorola Omrežja      
  logotip  
SERŠ Maribor    

Elektronski računalniki

Osnovni razlog za hiter zaton elektromehaničnih računalnikov je, da uporaba elektronike odstrani dve veliki pomanjkljivosti:

  1. Hitrost računanja je zaradi vztrajnosti gibajočih delov omejena.
  2. Zanesljivost delovanja je slaba zaradi velikega števila mehanskih elementov kot so zobniki in vzvodi.

V elektronskih računalnikih so "gibajoči" deli elektroni. Informacija se prenaša s hitrostjo, ki je blizu svetlobni (300.000 km/s ali 3,3 x 10-9 s/m). Vakumske elektronke, kot je n.pr. leta 1906 odkrita trioda, omogočajo gradnjo pomnilniških elementov (npr. Eccles-Jordanov flip-flop iz leta 1919), katerih hitrost preklopa je daleč večja od kakršnekoli elektromehanične naprave.

Prvi poskus gradnje elektronskega računalnika z uporabo vakumskih elektronkje naredil John Atanasoff z Iowa State University. Njegov prvi stroj je bil elektronski analogni računalnik za reševanje sistema linearnih diferencialnih enačb. Zaradi hudih omejitev analognega načina se je leta 1935 preusmeril na digitalnega. V letih od 1936 do 1938 mu je uspelo razviti in preizkusiti vrsto elektronskih logičnih elementov, na osnovi katerih se je leta 1939 lotil gradnje razmeroma velikega sistema, ki bi lahko reševal sisteme do 30 enačb. Velik del sistema je bil zgrajen in preizkušen, vendar je bilo delo leta 1942 prekinjeno in stroj nikoli v celoti dokončan.

V približno istem času je tudi več drugih skupin raziskovalo možnost uporabe elektronskih vezij namesto elektromehaničnih v svojih napravah. Poleg Zuseja, ki smo ga že omenili, so to poskušali še pri več ameriških podjetjih, med katerimi omenimo IBM. Posebno pozornost zaslužijo tudi stroji, ki so bili razviti med vojno v Veliki Britaniji za dešifriranje sporočil. Večina podatkov o njih je še vedno nedostopna javnosti, zato jih je težko ocenjevati. S stališča elektronskega računanja so posebno zanimivi stroji iz serije Colossus, od katerih je prvi deloval leta 1943.

Po tem, kar vemo danes, so bile aritmetične sposobnosti, v nasprotju z logičnimi, teh strojev majhne. Imeli so majhen elektronski pomnilnik in so delovali avtomatsko vključno z izpisovanjem rezultatov. V skladu z današnjim pojmovanjem bi jih imenovali računalniki za posebne namene, čeprav z določeno sposobnostjo programiranja. Njihov pomen je predvsem v tem, da so dokazali praktičnost elektronskega računanja in bili osnova za razvoj povojnih britanskih računalnikov.

V obdobju druge svetovne vojne se je začela velika potreba po računalnikih, ki bi se uporabljali za vojške namene. Ker so se začela uporabljati nova orožja, so nujno potrebovali računalnike s katerimi so lahko računali koordinate in podobne stvari.

ENIAC

eniac

ENIAC

Delo na ENIAC (Electronic Numerical Integrator and Calculator) se je pričelo leta 1943 pod vodstvom Johna Mauchlya in Presperja Eckerta. Glavni njegov motiv je bilo računanje in tiskanje balističnih tabel za razne vrste topov in bombnih merilnikov v letalih ameriške vojske. ENIAC je bil dokončan decembra 1945, uradno pa se je delo na njem pričelo leta 1946.

ENIAC je imel pomnilnik velikosti dvajsetih 10-mestnih desetiških števil, osnovni pomnilniški element je bil 10-bitni obročni števec. Samo za pomnilnik je bilo potrebnih 4000 elektronk. Posebnost ENIAC pa so bile enote funkcijskih tabel, v vsako katero je bilo možno z ročnim postavljanjem stikal shraniti 104 12-mestnih desetiških vrednosti. Programiranje je bilo ročno - s postavljanjem stikal in povezovanjem kablov. Stroj je uporabljal aritmetiko s fiksno vejico. Imel je ukaze za seštevanje, odštevanje, množenje, deljenje in računanje kvadratnega korena. Programi se niso mogli ohraniti (razen zapisa na papirju). Za vnos podatkov je služil čitalnik luknjanih kartic. ENIAC je bil stroj z 18.000 elektronkami in 1.500 releji.

eniac

ENIAC

Dolg je bil več kot 30m, visok 3m, širok 1m, njegova masa pa je presegala 30 ton. Za delo je potreboval okoli 180 kW električne moči. Povprečno na 30 minut je bilo potrebno zamenjati tudi kakašno elektronko. V uporabi je bil do leta 1955, danes pa je shranjen v Smithsonianovem muzeju v Washingtonu.

K nadaljnjemu razvoju je veliko pripomogel izum tranzistorja leta 1948, ki je bil veliko bolj zdržljiv kot elektronka in je porabil tudi veliko manj energije.

Elektronski računalnik s shranjenim programom

Pri takšnem računalniku gre za idejo o popolnoma shranjenem programu v enem pomnilniku. Ta ideja se povezuje z imenomameriškega matematika madžarskega porekla Johana von Neumanna, ki je bil svetovalec pri razvoju ENIAC. Leta 1945 je napisal predlog o izgradnji novega elektronskega računalnika EDVAC.

EDVAC

edvac

EDVAC

EDVAC je bil dokončan šele leta 1951 in ga je prehitel EDSAC, ki je bil zgrajen 1949 v Cambridgu. Le-ta nosi naslov prvega delujočega programa s shranjenim programom. EDVAC je kot računalnik s shranjenim programom imel večji pomnilnik kot vsi do tedaj. Sestavljalo ga je 1024 16-bitnih besed, poleg tega pa še 20Kb v pomnožnem pomnilniku (realiziranem z magnetnimi žicami), kjer že vidimo dvonivojsko pomnilniško hierarhijo. EDVAC je bil zgrajen iz približno 3000 elektronk in je bil skoraj enako hiter kot ENIAC. Bil je binaren stroj (podobno kot Z3) in ne desetiški kot ENIAC. EDVAC ni imel programsko dostopnih registrov ali programskega števca, saj so bili vsi operandi v pomnilniku, ukaz pa je vseboval naslov naslednjega ukaza. Na EDSAC je že leta 1949 tekel program, ki je pretvarjal programe iz simboličnega jezika (zbirni) v zaporedje 0 in 1 (strojni jezik). Kasneje se je pojavilo še mnogo višjih programskih jezikov. Prvi - ki pa se še danes kje uporablja - je bil Fortran, ki so ga začeli razvijati pri IBM leta 1945.

Takih računalnikov danes praktično ni več, zato je bolj zanimiv IAS.

IAS

IAS je ime je dobil po Institute for Advanced Study, kjer je potekal razvoj. Njegov pomen v zgodovini razvoja racunalnikov je predvsem posledica prostega dostopa do vseh informacij v zvezi z njim. Večina ostalih projektov je potekala v tajnosti. Služil je kot šola za vse, ki so jih računalniki zanimali.

Delovati je začel poleti 1951, čeprav je bila uradna otvoritev leta 1952. Bil je binarni stroj. Imel je glavni pomnilnik na osnovi elektrostatične cevi, ki je v bistvu posebna izvedba katodne cevi, znan po imenom Williamsova pomnilniška cev. Velika prednost te vrste pomnilnika v primerjavi z zakasnilnimi linijami je v tem, da je čas dostopa do poljubne lokacije skoraj neodvisen od naslova prejšnje lokacije. Naenkrat je mogoče prebrati celo pomnilniško besedo, kar seveda omogoča paralelno (vse bite naenkrat) obdelavo, kije veliko hitrejša od zaporedne. Poleg tega je bil možen dostop do vseh bitov besede naenkrat. Bil je paralelni stroj in približno 10-krat hitrejši od ENIACa. Druga zelo pomembna razlika glede na EDVAC je v zgradbi ukazov. Vsak ukaz je vseboval en sam pomnilniški naslov in je imel format:

OP A

Centralna procesna enota (CPE) je vsebovala več hitrih registrov (realiziranih z elektronkami), ki so služili kot implicitne lokacije za operande in rezultate. Velika večina ukazov se je nanašala na register z imenom akumulator, kjer se je nahajal drugi operand in kjer se je v večini primerov pustil rezultat. Ker v ukazu ni naslova naslednjega ukaza (izjema so ukazi za brezpogojne in pogojne skoke), je potreben dogovor o implicitnem vrstnem redu izvajanja ukazov. Dogovor, ki so ga prvič uporabili pri lAS, je splošno v rabi še danes in je naslednji:

Vrstni red izvajanja ukazov: Če ukaz ne zahteva drugače (n.pr. skočni ukazi), si ukazi sledijo eden za drugim po naraščajočih naslovih.

To omogoča register, imenovan programski števec. Ob koncu izvrševanja vsakega ukaza (oziroma pred začetkom izvajanja naslednjega ukaza) se v programskem števcu vedno nahaja pomnilniški naslov ukaza, ki se bo izvršil naslednji. Programski števec običajno označujemo s PC (Program Counter), dejstvo, da se običajno povečuje, pa simbolično z PC ← PC + 1.

lAS je tako zelo podoben današnjim računalnikom, da ga lahko smatramo za prototip praktično vseh današnjih računalnikov za splošne namene. V skladu z današnjo terminologijo bi rekli, da je bil lAS 1 + 1/2 - naslovni računalnik. To pomeni, da se v ukazu en naslov nanaša na pomnilnik, drugi pa (običajno implicitno) na enega od registrov v centralni procesni enoti. Ta drugi naslov označujemo z 1/2, čeprav sta v logičnem smislu ekvivalentna in bi tak računalnik lahko imenovali tudi 2- naslovni. Tudi to označevanje lahko pogosto srečamo.

Zaradi pomembnosti lAS si nekoliko podrobneje oglejmo njegovo zgradbo in delovanje.

Pomnilnik: Pomnilnik je imel velikost 4096 (212 ali 4 K) 4O-bitnih besed. Danes bi rekli, da je imel40-bitne besede in I2-bitne naslove. Ob vsakem dostopu do pomnilnika (dostop je branje ali pisanje) se je med CPE in pomnilnikom preneslo 40 bitov. Gledano s strani CPE je vsebina vsake besede pomenila ali v dvojiškem komplementu predstavljeno 4O-bitno predznačeno število s fiksno vejico ali pa dva 20-bitna ukaza. Slika 2.6 prikazuje obe možnosti tako, da je bit z najvišjo težo označen z O.

Centralna procesna enota: Centralna procesna enota lAS je vsebovala več hitrih registrov za shranjevanje ukazov, naslovov in operandov ter aritmetično-logična vezja za izvrševanje ukazov. Gledano s stališča programerja sta poleg programskega števca PC dostopna pravzaprav samo dva registra. Velika večina ukazov se nanaša samo na akumulator AC, medtem ko se MQ register uporablja samo pri množenju in deljenju ter kot pomožni akumulator. Ker je lAS pri vsakem prevzemu ukazov iz pomnilnika prebral dva ukaza (temu pravimo danes vnaprejšnji prevzem ukaza ali prefetch), je imela CPE poseben register za shranjevanje desnega ukaza v času, ko se je izvajal levi. Pri skočnih ukazih se je seveda lahko zgodilo tudi to, da se v registru shranjeni ukaz ni izvršil.

Nabor ukazov: Omenili smo že dogovor za vrstni red izvajanja ukazov. Vse ostalo delovanje je popolnoma določeno z ukazi, ki jih lAS razume. Če primerjamo njegov nabor ukazov z današnjimi, lahko poleg velike podobnosti vidimo tudi nekaj razlik. To so npr. ukazi za spreminjanje naslova, ki v bistvu spreminjajo program. S temi ukazi je mogoče realizirati to, kar danes delamo z indeksnimi registri, vendar tako, da je ob koncu izvajanja program drugačen kot na začetku. Če bi ga n.pr. želeli izvesti še enkrat, bi ga bilo potrebno ponovno naložiti v pomnilnik.

Druga posebnost lAS je odsotnost ukazov za klic pod programov in zelo močna aritmetična naravnanost ukazov. Ukazov za logične operacije sploh ni in jih je bilo potrebno realizirati programsko. Kljub temu Je, če zanemarimo omejen pomnilnik, lahko dokazati ekvivalenco med lAS in Turingovimi stroji. Z drugimi besedami, lAS lahko reši vse odločljive probleme.

Vhodno-izhodni ukazi so bili za razvijalce v tistem času malo pomembni.

SERŠ Maribor, Strokovna gimnazija, leto: 2002, avtor: Rok Kožuh