15. Gyorsítótárak Flashcards

1
Q

Szerepük

A

Az adatforgalom gyorsítása és egyenletessé tétele. Átmeneti, gyors, a felhasználó számára láthatatlan tárolás.

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

Memória hierarchia

A

kép35

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

Definíció

A

A cache a memória egyes egymást követő részeit tárolja, azok tárolóhelybeli címével együtt.

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

Elvárás

A

Elvárás, hogy minnél nagyobb, gyorsabb és magas találati arányú legyen (ellentét!) (szintek bevezetése)

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

Cache típusok, szintek és késleltetések

A

o Utasítás, adat cache: L1 (általában a CPU órajelén fut: 1.3 – 1.5 ns | 2 – 4 ciklus)
o Mixed cache:
- L2 (4.5 – 8 ns | 9 – 14 ciklus)
- L3 (12 – 20 ns | 20 – 40 ciklus)

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

Méret

A

32kB–30MB

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

Elhelyezkedés lehet

A

o off-chip
o on-chip (mai)
Az adatátvitel a gyorsítótárak és a memória között mindig blokkos formában zajlik
- blokkméret: 4 - 64 byte (utasítás, illetve adat esetén eltérő lehet)
- sorméret: az a mennyiség, amely egy időben összehasonlítható, illetve
kijelölhető (altalában <= blokkméret)

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

Adataktualizálási módszer

A

o Write Through (cserék előtt)

o Write Back (azonnali)

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

Koherencia mechanizmus

A

A gyorstítótár és az operatív tár megegyezésének biztosítására (CC-NUMA esetén)

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

Visszakeresés módja

A
  1. Tartalom szerint: asszociatív keresés (CAM: Content Address Memory)
  2. Elhelyezkedés szerint: (MMU: Memory Management Unit » virtuális – fizikai címfordítás)
    o Fizikai cím: [ CPU – MMU – Cache ] – RAM (mai)
    o Virtuális cím: [ CPU – Cache – MMU ] – RAM (offset, összehasonlítás)
    o Tag: a memóriacímnek az a része, amely alapján közvetlenül (a tárolt értékből) vagy
    közvetve (a tárolt értékből és a cache-ben való elhelyezkedésből) meghatározható a memóriablokk kezdőcíme:
    - fizikai tag: szuperskalároknál általános
    - virtuális tag: csökkenti a cache miss késleltetését
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Cache Hit ↔ Cache Miss

A

 az elfogadott hibaarány általában kevesebb mint 10%
o találati hiba esetén (Cache miss) a CPU betölti az adatot az operatív tárból a
regiszterbe, illetve a gyorsítótárba
 a találati arány függ a cache méretétől, illetve a szervezés módjától
 Cache hit » sikeres találat, osztva a szumma „tárhoz fordulás”-sal.

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

Cache Replacement Policy

A
Gyorsítótár Helyettesítési Stratégia) A tartalom cseréjekor a megfelelő helyettesítési stratégiát kell alkalmazni.
 Például:
o FIFO – First In First Out
o LIFO – Last In First Out
o LRU – Least Recently Used 
o LFU - Least Frequently Used
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Mit tárolunk a cache-ben?

A

 Adatokat
 Tag-eket
 Állapotbiteket (vezérlést, illetve helyettesítési eljárást kiszolgáló bitek)

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

A legfontosabb állapotbitek

A

o V-bit:
o validate (érvényességjelző) bit
o vonatkozhat blokkra, sorra vagy bájtra
o legalább blokkonként van egy V-bit
o érvényes a cache-beli adat, ha a megadott tároló címen (ahonnan be lett töltve)
lévő eredeti adattal megegyezik és ahhoz is tartozik!
o cache törlés: V-bit 0-ra állítása

o D-bit:
o dirty (módosításjelző) bit
o blokkokra vonatkozik
o azt jelzi, hogy az adat módosítva lett, de még nem lett átírva az operatív tárba!
o amíg ez az átírás nem történik meg, addig nem lehet új adatot írni a blokkba

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

Koherencia protokollok

A

Gyorsítótár koherencia probléma: a gyorsítótár egyelőség fentartása. » C1 mag L1 értékét megváltoztatja, de ugyanezt az adatot C2 L1-e is tárolja. Megváltoztassa ő is, vagy érvénytlenítse?

  1. Snoopy protokoll
  2. Könyvtár alapú protokoll
  3. MESI protokoll
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Snoopy protokoll

A

Amikor gyorsítótár írást érzékelünk a buszon, akkor invalidáljuk a megfelelő címhez tartozó cellát (max. 2 – 4 mag/CPU esetén ajánlott)
Előnye: egyszerűen kiépíthető
Hátránya: sok mag/CPU esetén nagymértékben terheli a buszrendszert

17
Q

Könyvtár alapú protokoll

A

A megosztott adatok egy közös könyvtárba kerülnek. Ez szűrőként
üzemel. Jól skálázható!
o A CPU engedélyt kér, hogy betölthessen egy blokkot az operatív tárból a
gyorsítótárba.

18
Q

MESI protokoll

A

Új állapotjelzők bevezetése:
o M: Modified (1. tár valid csak)
o E: Exclusive (valid, de csak itt található, illetve a fő tárban)
o S: Shared (valid és létezik még legalább egy helyen, illetve a fő tárban)
o I: Invalid

19
Q

Megvalósítások – adat elhelyezés

A
  1. Fully Associative Cache
  2. Direct Mapped Cache
  3. Set Associative Cache
  4. Sector Mapping
20
Q

Fully Associative Cache

A

 A beolvasott blokk bármelyik sorban elhelyezhető, az elhelyezést a helyettesítési algoritmus határozza meg.
 N db. összehasonlító áramkört tartalmaz (N = sorszám)
 Amikor a CPU adatot keres, minden sort egyszerre vizsgál
 nagyon ritka

 Előnyei:
o gyors
o rugalmas
o magas találati arány

 Hátrányai:
o sok összehasonlító áramkör
o drága

kép36

21
Q

Direct Mapped Cache

A

(egy utas asszociatív cache)

  • 1-1 blokk csak egy meghatározott helyre kerülhet
  • A blokk helyét a blokk sorszáma határozza meg
  • 1 db. összehasonító áramört tartalmaz
  • Előnyei:
  • gyors
  • egyszerű és olcsó
  • Hátrányai:
  • merev
  • alacsony találati arány

-Találati arány javítható, ha növeljük a cache méretét, de ekkor lassul a keresés.

22
Q

Set Associative Cache

A

(N utas asszociatív cache)
 minden blokk n helyre kerülhet
 általában 2 - 8 utas (ennyi sor / csoport)
 N db. összehasonlító áramkört tartalmaz
 csoportindex alapján jelöli ki a megfelelő csoportot, ahol aztán egyidejűleg keres
 16 utas SAC ~= FAC
 gyakori manapság

 Előnyei:
o gyors
o rugalmas
o kevés összehasonlító áramkör (ahány utas)

kép38

23
Q

Sector Mapping

A

 a csoport helye asszociatív módon van megadva
 a csoportokon belüli elhelyezés kötött
 ritka

24
Q

Exkluzív szervezés

A

kép39

25
Q

Inkluzív szervezés

A

kép40

26
Q

Szervezés többmagos CPU-k esetén

A

kép41

27
Q

Memória hierarchiak

A

kép42

28
Q

Cache line (cella) felépítés

A
1. ENTRY:
o TAG
o Tprot (bits)
o Dprot (bits)
o Stat (V-bit, D-bit)
2. DATA:
o Adat
29
Q

Mi a mai trend?

A

Mai trend, hogy az L1 az L2-n belül található (nem mellette) o DPL: Data Prefetch Logic – L2
- elemzi az L1 adatelérési sémáit (például a szekvenciális lekéreseket)

30
Q

Egy memóriaművelet elvégzésekor milyen folyamatok mennek még végbe?

A

Minden memóriaművelet egyidejűleg címfordítás, gyorsítótárindexelés és összehasonlítás!

31
Q

Mikor tegyünk adatot a gyorsítótárba?

A
o soha (például média)
o első betöltéskor (lassú)
o Prefetch (spekulációt igényel)
32
Q

Mi a slew rate?

A

Kapcsolás 0-ról 1-re