Melyik a jobb?
Minden architektúrának megvannak a maga előnyei: Minden más tényezőt figyelembe véve a Harvard-modell előnyben van a teljesítmény tekintetében. A Von Neumann modell rugalmasabb.
Modern hibridek
Manapság a legtöbb általános célú számítógép (PC, Mac stb.) hibrid konstrukció, amely mindkét architektúrából a legjobbat nyújtja. A CPU mélyén a Harvard-modell szerint működnek, külön gyorsítótárakat használnak az utasítások és az adatok számára a teljesítmény maximalizálása érdekében. Az utasítás- és adat gyorsítótárak azonban mindkettőt automatikusan egy közös memóriaterületről töltik be. Programozási szempontból ezek a számítógépek tiszta Von Neumann-gépeknek tűnnek, sok gigabájt virtuális tárolóval.
Mikrokontrollerek
A mikrokontrollereket, például az Arduinókat működtető mikrokontrollereket beágyazott alkalmazásokhoz tervezték. Az általános célú számítógépekkel ellentétben egy beágyazott processzornak általában van egy jól meghatározott feladata, amelyet megbízhatóan és hatékonyan kell ellátnia – és minimális költséggel, a mikrokontrollerek tervei általában meglehetősen spártaiak. Lemondanak a többrétegű gyorsítótárazás és a lemezalapú virtuális memóriarendszerek luxusáról, és csak a feladat szempontjából lényeges dolgokra szorítkoznak.
A Harvard modell jó választásnak bizonyul a beágyazott alkalmazásokhoz, és az Arduino UNO-ban használt Atmega 328 viszonylag tiszta Harvard architektúrát használ. A programokat a Flash memóriában, az adatokat pedig az SRAM-ban tárolják.
A legtöbb esetben a fordító és a futásidejű rendszerek gondoskodnak ezek kezeléséről az Ön számára, de amikor a dolgok kezdenek szorulni, segít tisztában lenni azzal, hogyan működnek a dolgok a motorháztető alatt. És a dolgok sokkal gyorsabban kezdenek szorulni ezeken az apró gépeken!
Egy teljesen más skála
A legnagyobb különbség ezek között a mikrokontrollerek és az általános célú számítógépek között a rendelkezésre álló memória puszta mennyisége. Az Arduino UNO mindössze 32K byte Flash memóriával és 2K byte SRAM-mal rendelkezik. Ez több mint 100 000-szer KISEBB fizikai memória, mint egy low-end PC! És ebben még a lemezmeghajtó sincs benne!