share: true
aliases:
- 06 Hardwarová realizace pamětí a jejich organizace
complete: true
- 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
- mapování adresy

- Čá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
- Mapování adresy setu a cesty
- 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