Alapadatok

Év, oldalszám:2000, 5 oldal

Nyelv:magyar

Letöltések száma:91

Feltöltve:2009. július 23.

Méret:51 KB

Intézmény:
-

Megjegyzés:

Csatolmány:-

Letöltés PDF-ben:Kérlek jelentkezz be!



Értékelések

Nincs még értékelés. Legyél Te az első!


Tartalmi kivonat

- Cache-tárak/1 - Cache-tárak (kiegészítés) Az adatok útja cache-találat és cache-hiba esetén: processzor cache-tár főtár ‘tag’rész adatrész 183 adat címdekódoló tároló 183 adat cachehit (183) címsín (adat) adatsín processzor oldal tároló oldal Cache-hit Cserny: RISC processzorok processzor cache-tár főtár ‘tag’rész adatrész 183 adat cachehit címdekódoló 183 tároló adat (adat) (183) (183) (adat) címsín (adat) adatsín processzor oldal tároló oldal Cache-miss Cserny: RISC processzorok - Cache-tárak/2 - A találati arány (cache-hit) A tervezéskor törekednek a magas találati arány elérésére. Találati arány: h = találatok száma/összes tárhoz fordulások száma Hiba arány: 1-h Átlagos elérési idő = h * t c + (1 - h) t miss tc : cache-tár elérési ideje (~ 25 ns) t miss : cache-tár elérési ideje + blokk beolvasása a főtárból + cache-be írás (~ 250 ns) Cache hiba

esetén az adatok elérési ideje 8 - 10-szerese a cache tár elérési idejének. Az átlagos elérési idő 95%-os találati arány esetén kb. 50%-kal nagyobb a cache elérési idejénél A cache tárak jellemzői, típusai Visszakeresés a keresett adat címe alapján történik. A címet (vagy annak egy része), amelynek alapján a visszakeresés történik "tag"-nek nevezik. A címen és az adaton kívül a cache az  az adatok állapotára vonatkozó,  a vezérlést segítő és  a helyettesítési eljárást segítő adatokat is tartalmaz. Vezérlő bit-ek:  V (Validity bit), érvényességi bit Az adat a megadott címhez tartozik, és helyes. A cache tár törlésekor (flush) az összes V-bit 0-ra vált.  D (Dirty bit) A blokk egy része módosult. Nem lehet a helyére új blokkot betölteni, amíg ki nem írjuk a főtárba.  C (Coherence bit) A V és D bit-tel együtt a főtár tartalma és a cache blokkjai közötti egyezőség

biztosítását segíti.  SV (Supervisor bit) Jelzi, hogy a blokk felhasználói- vagy rendszeradat. A hozzáférési védelmet segíti. - Cache-tárak/3  PID (process identifier bits) Jelzik a blokk valamely feladathoz tartozását. Megakadályozzák az illetéktelen felhasználásokat. Használata esetén, nem kell a cache-t kiüríteni taszk váltáskor  Helyettesítési bit-ek (replacement bits) A blokkok cseréjéhez nyújtanak információt. A visszakeresés módja szerint:  Teljesen asszociatív cache A blokk bármely sorban lehet: rugalmas, hatékony, de költséges a sok öszszehasonlító áramkör miatt.  Közvetlen leképzésű cache A blokk csak egyetlen sorban lehet. merev, a "tag" rövidebb Olcsó, mert nem kell asszociatív memória, de a találati arány alacsonyabb.  Csoport asszociatív cache A fenti két megoldás között helyezkedik el, elég hatékony, és nem túl költséges. Tartalmának karbantartása A tartalom

betöltése  az igény felmerülésekor (demand fetching)  előkészítéssel (prefetch) Aktualizálás  azonnali átírás (write through)  visszaírás (write back) Helyettesítési eljárások  véletlenszerű csere  FIFO-elv (First-In-First-Out)  Legkevésbé használt elemek cseréje (LRU) Adategyezőség biztosítása A főtár és a cache tartalmának egyezőségét biztosítani kell! A főtár és a cache tartalma több okból is eltérhet:  a processzor a cache-ben módosít, majd csak később aktualizálja a tárat (writeback módszer)  a főtár tartalmát egy másik egység módosítja (lapváltás, I/O DMA-val)  több processzor is használja a tárat  több cache is van a rendszerben - Cache-tárak/4 (a) Visszaírási módszerek   A közvetlen átírás (write-through) módszer problémamentes. A cache módosításával együtt a főtár is aktualizálva lesz A visszaírási (write-back) módszer problémát okozhat, ha a

tárat más egység is használja (DMA). (b) A cache tár strukturális elhelyezkedése az adatáramlási útvonalon 1. Címfordítás szempontjából A virtuális tárkezeléshez kapcsolódik.  Processzor - Tárolókezelő (MMU) - Cache tár - Főtár elrendezés A cache tár fizikai címeket kap. Egyértelmű megfeleltetés van a cache tár címei és a főtár között. A cache használata lassulhat.  Processzor - Cache tár - Tárolókezelő (MMU) - Főtár elrendezés A cache virtuális címekkel dolgozik, így a cache működése gyors. Különböző folyamatokhoz tartozó virtuális címeket ugyanahhoz a fizikai címhez rendelheti az MMU (szinonimák). Ezt a problémát külön áramkörökkel (TLB, ITB ) kezelik. 2. I/O átvitelek szempontjából  Az I/O átvitel közvetlenül a főtárba/-ból Figyelő rendszert (snoop logic) alkalmaznak, amely minden címet ellenőriz a cache-ben, amelyhez tartozó adat a sínen áthalad. Ha a főtár tartalma változik, és az

adat a cache-ben is megtalálható, a figyelő logika a cache tartalmát érvényteleníti (V-bit), vagy aktualizálja a cache-t. A főtárból olvasáskor, ha az adat a cache-ben is megtalálható, a cache-ből szolgálja ki az adatot.  Az I/O átvitel a cache-en keresztül (I/O through cache) Nincs adat-egyezőségi probléma. A cache forgalma megnő A cache-hez többszörös hozzáférést kell biztosítani MESI protokoll Több processzoros rendszerekben még nehezebb az adategyezőség biztosítása (különösen, ha több cache is van). Elterjedt a MESI protokoll használata. A MESI elnevezés a cache blokkjai aktuális állapotainak: Modified, Exclusive, Shared, Invalid kezdőbetűiből tevődik össze. - Cache-tárak/5 - SHR Lehetséges állapotok: SHW I S RMS RH SHR M E S I modified exclusive shared invalid WH SHW WM SHR RME Állapotátmenetek: SHW RH M WH E RH WH RH read-hit WH write-hit RMS read-miss, shared RME read-miss, exclusive WM write-miss

SHR snoop-hit on a read SHW snoop-hit on a write /read with intent to modify MESI protokoll állapotdiagramja Cserny: RISC processzorok A cache blokkok állapotai az alábbi 4 állapot valamelyikében lehetnek:  Módosított (modified) A cache blokkja a főtárhoz képest módosítva lett, és ez az egyetlen érvényes adatblokk.  Kizárólagos (exclusive) A cache blokk a főtárral egyezik, érvényes, és más cache-ben nem fordul elő a blokk.  Megosztott (shared) A cache blokk a főtárral egyezik, érvényes, de legalább még egy cache-ben megtalálható a blokk.  Érvénytelen (invalid) A cache blokk érvénytelen adatot tartalmaz. Az egyes állapotok közötti átmenetet kiválthatja  olvasás/írás a cache-ből/-be  a figyelő logika