- Izboljšanje arhitekture
- Poreklo
- Model
- - Centralna procesna enota (CPU)
- Logična aritmetična enota
- Kontrolna enota
- Zapisi
- - Spomin
- - Vhodni izhod
- - Avtobus
- Kako deluje arhitektura von Neumanna?
- Išči
- Dešifrirajte
- Teči
- Na zalogo
- Steklenica
- Prednost
- Razvoj operacijskih sistemov
- Slabosti
- Reference
Von Neumann arhitektura je teoretično zasnovo, tako da so lahko računalniški program shranjen v notranjosti, ki služi kot osnova za skoraj vse računalnike, ki so trenutno naredili.
Naprava von Neumanna je sestavljena iz centralne procesne enote, ki vključuje aritmetično logično enoto in krmilno enoto, pa tudi glavni pomnilnik, sekundarno shranjevanje in vhodno / izhodne naprave.

Vir: David strigoi - Lastno delo, Public Domain, commons.wikimedia.org
Ta arhitektura predpostavlja, da vsako računanje izvleče podatke iz pomnilnika, jih obdela in nato pošlje nazaj v pomnilnik.
V von Neumannovi arhitekturi se za shranjevanje podatkov in navodil, ki izvajajo program, uporablja isti pomnilnik in enaka vodila.
Izboljšanje arhitekture
Ker ni mogoče dostopati do podatkov in programskega pomnilnika hkrati, je arhitektura von Neumanna nagnjena k ozkim grlom in zmanjšuje delovanje računalnika. To je tisto, kar je znano kot ozko grlo von Neumanna, kjer vplivajo moč, zmogljivost in stroški.
Ena od izvedenih sprememb je vključevala ponovno razmišljanje, koliko podatkov je dejansko treba poslati v pomnilnik in koliko jih je mogoče shraniti lokalno.
Na ta način lahko namesto pošiljanja vsega v pomnilnik več predpomnilnikov in proxy predpomnilnikov zmanjša pretok podatkov iz procesorskih čipov v različne naprave.
Poreklo
Leta 1945, po drugi svetovni vojni, sta dva znanstvenika samostojno vzgojila, kako sestaviti bolj popravljiv računalnik. Eden od njih je bil matematik Alan Turing, drugi pa enako nadarjeni znanstvenik John Von Neumann.
Britanec Alan Turing je sodeloval pri razbijanju kode Enigma v Bletchley Parku z uporabo računalnika "Colossus". Po drugi strani je Američan John Von Neumann sodeloval pri projektu Manhattan, da bi zgradil prvo atomsko bombo, kar je zahtevalo veliko ročnih izračunov.
Do takrat so bili vojni računalniki bolj ali manj "programirani" s ponovnim priklopom celotnega stroja, da bi izvedli drugačno nalogo. Na primer, za prvi računalnik z imenom ENIAC so bili potrebni trije tedni, da so se ponovno povezali, da bi lahko naredili drugačen izračun.
Novi koncept je bil sestavljen iz tega, da je bilo treba v pomnilnik shranjevati ne le podatke, temveč tudi program, ki je te podatke obdeloval, v isti pomnilnik.
Ta interno shranjena programska arhitektura je splošno znana kot "Von Neumann" arhitektura.
Ta nova ideja je pomenila, da bi računalnik s to arhitekturo veliko lažje reprogramirati. Dejansko bi bil sam program obravnavan enako kot podatki.
Model
Glavni temelj modela Von Neumann je misel, da je program notranje shranjen v stroju. Pomnilniška enota vsebuje podatke in tudi programsko kodo. Zasnova arhitekture je sestavljena iz:

Vir: Iz UserJaimeGallego - ta datoteka je izpeljana iz Von Neumann Architecture.svg, CC BY-SA 3.0, commons.wikimedia.org
- Centralna procesna enota (CPU)
Za izvajanje navodil programa je digitalno vezje odgovorno. Imenujejo ga tudi procesor. CPU vsebuje ALU, krmilno enoto in nabor registrov.
Logična aritmetična enota
Ta del arhitekture je vključen samo v izvajanje aritmetičnih in logičnih operacij na podatkih.
Na voljo bodo običajni izračuni seštevanja, množenja, deljenja in odštevanja, vendar bodo na voljo tudi primerjave podatkov, kot so "večje od", "manj kot", "enako".
Kontrolna enota
Nadzira delovanje računalniških ALU, pomnilnika in vhodno / izhodnih naprav ter jim daje navodila, kako ravnati po navodilih v programu, ki ste ga pravkar prebrali iz pomnilnika.
Krmilna enota bo upravljala postopek premikanja podatkov in programov v pomnilnik in iz njega. Poskrbel bo tudi za izvajanje navodil programa, eno za drugim ali zaporedno. To vključuje idejo registra, ki bi vseboval vmesne vrednosti.
Zapisi
Gre za območja za hitro shranjevanje v CPU-ju. Vsi podatki morajo biti shranjeni v registru, preden jih lahko obdelamo.
Register pomnilniškega naslova vsebuje pomnilniško mesto podatkov, do katerih lahko dostopate. Seznam podatkov o pomnilniku vsebuje podatke, ki se prenesejo v pomnilnik.
- Spomin
Računalnik bo imel pomnilnik, ki lahko hrani podatke, kot tudi program, ki te podatke obdeluje. V sodobnih računalnikih je ta pomnilnik RAM ali glavni pomnilnik. Ta pomnilnik je hitro in dostopen neposredno s strani CPU-ja.
RAM je razdeljen na celice. Vsaka celica je sestavljena iz naslova in njegove vsebine. Naslov bo enolično določil vsako lokacijo v pomnilniku.
- Vhodni izhod
Ta arhitektura omogoča zajemanje zamisli, ki jo človek potrebuje za interakcijo s strojem prek vhodno-izhodnih naprav.
- Avtobus
Informacije morajo teči med različnimi deli računalnika. V računalniku z von Neumannovo arhitekturo se informacije prenašajo iz ene naprave v drugo po vodilu, ki povezuje vse procesorske enote z glavnim pomnilnikom.
Naslovna enota nosi naslove podatkov, ne pa podatkov, med procesorjem in pomnilnikom.
Podatkovna vodila prenašajo podatke med procesorjem, pomnilnikom in vhodno-izhodnimi napravami.
Kako deluje arhitektura von Neumanna?
Pomembno načelo arhitekture von Neumanna je, da so tako podatki kot navodila shranjeni v pomnilniku in obravnavani enako, kar pomeni, da so navodila in podatki usmerjeni.
Deluje s štirimi preprostimi koraki: najti, dešifrirati, zagnati, shraniti, imenovano "Strojni cikel."
Navodila CPU pridobi iz pomnilnika. Nato CPU dekodira in izvede ta navodila. Rezultat se shrani nazaj v pomnilnik po zaključku cikla izvajanja navodil.
Išči
V tem koraku so navodila pridobljena iz RAM-a in predpomnjena za dostop s strani nadzorne enote.
Dešifrirajte
Krmilna enota dekodira navodila tako, da jih lahko logična aritmetična enota razume, nato pa jih pošlje logični aritmetični enoti.
Teči
Aritmetična logična enota izvede navodila in rezultat pošlje nazaj v predpomnilnik.
Na zalogo
Ko programski števec označi zaustavitev, se končni rezultat prenese v glavni pomnilnik.
Steklenica
Če želi Von Neumannov stroj izvesti operacijo s podatki v pomnilniku, ga je treba prenesti prek vodila v CPU. Po opravljenem izračunu je treba rezultat premakniti v pomnilnik prek istega vodila.
Ozko grlo Von Neumann se pojavi, ko morajo podatki, ki se vnašajo ali odstranjujejo iz pomnilnika, zadržati, medtem ko se trenutna operacija pomnilnika konča.
To pomeni, da če je procesor pravkar zaključil izračun in je pripravljen izvesti naslednji, mora v gotovino zapisati končan izračun, ki zasede vodilo, preden lahko prikliče nove podatke iz pomnilnika, ki uporabljajo tudi isto vodilo.
To ozko grlo se je sčasoma poslabšalo, ker so mikroprocesorji povečali svojo hitrost, po drugi strani pa spomin ni napredoval tako hitro.
Prednost
- Krmilna enota na enak način pridobi podatke in navodila iz pomnilnika. Zato sta zasnova in razvoj krmilne enote poenostavljena, cenejša in hitrejša.
- Podatki iz vhodno / izhodnih naprav in glavnega pomnilnika se pridobijo na enak način.
- Organizacijo pomnilnika izvajajo programerji, kar omogoča uporabo vseh pomnilniških zmogljivosti.
- Upravljanje posameznega pomnilniškega bloka je preprostejše in lažje dosegljivo.
- Zasnova čipa mikrokontrolerja je veliko enostavnejša, saj bo dostopen le en pomnilnik. Najpomembnejša stvar mikrokrmilnika je dostop do RAM-a, v arhitekturi von Neumann pa je to mogoče uporabiti tako za shranjevanje podatkov kot za shranjevanje programskih navodil.
Razvoj operacijskih sistemov
Glavna prednost enakega pomnilnika za programe in podatke je, da se programi lahko obdelujejo, kot da so podatki. Z drugimi besedami, lahko pišete programe, katerih podatki so drugi programi.
Program, katerega podatki so drug program, ni nič drugega kot operacijski sistem. Pravzaprav, če programov in podatkov ne bi dovolili v istem pomnilniškem prostoru, kot je to primer z arhitekturo von Neumann, operacijskih sistemov ne bi mogli nikoli razviti.
Slabosti
Čeprav prednosti daleč odtehtajo pomanjkljivosti, je težava v tem, da je samo en vodnik, ki pomnilnik povezuje s procesorjem, zato je naenkrat mogoče dobiti samo eno navodilo ali podatkovni element.
To pomeni, da bo morda moral procesor počakati dlje, da pridejo podatki ali navodila. To je znano kot ozko grlo von Neumanna. Ker je procesor veliko hitrejši od podatkovnega vodila, to pomeni, da je pogosto v prostem teku.
- Zaradi zaporedne obdelave navodil vzporedna izvedba programa ni dovoljena.
- Z deljenjem pomnilnika obstaja nevarnost, da bo eno navodilo napisano čez drugo zaradi napake v programu, zaradi česar se bo sistem zrušil.
- Nekateri okvarjeni programi ne morejo sprostiti pomnilnika, ko končajo z njim, kar lahko povzroči zamrznitev računalnika zaradi premajhnega pomnilnika.
- Podatki in navodila imajo isto podatkovno vodilo, čeprav je hitrost, s katero je treba pridobiti vsako, običajno zelo različna.
Reference
- Polprevodniško inženirstvo (2019). Von Neumann arhitektura. Vzeto iz: semiengineering.com
- Scott Thornton (2018). Kakšna je razlika med arhitekturo Von-Neumann in Harvard? Nasveti za mikrokontroler. Vzeto iz: microcontrollertips.com.
- Naučite IKT (2019). Stroj Von Neumann. Izvedeno iz: learn-ict.com.
- Računalništvo (2019). Von Neumann arhitektura. Vzeto iz: computerscience.gcse.guru.
- Naučite se IT pri gospodu C (2019). Stroj Von Neumann. Izvedeno iz: learnitwithmrc.co.uk.
- Trdni mediji (2017). Kako delujejo računalniki? Arhitektura Von Neumann Vzeto iz: solidstateblog.com.
