Von Neumanni arhitektuur: erinevus redaktsioonide vahel

Eemaldatud sisu Lisatud sisu
TuuleT (arutelu | kaastöö)
PResümee puudub
TuuleT (arutelu | kaastöö)
Täpsustused artikli päises ja lisandused ajaloo alla.
1. rida:
{{keeletoimeta}}
[[Fail:Von Neumanni arhitektuur.png|pisi|275x275px293x293px|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]] ja teise poolt välja pakutud arvuti arhitektuuri kirjeldustel uue täis-elektroonilise [[EDVAC]] arvuti jaoks. KäsikirjasKäsikiri “First Draft of a Report on the EDVAC”<ref name="FirstDraftReport" /> kirjeldataksekirjeldas arvuti arhitektuurilist ülesehitust, elektroonilisekus digitaalsekäske ja andmeid säilitatakse arvutis ühises mäluruumis ning arvutit juhitakse tema enese [[Mälu (arvuti)|mällu]] jaoks,salvestatud millelprogrammiga. See arvutiarhitektuur on järgnevadsaanud komponendid: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. Enamik tänapäeva arvuteid on ehitatud Von Neumanni arhitektuuri põhjal.
 
Kuigi mällu salvestatud programmi abil talitav ning ühitatud käsu- ja andmemäluga arvutiarhitektuur on saanud nimetuse von Neumanni järgi, siis esimesena pakkusid sellise idee välja 1944. aastal ENIACI projekteeriad J. Presper Eckert ja John Mauchly ning von Neumann tegelikult arendas ja viimistles nende kontseptsiooni edasi.
 
==Ajalugu==
Käsikirjas “First Draft of a Report on the EDVAC” kirjeldatakse arhitektuurilist ülesehitust elektroonilise digitaalse arvuti jaoks, millel on järgnevad komponendid:
 
* keskseade, millel on aritmeetika-loogikaseade ja registrid
9. rida ⟶ 16. rida:
* sisend-väljund seadmed<ref name="FirstDraftReport" />
 
Digitaalne siseprogrammarvuti hoiab nii programmikäske kui ka andmeid [[Muutmälu|muutmälus]] (RAM). 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" />
Terminist “von Neumanni arhitektuur” on kujunendud mõiste, mis kirjeldab kõiki siseprogrammarvuteid, milles ühise [[Siin|siini]] tõttu ei saa käskudega ja andmetega seotud operatsioonid toimuda samal ajal. Seda kutsutakse von Neumanni pudelikaelaks ning tihtilugu piirab see süsteemi jõudlust.
 
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" />
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. Enamik tänapäeva arvuteid on ehitatud Von Neumanni arhitektuuri põhjal.
 
Digitaalne siseprogrammarvuti hoiab nii programmikäske kui ka andmeid [[Muutmälu|muutmälus]] (RAM). Siseprogrammarvutid olid suur edasiminek 1940. aastate programmjuhtimisega arvutitest, nagu Colossus ja [[ENIAC]], kuna arvuti töö juhtimiseks hakati kasutama arvuti mälus säilitatavat programmi. Näiteks kuigi ENIACi puhul oli tegemist juba täiselektroonilise arvutiga, programmeeriti seda ikka käsitsi sadade ja tuhandete pistikute ning lülitite ümberseadistamisega.
 
==Ajalugu==
Varasematel arvutusmasinatel olid fikseeritud programmid. Ka mõned tänapäeva lihtsad arvutid kasutavad seda disaini. Näiteks tavalised [[kalkulaator]]id on põhimõtteliselt fikseeritud programmidega arvutid. Nad saavad teha lihtsaid arvutusi, aga sellega nende funktsioonivalik piirdub. Fikseeritud programmidega arvuti funktsioonivaliku muutmiseks on tarvis ümber korraldada suur osa arvuti disainist. Varasemad arvutid vajasid funktsioonivaliku muutmiseks füüsilist ümberehitust. Näiteks programmi ülesseadmine arvutil [[ENIAC]] võis võtta koguni kolm nädalat.<ref name="8WN9s" />
 
Uute ladustatud programmidega arvuti disaini loomisega see muutus. 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" />
 
Von Neumanni arhitektuuril on ka mitu puudust. Peale Von Neumanni pudelikaela (kirjeldatud allpool) võib programmide muutmine olla kahjulik. Mõnedes lihtsates ladustatud programmidega arvutis võib rikkis programm kahjustada ennast, teisi programme või [[operatsioonisüsteem]]i, mille tulemuseks on arvuti kokkujooksmine. Mälu kaitsmine ja muud pääsukontrollimeetodid on võimelised tavaliselt kaitsma arvutit nii tahtmatu kui ka programmide kuritahtliku muutmise eest.
 
==Tööpõhimõte==
51. rida ⟶ 47. rida:
* SILLIAC - [[Sydney]], Austraalia (1956).
 
==Von Neumanni pudelikaelarhitektuuri puudused==
Von Neumanni arhitektuuril on ka mitu puudust. Peale Von Neumanni pudelikaela (kirjeldatud allpool) võib programmide muutmine olla kahjulik. Mõnedes lihtsates ladustatud programmidega arvutis võib rikkis programm kahjustada ennast, teisi programme või [[operatsioonisüsteem]]i, mille tulemuseks on arvuti kokkujooksmine. Mälu kaitsmine ja muud pääsukontrollimeetodid on võimelised tavaliselt kaitsma arvutit nii tahtmatu kui ka programmide kuritahtliku muutmise eest.
 
Kuna protsessori käskude laadimine ning andmemäluga suhtlemine toimuvad samal siinil, tekib keskprotsessori kiirust piirav nähtus, mida kutsutakse Von Neumanni pudelikaelaks. See termin tuleneb [[John Backus]]e 1977. aasta Turingi auhinna loengust. Sest programmi mälu ning andmete mälu ei saa samaaegselt lugeda, on andmete vahetamise kiirus palju väiksem keskprotsessori tegeliku jõudluse piirist. See piirab väga palju efektiivse töötlemise kiirust, kui keskprotsessoril on tarvis teha vähe töötlust igal elemendil suurest andmete järjendist. Keskprotsessor on pidevalt sunnitud ootama, kuniks andmete kirjutamine või laadimine mälust on lõpetatud. Iga uue protsessoripere loomisel on pudelikaelaprobleem järjest suuremaks kasvanud, kuna protsessorite kiirused ja mälu on järjest suurenenud.