Rychlé vyrovnávací paměti (cache) Václav ŠIMEK simekv@fit.vutbr.cz 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 m i je kapacita paměti, t i je doba přístupu a c i 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 2 30 Do RVP je umístěno 2 10 bloků Dolní odhad pravděpodobnosti úspěchu nalezení dat v RVP je Díky lokalitě odkazů se v praxi dosahuje hodnot p hit 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