Co je mezipaměť?

click fraud protection

Co je mezipaměť a proč ji mají CPU, GPU a další druhy procesorů? Zde je vše, co potřebujete vědět.

Rychlé odkazy

  • Mezipaměť: Malé množství vysokorychlostní paměti
  • Úrovně mezipaměti a hierarchie paměti
  • Cache je nezbytná, ale sama o sobě nezlepšuje výkon

Přestože se o cache nemluví tolik jako o jádrech, RAM (Random Access Memory), popř VRAM, určitě jste o tom už slyšeli, zvláště v poslední době. AMD za svůj herní výkon hrdě inzeruje CPU Ryzen s 3D V-Cache v důsledku použití mezipaměti a jedním z největších vylepšení Intelu s procesory Raptor Lake 13. generace bylo přidání více mezipaměti.

Ale jak může mezipaměť zlepšit výkon, když se měří v megabajtech? Dokonce i ty nejlevnější sady RAM mají v dnešní době 16 GB, tak jak může přidání pouhých několika megabajtů mezipaměti navíc udělat tak velký rozdíl ve výkonu? Mezipaměť není váš normální typ paměti.

Mezipaměť: Malé množství vysokorychlostní paměti

Zdroj: AMD

Cache je ve skutečnosti poměrně nedávný vývoj v oblasti procesorů, který se datuje do 90. let minulého století a byl vynalezen kvůli paměti RAM. RAM je klíčovou součástí v počítačích, která ukládá značné množství dat, které procesory (jako CPU a GPU) podle očekávání budou potřebovat poměrně často. Po dlouhou dobu drželo zlepšení výkonu RAM krok se zlepšením výkonu CPU, ale v 90. letech minulého století se Je zřejmé, že RAM nebude schopna držet krok s nejnovějšími CPU. RAM měla spoustu kapacity, ale přenosové rychlosti byly příliš vysoké pomalý.

Zde přichází keš. Fyzicky ani kapacitně není zdaleka tak velká jako RAM, ale je uvnitř samotného procesoru a dokáže přenášet data velmi rychle a s velmi nízkou latencí. Dokud mezipaměť ukládá data, která procesor skutečně potřebuje, může ušetřit čas, protože požadavek RAM na stejná data je mnohokrát pomalejší. Bylo to skvělé řešení problému RAM a umožnilo návrhářům CPU pokračovat ve výrobě rychlejších CPU a Návrháři paměti RAM, aby nadále vytvářeli větší kapacity paměti RAM, aniž by se o to museli tolik starat výkon. Cache je dnes téměř ve všech typech procesorů.

Možná se ptáte, proč je cache tak malá. No, většinou to souvisí s prostorem a penězi. I 32 MB mezipaměti může zabrat docela dost místa na procesoru a moderní čipy jsou omezeny na zhruba 600 mm2 v celkové ploše, což je třeba používat rozumně. To znamená, že věnování větší oblasti mezipaměti se může pěkně prodražit ta situace se ve skutečnosti zhoršuje, ne lepší. Nejnovější výrobní procesy vedou k menším a menším vylepšením v hustotě mezipaměti a společnosti TSMC se v první iteraci svého 3nm procesu nepodařilo velikost mezipaměti vůbec zmenšit.

Úrovně mezipaměti a hierarchie paměti

Zdroj: Carlos Carvalho

Vynález cache znamenal, že všechna zařízení pro ukládání dat v počítači mají novou vrstvu. Tyto vrstvy tvoří to, čemu se říká hierarchie paměti, kterou můžete vidět na obrázku výše a která je podrobně popsána jaká paměť jde kam v typickém systému v rámci CPU (ačkoli jiné druhy procesorů budou vypadat velmi podobný). Dnešní moderní paměťová hierarchie nezahrnuje pouze cache, RAM a permanentní úložná zařízení, ale také paměťovou hierarchii uvnitř cache samotné.

Většina procesorů má různé úrovně mezipaměti pro různé účely. První a nejmenší úrovní cache je L1, která dostává jednotlivá jádra pro zpracování dat, která jsou potřeba okamžitě. L1 cache se často měří v kilobajtech, přičemž nejnovější CPU Ryzen 7000 mají 64 KB L1 cache na jádro. Moderní mezipaměť L1 se navíc často dále dělí na L1I (pro instrukce) a L1D (pro data).

Další na řadě je L2, který je spíše pro skupinu jader než pro jednotlivá. L2 cache je přirozeně větší než L1 cache, často o řád, ale je mnohem větší a musí obsluhovat více jader znamená, že je pomalejší a má vyšší latenci. Některé procesory, zejména GPU a pomalejší CPU, přejdou pouze na mezipaměť L2.

Dalším krokem je L3, který obecně používají všechna jádra na čipu. Jeho velikost se může lišit od několikanásobku větší než mezipaměť L2 až po řádově větší v závislosti na procesoru. To znamená, že je ještě pomalejší než mezipaměť L2, ale stále překonává RAM. Kromě toho mezipaměť L3 také často funguje jako „mezipaměť obětí“, což je místo, kam jdou data vyřazená z mezipaměti L1 a L2. Může být dále vyřazen z mezipaměti L3, pokud to není potřeba. V dnešní době je L3 cache pro AMD obzvláště důležitá kvůli její chipletové technologii. Čipy Ryzen 3D V-Cache obsahují 64 MB L3 cache a RX 7000 Memory Cache Dies (nebo MCD) obsahují každý 16 MB L3 cache.

Nejvyšší úroveň mezipaměti u většiny procesorů je L4, která je často tak velká, že je to v podstatě RAM. Ve skutečnosti nejnovější CPU využívající L4 cache jsou čipy Intel Sapphire Rapids Xeon, které používají HBM2 jako L4 cache u špičkových modelů. Na druhou stranu AMD nikdy nepoužila mezipaměť L4 a místo toho se spokojila s rozšířením mezipaměti L3 na vysoké kapacity přidáním dalších čipletů CPU a V-Cache. Mezipaměť L4 obvykle více prospívá integrovaným GPU, protože se jedná o on-die řešení, které může sdílet data mezi CPU a integrovaným GPU.

V některých čipových sadách, především mobilních, existuje další typ mezipaměti: mezipaměť na úrovni systému (SLC). Tato mezipaměť se pak používá napříč celou čipovou sadou, jako je GPU, NPU a CPU. Cache může nahradit potřebu požadavků na hlavní paměť, takže SLC je přínosem pro celý SoC.

Cache je nezbytná, ale sama o sobě nezlepšuje výkon

Navzdory všemu humbuku kolem nedávných inovací v mezipaměti to není stříbrná kulka pro výkon. Koneckonců, v mezipaměti není žádná schopnost zpracování; jen ukládá data a to je vše. Ačkoli každý procesor může mít absolutní prospěch z toho, že má více mezipaměti, je často příliš drahé přidat více, než je přesně potřebné množství. Přidání další mezipaměti nemusí dokonce zlepšit výkon v závislosti na pracovní zátěži, což je další pobídka, abyste nezatěžovali procesor.

Jak již bylo řečeno, možnost přidat velké množství mezipaměti může být v určitých situacích žádoucí. Například procesory s velkým množstvím mezipaměti mají lepší výkon ve hrách. Procesory AMD Ryzen s 3D V-Cache jsou docela rychlé pro hraní her, přestože mají nižší frekvenci než čipy bez V-Cache. Procesory Intel 13. generace jsou výrazně rychlejší než čipy 12. generace, přičemž jediným větším vylepšením je zvětšená mezipaměti.

Nakonec existuje mezipaměť, takže procesory mohou obcházet RAM tak často, jak je to jen možné, a výkon může být tak neomezený, jak je to jen možné. Návrháři CPU musí vyvážit kapacitu mezipaměti s velikostí a potažmo cenou, což je s každou generací nových výrobních procesů obtížnější. I když se nové způsoby přidávání mezipaměti do procesorů zavádějí desítky let poté, co byla vynalezena mezipaměť, je těžké si představit, že se účel této klíčové součásti procesorů někdy změní.