Von Neumannova arhitektura

Poleg tega, da imamo pri von Neumannovi arhitekturi program v pomnilniku, zanjo velja še preprosta shema soodvisnosti gradnikov:

Sestavljena je iz treh sklopov: centralne procesne enote (CPE), pomnilnika ter vhodno-izhodnih naprav. Osrednjo vlogo ima CPE, ki izvaja program tako, da prevzema ukaze enega za drugim iz pomnilnika ter jih izvršuje. Ukaz praviloma opravi neko operacijo na podatkih, ki jih imenujemo operandi. Operandi so lahko prav tako shranjeni v pomnilniku ali pa so prebrani iz vhodno-izhodnih naprav. Vhodno-izhodne naprave omogočajo komunikacijo CPE z okolico. Tipične vhodno-izhodne naprave so tipkovnica, zaslon, omrežna kartica, grafična kartica idr.

CPE vsebuje:

  • registre, v katerih lahko hrani operande, s katerimi računa;
  • aritmetično-logično enoto, ki lahko izvaja zahtevane aritmetične in logične operacije;
  • kontrolno enoto, ki nadzira delovanje CPE.

Programski števec

Kontrolna enota najprej prebere ukaz iz glavnega pomnilnika. Ukaz se v glavnem pomnilniku nahaja na naslovu, ki ga hrani programski števec (ang. program counter, PC). Programski števec je eden od registrov v centralni procesni enoti, ki ima zelo pomembno vlogo, da hrani naslov naslednjega ukaza, ki se naj izvede. Vsakič ko se prevzame ukaz iz pomnilnika, se vrednost programskega števca samodejno poveča za 1, kar običajno zapišemo kot: PC = PC + 1.

Ukaz se na splošno izvaja v več zaporednih korakih:

  1. Ko je ukaz dostavljen iz pomnilnika do kontrolne enote, ga ta začne dekodirati.
  2. Dekodiranje ukaza je postopek, s katerim se iz ukaza ugotavlja, kakšna operacija naj se izvede v aritmetično-logični enoti in kje so operandi, potrebni za izvajanje ukaza.
  3. Operandi so najpogosteje v registrih. Če jih tam ni, jih dobimo iz pomnilnika ali vhodno-izhodne enote.
  4. Pripravljeni operandi se prenesejo na vhod aritmetično-logične enote, ki na njih izvede zahtevano operacijo.
  5. V zadnjem koraku se rezultat operacije shrani bodisi v notranje registre, pomnilnik ali vhodno-izhodno enoto.