Eszközök |
GyorsítótárA gyorsítótár vagy cache (ejtsd: „kes”) francia eredetű kifejezés (jelentése: „rejtekhely”, „rejtett”), a számítástechnikában az átmeneti információtároló elemeket jelenti, melyek célja az információ-hozzáférés gyorsítása. A gyorsítás egyszerűen azon alapul, hogy a gyorsítótár gyorsabb tárolóelem, mint a hozzá kapcsolt, gyorsítandó működésű elemek, így ha ezen területek tartalma korábban már bekerült a gyorsítótárba (mert már valaki/valami hivatkozott rá korábban), az ilyen adatokat nem a lassú működésű területről, hanem a gyors cache tárolóból lehet előhívni.
[szerkesztés] Típusai[szerkesztés] MemóriaA hardveres gyorsítótár technikai megvalósítása sokkal drágább, mint a hagyományos memóriaelemek. Ez a magyarázata annak, hogy miért nem dobjuk ki a lassú memóriákat, és használjuk helyettük rögtön csak a gyorsítótárat. Ha ezt tennénk, az nagyon megemelné a számítógépek árát. Gyorsítótárazásra leginkább akkor van szükség, ha a számítógép két alkatrészének adatkezelési sebessége számottevően (pl. nagyságrendekkel) eltér, és a lassabb alkatrész így a maga szintjére „húzza le” azt az elemet, ami egyébként villámgyorsan működne. Ez a helyzet pl. a CPU és a központi memória esetében: az utóbbi sokkal lomhább, akár 5×-20× is lassabban működhet, mint a CPU. Ilyen esetekben a két lassú alkatrész közé egy cache egységet iktatnak, így a gyors egység először a gyors cacheból próbálja elérni a szükséges adatot, és csak aztán a lassú egységből. [szerkesztés] HáttértárolókNemcsak hardverszinten, például a CPU és a memória közötti gyorsítótárazásról lehet tehát beszélni (bár ez egy igen tipikus példa): a merevlemez is rendelkezhet gyorsítótárral, ami a lassú elérésű lemezről (például átlagosan 40 ms alatt) leolvasható adatokat egy a diskbe épített cache memóriában tárolja (mely például 0.1 ms alatti elérési sebességgel rendelkezik). [szerkesztés] Egyéb gyorsítótárakSzoftverek tekintetében még szintén számtalan helyen beszélhetünk gyorsítótárról és gyorsítótár-funkciókról, ahol maga a gyorsítótár szó nem ritkán már egész szoftvert vagy több szoftver együttműködéseként létrejövő rendszert jelent. Szoftverek által használt gyorsítótárak tipikus példái a webböngészők által használt „virtuális” gyorsítótárak: amikor böngészőnkkel néhány weboldalt „visszalapozunk”, akkor azok a böngészőprogram által a merevlemezen fenntartott területről jönnek elő, ott tárolódnak (például a Microsoft Windows XP operációs rendszerek Internet Explorer böngészői esetében ez a
nevű mappa. Ez azért jó, mert egy távoli webhelyről általában sokkal lassabban lehet egy weblapot letölteni, mint a merevlemezről. [szerkesztés] Technikai adatokA gyorsítótárakat jellemző főbb adatok az
![]() képlettel számolunk, ahol tm a lassabb, gyorsítandó (memória)egység elérési ideje.
Egy tipikus memória cache jellemzői:
[szerkesztés] A memória gyorsítótárak csoportosítása a memórialeképzés módja szerintA központi memóriát gyorsító hardveres cache memóriákat működésük szerint csoportosíthatjuk aszerint, hogy konkrétan hogyan valósítják meg az adatátvitelt és adattárolást. [szerkesztés] A teljesen asszociatív cacheA teljesen asszociatív cache (FUC = Fully Associative Cache) esetén a gyorsítandó memóriaegység beolvasott blokkjának tartalma átkerülhet a gyorsítótár bármelyik blokkjának területére. A beolvasott blokk bárhova elhelyezhető, bármelyik sorba. Az elhelyezés sorát helyettesítési algoritmus határozza meg. Amikor a processzor egy adatot keres a cache-ben, akkor a memóriabeli cím felső 28 bitjét összehasonlítja a cache-beli blokkszámokkal az összes sorban egyidejűleg. Ha sikeres a keresés, akkor kijelöli az adott sorbeli byte-ot, ha sikertelen, akkor a memóriában keresi.
[szerkesztés] A közvetlen (direkt) leképzésű cache
[szerkesztés] A csoport-asszociatív cache
[szerkesztés] A szektor leképzésű cache
[szerkesztés] Külső hivatkozások |