Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Prezentační práce na téma PAMĚTI CACHE Vypracoval: Tomáš Svozil, 4.I.

Podobné prezentace


Prezentace na téma: "Prezentační práce na téma PAMĚTI CACHE Vypracoval: Tomáš Svozil, 4.I."— Transkript prezentace:

1 Prezentační práce na téma PAMĚTI CACHE Vypracoval: Tomáš Svozil, 4.I

2 Vyrovnávací paměť - cache - je velmi rychlá paměť relativně malé kapacity, sloužící ke zrychlení toku dat mezi procesorem a operační pamětí, resp. jinými částmi počítače. Je zapojena mezi procesor a operační paměť a to jak uvnitř procesoru nebo vně procesoru. Mohou být zapojeny současně jak vnitřní tak i vnější cache. Používá se pro zrychlení toku dat, nejčastěji mezi operační pamětí a µP. Co je to Cache paměť

3 CACHE Cache má významné postavení v paměťovém systému počítačů se základními deskami o kmitočtu 25 MHz a vyšším. Slovem cache označujeme malou, avšak rychlou vyrovnávací paměť o kapacitě kB a dobou přístupu okolo 2O ns. Nejčastěji se používá tzv. vnější procesorová cache, která je vřazená mezi procesor a relativně pomalou základní paměť s dobou přístupu okolo 7O ns. Pokud by paměť cache nebyla použita, musel by procesor vkládat při komunikaci s běžnou pamětí několik čekacích cyklů a tím by se systém zpomaloval. Obrázek paměti CACHE

4 Schéma paměti CACHE

5 CACHE Činnost paměti cache řídí řadič paměti cache(např.: I80385), který je připojen přímo na sběrnici mezi mikroprocesor a lokální sběrnici. Při přístupu do paměti se zjistí, je-li požadovaná informace v paměti cache. Pokud ano, je informace přečtena z paměti cache (tzv. čtení se zásahem - Hit). V tomto případě procesor nepřistupuje vůbec k základní paměti a lokální sběrnici, a ta může být zatím přidělena k jinému zařízení (např. řadič DMA). Není-li požadovaná informace v paměti cache (tzv. čtení chybějících údajů - Miss), je požadovaná informace přečtena ze základní paměti. Tato informace je navíc zkopírována do paměti cache k případnému dalšímu využití. Paměť cache může být přitom využita jako jednocestná tzv. přímo mapovaná, nebo vícecestná(dvoucestná). Paměť jednocestná a dvoucestná

6 Jednocestná a dvoucestná paměť Jak je zřejmé z obrázku, který znázorňuje rozdíl mezi jednocestnou a dvoucestnou pamětí, je paměť cache sestavena z několika stránek. Počet těchto stránek je roven počtu cestností.

7 CACHE Základní paměť představuje pro řadič paměti cache velké množství stejně velkých paměťových stránek počtu n, které jsou rozděleny na m položek o velikosti 8-64 bytů. Stejně je rozdělena i paměť cache. V každé položce paměti cache může být zkopírována stejnolehlá položka z libovolné stránky základní paměti V případě jednocestné paměti cache se při přidělení položky paměti cache nastaví do registru příslušné položky paměti cache číslo stránky základní paměti, jejíž položka má být do paměti cache kopírována. Řadič cache při tom zpravidla zabezpečí, aby do paměti cache byla zkopírována celá položka ze základní operační paměti, třeba že byl požadavek na čtení třebas jen jediného bytu.

8 CACHE - Zápis U vícecestné paměti se navíc musí určit, do které stránky paměti cache bude informace nahráta. K tomu nám zpravidla slouží mechanismus LRU (Least Recently Used - nejdéle nevyužit). Ten nám zabezpečí, že se k nahrátí informace vybere stránka, jejíž položka byla nejdéle nevyužita. Při zápisu do paměti se používají dva mechanismy: Zápis za použití mechanismu

9 CACHE - Zápis 1.Zápis skrz cache (write through) - při něm je informace zapsána do paměti cache a do základní paměti. Tím je zajištěno, že v hlavní paměti jsou vždy ty informace, které zde mají být (platí zejména pro diskové cache při havárii systému). Zápis do paměti je však vždy pomalý jak pomalá je základní paměť. U řadiče paměti cache, který obsahuje nebo řídí vyrovnávací registr pro zápis, probíhají však cykly zápisu bez nutnosti vkládat čekací takty. Výjimku tvoří případy, kdy nejsou informace ze záchytného registru doposud přepsány do základní paměti a procesor chce provést další zápisový cyklus.

10 CACHE - Zápis 2. Pozdní přístup do paměti (posted write) - data jsou zapisovány jen do rychlé paměti cache, kde se mohou několikrát změnit a kde je vždy prováděn pouze rychlý přístup do paměti cache. Řadič paměti cache musí však hlídat, aby byla daná informace přenesena zpět do základní paměti, pokud by měla být přemazána jinou požadovanou informací.

11 CACHE - Řadič Řadič paměti cache musí provádět navíc tzv. hlídání sběrnice (bus watching). Jde o činnost, kdy řadič paměti cache zjišťuje, zda v základní paměti nejsou měněna data jiným zdrojem než mikroprocesorem, jejichž obraz je i v paměti cache. Pokud jsou data měněna jiným zdrojem musí řadič paměti cache buď informace v paměti cache zneplatnit, nebo se zápisem do základní paměti automaticky změnit i data v paměti cache. Řadič paměti cache musí reagovat i na situaci při použití mechanismu pozdního zápisu, kdy jiné zařízení požaduje ze základní paměti data, které byly v paměti cache modifikovány, avšak v základní paměti nikoliv. V tomto případě je nutné, aby řadič paměti cache podporoval tzv. MESI protokol, který definuje odezvu systému paměti cache, které mohou nastat v případě systému paměti cache s pozdním zápisem v systémech s více moduly využívajícími informace z paměti.

12 CACHE – Vnitřní a vnější paměť Protože procesor při provádění programu často opakuje určitou posloupnost instrukcí několikrát, bývá často využit přístup k uloženým datům paměti cache. Efektivnost této paměti se proto určuje z tzv. poměru zásahů, který je určen podílem počtu přístupů do paměti cache k celkovému počtu cyklů sběrnice. Pro běžné velikosti paměti cache a běžné aplikace vychází tento poměr okolo 8O-90%. V počítačích s typem procesoru 486 a vyšším se začala používat mimo vnější paměti cache umístěné mimo procesor i vnitřní (interní) paměť cache. Ta je umístěná na čipu procesoru a mívá velikost od 2-32 kB.

13 Pro vnitřní paměť cache platí obdobné podmínky jako pro vnější paměť cache. Vnitřní a vnější paměť cache tvoří tzv. hierarchický systém paměti cache s různou dobou přístupu. Vnitřní paměť totiž dodá požadovanou informaci během jediné periody hodinového signálu procesoru. Vnitřní paměť bývá často organizována jako vícecestná - její nižší kapacita snižuje nároky na její řadič. Často se ještě člení na data a instrukce. U vyšších tříd procesoru např. pentium bývá tato paměť samotná dále hierarchicky členěná. CACHE – Vnitřní a vnější paměť

14 Disková CACHE Vyrovnávací paměť cache nemusí být pouze mezi procesorem a základní pamětí, ale může být použita i mezi dalšími různě rychlými zařízeními v počítači např.:mezi zařízeními vnější paměti - nejčastěji pevným diskem a základní operační pamětí. Takováto cache se nazývá disková cache, tvoří ji klasické paměťové obvody RWM a platí pro ni obdobná pravidla jako pro klasickou paměť cache. Operaci čtení výrazně urychlí tzv. čtení napřed, kdy jsou z disku načteny informace, které by mohly být v budoucnosti požadovány. Hlavní přínos je však při operacích zápisu, proto se používá zpravidla mechanismu pozdního zápisu.

15 Disková CACHE Diskov á paměť cache je dvojího druhu:  Realizovaná softwarově - je umístěná v základní operační paměti a je spravována  Realizovaná hardwarově - je komponentem řadiče diskových jednotek, popř. přímo diskové jednotky. Porovnáme-li obě realizace, pak při stejné velikosti pamětí bude použití hardwarové cache výhodnější, protože není zmenšována velikost operační paměti a procesor nemusí zajišťovat její obsluhu. Jinak ale dopadne srovnání 4 MB softwarové paměti cache a 64 kB hardwarové paměti cache. Výkon hardwarové paměti cache může být též nepříznivě ovlivněn připojením diskového subsystému na pomalou sběrnici.

16 Rozdělení CACHE:  podle přístupu  podle způsobu vyhledávání  podle vztahu k operační paměti  podle počtu položek na jednu adresu  podle množství současných přístupů  podle adresace  podle obsahu  podle umístění vzhledem k procesoru  podle pořadí od procesoru  podle spolupráce s operační pamětí Základní rozdělní, podrobněji dále.

17 Podle přístupu  asynchronní - obsazují sběrnice po celou dobu  synchronní - CPU po zadání adresy nečeká až se objeví data na sběrnici, ale o data požádá v dalším taktu, takže odpadá wait stav procesoru. Tím se zrychlí tok dat a průměrné zpoždění SRAM se sníží na 9 ns.  synchronní - pipelined burst SDRAM CACHE (s hromadným přístupem) – synchronní CACHE, zadávání adresy je stejné, ale přenáší se několik dat za sebou - burst režim.

18 Podle způsobu vyhledávání  asociativní - vyhledávání podle (části) obsahu - část informace znám, podle této části vyhledám zbytek (vyhledávání např. *.pdf ve Win)  neasociativní - vyhledávání podle adres, nepoužívá se Podle počtu položek na jednu adresu  jednocestné - 1 blok  dvoucestné - 2 bloky  čtyřcestné - 4 bloky  osmicestné - 8 bloků

19 Podle vztahu k operační paměti  netransparentní - zastaralý, nevhodný, dnes se nepoužívá. Změna obsahu není zachycena do CACHE a CACHE pak neobsahuje správné údaje.  transparentní - nutné u víceprocesorových systémů. Procesor (čipová sada) obsahuje další řadič, který sleduje spolu s CHIP SETem transakce na sběrnici a podle nich upravuje I (invalid) tagy v CACHE.

20 Podle adresace  s fyzickou adresací - (obvykle umístěné mezi MMU a OP). Přepočet adres na fyzické trvání několik taktů a tak tato paměť je pomalejší. Nemůže nastat kolise adres.  s virtuální nebo logickou adresací - (obvykle umístěné mezi CPU a MMU). Virtuální adresa je téměř ihned k dispozici a tedy vyhledávání je rychlé. U multiprocesorových systémů. U multitaskingu může stejná virtuální adresa znamenat různé fyzické adresy. Nutno ošetřovat cache.

21 Podle množství současných přístupů  jednoportové  dvouportové Podle obsahu  společná pro data a instrukce  pouze pro data - datová  pouze pro instrukce - instrukční

22 Podle umístění vzhledem k procesoru  vnitřní (ondie) - na stejném chipu jako procesor  vnější - všechny ostatní CACHE Podle pořadí od procesoru  L(level)1 - CACHE první úrovně, nejblíž k procesoru, nejčastěji vnitřní, nejmenší, nejrychlejší, šířka sběrnice podle procesoru.  L2 - CACHE druhé úrovně, větší, pomalejší  L3 - největší, nejpomalejší L1, L2, L3 jsou rychlejší než OP.

23 Podle spolupráce s operační pamětí (OP)  CACHE Write Through - zapisuje modifikovaná data v CACHE, zapisuje současně do CACHE a OP. Výstup na sběrnici je obvykle bufferován (FIFO délky 1 až 4), aby se nezdržoval proces čekání na ukončení zápisu.  CACHE Write Back - zapisuje data pouze do CACHE. Do OP se provede zápis až při rušení obsahu CACHE. Rychlejší než Write Through. Nebezpečnější, protože nesouhlasí obsah CACHE a OP.

24 Děkuji Vám za pozornost a věřím, že Vás moje práce zaujala.

25 Konec


Stáhnout ppt "Prezentační práce na téma PAMĚTI CACHE Vypracoval: Tomáš Svozil, 4.I."

Podobné prezentace


Reklamy Google