Krok: 1
Cache paměť je rychlá vyrovnávací paměť mezi rychlým zařízením (např. procesor) a .......... (např. operační paměť).
V dnešních počítačích se běžně používají dva druhy cache pamětí:
Krok: 2
Externí cache paměť je paměť, která je umístěna mezi pomalejší operační pamětí a rychlým procesorem. Tato paměť je vyrobena jako rychlá paměť SRAM a slouží jako vyrovnávací paměť u počítačů s .......... procesorem, které by byly bez ní operační pamětí velmi zpomalovány.
Práce cache paměti vychází ze skutečnosti, že program má tendenci se při své práci určitou dobu zdržovat na určitém .......... paměti, a to jak při zpracování instrukcí, tak při načítání (zapisování) dat z (do) paměti.
Krok: 9
Je-li požadována nějaká informace z paměti, je nejdříve hledána v cache paměti (interní, pokud existuje, a následně v externí). Pokud požadovaná informace není přítomna v žádné z cache pamětí, je zavedena přímo z .......... paměti.
Krok: 10
Kromě momentálně požadované informace se však do cache paměti zavede celý .......... paměti, takže je velká pravděpodobnost, že následně požadované informace již budou v cache paměti přítomny.
Krok: 11
Pokud dojde k zaplnění cache paměti a je potřeba zavést další blok, je nutné, aby některý z bloků cache paměť ........... Nejčastěji se k tomuto používá LRU (Least Recently Used) algoritmu, tj. algoritmu, který vyřadí nejdéle nepoužívaný blok.
Krok: 12
Cache paměti bývají organizovány jako tzv. asociativní paměti. Asociativní paměti jsou tvořeny tabulkou (tabulkami), která obsahuje vždy sloupec, v němž jsou umístěny tzv. tagy (klíče), podle kterých se v asociativní paměti vyhledává. Dále jsou v tabulce umístěna .........., která paměť uchovává, a popř. další informace nutné k zajištění správné funkce paměti. Např.:
Při přístupu do cache paměti jenutné zadat adresu, z níž data požadujeme. Tato adresa je buď celá, nebo její část považovaná za .........., který se porovnává s tagy v cache paměti.
Cache paměti jsou konstruovány jedním ze tří způsobů.
Tento způsob cache paměti má své nevýhody:
N-cestně asociativní paměti částečně eliminují nevýhody plně asociativních cache pamětí a v současnosti jsou nejpoužívanějším typem cache pamětí.
Přímo mapovaná cache ve srovnání s n-cestně asociativní cache pamětí vykazuje nižší výkon, a proto její použití není dnes příliš časté.
Krok: 13
Krok: 15
U plně asociativní cache paměti je .......... adresa, ze které se budou číst data (popř. na kterou se budou data zapisovat), brána jako tag.
Krok: 16
Tento tag je přiveden na vstup .......... (zařízení realizující porovnání dvou hodnot) společně s tagem v daném řádku tabulky.
Pokud některý z tagů v tabulce je shodný se zadaným tagem na vstupu, ohlásí odpovídající komparátor shodu a znamená to, že požadovaná informace je v cahe paměti .......... a je možné ji použít. Pokud všechny komparátory signalizují neshodu, je to známka toho, že požadovaná informace v cache paměti není a je nutné ji zavést odjinud (externí cache paměť, operační paměť).
Z těchto důvodů se plně asociativní paměti prakticky nepoužívají.
Krok: 17
Schéma funkce n-cestně asociativní cache paměti (n=2)
Krok: 18
N-cestně asociativní paměti pracují tak, že zadaná adresa se rozdělí na .......... části:
Krok: 19
Adresa třídy je přivedena na n .......... (zařízení, které na základě vstupní hodnoty vybere jeden ze svých výstupů, na který umístí hodnotu log. 1, a na ostatní výstupy umístí hodnotu log. 0), které v každé tabulce vyberou jeden řádek. Z těchto řádků se potom vezmou příslušné tagy a komparátorem se porovnají se zadaným tagem.
Podobně jako u plně asociativních cache pamětí pokud jeden z komparátorů signalizuje shodu, je informace v cache paměti ........... V opačném případě je nezbytné informaci hledat jinde.
Krok: 20
Schéma funkce přímo mapované cache paměti
Konkrétním příkladem cache paměti může být například interní cache paměť procesoru 80486, která je realizována jako 4-cestně asociativní cache paměť.
Přímo mapovaná cache paměť je speciální případ n-cestně asociativní cache paměti pro n=........... Zadaná adresa je opět rozdělena na tag a adresu třídy. Adresa třídy je přivedena na vstup dekodéru, který podle ní vybere jeden řádek v tabulce. Tag na tomto řádku je následně porovnán se zadaným tagem, čímž se rozhodne o přítomnosti resp. nepřítomnosti informace v cache paměti.
|
Schéma funkce interní cache paměti procesoru 80486 (4-cestně asociativní) |
Adresa je rozdělena na tři části:
Adresa třídy je přivedena na dekodér, který vybere jeden ...........
Krok: 22
Zadaný tag je dále .......... porovnán proti 4 tagům ve vybraném řádku.
Krok: 23
Pokud jeden z komparátorů ohlásí .........., provede se výběr dat v datové části paměti.
Krok: 24
Datová část obsahuje v každém sloupci 16B, ze kterých je pomocí dolních 4 bitů zadané adresy vybrán jeden požadovaný ...........
Krok: 25
Každý řádek cache paměti ještě obsahuje jeden bit, který říká, zda informace v daném sloupci jsou platné, a 3 bity pro realizaci pseudo-LRU algoritmu. Pomocí tří bitů nelze vždy určit nejdéle .......... blok cache paměti. Tento algoritmus je však jednoduchý a rychlý a díky tomu poskytuje dostatečný výkon.
Podle způsobu práce při zapisování dat lze cache paměti ještě rozdělit do dvou skupin:
Krok: 26
Cache paměti: strana 3