Mi az a gyorsítótár?

Mi az a gyorsítótár, és miért rendelkeznek vele a CPU-k, GPU-k és más típusú processzorok? Itt van minden, amit tudnod kell.

Gyors linkek

  • Gyorsítótár: Kis mennyiségű nagy sebességű memória
  • A gyorsítótár szintjei és a memóriahierarchia
  • A gyorsítótár szükséges, de önmagában nem javítja a teljesítményt

Bár a gyorsítótárról nem beszélnek annyit, mint a magokról, RAM (Random Access Memory), ill VRAM, valószínűleg hallott már róla, különösen mostanában. Az AMD büszkén hirdeti a játékteljesítményt Ryzen CPU-k 3D V-Cache-vel a gyorsítótár használatának eredményeként, és az Intel egyik legnagyobb fejlesztése a 13. generációs Raptor Lake CPU-kkal a gyorsítótár bővítése volt.

De hogyan javíthatja a gyorsítótár a teljesítményt, ha megabájtokban méri? Még a legolcsóbb RAM-készletek is manapság 16 GB-tal rendelkeznek, szóval hogyan lehet néhány extra megabájt gyorsítótár hozzáadásával ekkora változást elérni a teljesítményben? Nos, a gyorsítótár nem a szokásos memóriatípus.

Gyorsítótár: Kis mennyiségű nagy sebességű memória

Forrás: AMD

A gyorsítótár valójában egy meglehetősen új fejlesztés a processzorok terén, az 1990-es évekre nyúlik vissza, és a RAM miatt találták ki. A RAM a számítógépek kulcsfontosságú eleme, amely jelentős mennyiségű adatot tárol, amelyre a processzoroknak (például a CPU-knak és a GPU-knak) gyakran szüksége van. A RAM teljesítményének javulása hosszú ideig lépést tartott a CPU teljesítményének javulásával, de az 1990-es évekre nyilvánvaló, hogy a RAM nem tud lépést tartani a legújabb CPU-kkal. A RAM-ban sok volt a kapacitás, de az átviteli sebesség is túl volt lassú.

Itt jön be a gyorsítótár. Közel sem akkora, mint a RAM, sem fizikailag, sem kapacitását tekintve, de magában a processzorban van, és nagyon gyorsan és nagyon alacsony késleltetéssel képes adatátvitelre. Amíg a gyorsítótár tárolja azokat az adatokat, amelyekre a processzornak ténylegesen szüksége van, időt takaríthat meg, mivel ugyanazon adatok RAM-ból való kérése sokszor lassabb. Ez nagyszerű megoldás volt a RAM problémájára, és lehetővé tette a CPU tervezők számára, hogy folytassák a gyorsabb CPU-k és A RAM-tervezők továbbra is nagyobb RAM-kapacitásokat készítenek anélkül, hogy ennyire aggódniuk kellene teljesítmény. Ma a gyorsítótár szinte minden processzortípusban megtalálható.

Elgondolkodhat azon, hogy miért olyan kicsi a gyorsítótár. Nos, ez leginkább a helyhez és a pénzhez kapcsolódik. Még 32 MB gyorsítótár is elég sok helyet foglalhat el egy processzoron, és a modern chipek teljes területe nagyjából 600 mm2-re korlátozódik, amit okosan kell használni. Ez azt jelenti, hogy több területet szentelünk a gyorsítótárnak, elég költséges lehet, és ez a helyzet valójában egyre rosszabb, nem pedig jobb. A legújabb gyártási eljárások egyre kisebb javulást eredményeznek a gyorsítótár sűrűségében, és a TSMC-nek egyáltalán nem sikerült csökkentenie a gyorsítótár méretét a 3 nm-es folyamatának első iterációja során.

A gyorsítótár szintjei és a memóriahierarchia

Forrás: Carlos Carvalho

A gyorsítótár feltalálása azt jelentette, hogy a számítógépben minden adattároló eszköz új réteget kapott. Ezek a rétegek alkotják az úgynevezett memóriahierarchiát, amely a fenti képen látható és részletezi milyen memória hova megy egy tipikus rendszerben egy CPU-n belül (bár más típusú processzorok nagyon jól néznek ki hasonló). Ma a modern memóriahierarchia nemcsak a gyorsítótárat, a RAM-ot és az állandó tárolóeszközöket tartalmazza, hanem magában a gyorsítótáron belüli memóriahierarchiát is.

A legtöbb processzor különböző szintű gyorsítótárral rendelkezik különböző célokra. A gyorsítótár első és legkisebb szintje az L1, amely egyedi magokat kap az azonnal szükséges adatok feldolgozásához. Az L1 gyorsítótárat gyakran kilobájtban mérik, a legújabb Ryzen 7000 CPU-k magonként 64 KB L1 gyorsítótárral rendelkeznek. Ezenkívül a modern L1 gyorsítótár gyakran tovább van osztva L1I-re (utasításokhoz) és L1D-re (adatokhoz).

Következő az L2, amely a magok egy csoportjára vonatkozik, nem pedig az egyes magokra. Természetesen az L2 gyorsítótár nagyobb, mint az L1 gyorsítótár, gyakran egy nagyságrenddel, de mivel sokkal nagyobb, és több magot kell kiszolgálnia, lassabb és magasabb a késleltetése. Egyes processzorok, különösen a GPU-k és a lassabb CPU-k, csak az L2 gyorsítótárig mennek.

A következő lépés az L3, amelyet általában a chip összes magja használ. Mérete az L2 gyorsítótár néhányszorosától a több mint egy nagyságrenddel nagyobbig változhat, processzortól függően. Ez azt jelenti, hogy még lassabb, mint az L2 gyorsítótár, de még mindig felülmúlja a RAM-ot. Ezenkívül az L3 gyorsítótár gyakran "áldozati gyorsítótárként" is működik, ahová az L1 és L2 gyorsítótárból kiürített adatok kerülnek. Lehetséges, hogy tovább ürítik az L3 gyorsítótárból, ha szükségtelen. Manapság az L3 gyorsítótár különösen fontos az AMD számára a chiplet technológiája miatt. A Ryzen 3D V-Cache chipek 64 MB L3 gyorsítótárat tartalmaznak, az RX 7000 Memory Cache Dies (vagy MCD-k) pedig egyenként 16 MB L3 gyorsítótárat tartalmaznak.

A legtöbb processzoron a legmagasabb szintű gyorsítótár az L4, amely gyakran olyan nagy, hogy gyakorlatilag RAM. Valójában az L4 gyorsítótárat használó legújabb CPU-k az Intel Sapphire Rapids Xeon lapkái, amelyek a HBM2-t használják L4 gyorsítótárként a csúcskategóriás modelleken. Az AMD viszont soha nem használt L4 gyorsítótárat, ehelyett megelégszik azzal, hogy több CPU és V-Cache chiplet hozzáadásával nagy kapacitásra bővíti L3 gyorsítótárát. Az L4-gyorsítótár általában jobban hasznosítja az integrált GPU-kat, mivel ez egy olyan megoldás, amely képes megosztani az adatokat a CPU és az integrált GPU között.

Egyes chipkészletekben, elsősorban a mobilokban, létezik egy másik típusú gyorsítótár: a rendszerszintű gyorsítótár (SLC). Ezt a gyorsítótárat ezután a teljes lapkakészlet, például a GPU, az NPU és a CPU használja. A gyorsítótár helyettesítheti a főmemória iránti kérelmeket, így az SLC a teljes SoC számára előnyös.

A gyorsítótár szükséges, de önmagában nem javítja a teljesítményt

A gyorsítótárral kapcsolatos közelmúltbeli innovációkat övező nagy felhajtás ellenére ez nem egy ezüst golyó a teljesítmény szempontjából. Végül is a gyorsítótárban nincs feldolgozási lehetőség; csak adatokat tárol, és ennyi. Bár minden processzor abszolút hasznot húzhat a több gyorsítótárból, gyakran túl drága a szükségesnél többet hozzáadni. A gyorsítótár hozzáadásával a terheléstől függően előfordulhat, hogy nem is javítja a teljesítményt, ami további ösztönzést jelent arra, hogy ne tegyen túl sok processzort.

Ennek ellenére bizonyos helyzetekben kívánatos lehet nagy mennyiségű gyorsítótár hozzáadása. A sok gyorsítótárral rendelkező CPU-k általában jobban teljesítenek például játékokban. Az AMD 3D V-Cache-t tartalmazó Ryzen CPU-i meglehetősen gyorsak a játékhoz, annak ellenére, hogy alacsonyabb frekvenciájuk van, mint a V-Cache nélküli chipek, és Az Intel 13. generációs CPU-i lényegesen gyorsabbak, mint a 12. generációs chipek, az egyetlen jelentős fejlesztés a megnövelt gyorsítótár.

Végső soron a gyorsítótár létezik, így a processzorok a lehető leggyakrabban megkerülhetik a RAM-ot, és a teljesítmény a lehető legkorlátlanabb lehet. A CPU-tervezőknek egyensúlyba kell hozniuk a gyorsítótár kapacitását a mérettel és – tágabb értelemben – a költségekkel, ami az új gyártási folyamatok minden generációjával egyre nehezebbé válik. Annak ellenére, hogy évtizedekkel a gyorsítótár feltalálása után új módszereket vezetnek be a processzorok gyorsítótárának hozzáadására, nehéz elképzelni, hogy a processzorok ezen kulcsfontosságú összetevőjének célja valaha is megváltozik.