„Harvard-architektúra” változatai közötti eltérés

[ellenőrzött változat][ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
Nincs szerkesztési összefoglaló
sín
26. sor:
 
=== Eltérések a módosított Harvard-architektúrától ===
A [[módosított Harvard-architektúra]] felépítése hasonlít a Harvard-architektúrához, de az utasítások és adatok elválasztása nem annyira szigorú, miközben a CPU egyidejű hozzáférése két – vagy több – memóriabuszhozmemóriasínhez megmarad. A leggyakoribb módosításban külön adat- és utasítás-cache található, miközben mindkettő ugyanazt a címteret ill. memóriát használja. Amíg a CPU a gyorsítótárakat használja, tiszta Harvard-architektúrájú gépként működik. Mikor ugyanez a gép közvetlenül fordul a memóriához, már Neumann architektúrájú gépként viselkedik, mivel a programkódot adatként vagy fordítva, az adatokat programkódként kezelheti. Ez a módosítás széles körben elterjedt a modern processzorok, mint pl. az [[ARM architektúra|ARM]] vagy akár az [[X86|x86]]-os architektúra körében. Erre is gyakran felületesen Harvard-architektúraként hivatkoznak, elhagyva a „módosított” jelzőt.
 
Egy másik változtatás adatutat nyit a programmemória (ami általában [[ROM]] vagy [[flashmemória|flash]]) és a CPU között, ami lehetővé teszi a programmemória szavainak csak-olvasható adatként való kezelését. Ezt a technikát különféle [[mikrovezérlő]]kben alkalmazzák, pl. az [[Atmel AVR]] kontrollerekben. Ezzel lehetővé válik konstans adatok, pl. szöveg, funkció(hívási) táblázatok hozzáférése anélkül, hogy azt előzetesen az adatmemóriába kellene másolni, így meghagyva a gyakran szűkös és energiaéhes adatmemóriát a programváltozók számára. Az adatok olvasására a programmemóriából ekkor speciális processzorutasítások szolgálnak; ez nem ugyanaz, mint amikor maga az utasítás állandókat tartalmaz a programkódban (bár bizonyos esetekben az eredmény hasonló lehet).