Zajímavost

Cache procesoru: malá paměť v čipu, která šetří spoustu čekání

Cache procesoru: malá paměť v čipu, která šetří spoustu čekání
Volné dílo (CC0)

Procesor počítá mnohem rychleji, než mu stačí operační paměť dodávat data, a cache je hlavní způsob, jak tenhle rozdíl překlenout.

Moderní procesor zvládne za jedinou nanosekundu provést několik operací. Potíž je v tom, že k počítání potřebuje data a ta leží v operační paměti RAM. Ta je sice velká, ale v porovnání s procesorem pomalá: než z ní dorazí odpověď, procesor by stihl spoustu práce. Kdyby na RAM musel čekat při každé instrukci, většinu času by jen nečinně stál.

Malý sklad hned u ruky

Řešením je cache, tedy vyrovnávací paměť umístěná přímo na čipu procesoru. Je vyrobená z rychlé paměti typu SRAM, která je mnohem dražší a zabírá víc místa než DRAM v paměťových modulech. Proto je jí málo. Funguje podobně jako pracovní stůl u knihovny: nejčastěji používané knihy máte po ruce a pro ostatní musíte dojít do regálu.

Úrovně L1, L2 a L3

  • L1 je nejmenší a nejrychlejší a má ji každé jádro zvlášť.
  • L2 je větší a o něco pomalejší, obvykle také patří jednomu jádru.
  • L3 je největší a nejpomalejší z nich, zpravidla ji sdílejí všechna jádra.

Procesor hledá data nejdřív v L1, pak v L2 a v L3, a teprve když je nenajde nikde, sáhne do RAM.

Proč to tak dobře funguje

Programy se chovají předvídatelně. Data, která právě použily, budou nejspíš brzy potřebovat znovu, a když čtou jednu položku, často hned potom chtějí i tu sousední. Odborně se tomu říká princip lokality. Cache proto nenačítá jednotlivé bajty, ale celé bloky, takzvané řádky cache. K tomu procesor odhaduje, co bude potřeba dál, a data si načítá dopředu.

Díky tomu se většina požadavků vyřídí rovnou z cache a k pomalé RAM se procesor dostane jen výjimečně. Jak velký to má význam, ukazují procesory s rozšířenou L3 cache, třeba řada AMD s technologií 3D V-Cache. Hlavně ve hrách bývají znatelně rychlejší, i když mají stejný počet jader. Někdy tedy o výkonu nerozhoduje jen to, jak rychle procesor počítá, ale i to, jak málo musí čekat.

Byl článek užitečný?

Komentáře

Načítám komentáře…

Buďte slušní a k věci. Odkazy nejsou povolené, nevhodné komentáře mažeme. Jak nakládáme s údaji