Vejledninger

Hvad er l1, l2 og l3 cache, og hvordan fungerer det?

Indholdsfortegnelse:

Anonim

Har du nogensinde hørt om cache L1, L2 og L3 ? Sikkert ja, men hvis du ikke er sikker på, hvad disse cache-niveauer virkelig betyder, vil vi i denne artikel forsøge at forklare alt efter bedste evne. Fra nu af vil du bedre forstå hukommelsesegenskaberne for en processor.

Du ved allerede, at en af ​​de vigtigste komponenter i en computer er dens hukommelse, vi taler selvfølgelig om RAM-hukommelse, den , hvor alle programmer og operativsystem er indlæst, så de bruges af processoren eller behovet for at få adgang til disken hårdt.

RAM er meget hurtigere end en harddisk, især end mekaniske drev. Men der er stadig en hurtigere hukommelse i vores computer, specifikt inden for vores processor, og dette er cachehukommelsen, hvilket er, hvad vi vil se i dag.

Indholdsindeks

Hvad er cache-hukommelsen på en CPU

Den første ting, vi bliver nødt til at vide, er, hvad der er cachen generelt. Som vi allerede har sagt, er der inden for en pc flere typer hukommelse, og netop cachehukommelsen er den hurtigste af alle.

Opbevaringsniveauer

For at begynde med har vi i det første trin den primære lagerplads, som uden tvivl er harddiske. I dem gemmes alle informationer permanent, og det gør operativsystemet til en funktionel pc. Det er den langsomste hukommelse, fra cirka 150MB / s på en HDD (mekanisk harddisk) til de imponerende 3.500 MB / s af de hurtigste SSD'er på markedet.

For det andet har vi tilfældig adgangshukommelse eller RAM. Det er en mindre solid state-hukommelse, som ikke er i stand til at lagre data permanent og fungerer som en gateway mellem harddisken og processoren. Det tilbyder en hastighed på mere end 30.000 MB / s i DDR4. Hukommelse kaldes også DRAM (Dynamisk RAM), fordi den konstant skal opdateres for at undgå at miste information.

Det tredje niveau, det hurtigste

Og endelig kommer vi til den øverst, cachen. Det er en meget lille hukommelse, der er installeret i sin egen mikroprocessor og af typen SRAM (statisk RAM). Det er meget dyrere at fremstille end normalt RAM og kan indeholde data uden konstant at blive opdateret.

Det faktum, at det er installeret inde i CPU'en, gør det tættest på processorkernerne, og det er derfor, det skal være forbandet hurtigt. Faktisk når det hastigheder på over 200 GB / s og latenser på ca. 10 eller 11 ns (nanosekunder). Cachehukommelsen har ansvaret for at gemme de instruktioner, der forestår at blive behandlet af CPU'en, så den kan få adgang til dem så hurtigt som muligt.

Til gengæld er cachehukommelsen opdelt i flere niveauer, hver hurtigere, mindre og tættere på processoren. Processorer har i øjeblikket i alt tre niveauer af cachehukommelse inde. Inden vi går ind på dette, lad os se hurtigt på, hvordan en cache fungerer.

Sådan fungerer cache

Du ved muligvis ikke det, men praktisk talt alle perifere enheder og elementer på en computer har deres egen cachehukommelse, f.eks. Harddiskerne selv, printeren og selvfølgelig grafikkortets GPU'er. Og funktionen af ​​dem alle, inklusive en CPU er den samme.

Som vi ved, er en computer "smart" takket være operativsystemet og dets programmer. Hvert af disse programmer er oprettet fra et programmeringssprog, som igen er et sæt instruktioner, der skal udføres ordnet i CPU'en. Vi siger ordnet, fordi det er på dette tidspunkt, at det giver mening at etablere forskellige niveauer af lager.

Dataene gemmes på en fast måde i harddiskene, men da de er så langsomme og er "så langt" fra CPU'en, indlæses de før i hukommelses-RAM, en meget hurtigere lagring og bruges kun til de programmer, der er i drift.

Hukommelsescontrolleren kommer i spil

Men det er stadig ikke nok, fordi nutidens CPU'er er så hurtige og i stand til at udføre millioner af operationer hvert sekund på hver kerne, cachen indtaster. Inde i CPU'en er der en hukommelseskontroller, som stort set er det, der tidligere blev kaldt nordbroen eller nordbroen og var en chip installeret på bundkortet. Nå, denne hukommelseskontroller er nu inde i CPU'en og er ansvarlig for at tage de instruktioner, der skal udføres fra RAM-hukommelsen, og også for at returnere resultaterne af behandlingscyklussen.

Men der er også to typer busser, der har ansvaret for at kommunikere CPU'en med RAM-hukommelsen, de kaldes databus og adressebus:

  • Datobus: det er dybest set de spor, hvor dataene og instruktionerne cirkulerer. Der vil være en databus, der kommunikerer RAM, cache og kerner med hinanden. Adressebus: det er en uafhængig kanal, hvor CPU anmoder om hukommelsesadressen, hvor dataene er placeret. Instruktionerne gemmes i hukommelsesceller, der har en adresse, og både RAM, cache og CPU skal kende det for at lokalisere de pågældende data.

L1, L2 og L3 cache

På nuværende tidspunkt forstår vi allerede nogenlunde groft, hvordan opbevaring fungerer på en pc, og hvordan cache fungerer. Men vi må vide, at der er en cache L1, L2 og L3 inde i CPU'en, det virker utroligt, at noget så lille passer så meget ikke? For disse tre cache-niveauer er der tale om et hierarki af hastighed og selvfølgelig kapacitet.

L1-cachehukommelse

L1-cachen er den hurtigste konfiguration, den der er tættest på kernerne. Dette gemmer de data, der straks vil blive brugt af CPU'en, og det er derfor, hastighederne er omkring 1150 GB / s, og latenstiden er kun 0, 9 ns.

Størrelsen på denne cachehukommelse er omkring 256 KB i alt, selv om den afhængigt af CPU-strømmen (og omkostningerne) den vil være mindre eller større, faktisk har Workstation-processorer som Intel Core i9-7980 XE nogle 1152 KB i alt.

Denne L1-cache er opdelt i to typer, L1-datacachen og L1-instruktionscachen, den første er ansvarlig for at gemme de data, der skal behandles, og den anden lagrer informationen om den handling, der skal udføres (tilføjelse, subtraktion, multiplikation, osv).

Derudover har hver kerne sine egne L1-cacher, så hvis vi har en 6-core-processor, vil vi have 6 L1-cacher, der er opdelt i L1 D og L1 I. I Intel-processorer er hver 32 KB, og i AMD-processorer er også 32 KB eller 64 KB på L1 I. Selvfølgelig vil de variere alt efter kvalitet og kraft som altid.

L2-cachehukommelse

Den næste, vi finder, er L2- eller niveau 2-cachen. Dette har mere lagerkapacitet, selvom det vil være lidt langsommere, omkring 470 GB / s og 2, 8 ns latenstid. Lagringsstørrelsen varierer normalt mellem 256 KB og 18 MB. Vi ser allerede, at det er betydelige kapaciteter for de hastigheder, vi håndterer.

Instruktioner og data gemmes i den og bruges snart af CPU'en, og i dette tilfælde er de ikke opdelt i instruktioner og data. Men vi har en L2-cache til hver kerne, i det mindste er dette tilfældet med de mest relevante processorer. For hver kerne er der normalt 256, 512 eller op til 1024 KB.

L3-cachehukommelse

Endelig finder vi L3-cachen, som har en dedikeret plads til det på processorchippen. Det vil være den største og også den langsomste, vi taler om mere end 200 GB / s og 11 ns forsinkelse.

I øjeblikket vil en værdig processor have mindst 4MB L3-cache, og drev op til 64MB kan ses. L3 er typisk spredt over ca. 2 MB pr. Kerne, men lad os bare sige, at den ikke er inde i hver kerne, så der er en databus, der kan kommunikere med dem. En CPU's solvens og hastighed afhænger stort set af denne bus og selve RAM-hukommelsen, og det er her Intel får sin magt fra AMD.

Sådan kender jeg min processor cache L1, L2 og L3

Nå, en af ​​de hurtigste måder at kende disse oplysninger er at downloade CPU-Z-værktøjet, som er helt gratis og vil give dig meget komplette oplysninger om din CPU. Selv de tre niveauer og mængden af ​​lagerplads for hver. Du kan downloade det fra dets officielle websted.

Du kan også placere mærket og modellen i browseren og gå til producentens side, skønt de normalt kun indeholder oplysninger om L3-cachen. I al vores gennemgang af processorer giver vi naturligvis komplette oplysninger om cache for hver CPU, og vi benchmarker dens ydelse.

Forsinkelse, busbredde og mangel på cache

Vi har forstået, at data flyder fra harddisken til behandlingskernen gennem alle hukommelsesniveauer. Hvor processor først ser efter den næste instruktion til behandling, er i cachehukommelsen, skal et kvalitetssystem vide, hvordan man korrekt lokaliserer dataene baseret på dets betydning for at minimere adgangstider til dem, som kaldes latenstid.

Latency er så den tid det tager at få adgang til data fra hukommelsen. Jo længere og langsommere, højere latenstid og længere CPU'en bliver nødt til at vente på sin næste instruktion. Når en instruktion således ikke er placeret i cachehukommelsen, skal processoren kigge efter den direkte i RAM-hukommelsen, dette kaldes mangel på cache eller miss cache, det er når en langsommere pc opleves.

Busbredde er også af stor betydning for hastigheden, da den markerer evnen til at overføre større blokke af data fra hukommelse til CPU'en. Både CPU og RAM er 64 bit, men Dual Channel- funktionen er i stand til at fordoble denne kapacitet til 128 bit, så overførslen mellem disse elementer har større kapacitet.

Konklusion om L1, L2 og L3 cachehukommelse

Vi ser altid meget på antallet af kerner og hastigheden på en processor, det er tydeligt, at det stort set bestemmer den totale hastighed på det. Men et element, der sommetider ikke normalt tages i betragtning, er cachehukommelsen, og det er vigtigt, når det kommer til at have en stærk processor.

At have en 6-core CPU med f.eks. 4 eller 16 MB L3-cache, vil være meget vigtig, når det kommer til at måle dens ydeevne, især når vi har flere åbne programmer. Så fra nu af skal du kigge godt på dette afsnit, når du beslutter at købe en processor, fordi ikke alt afhænger af hyppigheden.

Vi har mere interessante tutorials om dette emne, så her forlader vi dem:

Vi anbefaler også vores opdaterede hardwarevejledninger:

Vi håber, at alle disse oplysninger har været nyttige for dig at vide mere om processorer og cachehukommelse. Hvis du har spørgsmål, kan du stille os i kommentarfeltet. Vi ses i næste tutorial!

Vejledninger

Valg af editor

Back to top button