5. Paměti
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
V paměti
mohou být 4
slova (bloky,
cache lines)
ze stejného
setu
Plně asociativní cache paměť
N = počet bloků
Každá cache line může obsahovat data z jakékoliv adresy
Pro každý blok (cestu) je vyžadován samostatný
komparátor
– Tag
– náročné na HW
Počet setů = 1
Jen pro malé kapacity
Výkon cache paměti
Hit rate
– podíl úspěšných přístupů
Miss rate
– podíl neúspěšných přístupů
Miss penalty
– časová ztráta na načtení
chybějícího bloku
Průměrná rychlost přístupu do
paměti:
– T
Hit + MissRate * MissPenalty
Uvolňování bloků cache paměti
Pokud je třeba načíst blok a cache je plná
– u přímo mapované ani plná být nemusí !!!
Random – náhodně
– jednoduché, ale neefektivní
LRU (Least Recently Used)
– nejdéle nepoužívaný blok (každý blok musí mít HW čítač)
LFU (Least Frequently Used)
– nejméně často používaný blok
Kombinované řešení
Zápis dat procesorem do paměti
Virtuální paměť
Na počítači je paralelně běžících několik desítek či stovek
procesů (programů)
– sdílejí fyzickou paměť
– při překladu programů ale nevíme, kde v paměti budou
– co když nějaký program bude záměrně nebo chybou škodit
jiným
Virtuální paměť je řešením
– procesy pracují s virtuálními adresami
– pro jednotlivé rozsahy adres lze omezit přístupová práva
– virtuální adresní prostor může být větší než fyzická operační
paměť
Musíme ale zajistit překlad virtuálních adres na fyzické
adresy v reálném čase
Virtuální paměť
Příklad – look-up table
Pro 8 bajtový virtuální i fyzický adresní prostor
potřebujeme 8 * 3 bity (na překladovou tabulku)
Pro 4 GB prostory potřebujeme ???
Virtuální paměť