Von Neumanni arhitektuur: erinevus redaktsioonide vahel

Eemaldatud sisu Lisatud sisu
TuuleT (arutelu | kaastöö)
Resümee puudub
TuuleT (arutelu | kaastöö)
PResümee puudub
1. rida:
{{keeletoimeta}}
[[Fail:Von Neumanni arhitektuur.png|pisi|293x293px|von Neumanni arhitektuur|alt=]]
'''Von Neumanni arhitektuur''', tuntud ka nime all von Neumanni mudel või Princetoni arhitektuur, on [[arvutiarhitektuur]], mis põhineb aastal 1945 matemaatik [[John von Neumann|John von Neumanni]] poolt välja pakutud arvuti arhitektuuri kirjeldustelkirjeldusel uue täis-elektroonilise [[EDVAC]] arvuti jaoks. Käsikiri “First Draft of a Report on the EDVAC”<ref name="FirstDraftReport" /> kirjeldas arvuti arhitektuurilist ülesehitust, kus käske ja andmeid säilitatakse arvutis ühises mäluruumis ning arvutit juhitakse tema enese [[Mälu (arvuti)|mällu]] salvestatud programmiga. See arvutiarhitektuur on saanud aluseks suurema osa tänapäeva arvutite disainile.
 
Terminist “von Neumanni arhitektuur” on kujunenud mõiste, mis kirjeldab kõiki siseprogrammarvuteid, milles ühise [[Siin|siini]] tõttu ei saa käskudega ja andmetega seotud operatsioonid toimuda samal ajal. Von Neumanni arhitektuuril põhinevad arvutid on lihtsama disainiga kui [[Harvardi arhitektuur|Harvardi arhitektuuriga]] arvutid, mis on samuti siseprogrammarvutid, kuid millel on eraldi aadressid ja andmesiinid mälust lugemise/kirjutamise jaoks ning käskude mälust võtmiseks.
10. rida:
 
==Ajalugu==
Käsikirjas “First Draft of a Report on the EDVAC” kirjeldataksekirjeldab von Neumann arhitektuurilist ülesehitust elektroonilise digitaalse arvuti jaoks, millel on järgnevad komponendid:
 
* keskseade, millel on aritmeetika-loogikaseade ja registrid
* juhtseade, millel on käsuloendur ja registrid käskude jaoks
* mälu, mismillesse salvestabsalvestatakse andmeid ja käske
* väline massmälu
* sisend-väljund seadmed<ref name="FirstDraftReport" />
 
Siseprogrammarvutid olid suur edasiminek 1940. aastate programmjuhtimisega arvutitest, nagu Colossus ja ENIAC, kuna arvuti töö juhtimiseks hakati kasutama arvuti mälus säilitatavat programmi. Paljud esimesed arvutid ei olnud kas üldse ümberprogrammeeritavad (arvuti täitis vaid üht kindlat riistvarasse installeeritud programmi) või siis oli võimalik arvuti ülesannet teatud piirides muuta, kuid see nõudis palju vaeva. Näiteks kuigi ENIACi puhul oli tegemist juba täiselektroonilise arvutiga, programmeeriti seda ikka käsitsi sadade ja tuhandete pistikute ning lülitite ümberseadistamisega ning seega võis uue programmi ülesseadmine võtta aega koguni kolm nädalat.<ref name="8WN9s" />
 
Ladustatud programmidega arvuti disain sisaldab [[käsustik]]ku ja saab mälus hoida käskude komplekte ([[arvutiprogramm|programme]]). Võimalus käsitleda käske andmetena teeb ladustatud programmidega arvutites võimalikuks [[assemblerkeel]]e, [[kompilaator]]ite ja teiste automatiseeritud programmeerimistööriistade olemasolu. Võimalik on "kirjutada programme mis kirjutavad programme".<ref name="u5WlN" />
 
==Tööpõhimõte==
[[Pilt:Von Neumann Arhitektuuri Diagramm.png|pisi|Von Neumanni arhitektuuri skeem|240x240px]]
Von Neumanni arhitektuur koosneb mälust, [[protsessor]]ist, kellast, [[andmesiin]]ist, [[aadressisiin]]ist ja [[kontrollsiin]]ist. Mälu koosneb riividest, [[aadressi dekoodrist]], kontroll loogikast, [[aadressisiinist]], ja [[andmesiin]]ist. Protsessor koosneb registritest, [[aadressisiin]]ist, [[andmesiin]]ist ja [[loogikaüksus]]est (tavaliselt [[Aritmeetika-loogika seade]]) ja kontrollloogikast. Kell on [[vooluring]], mis pidevalt tekitab mustri ühtedest ja nullidest erinevatel liinidel (juhtmetel). Aadressisiin on hulk juhtmeid, mis on ühendatud igaüks erineva riiviga mälus, mida kasutatakse riivi valimiseks, millest loetakse väärtusi. Andmesiin on juhtmete hulk, millest igaüks on ühendatud kõikide mälu riivide ühe bitiga ning protsessoris asuvate registritega. Kontrollsiin on juhtmete hulk, mis ühendavad kella erinevad väljundid vastavate protsessori ja mälu osadega.
 
Ladustatud programmidega arvuti disain sisaldab [[käsustik]]ku ja saab mälus hoida käskude komplekte ([[arvutiprogramm|programme]]). Võimalus käsitleda käske andmetena teeb ladustatud programmidega arvutites võimalikuks [[assemblerkeel]]e, [[kompilaator]]ite ja teiste automatiseeritud programmeerimistööriistade olemasolu. Võimalik on "kirjutada programme mis kirjutavad programme".<ref name="u5WlN" />
 
==Varajased Von Neumanni arhitektuuril põhinevad arvutid==
50. rida:
 
==Von Neumanni arhitektuuri piirangud==
Kuna von Neumanni arhitektuuris säilitatakse käskeKäske ja andmeid hoitakse ühtses mälukeskkonnas, siisning sellest tingituna on kasamuti jagatud siini kasutus protsessori ja mälu vahel jagatud. Käsud ja andmed loetakse mälust jadapöördusega, mis aga seab olulisi piiranguid mälupöördustele. Sellist olukorda nimetatakse von Neumanni pudelikaelaks. Kuna erinevalt Harvardi arhitektuurist ei saa programmi mälu ja andmete mälu lugeda samaaegselt, on infotöötluse kiirus palju väiksem protsessori tegelikust jõudlusest, sest protsessor on sunnitud ootama seni, kuni andmete lugemine/kirjutamine mälust on lõpetatud.
 
Kuna von Neumanni arhitektuuri puhul puudub erisus mälus sälitatavasäilitatava info - andmete ja käskude - vahel, siis on oht, et programmis tekkiva vea tõttu kirjutatakse üle arvuti mälus olevad käsud, mis võib kahjustada hetkel arvutis jooksvat programmi, teisi arvuti mälus olevaid programme või koguni arvuti operatsioonisüsteemi.
 
==Viited==