Harvardi arhitektuur

Harvardi arhitektuur

Harvardi arhitektuur on arvutiarhitektuur, mille puhul käskude ja andmete jaoks on eraldi mälud ja siinid. Harvardi arhitektuuri vastandiks on von Neumanni arhitektuur, kus käskudel ja andmetel on ühine mälu ja siinid.[1]

Termin pärineb ameeriklaste Harvard Mark I arvutilt, mis oli üks esimesi elektromehaanilisi arvuteid. Selle ehitas Howard Aikeni ideede põhjal firma IBM ja see paigaldati Harvardi ülikooli 1944. aastal. Tegemist oli programmeeritava seadmega, kus andmed sisestati käsitsi pöördlülitite abil ja käsud olid salvestatud perfolindile. Harvard Mark I suutis teha kolm liitmis- või lahutamistehet sekundis, kuid keerulisemate tehete jaoks võis kuluda ka rohkem kui üks minut.[2]

Harvardi arhitektuuri puhul paiknevad andmed ja programm eraldi ning seetõttu saab protsessor rööpselt tegeleda nii andmete kui ka käskudega. See parandab oluliselt infotöötluse kiirust, aga samuti nõuab arvuti riistvara poolest keerulisemat ja kulukamat ülesehitust.[1]

Tänapäeva arvutid põhinevad von Neumanni arhitektuuril, sest põhimälus hoitakse nii käske kui ka andmeid, mida nende käskude abil töödelda tuleb. Samas leiavad tänapäeva arvutites rakendust ka Harvardi arhitektuuri printsiibid. Nimelt on jõudluse suurendamise eesmärgil võetud protsessoris kasutusele eraldi vahemälud ja siinid käskude ja andmete jaoks. Sellist tüüpi arvutiarhitektuuri nimetatakse modifitseeritud Harvardi arhitektuuriks.[3]

Harvardi arhitektuur ja modifitseeritud Harvardi arhitektuur on edukalt kasutusel signaaliprotsessorites ja mikrokontrollerites.[4][5]

Iseloomulikud joonedRedigeeri

 
Modifitseeritud Harvardi arhitektuur

Harvardi arhitektuuri puhul ei ole vajalik, et andmete mälul ja käskude mälul oleks ühesugune ülesehitus või kasutus. Seega on võimalik, et eelprogrammeeritud käsud on salvestatud püsimällu, aga andmete jaoks on kasutusel muutmälu. Erineda võivad sõna pikkus ja mäluaadressi struktuur. Kui käskude jaoks on vaja rohkem mälu kui andmete jaoks, saavad käskude mäluaadressid olla pikemad kui andmete aadressid.[6]

Võrdlus von Neumanni arhitektuurigaRedigeeri

Arvutis, mis kasutab ainult von Neumanni arhitektuuri põhimõtteid, hoitakse käske ja andmeid ühises mäluruumis ning ka nende toomine protsessorisse käib mööda jagatud siini. See aga tähendab, et protsessoril ei ole võimalik teha üheaegselt mõlemat: lugeda mälust käske ja kirjutada mällu või lugeda mälust andmeid. Arvutis, mis rakendab Harvardi arhitektuuri põhimõtteid, on käskude ja andmete jaoks eraldi mälud ja siinid. Sellest tulenevalt on protsessor võimeline tegelema rööpselt nii andmete kui käskudega, ja seda ka siis, kui puudub vahemälu. Selline arhitektuur parandab oluliselt arvuti jõudlust.[1]

Harvardi arhitektuur Von Neumanni arhitektuur
Andmetel ja käskudel eraldi mälud ja siinid Andmetel ja käskudel ühine mälu ja siinid
Infotöötlus on kiirem, sest protsessor saab samaaegselt lugeda käske ja pöörduda mälu poole Infotöötlus on aeglasem, sest käsud ja andmed kasutavad ühist siini ning seega ei saa protsessor tegeleda üheaegselt mõlemaga
Riistvaraliselt keerulisem ja kulukam ehitada Riistvaraliselt lihtsam ja odavam ehitada

Võrdlus modifitseeritud Harvardi arhitektuurigaRedigeeri

Modifitseeritud Harvardi arhitektuuriga arvuti puhul ei ole käsud ja andmed rangelt eraldatud, kuid protsessoril on võimalik kasutada kahte (või enamat) mälusiini. Kõige tavalisem Harvardi arhitektuuri modifikatsioon on selline, kus käskudel ja andmetel on eraldi vahemälud, aga ühine aadressiruum.[3] Sel juhul kasutab protsessor suhtluses vahemäluga Harvardi arhitektuuri ja suhtluses põhimäluga von Neumanni arhitektuuri. Selline ülesehitus on laialt kasutusel tänapäeva protsessorite käsustiku arhitektuuris, näiteks ARM, Power ISA ja x86 protsessorites.[3][7]

ViitedRedigeeri

  1. 1,0 1,1 1,2 "5 Major Differences Between Von Neumann And Harvard Architecture". Vaadatud 1. mai 2020. Arhiiviversioon, arhiveeritud 1. mai 2020.
  2. "About the Mark I". Vaadatud 1. mai 2020. Arhiiviversioon, arhiveeritud 14. jaanuar 2020.
  3. 3,0 3,1 3,2 "Modified Harvard Architecture: Clarifying Confusion". 21. september 2015. Vaadatud 1. mai 2020. Arhiiviversioon, arhiveeritud 17. aprill 2020.
  4. "Digital signal processor". Vaadatud 01.05.2020.
  5. "Microcontroller". Vaadatud 1. mai 2020.
  6. "Harvard Architecture". 18. aprill 2017. Vaadatud 1. mai 2020. Arhiiviversioon, arhiveeritud 4. juuli 2019.
  7. "Power ISA". Vaadatud 1. mai 2020.