Čo je vyrovnávacia pamäť CPU?

Moderné CPU bežia neuveriteľne rýchlo; môžu výrazne prekonať systémovú RAM. Táto nerovnováha rýchlosti medzi CPU a pamäťou by spôsobila, že váš procesor bude často nečinný a čaká na zaslanie údajov, aby mohol pokračovať v procese. Aby sa tomu predišlo a umožnilo procesorom pokračovať v chode rýchlejšie a rýchlejšie, používa sa vyrovnávacia pamäť CPU.

Ako CPU cache zrýchľuje CPU?

Cache CPU je navrhnutá tak, aby bola čo najrýchlejšia a aby potom ukladala do cache údaje, ktoré CPU požaduje. Cache CPU má svoju rýchlosť optimalizovanú tromi spôsobmi: latencia, šírka pásma a blízkosť. Cache CPU pracuje s veľmi nízkou latenciou, čím sa minimalizuje množstvo času potrebného na vrátenie výsledku. Napríklad Intel i9-9900k má latenciu vyrovnávacej pamäte 0,8, 2,4 a 11,1 nanosekúnd pre vyrovnávaciu pamäť L1, L2 a L3. Na porovnanie, latencia modernej vysokorýchlostnej pamäte RAM je rádovo 14 nanosekúnd.

Tip: Úrovne vyrovnávacej pamäte budú podrobnejšie vysvetlené neskôr, ale jednoducho povedané, nižšie vrstvy vyrovnávacej pamäte sú rýchlejšie, ale sú drahšie, takže majú nižšiu kapacitu. Nanosekunda je miliardtina sekundy, takže latencia 0,8 sekundy znamená, že návrat výsledku trvá menej ako miliardtinu sekundy.

Pokiaľ ide o šírku pásma, vyrovnávacia pamäť CPU ponúka výrazné zlepšenie výkonu v porovnaní s tradičným úložiskom a pamäťou RAM. Rýchlosť čítania vyrovnávacej pamäte L1 a L3 môže dosiahnuť maximum 2,3 TB/s a 370 GB/s, zatiaľ čo šírka pásma pamäte RAM je zvyčajne okolo 40 GB/s. Táto zvýšená šírka pásma znamená, že vyrovnávacia pamäť CPU môže prenášať údaje do CPU oveľa rýchlejšie ako RAM.

Na dosiahnutie maximálnej možnej rýchlosti je vyrovnávacia pamäť CPU v skutočnosti zabudovaná do kremíka samotnej matrice CPU. Tým sa minimalizuje vzdialenosť, ktorú musia prejsť akékoľvek elektrické signály, čím sa udržiava latencia na čo najnižšej úrovni. Napríklad, keď bola vyrovnávacia pamäť L3 prvýkrát presunutá zo základnej dosky do matrice CPU, vtedajší procesor (Pentium 4 EE) dokázal dosiahnuť zlepšenie výkonu o 10 – 20 %.

Architektúra vyrovnávacej pamäte CPU

Moderné procesory vo všeobecnosti používajú tri vrstvy vyrovnávacej pamäte CPU označené ako L1-3, pričom vyrovnávacie pamäte s nižším číslom sú bližšie k jadrám CPU, sú rýchlejšie a drahšie. Každé jednotlivé jadro CPU vo viacjadrovom CPU má svoju vlastnú vyrovnávaciu pamäť L1. Zvyčajne sa delí na dve časti, L1I a L1D. L1I sa používa na cacheovanie inštrukcií pre CPU, zatiaľ čo L1D sa používa na cacheovanie dát, na ktorých sa majú tieto inštrukcie vykonať.

Každé jadro CPU má zvyčajne aj svoju vlastnú vyrovnávaciu pamäť L2 na modernom CPU. Vyrovnávacia pamäť L2 je väčšia a pomalšia ako vyrovnávacia pamäť L1 a používa sa predovšetkým na ukladanie údajov, ktoré by sa inak nezmestili do vyrovnávacej pamäte L2. Vďaka vyhradenej vyrovnávacej pamäti L2 na jadro sa vyhnete sporom o vyrovnávaciu pamäť. Spor o vyrovnávaciu pamäť je miesto, kde rôzne jadrá bojujú o nárok na priestor vo vyrovnávacej pamäti pre svoje vlastné pracovné zaťaženie, čo môže viesť k vymazaniu dôležitých údajov z vyrovnávacej pamäte.

Cache L3 je zvyčajne zdieľaná medzi všetkými jadrami CPU procesora. Opäť platí, že vyrovnávacia pamäť L3 je pomalšia ako vyrovnávacia pamäť L2, ale je lacnejšia a väčšia. Poskytnutím zdieľanej vyrovnávacej pamäte je možné znížiť množstvo údajov, ktoré by sa duplikovali na nižších úrovniach vyrovnávacej pamäte pre jadro.

Tip: Napríklad vo veľkostiach vyrovnávacej pamäte Intel i9-9900K má 64 KB L1 a 256 KB L2 cache na jadro (spolu 512 KB L1 a 2 MB L2), má tiež 16 MB zdieľanú L3 vyrovnávaciu pamäť.

Ako sa používa vyrovnávacia pamäť CPU?

Všetky úrovne vyrovnávacej pamäte CPU sa používajú na zrýchlenie výkonu procesora ukladaním údajov z pamäte RAM do vyrovnávacej pamäte. Keď CPU požaduje údaje, zvyčajne najprv prehľadáva vrstvy vyrovnávacej pamäte v snahe získať údaje čo najrýchlejšie. Ak sa údaje nájdu vo vyrovnávacej pamäti, CPU môže pokračovať v spracovaní. Ak údaje nie sú vo vyrovnávacej pamäti, čo sa nazýva chýbajúca vyrovnávacia pamäť, CPU musí skontrolovať RAM a potom pevný disk, ak tam nie sú ani údaje. Rýchlejšie vrstvy sa vždy najprv skontrolujú, aby sa dosiahol maximálny výkon.

Aby CPU mohol mať potrebné údaje vo vyrovnávacej pamäti, keď ich potrebuje, vyrovnávacia pamäť sa pokúša predísť tomu, aké údaje môže CPU potrebovať ako ďalšie. Ak si napríklad CPU vyžiadal nejaké údaje pre obrázok, ktorý vykresľuje, vyrovnávacia pamäť sa môže pokúsiť preventívne uložiť do vyrovnávacej pamäte viac údajov obrázka, aby ich bolo možné čo najrýchlejšie dodať do CPU.