Hvordan fungerer CPU-cache?

Sidste ændring: 25 September 2020
Forfatter: Isaac
cache, CPU

La cachehukommelse Det har ikke altid været i CPU'en. Faktisk havde ældre processorer ikke en. Senere kom moduler svarende til nutidens RAM-moduler, der tillod dig valgfrit at tilføje en cache for at forbedre din CPU's ydeevne, ligesom matematiske coprocessorer eller FPU'er blev tilføjet.

I nuværende mikroprocessorer er cachehukommelsen blevet integreret i selve chippen, nu en næsten uadskillelig del af dem, og med flere niveauer for at få større gavn af det. I denne vejledning lærer du mere om denne type hukommelse og dens betydning.

Hvad er cachen?

Før jeg begynder at forklare, hvad cachehukommelse er, vil jeg gerne opsummere det meget kort. hvordan en cpu fungerer, så du bedre kan forstå dens ydeevne. Kort sagt er CPU'en intet andet end en "lommeregner", der behandler en række operationer med databits.

Det er softwaren, programmet, der angiver, hvilke beregninger CPU'en skal udføre. Programmet består af en række data og instruktioner. Alle disse data og instruktioner gemmes i sekundær hukommelse (harddisk) vil blive sendt til hovedhukommelsen (primærhukommelsen). Derfra vil de blive opfanget af CPU'en og indlæst i dens interne hukommelse. Instruktionen vil angive, hvad CPU'en skal gøre med dataene. For eksempel kunne det være en additionsinstruktion. Sådan udføres softwaren…

Kort sagt brugte tidlige computere et enkelt niveau af langsom hukommelse (en form for ROM eller magnetisk lagring), hvorfra disse instruktioner og data kunne hentes. Men efterhånden som CPU'er udviklede sig og blev hurtigere, opstod der store flaskehalse på grund af denne hukommelses langsommelighed. Derfor blev der introduceret en hurtig bufferhukommelse mellem CPU'en og den sekundære hukommelse: vædder (SDRAM).

  Sådan åbner du DLL-filer på Windows og Mac

På trods af dette fortsatte CPU'en med at udvikle sig hurtigere end selve RAM'ens hastighed, hvilket skabte endnu en flaskehals. Så en anden, meget hurtigere hukommelse blev udviklet, tættere på processoren og placeret mellem RAM'en og CPU'en: cachehukommelse (SRAM).

Sekundær hukommelse er billig, så du kan få store kapaciteter til en god pris. I tilfælde af RAM er det hurtigere, men også dyrere end sekundær hukommelse. Derfor er primære hukommelseskapaciteter ikke så store. Hvis vi fortsætter ned ad stigen, støder vi på cachehukommelse, som er endnu dyrere og derfor har meget lav kapacitet. Så er der registrene, som også er ekstremt dyre og begrænsede...

Med denne cachehukommelse kan CPU-kernerne forsynes meget hurtigere, så latenstider og båndbredde RAM'en fungerer således, at den ikke påvirker CPU'ens ydeevne så meget. Det er en måde at levere disse data og instruktioner meget mere lokalt og hurtigere... Med andre ord, så de er mere "lige ved hånden".

Nu om dage har forbedringen af ​​sekundær hukommelse betydet et stort spring. Jeg henviser til den nye SSD- eller solid-state-harddiskeDe er dog stadig langsommere end RAM, så disse andre niveauer er stadig nødvendige.

Cacheniveauer i en moderne processor

Intel Pentium III (Tualatin) dieshot, hvor jeg har markeret den samlede L2-cache med grønt og data- og instruktions-L1-cachen med lilla.

I en moderne processor er der ikke kun ét niveau af cache, men det er opdelt i flere niveauer. Typisk er der mellem 2 og 4. niveauer eller niveauer (L):

  • LLC (Sidste niveau cache)Dette er det sidste niveau af cachehukommelse, det vil sige det, der er "tættest" på RAM, det med det højeste nummer i processoren. Det kan være L4, L3 eller L2, afhængigt af niveauet. For eksempel er det L3 i nuværende Intel- og AMD-processorer. Denne hukommelse kan nå flere megabyte og er samlet, hvilket betyder, at den lagrer både data og instruktioner. Generelt deles denne type hukommelse af alle kerner, hvis der er flere. Hvis der for eksempel er L3 og L2, kan L2 være dedikeret til kun én kerne eller deles af to kerner, og L3 ville forsyne dem alle.
  • L1-cacheDenne cache er hurtigere end den forrige og er placeret endnu tættere på styreenheden, så den kan hente information og sende den hurtigere til udførelsesenhederne. I modsætning til de højere niveauer har L1 en lavere kapacitet, hvilket er normalt, da jo lavere niveauer, desto lavere er kapaciteten. Men den mest bemærkelsesværdige forskel er, at den i mange processorer ikke er samlet som de andre niveauer. I dette tilfælde er den opdelt i L1I og L1D, det vil sige kun til instruktioner og kun til data.
  Vi lærer dig, hvordan du skifter fra 32-bit til 64-bit i Windows 10

Hvorfor er det vigtigt?

CPU-kerner

Nå, på dette tidspunkt vil du allerede have et indtryk af årsagen til, hvorfor det forbedrer ydeevneEt praktisk eksempel vil hjælpe dig med at forstå dette meget godt. Forestil dig, at du (CPU'en) skal gå hen og hente de værktøjer (instruktioner og data), du har brug for til at udføre et job (et program).

Det er ikke det samme at have værktøjerne i butikken (sekundær hukommelse) end at have dem i garagen (RAM) eller lige ved hånden (cache). Hvis du skal til butikken eller garagen, vil det tage meget længere tid, end hvis du kan række ud og gribe dem lige ved siden af ​​dig. Dette er ikke altid tilfældet. Når du først har brug for en instruktion eller data, bliver du nødt til at gå til rummet eller garagen for at hente dem. Men når du først har grebet dem og har dem lige ved siden af ​​dig, vil du være meget mere effektiv næste gang, du har brug for dem.

CPU'en, gennem en søge- og fejlsystem Den vil altid søge efter instruktioner og data først i L1. Hvis der er en fejl, vil den søge i L2, og hvis det heller ikke er der, vil den gå til L3 (hvis der er en). Og hvis der også er en fejl, vil den ikke have andet valg end at søge i RAM, hvilket tager flere clock-cyklusser. Men hvis det lykkes, vil adgangen være meget hurtigere. Husk, at det tager færre cyklusser at få adgang til L1 end L2, og L3 tager til gengæld færre cyklusser at få adgang til end LXNUMX, og så videre.

Det er målet med cachen, at reducere latenstid for adgang til hukommelsen. Jeg insisterer, jeg er opsummerer meget hvordan det fungerer. Men grundlæggende er det sådan, det får dine apps og spil til at køre meget hurtigere.

  Mørk tilstand i Samsung One UI: Aktiver, planlæg og beskyt dine øjne