Kaj je predpomnilnik?

Kaj je predpomnilnik in zakaj ga imajo CPE, GPE in druge vrste procesorjev? Tukaj je vse, kar morate vedeti.

hitre povezave

  • Predpomnilnik: Majhna količina hitrega pomnilnika
  • Ravni predpomnilnika in hierarhija pomnilnika
  • Predpomnilnik je potreben, vendar sam po sebi ne izboljša zmogljivosti

Čeprav se o predpomnilniku ne govori toliko kot o jedrih, Oven (Random Access Memory), oz VRAM, verjetno ste že slišali za to, zlasti v zadnjem času. AMD ponosno oglašuje igralno zmogljivost za svoje Ryzen procesorji s 3D V-Cache kot posledica uporabe predpomnilnika in ena največjih Intelovih izboljšav s procesorji Raptor Lake 13. generacije je bilo dodajanje več predpomnilnika.

Toda kako lahko predpomnilnik izboljša zmogljivost, če meri v megabajtih? Celo najcenejši kompleti RAM-a imajo dandanes 16 GB, kako lahko torej dodajanje le nekaj dodatnih megabajtov predpomnilnika tako močno vpliva na zmogljivost? No, predpomnilnik ni običajna vrsta pomnilnika.

Predpomnilnik: Majhna količina hitrega pomnilnika

Vir: AMD

Predpomnilnik je pravzaprav precej nov razvoj procesorjev, ki sega v devetdeseta leta prejšnjega stoletja in je bil izumljen zaradi RAM-a. RAM je ključna komponenta v računalnikih, ki hrani veliko količino podatkov, ki jih bodo procesorji (kot so CPE in GPE) predvidoma pogosto potrebovali. Dolgo časa so izboljšave zmogljivosti pomnilnika RAM sledile izboljšavam zmogljivosti procesorja, vendar je v devetdesetih letih prejšnjega stoletja postajalo očitno je, da RAM ne bi mogel dohajati najnovejših procesorjev. RAM je imel veliko zmogljivosti, vendar so bile tudi hitrosti prenosa počasi.

Tukaj nastopi predpomnilnik. Ni niti približno tako velik kot RAM niti fizično niti po zmogljivosti, vendar je v samem procesorju in lahko prenaša podatke zelo hitro in z zelo nizko zakasnitvijo. Dokler predpomnilnik shranjuje podatke, ki jih procesor dejansko potrebuje, lahko prihrani čas, saj je zahtevanje istih podatkov iz RAM-a velikokrat počasnejše. To je bila odlična rešitev za problem RAM-a in je oblikovalcem CPE omogočila, da so še naprej izdelovali hitrejše CPE in Oblikovalci pomnilnika RAM še naprej ustvarjajo večje zmogljivosti pomnilnika RAM, ne da bi morali skrbeti za to izvedba. Danes je predpomnilnik v skoraj vseh vrstah procesorjev.

Morda se sprašujete, zakaj je predpomnilnik tako majhen. No, večinoma gre za prostor in denar. Tudi 32 MB predpomnilnika lahko zavzame kar nekaj prostora na procesorju, sodobni čipi pa so omejeni na približno 600 mm2 skupne površine, ki jo je treba uporabljati pametno. To pomeni, da lahko namenjanje več prostora predpomnilniku postane precej drago in ta situacija se dejansko slabša, ne izboljšuje. Najnovejši proizvodni procesi povzročajo vedno manjše izboljšave v gostoti predpomnilnika, TSMC pa sploh ni uspel zmanjšati velikosti predpomnilnika v prvi ponovitvi svojega 3nm procesa.

Ravni predpomnilnika in hierarhija pomnilnika

Vir: Carlos Carvalho

Izum predpomnilnika je pomenil novo plast za vse naprave za shranjevanje podatkov v računalniku. Te plasti tvorijo tako imenovano pomnilniško hierarhijo, ki jo lahko vidite na zgornji sliki in njene podrobnosti kateri pomnilnik gre kam v tipičnem sistemu znotraj CPE (čeprav bodo druge vrste procesorjev videti zelo podobno). Danes sodobna pomnilniška hierarhija ne vključuje samo predpomnilnika, RAM-a in naprav za trajno shranjevanje, temveč tudi pomnilniško hierarhijo znotraj samega predpomnilnika.

Večina procesorjev ima različne ravni predpomnilnika za različne namene. Prva in najmanjša raven predpomnilnika je L1, ki ima posamezna jedra za obdelavo podatkov, ki so potrebni takoj. Predpomnilnik L1 se pogosto meri v kilobajtih, pri čemer imajo najnovejši procesorji Ryzen 7000 64 KB predpomnilnika L1 na jedro. Poleg tega je sodobni predpomnilnik L1 pogosto nadalje razdeljen na L1I (za navodila) in L1D (za podatke).

Naslednji je L2, ki je za skupino jeder in ne za posamezna. Seveda je predpomnilnik L2 večji od predpomnilnika L1, pogosto za red velikosti, a ker je veliko večji in mora servisirati več jeder, pomeni, da je počasnejši in ima večjo zakasnitev. Nekateri procesorji, zlasti GPE in počasnejši CPE, bodo dosegli samo predpomnilnik L2.

Naslednji korak je L3, ki ga običajno uporabljajo vsa jedra na čipu. Njegova velikost se lahko razlikuje od nekajkrat večje od predpomnilnika L2 do več kot reda velikosti, odvisno od procesorja. To pomeni, da je celo počasnejši od predpomnilnika L2, vendar še vedno prekaša RAM. Poleg tega predpomnilnik L3 pogosto deluje tudi kot "predpomnilnik žrtev", kamor gredo podatki, izločeni iz predpomnilnika L1 in L2. Morda bo dodatno izgnan iz predpomnilnika L3, če je nepotreben. Danes je predpomnilnik L3 še posebej pomemben za AMD zaradi njegove tehnologije čipletov. Čipi Ryzen 3D V-Cache vsebujejo 64 MB predpomnilnika L3, RX 7000 Memory Cache Dies (ali MCD-ji) pa vsebujejo po 16 MB predpomnilnika L3.

Najvišja raven predpomnilnika, ki jo opazimo pri večini procesorjev, je L4, ki je pogosto tako velik, da je dejansko RAM. Pravzaprav so najnovejši procesorji, ki uporabljajo predpomnilnik L4, Intelovi čipi Sapphire Rapids Xeon, ki uporabljajo HBM2 kot predpomnilnik L4 na vrhunskih modelih. AMD po drugi strani nikoli ni uporabljal predpomnilnika L4 in je namesto tega zadovoljen s povečanjem svojega predpomnilnika L3 do visokih zmogljivosti z dodajanjem več čipov CPE in V-Cache. Predpomnilnik L4 običajno bolj koristi integriranim GPE-jem, saj je vgrajena rešitev, ki lahko deli podatke med CPE-jem in integriranim GPE-jem.

V nekaterih naborih čipov, predvsem mobilnih, obstaja še ena vrsta predpomnilnika: sistemski predpomnilnik (SLC). Ta predpomnilnik se nato uporablja v celotnem naboru čipov, kot so GPE, NPE in CPE. Predpomnilnik lahko nadomesti potrebo po zahtevah do glavnega pomnilnika, zato SLC koristi celotnemu SoC.

Predpomnilnik je potreben, vendar sam po sebi ne izboljša zmogljivosti

Kljub vsemu navdušenju okoli nedavnih inovacij v predpomnilniku, to ni srebrna paleta za zmogljivost. Navsezadnje v predpomnilniku ni zmožnosti obdelave; samo shrani podatke in to je to. Čeprav ima lahko vsak procesor absolutno korist od večjega predpomnilnika, je pogosto predrago dodati več kot natanko potrebno količino. Dodajanje več predpomnilnika morda ne bo niti izboljšalo zmogljivosti, odvisno od delovne obremenitve, kar je dodatna spodbuda, da ne obremenjujete procesorja.

Kot rečeno, je v določenih situacijah lahko zaželena možnost dodajanja velike količine predpomnilnika. CPE z veliko predpomnilnika se na primer bolje obnesejo v igrah. AMD-jevi procesorji Ryzen s 3D V-Cache-jem so precej hitri za igranje, čeprav imajo nižjo frekvenco kot čipi brez V-Cache-ja in Intelovi procesorji 13. generacije so bistveno hitrejši od čipov 12. generacije, edina večja izboljšava pa je povečana predpomnilnik.

Navsezadnje predpomnilnik obstaja, da lahko procesorji čim pogosteje zaobidejo RAM in da je zmogljivost čim bolj neomejena. Oblikovalci procesorjev morajo uskladiti zmogljivost predpomnilnika z velikostjo in, posledično, ceno, kar je z vsako generacijo novih proizvodnih procesov vse težje. Čeprav se novi načini dodajanja predpomnilnika procesorjem uvajajo desetletja po izumu predpomnilnika, si je težko predstavljati, da se bo namen te ključne komponente procesorjev kdaj spremenil.