A számítógépes memória hierarchiája az a koncepció, amely hierarchikus struktúra alapján összekapcsolja a számítógépes memória különböző szintjeihez tartozó osztályokat.
A hierarchikus memória építésének szükségességének lényege, hogy egy számítástechnikai rendszert (külön számítógépet vagy klasztert) kellő mennyiségű, üzemi és állandó memóriával kell ellátni.
Tekintettel az egyes rekordokhoz ( belső processzor-regiszterek , gyorsítótár-memória , oldalak és fájlok ) való hozzáférés gyakoriságának heterogenitása miatt különböző műszaki megoldásokat alkalmaznak, amelyek mind műszakilag, mind árban, mind súlyban és méretben egyaránt kiváló tulajdonságokkal rendelkeznek. A drága ultragyors és akár véletlen hozzáférésű memóriában való hosszú távú tárolás általában nem kifizetődő, ezért az ilyen típusú adatokat meghajtókon tárolják - lemezen , szalagon , flash -en stb.
Az adatok biztonsági mentésének biztosítása érdekében , például a biztonság érdekében, a felhasználók könyvtárakat hozhatnak létre cserélhető adathordozókon (például virtuális szalagos könyvtáron vagy lemeztömbön ), amelyeket különféle formátumú saját fájljaikkal tölthetnek meg. Ezekhez az adatokhoz való hozzáférés tart a leghosszabb ideig, ugyanakkor kapacitásuk óriási.
Alapvetően a műszaki jellemzők átmenetiek, vagyis hogy egy adott megoldásnak milyen időbeli kritériumok felelnek meg. A nagy sebességű memória iránti igényt általában korlátozza vagy az áramkörök működésének magas rezsiköltségei, vagy a nagy energiafogyasztás, vagy a megoldás magas költsége.
A különböző típusú memóriák hierarchiát alkotnak, amelynek különböző szintjein különböző hozzáférési idővel, összetettséggel, költséggel és térfogattal rendelkező memóriák találhatók. A memóriahierarchia felépítésének lehetősége annak köszönhető, hogy a legtöbb algoritmus minden időintervallumban hozzáfér egy kis adathalmazhoz, amely gyorsabb, de költségesebb és ezért kicsi memóriába helyezhető (lásd en:locality of reference ). A gyorsabb memória használata növeli a számítási komplexum teljesítményét. A memória ebben az esetben egy adattároló eszközt ( memóriaeszközt ) jelent a számítástechnikában vagy a számítógép memóriájában .
A nagy teljesítményű számítógépek és rendszerek tervezése során számos kompromisszumot kell tenni, például a méret és a technológia a hierarchia minden szintjén. Tekinthetjük a hierarchiában elhelyezkedő különböző memóriák halmazát (m 1 ,m 2 ,…,m n ), vagyis minden m i szint mintegy alárendelve a hierarchia m i-1 szintjének. A magasabb szinteken a várakozási idő csökkentése érdekében az alsóbb szintek puffereléssel darabokban készíthetik elő az adatokat, és ha a puffer megtelik, jelezhetik a felső szintnek, hogy adatot lehet fogadni.
A hierarchiának gyakran 4 fő (nagyított) szintje van: [1]
A legtöbb modern számítógép a következő memóriahierarchiát használja:
A legtöbb programozó általában azt feltételezi, hogy a memória két szintre van felosztva, a fő memóriára és a lemeztárolóra, bár az assembly nyelveken és az assembly-kompatibilis nyelveken (például C ) közvetlenül is lehet dolgozni a regiszterekkel. A memóriahierarchia előnyeinek kihasználása összehangolt cselekvést igényel a programozótól, a hardvertől és a fordítóktól (valamint alapvető támogatást az operációs rendszerben):
Sok programozó nem veszi figyelembe a többszintű memóriát a programozás során. Ez a megközelítés mindaddig működik, amíg az alkalmazás nem tapasztal teljesítménycsökkenést a memória alrendszer alulteljesítménye miatt. A kód javításánál ( refaktorálás ) a legmagasabb teljesítmény elérése érdekében figyelembe kell venni a memóriahierarchia felső szintjei munkájának jelenlétét és sajátosságait.
![]() |
---|