Von-Nojmanov model računara
Prvi elektronski računar, ENIAC, je, kako smo već spomenuli, koristio bušene kartice za pohranjivanje računara sa podacima (koji će biti obrađeni), a programiranje (tj. definisanje programa) je rađeno uključivanjem i isključivanjem kablova i prekidača. John von Neumann (Džon fon Nojman, ili Neumann János, tj. Nojman Janoš, 14. Slika, rođen 1903. u Budimpešti, umro 1957. u Vašingtonu, SAD) je radeći na ENIAC-u 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. Drugim rečima, računar bi trebao da u svojoj memoriji čuva ne samo podatke nego i program. Druga novina koju je predložio je da je bolje koristiti binarnu aritmetiku umesto decimalne (ENIAC je još radio sa decimalnim brojevima). Von Neumann-ov model (ili arhitektura, poznat i kao Fon Nojmanova mašina), je tako postao opšte prihvaćen, i predstavlja osnovu za sve računare do današnjih dana.
John von Neumann (1903-1957)
Originalna von Neumann-ova mašina
Originalna Fon Nojmanova mašina je imala pet osnovnih delova:
- memoriju,
- aritmetičko-logičku jedinicu,
- upravljačku jedinicu,
- ulaznu i
- izlaznu opremu.
Unutar aritmetičko- logičke jedinice je bio jedan specijalni unutrašnji registar nazvan akumulator. Tipične aritmetičke ili logičke operacije unutar aritmetičko-logičke jedinice su se izvršavale korišćenjem ovog akumulatora. Pri izvršavanju te operacije (tačnije, instrukcije), u akumulatoru se nalazio jedan od operanada (podatak) a drugi recimo u operativnoj memoriji. Posle izvršavanja operacije, aritmetičko-logička jedinica je rezultat smestila u akumulator, brišući njegov prethodni sadržaj (tj. prethodni ulazni operand). Ovaj podatak u akumulatoru je bio ponovo korišćen za sledeću mašinsku instrukciju, ili je bio premešten u operativnu memoriju. Naravno, redosled izvršavanja mašinskih instrukcija unutar mašinskog programa je kontrolisala upravljačka jedinica.
Drugim rečima, osnovni koncepti von Neumann-ove arhitekture su sledeći:
• Mašinske instrukcije (tj. program) i podaci se čuvaju u istoj memoriji;
• Svi podaci su predstavljeni u binarnom obliku (umesto decimalnog oblika);
• Mašinske instrukcije slede jedna za drugom u memoriji računara;
• Računar razmenjuje podatke između memorije i aritmetičko-logičke jedinice preko akumulatora;
• Mašinske instrukcije unutar mašinskog programa se izvršavaju jedna za drugom dok se redosled eksplicitno ne promeni naredbom za skok.