„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
a Informatikai portál AWB
B.Zsoltbot (vitalap | szerkesztései)
clean up AWB
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ó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).
33. sor:
Az utóbbi években a processzorok sebessége sokkal gyorsabban nőtt, mint a memóriák hozzáférési sebessége, ezért a teljesítmény fenntartása érdekében valahogy redukálni kell a fő memóriához való hozzáférés idejét, ill. összeegyeztetni a processzor sebességével. Ha például a CPU által végzett minden utasítás memória-hozzáférést igényel, akkor a számítógép semmit sem nyer a megnövelt processzorsebességgel – a lassú memória visszafogja, fékezi a processzor teljesítményét (''„memory-bound”'' probléma).
 
(Be)építhető extrém gyors memória, de ez csak kis méreteknél (pl. regiszterek esetén) éri meg, a költségek, fogyasztási és tervezési megfontolások miatt. A jelen állapot szerinti gyakorlati megoldást a [[gyorsítótár]]ak használata jelenti: a cache egy kisméretű, de nagyon gyors memória, ami a legfrissebb és leggyakrabban hivatkozott adatokat tárolja. Amíg az adat, amire a processzornak szüksége van, a gyorsítótárban van, addig gyorsan elérhető, így nincs akkora lassulás, mint amikor a gyorsítótár a fő memóriából kénytelen olvasni az adatokat.
 
A Harvard-architektúrájú processzorok legalább két cache-et használnak: az utasítások és az adatok számára.
48. sor:
 
* A [[DSP|digitális jelfeldolgozó processzorok (DSP)]] általában kicsi, rendkívül optimalizált audio- és videojel-feldolgozó algoritmusokat hajtanak végre. Ezekben kerülik a gyorsítótárak használatát, a működés, feladatvégzés állandósága miatt. Elsődleges a végrehajtás sebessége, a többszörös címterek kezelési nehézségei kevésbé számítanak. Emiatt néhány DSP több, külön címterű adatmemória-területtel is rendelkezik, hogy ki tudja használni a [[SIMD]] és [[VLIW]] utasításfeldolgozás előnyeit is. A [[Texas Instruments TMS320]] C55x processzorainak például több párhuzamos adatsínje van (kettő írásra, három olvasásra) az egy utasítássín mellett.
* A [[mikrovezérlő]]eket (főleg) a kisméretű program-memória (általában [[flashmemória|flash]] memória), szintén kisméretű adatmemória ([[SRAM]]) jellemzi, a [[gyorsítótár]] hiányzik. Ezek igyekeznek a Harvard-architektúra gyors párhuzamos/konkurens program- és adatfeldolgozási lehetőségét kihasználni. A külön program- és adattárolók különböző bitszámúak lehetnek, ez jelenthet pl. 16 bites utasításhosszt 8 bites adatméret mellett. Ezen kívül kihasználható az egyéb tevékenységtől független utasítás-előbetöltés (''instruction prefetch'') is. Példák: [[Atmel AVR]], [[Microchip Technology|Microchip]] [[PIC mikrokontroller|PIC]] és az [[ARM]] [[ARM_architektúraARM architektúra#Thumb-2|Cortex-M3]] processzor (mikrokontroller; nem minden ARM csip Harvard architektúrájú).
 
* A [[mikrovezérlő]]eket (főleg) a kisméretű program-memória (általában [[flashmemória|flash]] memória), szintén kisméretű adatmemória ([[SRAM]]) jellemzi, a [[gyorsítótár]] hiányzik. Ezek igyekeznek a Harvard-architektúra gyors párhuzamos/konkurens program- és adatfeldolgozási lehetőségét kihasználni. A külön program- és adattárolók különböző bitszámúak lehetnek, ez jelenthet pl. 16 bites utasításhosszt 8 bites adatméret mellett. Ezen kívül kihasználható az egyéb tevékenységtől független utasítás-előbetöltés (''instruction prefetch'') is. Példák: [[Atmel AVR]], [[Microchip Technology|Microchip]] [[PIC mikrokontroller|PIC]] és az [[ARM]] [[ARM_architektúra#Thumb-2|Cortex-M3]] processzor (mikrokontroller; nem minden ARM csip Harvard architektúrájú).
 
Még ezeknél a felhasználásoknál is gyakori, hogy a processzorokban speciális utasításokat helyeznek el a programmemória adatként való kezeléséhez, pl. csak olvasható táblák beolvasására vagy átprogramozáshoz.
71 ⟶ 70 sor:
 
{{csonk-hardver}}
 
{{DEFAULTSORT:Harvardarchitektura}}
[[Kategória:Számítógép-osztályok]]