3. Stručni rad Boris Dedejić
3. FON - NOJMANOVA ARHITEKTURA RAČUNARA
3.1. Kratka biografija (John von Neumann)
Generalno se smatra jednim od najuspješnijih matematičara 20.
vijeka. Bio je pionir primjene teorije operatora u kvantnoj mehanici,
ključna figura u razvoju teorije igara, koncepta celularnih automata i
univerzalnih konstruktora. Između 1926 - 30 radi kao docent na
Berlinskom Univerzitetu, a 1930 emigrira u SAD, gdje radi kao
profesor matematike na Institutu naprednih studija, Prinstonskog
Univerziteta od njegovog formiranja 1933 do kraja života.
Kao što je već ranije poznato, najranije mašine za računanje nisu bile
program mabilne, odnosno radile su po unaprijed fksiranom programu.
Takva arhitektura se i danas koristi kod nekih jednostavnijih mašina. Tako,
na primjer, današnji digitroni (džepni kalkulatori) predstavljaju mašine koje
rade po unaprijed fksiranom programu. Najraniji elektronski računari nisu
programirani u današnjem smislu te riječi, već su suštinski redizajnirani da
bi izvršavali nove zadatke. Tako su, na primjer, operaterima bile potrebne
nedjelje da bi prespojili žice u okviru kompleksnog sistema ENIAC i tako ga
instruisali da izvršava novi zadatak.
Potpuna konceptualna promjena je došla kasnih 1940-tih, sa pojavom
računara koji programe na osnovu kojih rade čuvaju u memoriji zajedno sa
podacima. Iako ideje za ovaj koncept datiraju još od Čarlsa Bebidža i
njegove analitčke mašine i nastavljaju se kroz radove Tjuringa, Ekerta i
Moučlija, za rodo načelnika ovakve arhitekture račuara smatra se Džon Fon
Nojman. Fon Nojman je 1945. u svom izvještaju o računaru EDVAC
("Electronic Discrete Variable Automatic 14 1 Računarstvo i računarski
sistemi Computer") opisao arhitekturu računara koja se i dan danas koristi u
najvećem broju savremenih računara i u kojoj se programi mogu učitavati
isto kao i podaci za obradu. Računar EDVAC, naslednik računara ENIAC,
koristio je binarni zapis brojeva, u memoriju je mogao da upiše 1000 44-
bitnih podataka i, što je najvažnije, omogućavao učitavanje podataka u
memoriju. Tvorci računara EDVAC, počeli su 1951. godine proizvodnju
prvog komercijalnog računara UNI-VAC.
Osnovni elementi Fon Nojmanove arhitekture računara su procesor tj.
CPU (engl. Central Processing Unit) i glavna memorija, koji su medusobno
povezani. Ostale komponente računara (npr. ulazno-izlazne jedinice,
-3-
4. Stručni rad Boris Dedejić
spoljašnje memorije,) smatraju se pomoćnim i povezuju se na jezgro
računara koje čine processor i glavna memorija.
Procesor se sastoji od kontrolne jedinice (engl. Control Unit) koja upravlja
njegovim radom i aritmetičko-logičke jedinice (engl. Arithmetic Logic Unit)
koja je zadužena za izvođenje aritmetičkih operacija (sabiranje, oduzimanje,
množenje, poređenje, . . . ) i logičkih operacija (konjunkcija, negacija, ) nad
brojevima. Procesor sadrži i određeni, manji broj, registara koji privremeno
mogu da čuvaju podatke. Registri su obično fiksirane širine (8 bita, 16 bita,
32 bita, 64 bita). Aritmetičko logička jedinica sprovodi operacije nad poda-
cima koji su smješteni u registre računara i rezultate ponovo smješta u
register računara.
Memorija je linearno uređeni niz registara (najčešće bajtova), pri čemu
svaki registar ima svoju adresu. U memoriji se čuvaju podaci, ali i programi.
I podaci i programi se zapisuju isključivo kao binari sadržaj i nema nikakve
suštinske razlike između zapisa programa i zapisa podataka. Podaci se mogu
prenositi između registara procesora i memorije (ponekad isključivo preko
specijalizovanog registra koji se naziva akumulator). Sva obrada podataka se
vrši isključivo u procesoru. Programi su predstavljeni nizom elementarnih
instrukcija (kojima se procesoru zadaje koju akciju ili operaciju da izvrši).
Kontrolna jedinica procesora dekodira instrukciju po instrukciju programa
upisanih u memoriji i na osnovu njih određuje sljedeću akciju sistema (npr.
izvrši prenos podataka iz procesora na određenu memorijsku adresu, uradi
određenu aritmetičku operaciju nad sadržajem u registrima procesora, ako je
sadržaj dva registra jedak nakon ove izvrši instrukciju koja se nalazi na
zadatoj memorijskoj adresi i slično).
Moderni programibilni računari se, po pitanju tehnologije koju su koristili,
mogu grupisati u četiri generacije, sve zasnovane na Fon Nojmanovoj
arhitekturi:
I generacija računara (od početka do kraja pedesetih) koristila je
vakuumske cijevi kao logička kola i magnetne doboše za memoriju. Za
programiranje je, gotovo isključivo, korišćen mašinski jezik a glavne
primjene su bile vojne i naučne.
II generacija računara (od kraja pedesetih do polovine šezdesetih) koristila
je tranzistore umjesto vakuumskih cijevi. Umjesto mašinskoj jezika, sve više
se koristio asembler, a razvijeni su i prvi jezici višeg nivoa.
III generacija računara (od polovine šezdesetih do kraja sedamdesetih) bila
je zasnovana na integrisanim kolima smještenim na silikonski čipovima.
-4-
5. Stručni rad Boris Dedejić
Nova tehnologija omogućila je poslovnu primjenu računara u mnogim
oblastima.
IV generacija računara (od kraja sedamdesetih) zasnovana je na visoko
integrisanim kolima kod kojih je na hiljade kola smješteno na jedan
silikonski čip. Ova tehnologija omogućila je razvoj brzih a malih rašunara
pogodnih za kućnu upotrebu.
U širem smislu računar (computer) se definiše i deklariše kao
matematička mašina.
Češće se, koristi nešto uža definicija za specijalnu klasu, koja računar
definiše kao elektronsku, digitalnu, reprogramabilnu mašinu koja može
da obavlja logičko matematičke operacije, unos, obradu i pamćenje
podataka. Elektronska znači da osnov građe računara čine elektronske
komponente, digitalna da obavlja operacije sa brojevima (digit - broj),
reprogramibilna znači da se redosljed operacija može programirati i
mijenjati.
Razvio je koncept računara opšte namjene sa mogućnošću
modifikovanja programa. Jedno memorijska arhitektura računara
postala je standard, nasuprot Hardvarskoj arhitekturi računara gdje su
podaci i programi skladišteni na različitim memorijskim prostorima.
Gotovo svi savremeni desktop kućni računari, mikroračunari, mini
računari, mainframe računari koriste arhitekturu jedinstvene memorije.
3.2. Univerzalni računar
Struktura, tj građa računara (hardware) ne zavisi od zadatka koji se na
njemu rješava. Računar se programira sadržajem memorije. U memoriju se
učitava odgovarajući program koji predstavlja niz naredbi koje se
sekvencijalno izvršavaju. Istovremeno se izvršava samo jedna naredba.
Ovo su osnovni principi univerzalnog Von Neumanovog računara opšte
namjene.
-5-
6. Stručni rad Boris Dedejić
Fon Nojmanova mašina se sastojala od procesora (engl. Central
Processing Unit – CPU) i memorije (slika 2). CPU se sastojao od
upravljačke jedinice, aritmetičke jedinice i ulazno/izlazne jedinice.
Aritmetička jedinica je sadržavala I dva specijalna registra, akumulator i
registar podataka R. Memorija je sadržavala instrukcije (program) i podatke.
Memorija se sastojala od 1024 registra od kojih je svaki imao svoju adresu
(mjesto, lokaciju) – broj od 1 do 1024, a svaki registar je imao po 40 bita.
Sadržaj svakog registra mogao je da se interpretira kao jedan cio broj u
binarnom obliku, ili kao dve (20-bitne) instrukcije. Program se sastojao od
niza binarnih instrukcija (instrukcija zapisanih binarnom azbukom), tj. bio je
na mašinskom jeziku.
Fon Nojmanova mašina se sastojala od procesora (engl. Central
Processing Unit – CPU), memorije i ulazno/izlaznih urenaja (slika 2).
• ulazni uređaj (omogućuje unos podataka u računar),
• izlazni uređaj (omogućuje prikaz podataka koje računar obrađuje.
• memorija (pohrana podataka i naredbi programa) CPU se sastojao od
upravljačke jedinice, aritmetičko-logičke jedinice.
• aritmetičko–logička jedinica (eng. aritmetical logical unit,)
izvođenje aritmetičkih i logičkih operacija. Sadržavala je I dva
specijalna registra, akumulator i registar podataka.
• upravljačka jedinica - dobavlja naredbe koje se nalaze u memoriji, te
na osnovu njih upravlja aritmetičko–logičkom jedinicom, te ulaznim i
izlaznim uređajima računara.
Memorija pohranjuje podatke i programe, te ih po potrebi stavlja na
raspolaganje dijelu sistema kojima su potrebni. Memorija je sadržavala
instrukcije (program) i podatke. Memorija se sastojala od 1024 registra od
kojih je svaki imao svoju adresu (mjesto, lokaciju) – broj od 1 do 1024, a
svaki registar je imao po 40 bita.Sadržaj svakog registra mogao je da se
interpretira kao jedan cio broj u binarnom obliku, ili kao dvije (20-bitne)
instrukcije.
-7-
7. Stručni rad Boris Dedejić
Slika 1. Von Neumanno-ov koncept prlagođen modernim računarima
3.3. Fon Nojmanova (von Neumann) mašina
Struktura savremenog računara veoma je slična strukturi fon Nojmanove
mašine (projektovane kasnih 1940. godina), pa se za savremene elektronske
računare kaže da u osnovi imaju fon Nojmanovu arhitekturu. Opišimo
ukratko strukturu fon Nojmanove mašine (o teorijskoj osnovi fon
Nojmanove mašine, tzv. fon Nojmanovom automatu, biće riječi u sledećoj
tački).
Elementarni fizički objekat fon Nojmanove mašine (pa i savremenih
elektronskih računara – elektronska cijev, tanzistor), koji može da bude u 2
diskretna stanja – protiče struja / ne protiče struja, tj. da ”registruje” binarnu
cifru 0 ili 1, naziva se ćelija. U njoj se može prikazati jedna binarna cifra tj.
jedan bit informacije (engl. ”binary digit” – binarna cifra). Ćelije se u fon
Nojmanovoj mašini organizuju u nizove fiksne dužine koji se nazivaju
registar.
-6-
8. Stručni rad Boris Dedejić
Nova tehnologija omogućila je poslovnu primjenu računara u mnogim
oblastima.
IV generacija računara (od kraja sedamdesetih) zasnovana je na visoko
integrisanim kolima kod kojih je na hiljade kola smješteno na jedan
silikonski čip. Ova tehnologija omogućila je razvoj brzih a malih rašunara
pogodnih za kućnu upotrebu.
U širem smislu računar (computer) se definiše i deklariše kao
matematička mašina.
Češće se, koristi nešto uža definicija za specijalnu klasu, koja računar
definiše kao elektronsku, digitalnu, reprogramabilnu mašinu koja može
da obavlja logičko matematičke operacije, unos, obradu i pamćenje
podataka. Elektronska znači da osnov građe računara čine elektronske
komponente, digitalna da obavlja operacije sa brojevima (digit - broj),
reprogramibilna znači da se redosljed operacija može programirati i
mijenjati.
Razvio je koncept računara opšte namjene sa mogućnošću
modifikovanja programa. Jedno memorijska arhitektura računara
postala je standard, nasuprot Hardvarskoj arhitekturi računara gdje su
podaci i programi skladišteni na različitim memorijskim prostorima.
Gotovo svi savremeni desktop kućni računari, mikroračunari, mini
računari, mainframe računari koriste arhitekturu jedinstvene memorije.
3.2. Univerzalni računar
Struktura, tj građa računara (hardware) ne zavisi od zadatka koji se na
njemu rješava. Računar se programira sadržajem memorije. U memoriju se
učitava odgovarajući program koji predstavlja niz naredbi koje se
sekvencijalno izvršavaju. Istovremeno se izvršava samo jedna naredba.
Ovo su osnovni principi univerzalnog Von Neumanovog računara opšte
namjene.
-5-