Što je CPU cache i je li važan?

Uz proizvode kao što je Ryzen 7 5800X3D koji je osvojio krunu najbolji CPU za igrice, vjerojatno se pitate što je CPU predmemorija i zašto je to uopće toliko važno. Već znamo da će se AMD-ovi nadolazeći procesori Ryzen 7000 i Intelovi procesori Raptor Lake 13. generacije fokusirati na više predmemorije, signalizirajući da će to biti kritična specifikacija u budućnosti.

Sadržaj

  • Što je CPU cache?
  • Kako radi predmemorija?
  • Je li CPU predmemorija važna za igranje?

Ali trebate li brinuti o CPU cacheu? Razjasnit ćemo što je CPU predmemorija, zašto je toliko važna i kako može napraviti veliku razliku ako igrate.

Preporučeni videozapisi

Što je CPU cache?

AMD Ryzen 7 5800X3D čip.

Cache je količina memorije koja se nalazi unutar sam CPU, integrirani u pojedinačne jezgre ili podijeljeni između nekih ili svih jezgri. To je mali dio namjenske memorije koji živi izravno na procesoru tako da vaš CPU ne treba dohvaćati informacije iz RAM-a vašeg sustava svaki put kada želite nešto učiniti na računalu. Svaki procesor ima malu količinu predmemorije, pri čemu manji CPU-i dobivaju možda samo nekoliko kilobajta, dok veliki CPU-i mogu imati mnogo megabajta predmemorije.

Povezano

  • Kako bi Intel mogao upotrijebiti umjetnu inteligenciju za rješavanje golemog problema u PC igricama
  • AMD-ov nadolazeći Ryzen 5 5600X3D mogao bi potpuno svrgnuti Intel s trona u proračunskim verzijama
  • Intel smatra da vaš sljedeći CPU treba AI procesor - evo zašto

Ali možda se pitate zašto je predmemorija uopće potrebna kad imamo RAM, pogotovo kada jedan stick RAM-a može imati nekoliko gigabajta memorije. Sve je u izvedbi. U 1990-ima je tempo poboljšanja performansi između CPU-a i RAM-a počeo postajati očit. Uostalom, dizajneri CPU-a bili su fokusirani na povećanje brzine, dok su dizajneri RAM-a htjeli povećati kapacitet, a zanemarili su brzinu. Dizajnerima CPU-a to je predstavljalo problem jer je brzina RAM-a ključni faktor u performansama CPU-a za mnoge aplikacije, i što je veći jaz između CPU-RAM-a, to bi ga bilo teže poboljšati izvođenje.

Cache je bio rješenje. Iako predmemorija ima mali kapacitet u usporedbi s RAM-om, velika brzina to nadoknađuje u većini slučajeva. Međutim, predmemorija nije savršena. Njegova glavna slabost je veličina; predmemorija je fizički velika za ono malo što može pohraniti. Predmemorija je također otporna na smanjenje čvorova, pa dok se jezgre i druge komponente u CPU-u mogu prilično lako smanjivati ​​od jedne generacije do druge, predmemorija se smanjuje mnogo manje. Zbog toga je predmemorija vrlo skupa komponenta CPU-a, što je jedan od glavnih razloga zašto predmemorija obično ima tako malu količinu prostora za pohranu.

Kako radi predmemorija?

Uobičajeno usvajanje predmemorije rezultiralo je nijansiranijim implementacijama predmemorije i RAM-a sve dok nismo završio s hijerarhijom memorije, s predmemorijom na vrhu, RAM-om u sredini i pohranom na dno. Ovaj višeslojni pristup omogućuje kritičnim podacima za CPU da budu fizički bliže procesoru, smanjujući kašnjenje i pomažući vašem računalu da bude brzo.

Moderna hijerarhija pamćenja.
Carlos Carvalho

Predmemorija ima vlastitu hijerarhiju ili razine predmemorije koje su podijeljene na L1, L2 i L3 predmemoriju. To su sve vrste predmemorije, ali obavljaju malo drugačije funkcije.

L1 predmemorija je prva razina predmemorije i također najmanja, obično podijeljena na L1 instrukcije ili L1i i L1 podatke ili L1d. Svaka jezgra unutar CPU-a ima svoj ekskluzivni dio L1 predmemorije, koji je obično velik samo nekoliko kilobajta. Vrsta podataka pohranjenih u L1 predmemoriju je ono što je CPU upravo upotrijebio ili očekuje da će uskoro upotrijebiti. Ako CPU treba podatke koji nisu u L1 cacheu, prelazi na sljedeću razinu: L2.

Poput L1 predmemorije, L2 predmemorija često je ekskluzivna za jednu jezgru CPU-a, ali u nekim CPU-ima dijeli se između više jezgri. Također je mnogo, mnogo veći; na primjer, svaka P-jezgra u Core i9-12900K ima 80 kilobajta L1 predmemorije, kao i 1,25 megabajta L2 predmemorije, gotovo 16 puta više. Međutim, veće predmemorije imaju veću latenciju, što znači da je potrebno više vremena za komunikaciju između CPU jezgre i predmemorije. Kada procesori žele postići stvari u roku od nekoliko mikrosekundi ili čak nanosekundi, bitna je malo veća latencija L2 predmemorije. Ako CPU ne može pronaći tražene podatke unutar L2 predmemorije, pita sljedeću razinu: L3.

L3 predmemorija je velika stvar: dijele je neke ili sve jezgre unutar CPU-a i velika je. 12900K ima 30 MB L3 predmemorije, na primjer, 24 puta više od L2 predmemorije. Latencija L3 predmemorije čak je gora od L2, ali imati veliku L3 predmemoriju je stvarno važno kako bi se spriječilo da CPU traži od RAM-a potrebne podatke. Osim za pohranu, RAM ima najlošiju brzinu i latenciju u hijerarhiji memorije, a kad god CPU treba pristupiti RAM-u za potrebne podatke, stvari se zaustavljaju. U idealnom slučaju, sve što je važno bit će pohranjeno barem unutar L3 predmemorije kako bi se spriječilo veliko usporavanje.

Neki CPU-i čak imaju L4 predmemoriju, ali ona obično funkcionira kao RAM koji se nalazi na paketu CPU-a. Neki od Intelovih prvih 14nm CPU-a temeljenih na Broadwell arhitekturi uključivali su 128 MB ugrađenog DRAM-a, a nadolazeći poslužiteljski procesori tvrtke Sapphire Rapids mogu dolaziti s HBM2, koji se koristi kao dodatna razina predmemorija.

Je li CPU predmemorija važna za igranje?

Izvršni direktor AMD-a drži 3D V-Cache CPU.

CPU predmemorija čini veliku razliku za igranje. Iako se performanse jedne niti, instrukcije po taktu (IPC) i brzina takta tradicionalno smatraju najvećim važni čimbenici u performansama igranja, postalo je vrlo jasno da je predmemorija vjerojatno najvažniji čimbenik u suparništvu između AMD i Intel.

Predmemorija je toliko važna za igranje zbog današnjeg dizajna igara. Moderne igre imaju puno slučajnosti, što znači da CPU stalno mora izvršavati jednostavne instrukcije. Bez dovoljno predmemorije, vaša je grafička kartica prisiljena čekati na vašem CPU-u dok se upute gomilaju i izazvati usko grlo. Možete vidjeti primjer kolike je to razlike s AMD-ov 3D V-Cache tehnologija u Far Cry 6 ispod.

Performanse Ryzen 7 5800X3D u Far Cry 6.

Posljednjih godina vidjeli smo trend prema većem broju predmemorije za igranje. AMD-ovi procesori Ryzen 3000 imali su dvostruko više L3 predmemorije od prethodne generacije i bili su mnogo brži za igranje, gotovo sustižući Intel. Kada je Ryzen 5000 lansiran, AMD nije dodao više predmemorije, ali je ujedinio dva bloka L3 predmemorije unutar CPU-a, što je uvelike smanjilo latenciju i dovelo AMD u vodstvo u igračkim performansama. AMD je udvostručio svoju 3D V-Cache tehnologiju na Ryzen 7 5800X3D, koji slaže 64MB čip L3 predmemorije povrh CPU-a za ukupno 96MB, više nego čak i vodeći Ryzen 9 5950X.

Intel pokušava uhvatiti korak s AMD-om, a njegova trenutna generacija Alder Lake CPU-a ima do 30 MB L3 predmemorija, što je znatno manje od većine Ryzen CPU-a, ali također imaju puno više L1 i L2 predmemorija. Međutim, Intelov nedostatak u L3 kapacitetu ne znači da su procesori Ryzen 5000 puno brži za igranje. U našoj recenziji Core i9-12900K, otkrili smo da je 12900K izjednačen s Ryzen 9 5950X u igračkim performansama.

Utrka za predmemoriju će se gotovo sigurno nastaviti s nadolazećim Ryzen 7000 i Raptor Lake procesori. Potvrđeno je da Ryzen 7000 ima dvostruko veću L2 predmemoriju od Ryzena 5000, a vjerojatno ćemo vidjeti više CPU-a koji koriste V-Cache. U međuvremenu, Intel nema vlastitu verziju V-Cachea, ali priča se da Raptor Lake ima mnogo više L3 predmemorije od Alder Lakea, samo u samom CPU-u.

Preporuke urednika

  • AMD-ov najnoviji V-Cache čip pokazao se jeftinim, brzim i savršenim za igranje
  • Kako testiramo PC komponente i hardver
  • Evo zašto su ljudi toliko uzrujani zbog današnjih vijesti o Starfield PC-u
  • Najbolje verzije računala: proračun, igranje, uređivanje videa i više
  • AMD je možda upravo omogućio prijenosna računala za igranje poput MacBooka, ali još uvijek sam skeptičan