Von Neumannova arhitektura

Šematski[mrtav link] prikaz Von Neumannove arhitekture

Von Neumannova arhitektura, poznata i kao von Neumannov model ili Princeton arhitektura je računarska arhitektura zasnovana na opisu matematičara i fizičara Johna von Neumanna iz 1945. godine u Prvom nacrtu izvještaja o EDVAC-u.[1] Taj dokument opisuje dizajn arhitekture za elektronski digitalni kompjuter sa ovim komponentama:

Izraz "von Neumannova arhitektura" se danas odnosi na svaki računar koji sprema programske instrukcije u elektronsku memoriju u kojoj se instrukcijski ciklus i podatkovna operacija ne mogu desiti u istom momentu jer dijele zajedničku sabirnicu . To se naziva Von Neumannovo usko grlo i često ograničava performanse sistema.[3]

Dizajn ove arhitekture je jednostavniji od harvardske arhitektonske mašine koji je također sistem pohranjenog programa, ali ima jedan namjenski skup adresa i podatkovnih sabirnica za čitanje i pisanje u memoriju, te drugi skup adresa i podatkovnih sabirnica za dohvaćanje instrukcija.

Digitalni računar pohranjenog programa čuva i programske upute i podatke u memoriji sa nasumičnim pristupom (RAM) za čitanje i pisanje. Računari sa pohranjenim programom bili su napredak nad računarima iz 1940-ih, poput Colossus-a i ENIAC-a. Oni su programirani postavljanjem prekidača i umetanjem kablova za usmjeravanje podataka i upravljačkih signala između različitih jedinica.

Sposobnosti

U velikoj mjeri, sposobnost tretiranja uputa kao podataka je omogućilo asemblere, kompajlere, linkere, loadere i druge alate za automatsko programiranje. Omogućava "programe koji pišu programe".[4]

Neki programski jezici visokog nivoa utiču na von Neumannovu arhitekturu tako što pružaju apstraktni, mašinski nezavisan način manipulacije izvršnim kodom pri izvođenju (npr. LISP).

Rani računari von Neumannove arhitekture

  • ARC2 (Birkbeck, Univerzitet u Londonu) 12. maj 1948.[5]
  • Manchester Baby (Univerzitet Victoria u Manchesteru, Engleska) 21. juni 1948.
  • EDSAC (Univerzitet u Cambridgeu, Engleska) maj 1949
  • Manchester Mark 1 (Univerzitet u Manchesteru, Engleska) juni 1949
  • CSIRAC, Australija, novembar 1949.
  • EDVAC, 1951
  • ORDVAC, novembar 1951[6]
  • IAS mašina na Univerzitetu Princeton, januar 1952
  • MANIAC I, mart 1952.
  • ILLIAC, septembar 1952.
  • BESM-1 u Moskvi, 1952
  • BESK u Štokholmu, 1953
  • JOHNNIAC, Izrael, januar 1954.
  • DASK u Danskoj, 1955.
  • PERM u Minhenu, 1956.?

Evolucija

Evolucija arhitekture sa jednom sistemskom sabirnicom

Između 1960-ih i 1970-ih računari su uglavnom postali i manji i brži, što je dovelo do evolucije u njihovoj arhitekturi. Na primjer, memorijski mapirani ulazno/izlazni uređaji se mogu tretirati isto kao i memorija.[7] Jedna sistemska sabirnica se može koristiti za pružanje modularnog sistema. To se ponekad naziva "moderniziranje" arhitekture.[8] U sljedećim desetljećima, jednostavniji mikrokontroleri su često izostavljali neke mogućnosti zbog smanjivanja troškova ili veličine uređaja. S druge strane, veći računari dodavali mogućnosti za veće performanse.

Ograničenja dizajna

Von Neumannovo usko grlo

Dijeljena sabirnica između programske memorije i podatkovne memorije dovodi do von Neumannova uskog grla, ograničene propusnosti (brzina prenosa podataka) između centralnog procesora (CPU) i memorije u odnosu na količinu memorije. Procesor je stalno prisiljen čekati da potrebni podaci pređu u memoriju ili iz nje.

Postoji nekoliko poznatih metoda za ublažavanje uskog grla. Na primjer, sljedeće stvari mogu poboljšati performanse:

  • Procesorska keš memorija (cache) između CPU-a i glavne memorije
  • korištenje algoritama i logike za predviđanje grananja.
  • Smanjenje latencije između procesorskih registara i glavne memorije, pružajući veću lokalnost referenci —​ pojava koja opisuje istu vrijednost, ili odgovarajuće lokacije za skladištenje kojima se često pristupa

Problem se može donekle zaobići i paralelnim sistemima, koristeći na primjer, NUMA arhitekturu —​ ovaj pristup se obično koristi kod superračunara.

Također pogledajte

  • Mašina sa slučajnim pristupom
  • Turing mašina
  • Neuromorfni inženjering
  • Eckert arhitektura

Reference

  1. ^ a b First Draft of a Report on the EDVAC (PDF), 1945, arhivirano s originala (PDF), 14. 3. 2013, pristupljeno 24. 8. 2011 CS1 održavanje: nepreporučeni parametar (link)
  2. ^ Ganesan 2009
  3. ^ The Von Neumann Bottleneck, 2007, arhivirano s originala, 12. 12. 2013
  4. ^ MFTL (My Favorite Toy Language) entry Jargon File 4.4.7, pristupljeno 11. 7. 2008
  5. ^ "The Development of Computer Programming in Britain (1945 to 1955)". IEEE Annals of the History of Computing. 4 (2): 121–139. april 1982. doi:10.1109/MAHC.1982.10016.
  6. ^ Illiac Design Techniques, report number UIUCDCS-R-1955-146, Digital Computer Laboratory, University of Illinois at Urbana-Champaign, 1955
  7. ^ "A New Architecture for Mini-Computers—The DEC PDP-11" (PDF), Spring Joint Computer Conference, str. 657–675, 1970 CS1 održavanje: nepreporučeni parametar (link)
  8. ^ The essentials of computer organization and architecture (3rd izd.), Jones & Bartlett Learning, 2010, str. 36, 199–203, ISBN 978-1-4496-0006-8

Vanjski linkovi