10. Cache tárak Flashcards

1
Q

Milyen cache koherencia protokollokat ismer?

A

Ezek a protokollok azért léteznek, hogy a gyorsítótárak egyezőségét fenntartsák több CPU vagy mag esetén.

  • Snoopy Protokoll: A magok vezérlői folyamatosan figyelik a közvetítő adat buszt. Olyan tranzakciót keresnek, amik hatással vannak önmagukra. Például ha egy cache írási művelettel találkozik, aminek a tagje olyan, amit ő is tárol, azonnal invalidálja azt a cache line-t és elkéri az aktuális adatot a másik magtól. Előnye az egyszerű kiépíthetőség, de hátány hogy terheli a buszrendszert.
  • Könyvtár alapú protokoll: A megosztott adatok egy közös könyvtárban vannak elhelyezve. A könyvtár egy szűrőként működik, amelyen keresztül a processzornak engedélyt kell kérnie, hogy betölthessen egy adatot az operatív tárból. Ha a bejegyzés változik, a könyvtár vagy felülírja, vagy invalidálja a többi cache tartalmát. Ezzel a megoldással nincs szükség külön buszra. Elsősorban a NUMA rendszerekben használatos.
  • MESI protokoll: Modified Exclusive Shared Invalid rövidítése, állapotjelzőket vezet be:
    • Modified : egy tár valid, a többi invalid - egyik tárban módosult az adat, de még nincs visszaírva
    • Exclusive : érvényes adat, egyezik a fő tárral, és csak egy helyen van meg
    • Shared : az adat a fő tárral egyezik, de több tárolóban is megtalálható
    • Invalid : Az adat érvénytelen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Milyen adatszervezési módokat ismer?

A
  • Exclusive cache: A tárolók egymástól függetlenek, nem tartalmazzák egymás adatait, így ugyanaz az adat nem lehet jelen egyszerre több tárban. Az adatok betöltése kétféleképpen történhet. Az egyik lehetőség, hogy először az L1-be töltjük be az adatokat, majd ami nem fér bele, azt az L2-be, és ami oda se azt az L3-ba. Ilyenkor nevezzük az L3-at victim cache-nek is. Vagy másik mód először L3, és ha szükséges, onnan L2, majd L1
  • Inclusive Cache: A magasabb szintű tároló tartalmazhatja kisebb szintű tároló adatait. Hátrány, hogy kétszer kell írni és csökken az alacsonyabb szintű cache mérete. Előny, hogy magasabb szintű cache sora szabadon cserélhető, mert az alacsonyabban úgyis megtalálható. A másik előny, hogy több mag esetén, amikor egy másik mag cachében kell keresni az adatot, a duplikálás miatt elég az alacsonyabb szintűben keresni. Mivel manapság elég nagy méretű cache-eket használnak az előnyök miatt inkább inclusive cache-t alkalmaznak. Másolni gyorsabb mint cserélni.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Sorolja fel a cache típusait, és ismertesse ezeket! (aszerint hogy a blokkok hova kerülnek)

A
  • Teljesen asszociatív cache: a beolvasott blokk a cacheben bármelyik sorba kerülhet. Az elhelyezés sorát a helyettesítési stratégia határozza meg. Előnye a rugalmasság, és a nagy találati arány, mert mindig a legoptimálisabb elrendezése van.
  • Direct Mapping: Minden memória blokk csak egy bizonyos cache line-ba tölthető. A blokk helyét a tag határozza meg. Mivel a cache line-hoz több memória blokk is hozzá van rendelve, előfordulhat, hogy gyakran cserélni kell a cache tartalmát, ami teljesítmény csökkenést okozhat. Így a megoldás rugalmatlan és kisebb a találati arány. Előnye viszont a gyors visszakeresés és az olcsó megvalósítás, mivel csak egy darab összehasonlító áramkör kell.
  • N-way asszociatív cache: Az N jellemzően 2, 4, 8 vagy 16. Az N változó határozza meg, hogy egy adott blokk hány cache line-ba kerülhet. Pl 4 utas asszociatív cachenél 1 blokk 4 cache line-ba kerülhet. Eredmény, hogy a CPU letudja szűkíteni a keresés helyét, és e mellett rugalmas és nagyobb találati arányú mint a Direct Mapping, de olcsóbb mint az Asszociatív.
  • Sector mapping cache: Ritkán használt. Itt a csoport bárhová kerülhet, viszont a blokknak a helye a csoporton belül kötött.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

CACHE jellemzői

A
  • Méret 32kB - 20MB
  • elhelyezkedés lehet on-chip vagy off-chip
  • blokk méret: a fő tár és a cache között egy egységben mozgatott adatmennyiség (4-64 byte)
  • sorméret: egy összehasonlításnál maximálisan kijelölhető adatmennyiség.
  • Helyettesítési stratégia: meghatározza azt a módot, ahogy a felesleges blokkot a cache-ben kiválasztjuk egy szükséges új blokk betöltésekor.
    Ilyen stratégia pl:
    – FIFO (First in First out): legrégebben betöltött blokkot írja felül
    – LIFO (Last in First out): Legutoljára betöltött blokkot írja felül
    – LFU (Least Frequently Used): Legkevésbé használt blokkot írja felül
    – LRU (Least Recently Used): Legrégebben használt blokkot írja felül
  • Adat aktualizálási módszer
    • Write through: az adat változása esetén azonnal visszaírásra kerül az operatív tárba.
    • Write Back: Csak az adott cache line felülírása előtt aktualizál.
  • Koherencia mechanizmus : Az a módszer amely biztosítja a fő tár és a cache tárak tartalmának
    egyezőségét
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Ismertesse a CACHE két legfontosabb vezérlőbitjét. Mi az a TAG és mire való?

A
  • V (valid) bit: a cache tartalmának érvényességét jelzi a cache sorra vonatkozóan. Ha be van állítva, akkor az adat a megadott című tárolóhelyhez tartozik, és aktuálisan érvényes. Például törlés esetén a V bit 0-ra lesz állítva, ezzel jelzi a processzor számára, hogy az adott területre szabadon lehet írni. Minden sorhoz legalább egy V bit tartozik
  • D (dirty) bit: A dirty bit egy blokk valamely részének felülírását vagy módosítását jelzi. Az ilyen blokk helyére nem lehet újat betölteni, előbb a módosított adatokat ki kell írni az operítáv tárba.

Tag: A címnek azon a része, amelyet a cacheben elhelyez a CPU, és ami alapján a kiválasztás történik. Arra használják, hogy az adatok memóriabeli címét a cacheben tárolják, így gyorsítva a keresést.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly