Rychlé vyrovnávací paměti (cache) Václav ŠIMEK
[email protected]
Vysoké Učení Technické v Brně, Fakulta Informačních Technologií Božetěchova 2, 612 66 Brno
VPC – 5. přednáška
10. března 2011
Co nás dnes čeká?
Důvody pro zavedení RVP do architektury počítač Základní aspekty činnosti RVP Organizace a vývoj architektury RVP Metody udržování koherence dat
Rychlé vyrovnávací paměti (cache)
2/14
Rychlá vyrovnávací paměť (RVP) - úvod
Operační paměť není schopná data vydávat nebo přijímat tak rychle, jak by to potřeboval procesor. Dostatečně rychlou paměť lze vyrobit, ale cena na bit je vysoká. Řešením je kompromis nejčastěji používaná data (či úseky programu) se uloží v rychlé vyrovnávací paměti (nebo-li cache)
1
2
Typický průběh: 1) požadavek na data jde nejprve do cache; 2) když neuspěje, pokračuje se do paměti.
Bývá implementována i ve více úrovních L1 přímo v procesoru, pracuje na rychlosti jádra CPU L2 na rychlosti sběrnice procesoru.
RVP je typicky rozdělena do bloků o konstantní velikosti ideálně dle velikosti dat dodaných synchronní DRAM při blokovém přenosu RVP o velikosti 512kB a velikosti bloku 32 bytů → obsahuje celkem 16384 bloků Rychlé vyrovnávací paměti (cache)
3/14
Princip asociativní paměťi - opakování
U asociativního výběru jsou v adresové části paměti poznamenány adresy paměťových míst datové části. Paměťová místa mohou být vzhledem k adresám uspořádána libovolným způsobem, některým adresám nemusí odpovídat žádné paměťové místo. Princip asociativního výběru vyžaduje, aby ve všech řádcích adresové části paměti byl komparátor adres - klíčů.
Rychlé vyrovnávací paměti (cache)
4/14
Analýza RVP z hlediska ceny a výkonu – 1/2
Máme dvě konfigurace počítače podle obrázku s parametry podle tabulky, kde mi je kapacita paměti, ti je doba přístupu a ci je cena v hal/Kbit.
Rychlé vyrovnávací paměti (cache)
5/14
Analýza RVP z hlediska ceny a výkonu – 2/2
Rychlé vyrovnávací paměti (cache)
6/14
Účinnost RVP – základní pojmy
Základní údaj o účinnosti RVP je pravděpodobnost úspěchu (hit rate), resp. pravděpodobnost neúspěchu (miss rate), neboli pravděpodobnost výpadku bloku tyto parametry mohou být definovány zvlášť pro čtení a zápis, pro data i instrukce (data hit/miss rate, instruction hit/miss rate, atd.)
Doba potřebná k nalezení bloku je přístupová doba RVP (ale jen v případě, kdy blok v RVP je) V případě neúspěchu (blok v RVP není) se přičítá ztrátová doba (miss penalty), což je doba potřebná na přisunutí bloku je daná dobou potřebnou k uvolnění místa v RVP, přístupovou dobou k prvnímu slovu požadovaného bloku ve vzdálenější paměti plus doba přenosu celého bloku
Cílem je navrhnout organizaci a správu RVP tak, aby hodnota hit rate byla co nejvyšší (pozor, vždy závisí i na datech/programech)!!! Rychlé vyrovnávací paměti (cache)
7/14
Příklady uspořádání vyrovnávacích pamětí
Rychlé vyrovnávací paměti (cache)
8/14
Jak funguje plně asociativní paměť?
Je provedeno porovnání hledané adresy (tag) se všemi uloženými tagy položek Pokud některý komparátor nahlásí shodu a je zřejmé, že hledaná data se nacházejí v paměti cache Jesliže žádný z komparátorů neohlásí shodu, tedy nalezení požadovaných dat, je třeba provést načtení z paměti Podstatná část drahé rychlé paměti je spotřebována právě na uložení tagů a realizaci procesu komparace Růst počtu komparátorů samozřejmě odráží celkový počet žádků v paměti cache
Rychlé vyrovnávací paměti (cache)
9/14
RVP s přímým mapováním a 32-bit adresou
Levá část RVP je adresová a pravá část je datová Celkový počet bloků o velikosti jednoho slova je 230 Do RVP je umístěno 210 bloků Dolní odhad pravděpodobnosti úspěchu nalezení dat v RVP je Díky lokalitě odkazů se v praxi dosahuje hodnot phit kolem 0.9 až 0.98 Rychlé vyrovnávací paměti (cache)
10/14
Možné zlepšení – vícecestná asociativní paměť
Rychlé vyrovnávací paměti (cache)
11/14
4-cestná asociativní paměť (L1 v CPU 80486)
Rychlé vyrovnávací paměti (cache)
12/14
Metody zápisu do paměti cache
Změní-li se data v bloku zápisem, ztratí bloky na vzdálenějších úrovních platnost a nesmí se již použít vznikla tak datová nekonzistence, neboli nekoherence
write-through cache paměti, u kterých v případě zápisu procesoru do cache paměti dochází okamžitě i k zápisu do operační paměti procesor tak obsluhuje jen zápis a o další osud dat se stará cache paměť
write-back cache paměti, u nichž jsou data zapisována do operační paměti až ve chvíli, kdy je to třeba, a nikoliv okamžitě při jejich změně k zápisu dat do operační paměti tedy dochází např. v okamžiku, kdy je cache zcela zaplněna a je třeba do ní umístit nová data tento způsob práce cache paměti vykazuje oproti předešlému způsobu vyšší výkon
Rychlé vyrovnávací paměti (cache)
13/14
Děkuji za pozornost!
Rychlé vyrovnávací paměti (cache)
14/14