Guider

Hva er cache for l1, l2 og l3, og hvordan fungerer det?

Innholdsfortegnelse:

Anonim

Har du noen gang hørt om hurtigbuffer L1, L2 og L3 ? Sikkert ja, men hvis du ikke er sikker på hva disse cache-nivåene virkelig betyr, vil vi i denne artikkelen prøve å forklare alt etter beste evne. Fra nå av vil du bedre forstå hukommelsesegenskapene til en prosessor.

Du vil allerede vite at en av de viktigste komponentene i en datamaskin er minnet, vi snakker selvfølgelig om RAM-minne, den der alle programmene og operativsystemet er lastet slik at de blir brukt av prosessoren eller behovet for å få tilgang til disken hardt.

RAM er mye raskere enn en harddisk, spesielt enn mekaniske stasjoner. Men det er fortsatt et raskere minne i datamaskinen vår, spesielt i prosessoren vår, og dette er hurtigbufferminnet, som er det vi vil se i dag.

Innholdsindeks

Hva er cache-minnet til en CPU

Det første vi må vite er hva som er hurtigbufferen generelt. Som vi allerede har sagt, innenfor en PC er det flere typer minne, og nettopp hurtigminnet vil være det raskeste av alle.

Lagringsnivåer

For å begynne med, i det første trinnet vil vi ha den primære lagringen, som utvilsomt er harddisker. I dem lagres all informasjon permanent, og operativsystemet lager en funksjonell PC derfra. Det er det tregeste minnet, fra omtrent 150 MB / s på en HDD (mekanisk harddisk) til de imponerende 3 500 MB / s av de raskeste SSD-ene på markedet.

For det andre vil vi ha tilfeldig minne eller RAM. Det er et mindre solid state-minne, som ikke er i stand til å lagre data permanent og fungerer som en port mellom harddisken og prosessoren. Den tilbyr en hastighet på mer enn 30 000 MB / s i DDR4. Minne kalles også DRAM (Dynamic RAM) fordi det kontinuerlig må oppdateres for å unngå å miste informasjon.

Det tredje nivået, det raskeste

Og endelig kommer vi til den som er øverst, cachen. Det er et veldig lite minne som er installert inne i sin egen mikroprosessor og av typen SRAM (statisk RAM). Det er mye dyrere å produsere enn vanlig RAM, og kan inneholde data uten å hele tiden bli oppdatert.

Det faktum at det er installert inne i CPU gjør det nærmest prosessorkjernene, og det er grunnen til at det må være jævlig fort. Faktisk når den hastigheter på over 200 GB / s og latenser på rundt 10 eller 11 ns (nanosekunder). Cache-minnet er ansvarlig for å lagre instruksjonene som overhodet skal behandles av CPU, slik at den får tilgang til dem så raskt som mulig.

På sin side er hurtigbufferminnet delt inn i flere nivåer, hver raskere, mindre og nærmere prosessoren. Prosessorer har for øyeblikket totalt tre nivåer av hurtigminne inne. Før vi kommer inn på dette, la oss ta en rask titt på hvordan en cache fungerer.

Hvordan cache fungerer

Det er ikke sikkert du vet det, men praktisk talt alle periferiutstyr og elementer på en datamaskin har sitt eget hurtigminne, for eksempel harddiskene i seg selv, skriveren og selvfølgelig grafikkortens GPU-er. Og funksjonen til dem alle, inkludert en CPU vil være den samme.

Som vi vet, er en datamaskin "smart" takket være operativsystemet og programmene. Hver av disse programmene er laget av et programmeringsspråk, som igjen er et sett med instruksjoner som må utføres på en ordnet måte i CPU. Vi sier på en ordnet måte fordi det er på dette tidspunktet det er fornuftig å etablere forskjellige nivåer av lagring.

Dataene lagres på en fast måte i harddiskene, men siden de er så tregte og er "så langt" fra CPU, blir de lastet før i RAM-minnet, en mye raskere lagring og bare brukt til programmene som er i drift.

Minnekontrolleren kommer i spill

Men det er fremdeles ikke nok, fordi dagens CPUer er så raske og i stand til å utføre millioner av operasjoner hvert sekund på hver kjerne, går cachen inn. Inne i CPU-en er det en minnekontroller, som i utgangspunktet er det som tidligere ble kalt nordbroen eller nordbroen og var en brikke installert på hovedkortet. Vel, denne minnekontrolleren er nå inne i CPU og har ansvaret for å ta instruksjonene som skal utføres fra RAM-minnet, og også for å returnere resultatene fra prosesseringssyklusen.

Men det er også to typer busser som har ansvaret for å kommunisere CPU med RAM-minnet, de kalles databuss og adressebuss:

  • Datobuss: de er i utgangspunktet sporene der dataene og instruksjonene sirkulerer. Det vil være en databuss som kommuniserer RAM, cache og kjerner med hverandre. Adressebuss: det er en uavhengig kanal der CPU ber om minneadressen der dataene befinner seg. Instruksjonene er lagret i minneceller, som har en adresse, og både RAM, cache og CPU må kjenne den for å finne de aktuelle dataene.

L1, L2 og L3 cache

Nå forstår vi allerede ganske grovt hvordan lagring fungerer på en PC, og hvordan cache fungerer. Men vi må vite at det er en cache L1, L2 og L3 inne i CPU-en, det virker utrolig at noe så lite passer så mye ikke sant? For disse tre nivåene av hurtigminnet er det et hierarki av hastighet og selvfølgelig kapasitet.

L1-hurtigminne

L1-cachen er den raskeste konfigurasjonen, den som er nærmest kjernene. Dette lagrer dataene som umiddelbart vil brukes av CPU, og det er derfor hastighetene er rundt 1150 GB / s, og latenstiden er bare 0, 9 ns.

Størrelsen på dette hurtigminnet er rundt 256 KB totalt, selv om det avhengig av CPU-strøm (og kostnad) det vil være mindre eller mer, faktisk har arbeidsstasjonsprosessorer som Intel Core i9-7980 XE noen 1152 KB totalt.

Denne L1-cachen er delt inn i to typer, L1-datacachen og L1-instruksjonsbufferen, den første er ansvarlig for å lagre dataene som skal behandles, og den andre lagrer informasjonen om operasjonen som skal utføres (tillegg, subtraksjon, multiplikasjon, etc).

I tillegg har hver kjerne sine egne L1-cacher, så hvis vi har en prosessor med 6 kjerner, vil vi ha 6 L1-hurtigbuffer delt inn i L1 D og L1 I. I Intel-prosessorer er hver 32 KB, og i AMD-prosessorer er også 32 KB eller 64 KB på L1 I. Selvfølgelig vil de variere etter kvalitet og kraft, som alltid.

L2-hurtigminne

Den neste vi finner vil være L2- eller nivå 2-cachen. Dette har mer lagringskapasitet, selv om det vil være litt tregere, ca 470 GB / s og 2, 8 nns latens. Lagringsstørrelsen varierer vanligvis mellom 256 KB og 18 MB. Vi ser allerede at de har betydelige kapasiteter for hastighetene vi håndterer.

Instruksjoner og data lagres i den og vil snart brukes av CPU, og i dette tilfellet er de ikke delt inn i instruksjoner og data. Men vi har en L2-cache for hver kjerne, i hvert fall er dette tilfelle med de mest relevante prosessorene. For hver kjerne er det vanligvis 256, 512 eller opptil 1024 KB.

L3-hurtigminne

Til slutt finner vi L3-cachen, som har en dedikert plass til den på prosessorbrikken. Det vil være den største og også den tregeste, vi snakker om mer enn 200 GB / s og 11 nns forsinkelse.

For øyeblikket vil en verdig prosessor ha minst 4 MB L3-cache, og stasjoner opp til 64 MB kan sees. L3 er vanligvis spredt over omtrent 2 MB per kjerne, men la oss bare si at den ikke er inne i hver kjerne, så det er en databuss som kan kommunisere med dem. Solvensen og hastigheten til en CPU er i stor grad avhengig av denne bussen og selve RAM-minnet, og det er her Intel får sin kraft fra AMD.

Slik kjenner jeg hurtigbufferen L1, L2 og L3 til prosessoren min

Vel, en av de raskeste måtene å vite denne informasjonen er å laste ned CPU-Z-verktøyet, som er helt gratis og vil gi deg veldig fullstendig informasjon om CPU-en din. Til og med de tre nivåene og mengden lagring for hver. Du kan laste den ned fra den offisielle hjemmesiden.

Du kan også legge merke og modell i nettleseren og gå til produsentens side, selv om de vanligvis bare gir informasjon om L3-cachen. I all vår gjennomgang av prosessorer gir vi selvfølgelig fullstendig informasjon om hurtigbufferen til hver enkelt CPU og vi benchmarker ytelsen.

Latens, bussbredde og mangel på cache

Vi har forstått at data flyter fra harddisken til prosesseringskjernen gjennom alle hukommelsesnivåer. Der prosessoren først ser etter den neste instruksjonen om å behandle, er i hurtigbufferminnet, bør et kvalitetssystem vite hvordan de kan lokalisere dataene riktig ut fra viktigheten av dem for å minimere tilgangstidene til dem, som kalles latenstid..

Latency er da tiden det tar å få tilgang til data fra minnet. Jo lenger og saktere, høyere latens og lengre CPU må vente til neste instruksjon. Så når en instruksjon ikke er plassert i hurtigminnet, må prosessoren lete etter den direkte i RAM-minnet, dette kalles mangel på hurtigbuffer eller glipp av hurtigbuffer, dette er når en tregere PC oppleves.

Bussbredde er også av stor betydning for hastigheten, ettersom den markerer muligheten for å overføre større blokker med data fra minne til CPU. Både CPU og RAM er 64 biter, men Dual Channel- funksjonen er i stand til å doble denne kapasiteten til 128 biter, slik at overføringen mellom disse elementene har større kapasitet.

Konklusjon om L1-, L2- og L3-hurtigminnet

Vi ser alltid mye på antall kjerner og hastigheten på en prosessor, det er tydelig at det i stor grad bestemmer totalhastigheten på den. Men et element som noen ganger ikke blir tatt i betraktning er hurtigbufferminnet, og det er viktig når det gjelder å ha en kraftig prosessor.

Å ha en 6-kjerners CPU med for eksempel 4 eller 16 MB L3-cache, vil være veldig viktig når det gjelder å måle ytelsen, spesielt når vi har flere åpne programmer. Så fra nå av, ta en titt på dette avsnittet når du bestemmer deg for å kjøpe en prosessor, fordi ikke alt avhenger av frekvensen.

Vi har mer interessante tutorials om dette emnet, så her lar vi dem:

Vi anbefaler også våre oppdaterte maskinvareguider:

Vi håper at all denne informasjonen har vært nyttig for deg å vite mer om prosessorene og hurtigbufferminnet. Har du spørsmål kan du stille oss i kommentarfeltet. Vi ses i neste opplæring!

Guider

Redaktørens valg

Back to top button