Table Of ContentPredgovor
Ovaj udžbenik je nastao na osnovu višegodišnjeg iskustva koje su autori imali i
izvođenju nastave iz predmeta RAČUNARSKI SISTEMI na Odseku za matematiku i
informatiku Prirodno-matematičkog fakulteta (ranije na SG Matematika Filozofskog
fakulteta u Nišu). Ovaj predmet je predviđen programom studija na II godini smera za
Računarstvo i informatiku i smera za Profesora matematike i računarstva. Međutim, iako su
polazne tačke u pripremi ovog teksta bile predavanja i vežbe iz navedenog kursa, udžbenik
prevazilazi okvire ovog predmeta i u suštini je pisan kao štivo koje se može upotrebiti za
pripremu ispita na svim fakultetima na kojima se izučava računarstvo. Takođe, ovaj
udžbenik može biti korisna referenca kako profesionalcima iz oblasti računarstva, tako i
profesorima srednjih škola gde poslednjih godina računarstvo i informatika u sve većoj
meri dobija značajno mesto.
Zamisao autora je da se udžbenik publikuje u četiri toma čiji su podnaslovi:
• Principi digitalnih sistema;
• Struktura računara;
• Pogled na mašinu i nivoi mašine;
• Arhitektura procesora MC68020.
U prvom tomu izlažu se matematičke i tehničke osnove računarstva. Prikazane su
osnovi prevođenja brojeva, konverzije brojeva, kodiranja, detekcije i korekcije grešaka,
logike i prekidačke algebre. Zatim je izložena materija o kombinacionim i sekvencijalnim
kolima, a na kraju je to ilustrovano prikazom osnovnih kola od kojih se sastoje digitalni
sistemi, kao što su registri, brojači i aritmetička kola.
U drugom tomu prikazana je osnovna struktura računara, arhitektura CPU-a,
detaljan opis osnovnih funkcionalnih celina računara i različitih ulazno-izlaznih uređaja,
kao i osnove organizacije ulaza/izlaza i prenosa podataka.
U trećem tomu nalazimo prikaz računara kao mašine u kojoj se mogu razlikovati
različiti nivoi, pri čemu je svaki od nivoa detaljno opisan.
Najzad, u četvrtom tomu su arhitektura mikroprocesora i asemblersko
programiranje ilustrovani na primeru, na tržištu svojevremeno veoma uspešnog,
mikroprocesora Motorola MC68020.
Čitalac će u tekstu naći ogroman broj slika, tabela i različitih primera koji bi
trebali da omoguće lakše razumevanje i usvajanje gradiva. Prilično veliki napori su
učinjeni da u tekstu ne bude grešaka. U tom poslu nam je puno pomogao dr Ivan
Milentijević, docent Elektronskog fakulteta u Nišu. Ukoliko grešaka ipak bude, autori se
izvinjavaju čitaocima i zahvaljuju svima onima koji bi na te greške ukazali. Takođe se
autori zahvaljuju recenzentima dr Miroslavu Ćiriću, redovnom profesoru Prirodno-
matematičkog fakulteta u Nišu i dr Milunu Jevtiću, vanrednom profesoru Elektronskog
fakulteta u Nišu, na korisnim primedbama i sugestijama.
U Nišu, jun 2004. Autori
x
Predgovor I delu
Prvi deo četvorotomnog udžbenika RAČUNARSKI SISTEMI nosi naslov PRINCIPI
DIGITALNIH SISTEMA. Osim na PMF-u u Nišu, gradivo koje pokriva ovaj deo predaje se i u
okviru predmeta RAČUNARSKI SISTEMI na Elektrotehničkom fakultetu u Srpskom Sarajevu
(BiH).
Namera autora bila je da se izlože osnovni matematički i logički koncepti koji
predstavljaju temelj računarstva. Ovaj tom sastoji se od devet glava i to:
1. Istorijski razvoj računara
2. Brojni sistemi i prevođenje brojeva
3. Predstavljanje brojeva u računaru
4. Kodiranje, detekcija i korekcija grešaka
5. Bulova i prekidačka algebra i elementarna logička kola
6. Pojednostavljenje prekidačkih funkcija
7. Sekvencijalna kola
8. Registri i brojači
9. Aritmetička kola
Prva glava posvećena je istorijatu razvoja računara počev od prve mašine koja je
mogla da automatski vrši izračunavanja, preko prvih elektronskih digitalnih računara pa do
današnjih dana. Čitalac može da se upozna sa motivima i problemima razvoja računarstva,
kao i tendencijama koje su kroz različite generacije dovele do današnjih računara.
U drugoj glavi objašnjava se pojam brojnog sistema i osnove brojnog sisteme i
daju algoritmi za prevođenje brojeva iz jedne u drugu osnovu. Naročito su istaknuti
binarni, oktalni i heksadecimalni brojni sistem kao najzastupljeniji u računarstvu.
Treća glava sadrži prikaz različitih formi za predstavljanje brojeva u računaru i
načina izvođenja aritmetičkih operacija nad tako predstavljenim brojevima.
U četvrtoj glavi nalaze se neke osnove iz teorije informacija koje su posvećene
kodiranju podataka i metodama za detekciju i korekciju grešaka koje se javljaju prilikom
prenosa podataka.
Peta glava pruža osnove iz Bulove i prekidačke algebre kao i prikaz elementarnih
logičkih kola, tj. kola kojima se realizuju osnovne logičke funkcije.
Šesta glava se praktično bavi sintezom kombinacionh mreža, pri čemu je
najznačajniji aspekt tog problema minimizacija prekidačikih funkcija na osnovu kojih se
vrši sinteza kola.
Sedma glava je posvećena sekvencijalnim kolima, počev od teorijskih temelja,
preko elementarnih sekvencijalnih kola kao što su lečevi i flip-flopovi, pa do analize i
sinteze sekvencijalnih kola.
Osma i deveta glava u suštini predstavljaju prikaz na koji su način teorijske
osnove iz prethodnih glava upotrebljne za projektovanje osnovnih digitalnih kola iz kojih
se sastoje računari, kao što su registri, brojači i aritmetička kola.
Ukupno se u tekstu može naći 198 slika, 14 tabela i 63 rešena primera, uz izvestan
broj nerešenih zadataka koji se nalaze na kraju pojedinih glava.
U Nišu, jun 2004. Autori
SADRŽAJ
Sadržaj v
Predgovor ix
Predgovor I delu x
1. Istorijski razvoj računara 1
1.1. Praistorija 1
1.2. Prva generacija (1945-1955) 3
1.3. Druga generacija (1955-1965) 6
1.4. Treća generacija (1965-1980) 7
1.5. Četvrta generacija (1980 do danas) 8
1.6. Peta generacija (u razvoju) 10
1.7. Istorijat razvoja mikroprocesora i mikroračunara 10
2.Brojni sistemi i prevođenje brojeva 13
2.1. Konverzija baze 13
2.1.1. Pozicioni brojni sistemi 13
2.2. Prevođenje brojeva iz jednog brojnog sistema u drugi 15
2.2.1. Prevođenje brojeva kod koga se operacije izvršavaju u brojnom
sistemu sa osnovom r 15
2
2.2.2. Prevođenje brojeva kod koga se operacije izvršavaju u brojnom
sistemu sa osnovom r 15
1
2.3. Brojanje u sistemu osnove r 18
2.4. Binarne, oktalne i heksadecimalne konverzije 19
2.5. Problemi 23
3. Predstavljanje brojeva u računaru 25
3.1. Predstavljanje celih brojeva u fiksnom zarezu 25
3.1.1. Prezentacija znak-moduo 26
3.1.2. Nepotpuni komplement 26
3.1.3. Potpuni komplement 26
3.2. Obim reči 26
3.3. Tačnost 27
3.4. Odsecanje i zaokruživanje 28
3.5. Binarna aritmetika 29
3.5.1. Sabiranje 29
3.5.2. Oduzimanje 30
3.5.3. Množenje 32
3.5.4. Deljenje 32
vi RAČUNARSKI SISTEMI: Principi digitalnih sistema
_________________________________________________________________________
___________________
3.6. Komplement aritmetika 33
3.6.1. Aritmetika u prezentaciji znak-moduo 33
3.6.2. Aritmetika u prezentaciji potpunog komplementa 34
3.7. Predstavljanje znakova 42
3.8. Predstavljanje brojeva u pokretnom zarezu 43
3.8.1. Normalizovana notacija 43
3.8.2. Opseg broja u pokretnom zarezu 44
3.8.3. Preciznost broja u pokretnom zarezu 44
3.8.4. Brojna osnova 44
3.8.5. Struktura FP formata 44
3.8.6. Predstavljanje broja nula 44
3.8.7. Nevidljivi bit 44
3.8.8. Standardi za FP 45
3.9. Problemi 46
4. Kodiranje, detekcija i korekcija grešaka 49
4.1. Težinski kodovi 49
4.2. Netežinski kodovi 51
4.2.1. Kod "višak 3" 51
4.2.2. Ciklični kod 52
4.2.3. Grejov kod 52
4.3. Detekcija grešaka 54
4.3.1. Definicija rastojanja 54
4.3.2. Kodovi za detekciju grešaka 56
4.3.3. Kod za proveru parnosti 56
4.3.4. M-izlaza-od-N kodovi 57
4.3.5. Bikvinari kodovi 57
4.3.6. Kodovi sa ostatkom 58
4.4. Kodovi za korekciju i detekciju grešaka 60
4.4.1. Bergerovi kodovi 60
4.5. Kodovi za korekciju 61
4.5.1. Hemingovi kodovi 62
4.6. Problemi 69
5. Bulova i prekidačka algebra i elementarna logička kola 71
5.1. Osnovni postulati i teoreme 71
5.2.Prekidačka algebra 75
5.2.1. Prekidačke funkcije i izrazi 76
5.2.2. Zadavanje prekidačkih funkcija 76
5.2.3. Fiktivne promenljive prekidačkih funkcija 79
5.2.4. Superpozicija prekidačkih funkcija 79
5.2.5. Osobine nekih funkcija jedne i dve nezavisne promenljive 79
5.2.6. Potpuna disjunktivna normalna forma i potpuna konjuktivna
normalna forma funkcije 81
5.2.7. Klase prekidačkih funkcija i potpuni skupovi prekidačkih funkcija 82
5.3. Elemenetarna logička kola 87
5.3.1. AND 87
Sadržaj vii
_________________________________________________________________________
___________________
5.3.2. OR 87
5.3.3. NOT 87
5.3.4. Izvedena logička kola 87
5.3.5. Ostali tipovi logičkih kola 88
5.4. Problemi 89
6. Pojednostavljenje prekidačkih funkcija 91
6.1. Algebarske manipulacije 91
6.2. Implikanti 92
6.3. Metoda Karnoovih mapa 93
6.4. MakKlaskijev metod minimizacije prekidačkih funkcija 106
6.5. Minimizacija kombinacionih mreža sa većim brojem ulaza i izlaza 112
6.6. NAND-NAND i NOR-NOR logika 115
6.6.1. NAND-NAND logika 116
6.6.2. NOR-NOR logika 118
6.6.3. Implementacija kombinacione logike pomoću ExOR logičkih kola 120
6.7. Korisna kola 122
6.7.1. Multiplekseri 123
6.7.2. Demultiplekseri 128
6.7.3. Dekoderi 130
6.8. Magistrale sa tri stanja 132
6.9. Programabilna kola 135
6.9.1. Komutatori tačaka ukrštanja 136
6.9.2. Programabilna AND i OR kola 137
6.9.3. Tipovi PLD kola 139
7. Sekvencijalna kola 147
7.1. Odnos između kombinacionih i sekvencijalnih kola 147
7.2. Pojam sekvencijalnih kola 148
7.3. Struktura sekvencijalnih kola 149
7.3.1. Podela sekvencijalnih kola 150
7.4. Lečevi 150
7.4.1. SR leč 150
7.4.2. D leč 153
7.5. Flip-flopovi 155
7.5.1. Metodi taktovanja 155
7.5.2. Kombinovanje lečeva kod flip-flopova 157
7.5.3. Master-slave flip-flop - okidanje na nivo 157
7.5.4. Master-slave JK flip-flop - okidanje na nivo 158
7.5.5. Flip-flop koji se okida na ivicu 158
7.5.6. Ivično okidani D flip-flop 159
7.5.7. Ivično okidani JK flip-flop 161
7.5.8. T flip-flop 163
7.6. Analiza rada sekvencijalnih kola 165
7.6.1. Tabela stanja i dijagram stanja 165
7.6.2. Strukture sinhronih sekvencijalnih kola 168
7.6.3. Opis rada sekvencijalnih kola 172
viii RAČUNARSKI SISTEMI: Principi digitalnih sistema
_________________________________________________________________________
___________________
7.7. Procedura za projektovanje sekvencijalnih kola 176
7.7.1. Specifikacija problema 176
7.7.2. Konstrukcija dijagrama stanja i tabele stanja 177
7.7.3. Redudantna stanja 178
7.7.4. Izvođenje jednačine stanja 184
8. Registri i brojači 189
8.1. Registri 190
8.2. Pomerački registri 192
8.3. Brojači 194
8.3.1. Ripple brojač 195
8.3.2. Sinhroni brojač 201
9. Aritmetička kola 205
9.1. Sabiranje 205
9.1.1. Elementarna kola za sabiranje 205
9.1.2. Serijski i paralelni sabirači 208
9.1.3. Carry-lookahead sabirači 210
9.1.4. Carry select sabirači 219
9.1.5. Carry save sabirači 220
9.1.6. Carry-skip sabirači 224
9.1.7. Protočni sabirači 225
9.1.8. BCD sabirači 225
9.2. Kola za oduzimanje 227
9.3. Množači 230
9.3.1. Strukture množača neoznačenih brojeva 231
9.3.2. Množenje označenih brojeva 232
9.4. Deljenje 237
9.5. Komparatori 238
Indeks 241
Literatura 245
1. ISTORIJSKI RAZVOJ RAČUNARA
Kao i svaka istorija, i istorija razvoja elektronskih digitalnih računara ima i svoju
praistoriju, tj. pojavi savremenih računara prethodili su mnogi pokušaji da se napravi
nekakva mašina sposobna da izvodi jednostavnije ili složenije računske operacije. U ovoj
glavi ćemo izvršiti kratak pregled, kako tih "praistorijskih" pokušaja, tako i pregled razvoja
različitih generacija računara.
1.1. Praistorija
Ako ne računamo različita ručna računska sredstva, poput različitih vrsta
računaljki i abakusa koji su se javili još u starom veku, možemo reći da je prvu računsku
mašinu napravio 1642. godine poznati francuski matematičar i fizičar Blez Paskal (Blaise
Pascal, 1623-1662). On je tada imao samo 19 godina a pomenuti poduhvat je izveo da bi
pomogao svom ocu koji je bio poreznik. Paskalova mašina je bila u potpunosti mehanička i
koristila je zupčanike a pokretala se okretanjem ručice. Ta mašina je mogla da izvodi
jedino operacije sabiranja i oduzimanja.
Međutim, trideset godina kasnije je slavni nemački matematičar Lajbnic (Gottfried
Wilhelm von Leibnitz, 1646-1716) napravio računsku mašinu koja je, osim sabiranja i
oduzimanja, mogla da izvršava i operacije množenja i deljenja. Naravno da je i ova mašina
bila u potpunosti mehanička i nije donela nikakvu novinu u tehnologiji, ali ipak predstavlja
ekvivalent jednostavnog džepnog kalkulatora 300 godina pre pojave džepnih kalkulatora
kakve danas koristimo.
Na ovom polju se ništa nije dešavalo narednih 150 godina, sve dok Čarls Bebidž
(Charles Babbage, 1792-1871), profesor matematike na Univerzitetu Kembridž, nije
izumeo diferencnu mašinu. Ova, takođe mehanička mašina, je mogla samo da sabira i
oduzima, a koristila se za izračunavanje tablica u pomorskoj navigaciji. Mašina je
projektovana tako da je izvršavala uvek isti algoritam, metod konačnih razlika korišćenjem
polinoma. Najinteresantnija karakteristika diferencne mašine je njeno rešenje izlaza.
Rezultati su upisivani na bakrenu ploču pomoću čeličnih kalupa. Na izvestan način,
upotrebljeni metod je nagovestio kasniju primenu write-once medijuma, kao što su bile
bušene kartice ili prvi optički diskovi.
Mada je diferencna mašina radila prilično dobro, Bebidž se nije zadovoljavao
računskim sredstvom koje je moglo da izvršava samo jedan algoritam. Ubrzo je počeo da
troši, za ono vreme, sve veće i veće sume sopstvenog kao i veliku svotu vladinog novca, na
projekat i konstrukciju naslednika diferencne mašine kojeg je nazvao analitička mašina.
Analitička mašina se može smatrati prvim mehaničkim programabilnim
računarom. Ona je imala četiri dela: memoriju, jedinicu za izračunavanje i ulaznu i izlaznu
jedinicu zasnovane na principu bušenih kartica (naravno, sa odgovarajućim čitačem i
2 RAČUNARSKI SISTEMI: Principi digitalnih sistema
bušačem kartica). Memorija je bila kapaciteta 1000 reči od po 50 decimalnih cifara i služila
je za smeštanje promenljivih i rezultata. Jedinica za izračunavanje je mogla da prihvati
operande iz memorije, da ih sabira, oduzima, množi ili deli, i da vrati rezultat u memoriju.
Kao i diferencna, i analitička mašina je bila u potpunosti mehanička.
Veliki napredak u odnosu na diferencnu mašinu sastojao se u tome što je
analitička mašina bila računar opšte namene. Instrukcije su se čitale sa bušenih kartica i
izvršavale. Neke instrukcije su nalagale prenos dva broja iz memorije u jedinicu za
izračunavanje, izvršavanje određene operacije nad njima i vraćanje rezultata u memoriju.
Druga grupa instrukcija je mogla da izvrši testiranje broja i uslovno grananje u odnosu na
to da li je broj negativan ili pozitivan. Upisivanje različitih programa na bušene kartice je
omogućavalo da analitička mašina izvršava različita izračunavanja, dok to nije bio slučaj sa
diferencnom mašinom.
Kako je analitička mašina bila programabilna, potreban je bio softver, a samim tim
i programer. Bebidž je za taj posao najmio ženu po imenu Ada Avgusta Lovelas, inače
kćerku lorda Bajrona. Gospođa Ada je tako prvi programer na svetu i njoj u čast je
programski jezik Ada dobio ime (naročito zbog činjenice, što je naknadno utvrđeno, da su
svi programi koje je ona napisala bili korektni).
Na žalost, Bebidž nikada nije do kraja realizovao analitičku mašinu zbog njene
komplikovane mehaničke konstrukcije i nesavršenosti tehnologije devetnaestog veka. Ipak,
njegov rad ima veliki značaj, s obzirom da i moderni računari imaju sličnu strukturu, pa se
može reći da je Bebidž praotac modernih digitalnih računara.
Kako su sva pomenuta računska sredstva bila mehanička, za praktične početke
razvoja električnih računara uzimaju se tridesete i četrdesete godine XX veka. Prvi veliki
korak u razvoju ovih mašina načinio je nemački student tehnike Konrad Zuse koje je tokom
tridesetih godina napravio niz automatskih računskih mašina zasnovanih na tehnologiji
elektromagnetnih releja. Interesantno je to da Zuse nije bio upoznat sa Bebidževim radom.
Njegove mašine su uništene u bombardovanjima tokom II svetskog rata, tako da one nisu
uticale na dalji razvoj u ovoj oblasti. Ipak, Zuse je jedan od pionira na ovom polju.
Nešto kasnije su Džon Atanasov (John Atanasoff) sa Ajova Stejt Koledža i
Džordž Stibic (George Stibbitz) iz Belovih Laboratorija projektovali kalkulatore.
Atanasovljeva mašina je bila jako napredna za ono vreme. Koristila je binarnu aritmetiku i
imala kondenzatore kao memorijske elemente koji su se povremeno osvežavali radi
sprečavanja curenja naelektrisanja. Savremeni dinamički RAM čipovi upravo rade na ovom
principu. Međutim, ova mašina nikada nije proradila zbog neodgovarajuće tehnologije
ondašnjeg doba. Stibizov računar je bio primitivniji od Atanasovljevog, ali je proradio. Rad
ove mašine je javno demonstriran 1940. godine na konferenciji u Darmut Koledžu. U
publici je bio i Džon Mokli (John Mauckley), tada anonimni profesor fizike na
Pensilvanijskom Univerzitetu.
Dok su Zuse, Stibic i Atanasov projektovali automatske kalkulatore, jedan mladić
po imenu Hauard Ejken (Howard Aiken) se mučio ručno vršeći složena numerička
izračunavanja tokom svog rada na doktorskoj disertaciji na Harvardu. Pošto je odbranio
disertaciju shvatio je važnost mogućnosti računanja pomoću mašina. Otišao je u biblioteku
i tamo otkrio Bebidžov rad. Odlučio je da napravi mašinu opšte namene na bazi releja
umesto mehaničkih zupčanika zbog kojih Bebidž i nije uspeo. Njegova prva mašina, Mark
I, završena je 1944. godine na Harvardu. Imala je 72 reči memorije od po 23 decimalne
cifre, i ciklus instrukcije od 6 sekundi. Za ulaz i izlaz su korišćene bušene papirne trake. U
vreme kada je Ejken dovršio sledeću mašinu Mark II, elektromagnetni releji bili su
prevaziđeni. Počela je era elektronike i era elektronskih digitalnih računara.
1. Istorijski razvoj računara 3
Prava istorija elektronskih digitalnih računara deli se u nekoliko generacija.
Vremenske periode tokom kojih su pojedine generacije trajale treba uzeti samo
orijentaciono, jer različiti autori navode različite podatke. Ovo otuda što su računari
pojedine generacije korišćeni i posle nastanka nove generacije računara, tako da je teško
povući preciznu granicu.
1.2. Prva generacija (1945-1955)
Motiv za ubrzani rad na elektronskim računarima bio je II svetski rat. Tokom
jednog dela rata nemačke podmornice su pravile pustoš među britanskim brodovima.
Komande i podaci o kretanju savezničkih brodova bili su slati iz Berlina putem radio veze.
Naravno da su Britanci mogli da prisluškuju te radio poruke, ali je problem bio što su one
bile šifrovane pomoću uređaja koji se zvao ENIGMA (interesantno je da je preteča ove
mašine bio uređaj koji je konstruisao pronalazač amater Tomas Džeferson (Thomas
Jeferrson) - bivši predsednik SAD). Još na početku rata je britanska obaveštajna služba
uspela da nabavi jedan primerak mašine ENIGMA. Ali, da bi se vršilo dešifrovanje,
potrebno je bilo vršiti veliki broj izračunavanja, a sve je to moralo da bude obavljeno vrlo
brzo pošto se radio poruka uhvati. Britanska vlada je oformila tajnu laboratoriju gde je
napravljen elektronski računar nazvan COLOSSUS. U projektovanju mašine učestvovao je
i čuveni engleski matematičar Alen Tjuring (Alan Turing). COLOSSUS je proradio 1943,
ali pošto je britanska vlada držala u strogoj tajnosti ovaj projekat i na njega je, kao na vojnu
tajnu, stavljen tridesetogodišnji embargo, to COLOSUSS predstavlja slepo crevo, obzirom
da nije uticao na razvoj drugih elektronskih računara. Ipak, bio je to prvi elektronski
računar.
Osim što je izazvao uništenje Zuseovog rada, i podstakao konstruisanje
COLOSSUS-a, rat je uticao na razvoj računarstva i u SAD. Vojsci SAD je, radi zauzimanja
elemenata u teškoj artiljeriji, bilo potrebno izračunavanje različtih tabela. Taj posao je,
kada se ručno obavljao, zahtevao određeno vreme i bio je podložan greškama.
Već pomenuti Mokli, koji je bio upoznat sa radom Atanasova i Stibica, znao je za
potrebu armije za mehaničkim kalkulatorom, ali je predložio izradu elektronskog računara.
Predlog je prihvaćen 1943. godine, i Mokli i njegov postdiplomac Ekert (J. Presper Eckert)
su počeli da rade na elektronskom računaru koga su nazvali ENIAC (Electronic Numerical
Integrator And Computer). Ova mašina se sastojala od 18000 vakuumskih cevi i 1500
releja. ENIAC je bio težak 30 tona i zauzimao je veličinu odbojkaškog igrališta. Snaga
mašine bila je 140kW. Zli jezici kažu da se kvario u proseku svakih sedam minuta (što nije
čudo, obzirom na ogromnu disipaciju i upotrebljenu tehnologiju) a za množenje dva broja
potrebne su bile 3ms. Što se arhitekture tiče, ENIAC je imao dvadeset registara, a svaki je
mogao da sadrži desetocifreni decimalni broj, i to tako što je svaka cifra predstavljena sa po
deset vakuumskih cevi. Programirao se postavljanjem 6000 multipozicionih prekidača a
veze između komponenata su bile žičane.
Mašina je završena 1946. godine kada je bilo prekasno da se upotrebi u svrhu za
koju je originalno bila namenjena. Međutim, kako je rat bio završen, Mokli i Ekert su
organizovali letnju školu sa ciljem da objasne svoj rad kolegama. Ova letnja škola
predstavlja početak eksplozije interesovanja za izgradnju velikih računara.
Posle tog istorijskog trenutka mnogi drugi istraživači se se dali na posao
proizvodnje elektronskih računara. Prvi naredni računar koji je proradio 1949. godine bio
je EDSAC izgrađen na Univerzitetu Kembridž u Velikoj Britaniji. Njegov autor bio je
4 RAČUNARSKI SISTEMI: Principi digitalnih sistema
Moris Vilks (Maurice Wilkes), a ovaj računar vredi pomenuti jer je to bio prvi računar sa
zapamćenim programom. Sledili su JOHNIAC napravljen u firmi Rand Corporation,
ILLIAC napravljen na Univerzitetu u Ilinoisu, MANIAC iz Los Alamos Laboratory i
WEIZAC sa Vajcmanovog instituta u Izraelu.
Ekert i Mokli su počeli da rade na narednom računaru EDVAC (Electronic
Discrete Variable Automatic Computer), ali je taj projekat bio fatalno ugrožen kada su njih
dvojica napustila Univerzitet u Pensilvaniji radi osnivanja kompanije u Filadelfiji (Eckert-
Mauchley Computer Corporation). Posle više fuzionisanja, ova kompanija je postala
današnja Unisys Corporation.
U međuvremenu, jedan od učesnika ENIAC projekta, Džon fon Nojman (John
von Neumann) je otišao na Prinstonov Institut za napredne studije da bi radio na sopstvenoj
verziji EDVAC-a, koju je nazvao IAS mašina. U vreme kada je počeo da se bavi
računarima fon Nojman je bio jedan od najvećih matematičara toga doba. Za njega kažu da
je bio genije kalibra Leonarda da Vinčija. Govorio je više jezika, bio je stručnjak za fiziku i
matematiku i mogao je da se priseti svega što je ikada čuo, video ili pročitao.
Fon Nojman je zaključio da je programiranje računara pomoću velikog broja
prekidača i kablova sporo i teško, i da je bolje program predstaviti u digitalnom obliku u
memoriji računara. On je takođe shvatio da je, umesto decimalne aritmetike koju je koristio
ENIAC, bolje koristiti binarnu aritmetiku (s obzirom da je kod ENIAC-a svaka cifra
predstavljana sa po deset vakuumskih cevi od kojih je uvek samo jedna bila upaljena).
Njegov arhitekturni princip, poznat kao fon Nojmanova mašina, primenjen je kod prvog
računara sa zapamćenim programom EDSAC, i još uvek je osnova za gotovo sve računare i
do današnjih dana. Ova arhitektura, kao i IAS mašina koju je fon Nojman izradio u saradnji
sa Hermanom Goldštajnom (Herman Goldstine), imala je ogroman uticaj na dalji razvoj
računara. Skica ove arhitekture je prikazana na slici 1.1.
Memorija
Ulaz
Aritmetičko
logička jedinica Izlaz
Upravljačka
jedinica
Akumulator
Sl. 1.1. Originalna fon Nojmanova mašina.
Fon Nojmanova mašina je imala pet osnovnih delova: memoriju, aritmetičko
logičku jedinicu, jedinicu za upravljanje programom i ulaznu i izlaznu opremu. Memorija
se sastojala od 4096 reči od kojih je svaka imala 40 bitova. Svaka reč je sadržala ili dve 20-