Kaj je pomnilnik Scratchpad?

Dostop do podatkov je kritičen del zasnove procesorja. CPE delujejo pri izjemno visokih hitrostih, obdelujejo več navodil v vsakem taktu in zato potrebujejo dostop do veliko podatkov. Velika večina teh podatkov je shranjenih na mediju za shranjevanje. Naprave za shranjevanje pa so nemogoče počasne v primerjavi s CPE. Naprave za shranjevanje so tudi bistveno boljše pri zaporednem branju kot pri naključnem branju, čeprav SSD-ji v tem pogledu (in mnogih drugih) ponujajo opazno izboljšavo v primerjavi s trdimi diski.

Sistemski RAM je zasnovan tako, da se naloži z vsemi podatki, ki jih CPE morda potrebuje za trenutno delujočo programsko opremo. RAM ima znatno nižjo zakasnitev kot shranjevanje, prav tako je posebej prilagojen za visoko zmogljivost naključnega branja. Kljub temu, kolikor je sodoben RAM hiter, še vedno ni nič v primerjavi s CPE z zakasnitvami reda 400 taktov.

Za nadaljnje zmanjšanje zakasnitve večina sodobnih procesorjev vključuje stopnje predpomnilnika. Običajno jih imenujemo predpomnilniki L1, L2 in L3. L1 je zelo hiter, običajno potrebuje 5 taktov za dostop. L2 je nekoliko počasnejši, približno 20 ciklov. L3 je še vedno počasnejši pri približno 200 ciklih. Čeprav je L1 neverjetno hiter, je tudi majhen. Velik del njegove hitrosti izhaja iz dejstva, da manjši predpomnilniki potrebujejo manj časa za iskanje. L2 je večji od L1, vendar manjši od L3, ki je še manjši od sistemskega RAM-a. Dobro uravnoteženje velikosti teh predpomnilnikov je ključnega pomena za pridobitev visoko zmogljivega procesorja. Razmerje zadetkov v predpomnilniku je pomembno, vendar morate uravnotežiti število zadetkov s tem, koliko časa je potrebno, da dosežete ta zadetek, torej stopnje.

Pomnilnik za beležko

Upoštevajte, da pomnilnik beležke ne sodi v tradicionalno hierarhijo pomnilnika. To je zato, ker se ne uporablja v večini potrošniških procesorjev. Pomnilnik scratchpad je zasnovan za uporabo, kot bi se scratchpad uporabljal v resničnem življenju. Zabeležite si začasne informacije, ki si jih morate zapomniti, vendar jih dejansko ni treba shraniti. Večino časa procesor obdela podatke in nato takoj znova potrebuje ta rezultat. Lahko ga kopira v pomnilnik, a za hiter dostop do njega bi ga moral hraniti tudi v predpomnilniku.

Pomnilnik scratchpad v bistvu zapolnjuje isto vrzel kot predpomnilnik L1. Dostopen je čim hitreje, pogosto v enomestnem številu ciklov. Da bi to obvladali, je tudi razmeroma majhen. Obstajata pa dve ključni razliki med pomnilnikom L1 in beležko. Prvič, pomnilnik scratchpad je neposredno naslovljiv. Drugič, delijo ga vsa jedra in procesorji.

Razlike med predpomnilnikom in beležko

Predpomnilnik procesorja je v bistvu pregleden za procesor, vanj ne more namerno shraniti podatkov in njegove vsebine ni mogoče programirati. Namesto tega procesor samo zahteva podatke iz RAM-a in jih prejme nazaj hitreje, včasih bistveno hitreje, kot bi lahko pričakoval. Če omogočite, da je beležka naslovljiva, pomeni, da lahko koda natančno določi, kateri podatki naj bodo v beležki. To je lahko uporabno, čeprav so sodobni algoritmi predpomnjenja odlični, saj se pri standardnih delovnih obremenitvah pričakujejo stopnje zadetkov 95–97 %.

Predpomnilnik L1 je vedno zaklenjen na posamezno procesorsko jedro. Nobeno drugo procesno jedro ne more dostopati do njega. To pomeni, da če več jeder potrebuje iste podatke, jih lahko podvojijo v svojih predpomnilnikih L1. V nekaterih arhitekturah CPE je L2 na jedro, v drugih pa si ga deli majhno število ali celo vsa jedra. L3 si običajno delijo vsa jedra. Skupna raba predpomnilnika med jedri omogoča dvema ali več jedrom dostop do istih podatkov brez podvajanja. Omogoča tudi, da eno jedro izkoristi več kot pravični delež, ko ima potrebo in ima predpomnilnik dovolj prostora.

Scratchpad deluje podobno kot L1 glede hitrosti in zmogljivosti, vendar si ga delijo vsa jedra. To omogoča zelo hiter dostop do določenih podatkov, ki se izvajajo v večnitni delovni obremenitvi. Pomnilnik scratchpad lahko celo delite med različnimi procesorji na matičnih ploščah z več vtičnicami.

Ena pomanjkljivost pomnilnika beležke je ta, da se lahko nanj preveč zanesete. Ker lahko programska oprema neposredno dostopa do nje, se lahko zanaša na njeno prisotnost v določenih količinah. V tem primeru potem ne bi mogel delovati na procesorjih brez toliko pomnilnika scratchpad. Stopnje predpomnilnika preprosto ne trpijo zaradi te težave in so zato bolj primerne za splošno uporabo.

Primeri uporabe

Pomnilnik scratchpad se najpogosteje nahaja v sistemih strežnikov z več vtičnicami, zasnovanih za HPC (visoko zmogljivo računalništvo). Zaradi kombinacije hitrosti in skupnega dostopa je uporaben za zelo vzporedne delovne obremenitve.

Pomnilnik scratchpad se uporablja tudi v veliko manjših procesorjih. Vgrajeni procesorji, pogosto MPSoC. Vgrajeni procesor je pogosto razmeroma nizke moči in je specializiran za določeno nalogo. Ta specializacija je pogosto predstavljena v optimizacijah strojne opreme. Zlasti v večprocesorskem sistemu na čipu lahko skupni hitri pomnilnik zagotovi znatne izboljšave zakasnitve več različnih procesorjev. Tovrstni procesorji so pogosto zelo fiksni. Igralne konzole na primer že vidijo veliko optimizacij za zasnovo strojne opreme in tako lahko dobro izkoristijo te funkcije, ne da bi morali skrbeti za združljivost za nazaj ali naprej.

Zaključek

Pomnilnik scratchpad je podoben predpomnilniku L1, vendar ima številne razlike, ki spreminjajo primere njegove uporabe. Namesto da bi bil predpomnilnik, je neposredno naslovljiv in omogoča, da se podatki posebej dodelijo pomnilniku visoke hitrosti. Prav tako si ga delijo vsa procesorska jedra in procesorji, zaradi česar je še posebej uporaben pri močno večnitnih delovnih obremenitvah.


Kako klonirati trdi disk

Kako klonirati trdi disk

V sodobni digitalni dobi, kjer so podatki dragocena dobrina, je lahko kloniranje trdega diska v sistemu Windows za mnoge ključen postopek. Ta obsežen vodnik

Kako popraviti, da se gonilnik WUDFRd ni uspel naložiti v sistemu Windows 10?

Kako popraviti, da se gonilnik WUDFRd ni uspel naložiti v sistemu Windows 10?

Ali se med zagonom računalnika soočate s sporočilom o napaki, ki pravi, da se gonilnik WUDFRd ni uspel naložiti v vaš računalnik?

Kako popraviti kodo napake NVIDIA GeForce Experience 0x0003

Kako popraviti kodo napake NVIDIA GeForce Experience 0x0003

Ali imate na namizju izkušnje s kodo napake NVIDIA GeForce 0x0003? Če je odgovor pritrdilen, preberite blog in poiščite, kako hitro in enostavno odpraviti to napako.

Kaj je SMPS?

Kaj je SMPS?

Preberite, kaj je SMPS in pomen različnih ocen učinkovitosti, preden izberete SMPS za svoj računalnik.

Kaj je varnost na podlagi izolacije?

Kaj je varnost na podlagi izolacije?

Poglobili se bomo v temo, ki postaja vse bolj pomembna v svetu kibernetske varnosti: varnost, ki temelji na izolaciji. Ta pristop k

Kako uporabljati Auto Clicker za Chromebook

Kako uporabljati Auto Clicker za Chromebook

Danes sem se nameraval poglobiti v orodje, ki lahko avtomatizira ponavljajoča se opravila klikanja na vašem Chromebooku: Auto Clicker. To orodje vam lahko prihrani čas in

Roomba se ustavi, zatakne in obrne – popravi

Roomba se ustavi, zatakne in obrne – popravi

Odpravite težavo, ko se vaš robotski sesalnik Roomba ustavi, zatakne in se nenehno obrača.

Zakaj se moj Chromebook ne vklopi

Zakaj se moj Chromebook ne vklopi

Pridobite odgovore na vprašanje Zakaj se moj Chromebook ne vklopi? V tem koristnem vodniku za uporabnike Chromebooka.

Kako spremeniti grafične nastavitve na Steam Deck

Kako spremeniti grafične nastavitve na Steam Deck

Steam Deck ponuja robustno in vsestransko igralno izkušnjo na dosegu roke. Vendar, da optimizirate svoje igranje in zagotovite najboljše možno

Kako spremeniti številčnico ure na Fitbit Versa 4

Kako spremeniti številčnico ure na Fitbit Versa 4

Brezplačno spremenite številčnico ure svojega Fitbit Versa 4, da bo vaša ura vsak dan drugačna. Poglejte, kako hitro in enostavno je.