Kas yra talpykla ir kodėl ją turi CPU, GPU ir kitų tipų procesoriai? Štai viskas, ką reikia žinoti.
Greitos nuorodos
- Talpykla: nedidelis didelės spartos atminties kiekis
- Talpyklos lygiai ir atminties hierarchija
- Talpykla yra būtina, tačiau ji pati savaime nepagerina našumo
Nors apie talpyklą nekalbama tiek, kiek apie branduolius, RAM (Random Access Memory), arba VRAM, tikriausiai girdėjote apie tai anksčiau, ypač neseniai. AMD išdidžiai reklamuoja savo žaidimų našumą „Ryzen“ procesoriai su 3D „V-cache“. dėl talpyklos naudojimo, o vienas didžiausių „Intel“ patobulinimų su 13 kartos „Raptor Lake“ procesoriais buvo talpyklos pridėjimas.
Bet kaip talpykla gali pagerinti našumą, kai ji matuojama megabaitais? Netgi pigiausi RAM rinkiniai šiais laikais yra su 16 GB, taigi, kaip gali padaryti tik keli papildomi megabaitai talpyklos taip smarkiai pakeisti našumą? Na, talpykla nėra įprastas atminties tipas.
Talpykla: nedidelis didelės spartos atminties kiekis
Šaltinis: AMD
Talpykla iš tikrųjų yra gana neseniai sukurta procesorių plėtra, sukurta 1990-aisiais, ir ji buvo išrasta dėl RAM. RAM yra pagrindinis kompiuterių komponentas, kuriame saugomas didelis duomenų kiekis, kurio procesoriams (pvz., CPU ir GPU) turėtų prireikti gana dažnai. Ilgą laiką RAM našumo patobulinimai neatsiliko nuo procesoriaus našumo pagerėjimo, tačiau 1990 m. akivaizdu, kad RAM negalės neatsilikti nuo naujausių procesorių. RAM turėjo daug talpos, tačiau perdavimo greitis buvo per daug lėtas.
Štai kur atsiranda talpykla. Ji nėra beveik tokia didelė kaip RAM nei fiziškai, nei pagal talpą, tačiau ji yra pačiame procesoriaus viduje ir gali perduoti duomenis labai greitai ir labai mažu vėlavimu. Kol talpykloje saugomi duomenys, kurių procesoriui iš tikrųjų reikia, tai gali sutaupyti laiko, nes RAM prašoma tų pačių duomenų daug kartų lėčiau. Tai buvo puikus RAM problemos sprendimas ir leido procesorių dizaineriams toliau gaminti greitesnius procesorius ir RAM dizaineriai ir toliau didins RAM talpą, nesijaudindami dėl to spektaklis. Šiandien talpyklos yra beveik visų tipų procesoriuose.
Jums gali kilti klausimas, kodėl talpykla tokia maža. Na, dažniausiai tai susiję su erdve ir pinigais. Net 32 MB talpyklos gali užimti nemažai vietos procesoriuje, o šiuolaikinių lustų bendras plotas yra apytiksliai 600 mm2, o tai turi būti naudojama protingai. Tai reiškia, kad daugiau vietos skyrimas talpyklai gali būti gana brangus ir ta situacija iš tikrųjų blogėja, o ne gerėja. Dėl naujausių gamybos procesų vis mažesni ir mažesni talpyklos tankio patobulinimai, o TSMC per pirmąją 3 nm proceso iteraciją nepavyko sumažinti talpyklos dydžio.
Talpyklos lygiai ir atminties hierarchija
Šaltinis: Carlos Carvalho
Talpyklos išradimas reiškė, kad visuose kompiuterio duomenų saugojimo įrenginiuose atsirado naujas sluoksnis. Šie sluoksniai sudaro vadinamąją atminties hierarchiją, kurią galite pamatyti aukščiau esančiame paveikslėlyje ir jos detales kokia atmintis kur eina įprastoje procesoriaus sistemoje (nors kitų tipų procesoriai atrodys labai panašus). Šiandien šiuolaikinė atminties hierarchija apima ne tik talpyklą, RAM ir nuolatinius saugojimo įrenginius, bet ir atminties hierarchiją pačioje talpykloje.
Dauguma procesorių turi skirtingus talpyklos lygius įvairiems tikslams. Pirmasis ir mažiausias talpyklos lygis yra L1, kuriam suteikiami atskiri branduoliai duomenims, kurių reikia nedelsiant, apdoroti. L1 talpykla dažnai matuojama kilobaitais, o naujausi Ryzen 7000 procesoriai turi 64 KB L1 talpyklos vienam branduoliui. Be to, šiuolaikinė L1 talpykla dažnai dar skirstoma į L1I (instrukcijoms) ir L1D (duomenims).
Kitas yra L2, kuris skirtas branduolių grupei, o ne atskiroms. Natūralu, kad L2 talpykla yra didesnė už L1 talpyklą, dažnai tam tikru mastu, tačiau ji yra daug didesnė ir turi aptarnauti daugiau branduolių, todėl ji veikia lėčiau ir turi didesnę delsą. Kai kurie procesoriai, ypač GPU ir lėtesni procesoriai, padidins tik L2 talpyklą.
Kitas žingsnis yra L3, kurį paprastai naudoja visi lusto branduoliai. Jo dydis gali skirtis nuo kelis kartus didesnio nei L2 talpyklos iki daugiau nei eilės tvarka, priklausomai nuo procesoriaus. Tai reiškia, kad ji veikia net lėčiau nei L2 talpykla, bet vis tiek pranoksta RAM. Be to, L3 talpykla taip pat dažnai veikia kaip „aukos talpykla“, į kurią patenka duomenys, iškeldinti iš L1 ir L2 talpyklos. Jis gali būti toliau iškeldintas iš L3 talpyklos, jei jis nereikalingas. Šiandien L3 talpykla yra ypač svarbi AMD dėl savo mikroschemų technologijos. „Ryzen 3D V-Cache“ lustuose yra 64 MB L3 talpyklos, o „RX 7000 Memory Cache Dies“ (arba MCD) kiekviename yra po 16 MB L3 talpyklos.
Aukščiausias daugumos procesorių talpyklos lygis yra L4, kuris dažnai yra toks didelis, kad iš esmės yra RAM. Tiesą sakant, naujausi CPU, naudojantys L4 talpyklą, yra Intel Sapphire Rapids Xeon lustai, kurie naudoja HBM2 kaip L4 talpyklą aukščiausios klasės modeliuose. Kita vertus, AMD niekada nenaudojo L4 talpyklos ir tenkina savo L3 talpyklos padidinimą iki didelės talpos pridėdama daugiau procesoriaus ir V talpyklos mikroschemų. L4 talpykla paprastai labiau naudinga integruotiems GPU, nes tai yra tiesioginis sprendimas, galintis dalytis duomenimis tarp procesoriaus ir integruoto GPU.
Kai kuriuose mikroschemų rinkiniuose, pirmiausia mobiliuosiuose, yra ir kito tipo talpykla: sistemos lygio talpykla (SLC). Tada ši talpykla naudojama visame mikroschemų rinkinyje, pvz., GPU, NPU ir CPU. Talpykla gali pakeisti užklausų į pagrindinę atmintį poreikį, todėl SLC naudinga visam SoC.
Talpykla yra būtina, tačiau ji pati savaime nepagerina našumo
Nepaisant visų ažiotažų, susijusių su pastaruoju metu įdiegtomis talpyklos naujovėmis, tai nėra puiki našumo kulka. Galų gale, talpykloje nėra apdorojimo galimybių; tik saugo duomenis, ir viskas. Nors kiekvienas procesorius gali turėti absoliučios naudos iš daugiau talpyklos, dažnai per brangu pridėti daugiau nei tiksliai reikia. Pridėjus daugiau talpyklos, našumas gali net nepagerėti, atsižvelgiant į darbo krūvį, o tai yra dar viena paskata nekrauti daug procesoriaus.
Atsižvelgiant į tai, tam tikrose situacijose gali būti pageidautina pridėti daug talpyklos. Pvz., CPU su daug talpyklos geriau veikia žaidimuose. AMD „Ryzen“ procesoriai su 3D „V-Cache“ yra gana greiti žaidimams, nepaisant to, kad jų dažnis yra mažesnis nei lustai be „V-Cache“. 13-os kartos „Intel“ procesoriai yra žymiai greitesni nei 12-os kartos lustai, o vienintelis svarbus patobulinimas – padidinti talpykla.
Galiausiai talpykla egzistuoja, kad procesoriai galėtų kuo dažniau apeiti RAM, o našumas gali būti kiek įmanoma nevaržomas. CPU dizaineriai turi suderinti talpyklos talpą su dydžiu ir, kartu, sąnaudomis, o tai darosi vis sunkiau su kiekviena naujos kartos gamybos procesais. Nors nauji būdai, kaip pridėti talpyklos prie procesorių, pristatomi praėjus dešimtmečiams po talpyklos išradimo, sunku įsivaizduoti, kad šio pagrindinio procesorių komponento paskirtis kada nors pasikeis.