Cache, Cache és harmadszor is Cache                           

Kezdőlap Mikróprocesszorba beépített cache   Önálló tároló eszköz és egyéb gyorsító tárak

A memória gyorsítótárak csoportosítása a memórialeképzés módja szerint

 

A memória gyorsítótárak csoportosítása a memórialeképzés módja szerint

 

A 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.

A teljesen asszociatív cache 

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.

előnye: rugalmas betöltés, de a visszakereséshez annyi áramkör szükséges, ahány találati sor van, egyúttal jó találati arány jellemzi;

hátránya: szükséges helyettesítési eljárás;

A közvetlen (direkt) leképzésű cache

§  közvetlen (direkt) leképzésű cache (DMC = Direct Mapping Cache) esetén a gyorsítandó memóriaegység beolvasott blokkja a cache meghatározott blokkjára kerülhet csak. A blokk helyét a cache-ben a blokksorszám alsó 8 bitje határozza meg. Ebben a megoldásban a blokk csak abba a sorba kerülhet, amelyet a sorindexe meghatároz. A cache-ben a 16 adatbyte mellett a lapsorszám 20 bites mint "tag", valamint a jelzőbitek kerülnek tárolásra. Kereséskor a memóriacímből előálított sorindex alapján keresi a sort, majd a felső 20 bitet összehasonlítja a cache-beli lapsorszámmal.

előnye: rövidebb tag, gyors keresés és olcsóság jellemzi;

hátránya: merevség és alacsony találati arány;

A csoport-asszociatív cache

§  csoport-asszociatív cache (SAC = Set Associative Cache) esetén a gyorsítandó memóriaegység egy-egy blokkja a gyorsítótár egy blokkcsoportjára képeződhet. E típus átmenet az előző két típus között, mivel adott blokk csak egy adott blokkcsoportra képeződhet, de ezen belül a blokkcsoport bármely blokkjára, vagyis olyan ez, mintha teljesen asszociatív cache-memóriák halmazával lenne dolgunk, melyek egymáshoz képest azonban közvetlen leképzéssel működnek. A cache nagyobb, n csoportokra van osztva, amelyek önmagukban teljesen asszociatívak, azaz a csoporton belül bárhova kerülhet az adatblokk. 22 bit lapsorszám, 23-28 bit csoportsorszám (alsó 6 bit) 16 adatbyte, 2 jelzőbit. Kereséskor a memóriabeli címből képzett csoportindex alapján kijelöli a csoportot, majd a felső 22 bit alapján a cache-beli lapsorszámot.

Áramköre: 4 párhuzamos összehasonlítású, egyben rugalmas, közvetlen leképezésű. Kis számú összehasonlítás és az áramkör viszonylag gyorsasága jellemzi.

A szektor leképzésű cache

A szektor leképzésű cache (SMC = Sector Mapping Cache) ritkábban használt megoldás, melynél a beolvasott memóriablokk szintén egy-egy blokkcsoportra képeződik, de az előző esethez képest épp fordítva, a beolvasott blokk tetszőleges blokkcsoportra képeződhet, azon belül azonban csak meghatározott blokkra. Azaz az ilyen gyorsítótár úgy működik, mintha közvetlen leképezésű cache-memóriák halmazával lenne dolgunk, melyek egymáshoz képest azonban asszociatív módon működnek. A processzor a csoport helyét jelöli ki asszociatív módon, és azon belül a blokk helye a lapon belüli elhelyezkedésének megfelelően kötött.