Kjøper eller oppgraderer du CPU-en og forstår ikke hva L1-, L2- eller L3-buffer er til?  Her er hva du trenger å vite!

Hvordan fungerer cache-cache og hva er L1, L2 og L3?

Annonse Dataprosessorer har avansert ganske mye de siste årene, med størrelsen på transistorer blitt mindre for hvert år, og fremskritt som treffer et punkt der Mores lov raskt blir overflødig. Når det gjelder prosessorer, er det ikke bare transistorer og frekvenser som teller, men cachen også. Du ha

Annonse

Dataprosessorer har avansert ganske mye de siste årene, med størrelsen på transistorer blitt mindre for hvert år, og fremskritt som treffer et punkt der Mores lov raskt blir overflødig.

Når det gjelder prosessorer, er det ikke bare transistorer og frekvenser som teller, men cachen også.

Du har kanskje hørt om hurtigminnet når CPUer (Central Processing Units) blir diskutert. Imidlertid legger vi ikke for mye oppmerksomhet til disse tallene, og er heller ikke det viktigste høydepunktet i annonsene til disse CPUene.

Hvor nøyaktig er CPU-cachen, og hvordan fungerer den?

Hva er CPU-hurtigbuffer?

For å si det enkelt, en cache er bare en veldig rask type minne. Som du kanskje vet, har en datamaskin flere typer minne i seg. Det er en primær lagring, som en harddisk eller en SSD, som lagrer mesteparten av dataene - operativsystemet og alle programmene.

Neste gang har vi Random Access Memory, ofte kjent som RAM. Dette er mye raskere enn den primære lagringen.

Til slutt har CPU enda raskere minneenheter i seg selv, som vi kjenner som cachen.

Minnet i en datamaskin har et hierarki, basert på hastigheten, og cachen står øverst i dette hierarkiet, og er det raskeste. Det er også det nærmeste der den sentrale behandlingen skjer, og er en del av selve CPU-en.

Cache er en statisk RAM (SRAM), sammenlignet med system RAM, som er en dynamisk RAM (DRAM). Statisk RAM er en som kan inneholde data uten å måtte kontinuerlig bli oppdatert, i motsetning til DRAM, noe som gjør SRAM ideell å brukes til cache.

Hvordan fungerer cache-cache?

Som du kanskje allerede vet, er et program designet som et sett med instruksjoner, som skal drives av CPU. Når du kjører et program, må disse instruksjonene ta seg fra primærlagring til CPU. Det er her minnehierarkiet spiller inn.

Dataene blir først lastet inn i RAM og blir deretter sendt til CPU. CPUer i disse dager er i stand til å utføre et gigantisk antall instruksjoner per sekund. For å utnytte kraften sin fullstendig, trenger CPU-en tilgang til superrask minne. Det er her cachen kommer inn.

Minnekontrolleren gjør jobben med å ta dataene fra RAM og sende dem til cachen. Avhengig av hvilken CPU som er i systemet ditt, kan denne kontrolleren enten være på North Bridge-brikkesettet på hovedkortet eller inne i selve CPU-en.

Cachen utfører deretter frem og tilbake av data i CPU-en. Hierarkiet av minne eksisterer også i hurtigbufferen.

(Hvis du er interessert i å vite hvordan selve CPU-en fungerer, kan du sjekke artikkelen vår som forklarer det grunnleggende om CPU Hva er en CPU og hva gjør den? Hva er en CPU og hva gjør den? Å beregne akronymer er forvirrende. Hva er en CPU uansett? Og trenger jeg en fir- eller dual-core prosessor? Hva med AMD, eller Intel? Vi er her for å forklare forskjellen! Les mer.)

Nivåene av hurtigbufferen: L1, L2 og L3

CPU-cache er delt inn i tre hovednivåer, L1, L2 og L3. Hierarkiet her er igjen i henhold til hastigheten, og dermed størrelsen på hurtigbufferen.

L1 (nivå 1) -buffer er det raskeste minnet som finnes i et datasystem. Når det gjelder tilgangsprioritet, har L1-cache de dataene CPU-en mest sannsynlig trenger når du fullfører en bestemt oppgave.

Så langt størrelsen går, går L1-cachen typisk opp til 256 KB. Imidlertid tar noen virkelig kraftige prosessorer nå den nær 1 MB. Noen serverbrikkesett (som Intels topp-end Xeon-CPUer) har nå et sted mellom 1-2 MB L1-cache.

L1-cache er også vanligvis delt på to måter, i instruksjonsbufferen og datacachen. Instruksjonsbufferen tar for seg informasjonen om operasjonen som CPU-en må utføre, mens datacachen inneholder dataene som operasjonen skal utføres på.

Intel Skylake cache design
Bildekreditt: Intel

L2 (nivå 2) -buffer er tregere enn L1-cache, men større i størrelse. Størrelsen varierer vanligvis mellom 256 KB til 8 MB, selv om de nyere, kraftige CPU-ene har en tendens til å gå forbi det. L2-cache inneholder data som sannsynligvis vil være tilgang til CPU-en neste gang. I de fleste moderne CPU-er er L1- og L2-hurtigbufrene til stede på selve CPU-kjernene, og hver kjerne får sin egen hurtigbuffer.

L3 (nivå 3) cache er den største hurtigminneenheten, og også den tregeste. Det kan variere mellom 4MB og oppover 50MB. Moderne CPU-er har dedikert plass på CPU-døren for L3-cachen, og den tar opp en stor del av plassen.

Cache Hit eller Miss and Latency

Dataene flyter fra RAM til L3-cachen, deretter L2 og til slutt L1. Når prosessoren leter etter data for å utføre en operasjon, prøver den først å finne dem i L1-cachen. Hvis CPU-en er i stand til å finne den, kalles tilstanden et cache-treff. Deretter fortsetter den for å finne den i L2, og deretter L3.

Hvis den ikke finner dataene, prøver den å få tilgang til dem fra hovedminnet. Dette kalles en cache-glipp.

Nå som kjent er hurtigbufferen designet for å fremskynde frem og tilbake av informasjon mellom hovedminnet og CPU. Tiden som trengs for å få tilgang til data fra minnet kalles latens. L1 har den laveste latensen, er den raskeste og nærmest kjernen, og L3 har den høyeste. Latensen øker med mye når det er en cache-glipp. Dette er fordi CPU'en må hente dataene fra hovedminnet.

Etter hvert som datamaskiner blir raskere og bedre, ser vi en redusering av ventetiden. Vi har DDR4 RAM med lav latens nå, og supersnelle SSD-er med lave tilgangstider som den primære lagring, som begge reduserer den totale latensen betydelig. Hvis du vil vite mer om hvordan RAM fungerer, her er vår raske og skitne guide til RAM En rask og skitten guide til RAM: Hva du trenger å vite En rask og skitten guide til RAM: Det du trenger å vite RAM er en avgjørende rolle komponent på hver datamaskin, men det kan være forvirrende. Vi deler det ned i enkle å forstå vilkår du vil forstå. Les mer .

Tidligere hadde cache-design tidligere L2- og L3-buffer utenfor CPU-en, noe som hadde en negativ innvirkning på latenstiden.

Fremskritt i fabrikasjonsprosesser relatert til CPU-transistorer har imidlertid gjort det mulig å plassere milliarder av transistorer i et mindre rom enn tidligere. Som et resultat blir det igjen mer rom for hurtigbuffer, som lar cachen være så nær kjernen som mulig, noe som reduserer forsinkelsen betydelig.

Cache's Future

Cache-design er alltid i utvikling, spesielt ettersom minnet blir billigere, raskere og tettere. Intel og AMD har hatt sin rettferdige andel av eksperimentering med cache-design, mens Intel selv eksperimenterte med en L4-cache. CPU-markedet går raskere fremover enn noensinne.

Med det er vi nødt til å se cache-design holde tritt med den stadig voksende kraften til CPUer.

I tillegg gjøres det mye for å kutte ned flaskehalsene som moderne datamaskiner har. Å redusere minnelatensen er kanskje den største delen av den. Bransjen jobber for løsninger for det samme, og fremtiden ser virkelig lovende ut.

Du har kanskje til og med hørt om Intel Optane, som kan brukes som en slags ekstern hybrid-cache. Hvis du ikke har det, kan du sjekke artikkelen vår som undersøker potensielle applikasjoner fra Intel Optane. Er Intel Optane Memory billig DDR3 RAM? Er Intel Optane Memory billig DDR3 RAM? Lurer du på hva Intels Optane-minne handler om? Er det billig RAM, eller noe mer? Her er hva du trenger å vite. Les mer .

Utforsk mer om: Dataminne, datamaskindeler, CPU.