BI-PI.21-2
  • Paměťová hierarchie se skrytou pamětí (cache memory)
  • Principy lokality a fungování skryté paměti.
  • Architektura přímé, částečně asociativní, plně asociativní skryté paměti.

HW realizace pamětí

  • Dle čtení zápisu
    • ROM -> Read Only Memory
    • RWM -> Read Write Memory
  • Dle trvanlivosti dat
    • Volatilní -> závislé na napájení
    • Nonvolatilní -> nezávislé na napájení
  • Dle obnovování
    • Statická paměť -> informace je uložená v klopném obvodu složeném z tranzistorů
      • Drahá, větší než DRAM
      • Dva invertory zapojení proti sobě
    • Dynamická paměť
      • Informaci drží kondenzátor
      • Menší plocha
      • Vyžaduje obnovování
  • Dle přístupových omezení
    • RAM -> Random Access Memory - možné v konstantním čase číst libovolnou adresu
    • disk -> přístupová doba závisí na aktuální poloze hlavičky.

Paměťová hierarchichie se skrytou pamětí (Cache)

  • Používá se pro překlenutí rozdílné rychlosti mezi CPU a RAM
    • CPU registry jsou řádově rychlejší než DRAM
  • Uspořádání paměti do hierarchické struktury podle rychlosti, a velikosti
    • Rychlost roste spolu s cenou blíže k CPU, současně klesá velikost
    • nutné správně využít prostorovou a časovou lokalitu
  • Paměťová hiearchie
    • Registry
    • L1 Cache
    • L2 Cache
    • L3 Cache
    • RAM
    • disky
  • O přístup do RAM se stara memory controller
    • zajišťuje čtení, zápis a refresh RAM

Principy lokality a fungování skryté paměti

  • Paměťová lokalita
    • Časová lokalita
      • Pokud bylo přistoupeno na adresu A je pravděpodobné že se to bude opakovat
      • Často se přístup k položkám opakuje
      • Například vykonávání instrukcí rekurze
    • Prostorová lokalita
      • Při přístupu na adresu A je pravděpodobný i přístup na adresu A+1
      • Položky poblíž načtené budou pravděpodobně taky potřeba
      • Průchod pole
  • Cache
    • Rychlá skrytá paměť
    • Programátorovi neviditelná, HW ji využívá k ukládání opakovaně používaných dat
    • Kopírují se z RAM, přístup do cache je rychlejší (frekvence CPU)
    • SRAM
  • Formát řádků cache
    • Valid bit -> jestli obsahuje data
    • dirty bit -> jestli došlo k modifikaci dat (nutný zápis do RAM)
    • tag -> index odpovídající bloku v RAM
    • data -> data z RAM
  • Zápis dat z cache do RAM
    • Write througth -> zápis do cache i do RAM
    • Write back -> zápis do cache, do RAM až při vyprázdění cache
    • Write buffer dodatečná zápisová fronta
      • snižuje zátěž sběrnice a zkracuje dobu výpadku,
      • data se zapíší z fronty do RAM až se dostanou na řadu

Architektura přímé, částečně asociativní, plně asociativní skryté paměti

  • Cache má omezenou velikost
  • Data se přenáší mezi cache a RAM po blocích
  • RAM je rozdělená do bloků
  • Cache pojme omezený počet bloků
  • Na základě adresy je počítán set pro uložení položky do cache
    • TAG je část adresy, která rozděluje jinak shodné bloky
    • SET určuje řádek v cache
    • další část adresy vybírá slovo z bloku
  • Typy
    • Přímo mapovaná
      • Jedna položka RAM může být jen v jednom řádku cache (víc položek RAM na cache řádek)
      • Cache miss
      • Za sebou jdoucí RAM se mapuje za sebe do cache
      • adresa/BS = velikost cache
      • pokud je požadovaný block cache zaplněný, je obsah nahrazen
      • Mapování bloku
        • Pasted image 20260610210008.png
      • mapování adresy
      • Pasted image 20260610210024.png
    • Částečně asociativní
      • Více kopií cache
      • Více cestná cache
      • Blok lze uložit do jedné z n cest
      • stupeň asociativity říká kolik je instancí (cest) cache
        • mapování položek se stejným setem do více instancí -> omezuje kolizi
        • Lze využít všechny instance
        • Po zaplnění je nutné zvolit přístup nahrazování bloků v cache
          • Pseudonáhodně
          • LRU -> Least Recently Used
            • Náročné na implementaci
            • Nejstarší použitý blok
          • LFU -> Least Frequently Used
            • Nejméně požadovaný
            • Čítač přístupů
            • Preferuje nově načtené!
          • ARC -> Adaptive Replacement Cache
            • Kombinace LFU a LRU
        • Mapování adresy setu a cesty
          • Pasted image 20260610212147.png
    • Plně asociativní paměť
      • Stupeň asociativity = počet bloku RAM
      • Jeden set, všechny cesty
      • TAG je celá adresa
      • Nepoužitelné, zbytečné
  • Organizace
    • SP o velikosti bloků se dělí na setů a cest, v jednom setu je bloků
    • číslo setu kam se mapuje blok RAM je určen adresou
    • cesta ve které je blok nakopírován záleží na cache
    • každý blok obsahuje slov

Vytvořeno: 29. 5. 2026, 16:38
Poslední aktualizace: 11. 6. 2026, 0:13