Az emlékezet hierarchiája

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. október 6-án felülvizsgált verziótól ; az ellenőrzések 3 szerkesztést igényelnek .

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]

  1. Processzor belső memória ( regiszterfájlba rendezett regiszterek és processzor gyorsítótár ).
  2. Rendszer RAM ( RAM ) és kiegészítő memóriakártyák.
  3. Hot-access meghajtók (On-line háttértár) – vagy másodlagos számítógépmemória. Merevlemezek és szilárdtestalapú meghajtók , amelyek nem igényelnek hosszú (másodperces vagy több) műveleteket az adatok fogadásának megkezdéséhez.
  4. Médiaváltást (Off-line tömeges tárolás) - vagy harmadlagos memóriát igénylő meghajtók. Ide tartoznak a mágnesszalagok , szalag- és lemezkönyvtárak , amelyek hosszú visszatekercselést vagy mechanikus (vagy kézi) adathordozót igényelnek.

A legtöbb modern számítógép a következő memóriahierarchiát használja:

  1. A regiszterfájlba rendezett processzorregiszterek  a leggyorsabb hozzáférést biztosítanak (1 ciklus nagyságrendben), de csak néhány száz, vagy ritkán több ezer bájt méretűek.
  2. 1. szintű processzor gyorsítótár (L1) - több ciklus nagyságrendű hozzáférési ideje, több tíz kilobájt méretű
  3. Processzor szintű 2 gyorsítótár (L2) – hosszabb hozzáférési idő (2-10-szer lassabb, mint az L1), körülbelül fél megabájt vagy több
  4. 3. szintű processzor gyorsítótár (L3) - a hozzáférési idő körülbelül száz ciklus, mérete néhány megabájttól több százig terjed
  5. 4. szintű processzor gyorsítótár (L4) - több száz ciklus elérési ideje, egytől több száz megabájtig. 5. generációs Intel processzorokban használják
  6. Rendszer RAM - hozzáférési idő több száztól esetleg több ezer ciklusig, de hatalmas méretek, több gigabájttól több terabájtig. A RAM elérési ideje a NUMA osztálykomplexumok (nem egységes memória-hozzáféréssel) esetén a különböző részein változhat.
  7. Lemeztárolás  - sok millió ciklus, ha az adatok nem lettek előre gyorsítótárazva vagy pufferelve, akár több terabájt is lehet
  8. Harmadlagos memória - több másodperc vagy perc késleltetés, de gyakorlatilag korlátlan mennyiség ( szalagkönyvtárak ).

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.

Lásd még

Irodalom

Jegyzetek

  1. Ty, Szárny; Jaj, Benjamin. Számítógépes hardver/szoftver architektúra  (neopr.) . - Bell Telephone Laboratories, Inc., 1986. -  30. o . — ISBN 0-13-163502-6 .