Von Neumanni arhitektuur

Allikas: Vikipeedia

Von Neumanni arhitektuur on 1945. aastal matemaatiku John von Neumanni ja teiste teadlaste poolt avaldatud teoses First Draft of a Report on the EDVAC kirjeldatud arvutiarhitektuur, kus masinkoodi käske ja andmeid hoitakse samas mälus. Enamik tänapäeva arvuteid on ehitatud Von Neumanni arhitektuuri põhjal.[1] Terminit "Von Neumanni arhitektuur" kasutatakse arvutite puhul, kus programme hoitakse mälus ning käskude laadimine ja andmeoperatsioonid ei saa toimuda samaaegselt, sest nad kasutavad sama siini.

Ajalugu[muuda | redigeeri lähteteksti]

Varasematel arvutusmasinatel olid fikseeritud programmid. Ka mõned tänapäeva lihtsad arvutid kasutavad seda disaini. Näiteks tavalised kalkulaatorid on põhimõtteliselt fikseeritud programmidega arvutid. Nad saavad teha lihtsaid arvutusi, aga sellega nende funktsionaalsus piirdub. Fikseeritud programmidega masina funktsionaalsuse muutmiseks on tarvis ümber korraldada suur osa masina disainist. Varasemad arvutid vajasid funktsionaalsuse muutmiseks füüsilist ümberehitust. Näiteks programmi ülesseadmine arvutil ENIAC võis võtta koguni kolm nädalat.[2]

Uute ladustatud programmidega arvuti disaini loomisega see muutus. Ladustatud programmidega arvuti disain sisaldab käsustikku ja saab mälus hoida käskude komplekte (programme).

Võimalus käsitleda käske andmetena teeb ladustatud programmidega arvutites võimalikuks assemblerkeele, kompileerijate ja teiste automatiseeritud programmeerimistööriistade olemasolu. Võimalik on "kirjutada programme mis kirjutavad programme".[3]

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üsteemi, mille tulemuseks on arvuti krahhimine. Mälu kaitsmine ja teised juurdepääsu kontrolli meetodid on võimelised tavaliselt kaitsma arvutit nii tahtmatu kui ka kuritahtliku programmide muutmise eest.

Tööpõhimõte[muuda | redigeeri lähteteksti]

Von Neumann Arhitektuuri Diagramm

Von Neumanni arhitektuur koosneb mälust, protsessorist, kellast, andmesiinist, aadressisiinist ja kontrollsiinist. Mälu koosneb riividest, aadressi dekoodrist, kontroll loogikast, aadressisiinist, ja andmesiinist. Protsessor koosneb registritest, aadressisiinist, andmesiinist ja loogikaüksusest ( 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.

Varajased Von Neumanni arhitektuuril põhinevad arvutid[4][muuda | redigeeri lähteteksti]

First Draft of a Report on the EDVAC teoses kirjeldatud disaini kasutati arvutite ehitamisel paljudes ülikoolides ja korporatsioonides.[5]

Von Neumanni pudelikael[muuda | redigeeri lähteteksti]

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 Backuse 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 effektiivse 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 protsessori perekonna loomisel on pudelikaela probleem järjest suuremaks kasvanud, kuna protsessorite kiirused ja mälu on järjest suuremaks kasvanud.

Viited[muuda | redigeeri lähteteksti]