Home » Eliminere cache-minne: hvorfor trenger det når RAM eksisterer? | Teknologinyheter

Eliminere cache-minne: hvorfor trenger det når RAM eksisterer? | Teknologinyheter

by Edvard Munch

For PC-entusiaster er et begrep du vil høre slengt mye rundt «cache» eller «CPU-cache». Men hva er det egentlig? Og hvorfor skal du bry deg om noe som virker så kjedelig? La oss bryte det ned på en lettfattelig måte.

I utgangspunktet (ordspill) er CPU-cachen en liten mengde superrask minne som ligger rett inne i prosessoren. Det er som et lite skap som CPU-en raskt kan hente ting fra i stedet for å måtte rote hver gang inn i det mye større soverommet som er systemets RAM.

Hver CPU har i det minste noe cache-minne innebygd. Low-end brikker kan bare ha noen få kilobyte, mens high-end CPUer kan inneholde flere megabyte med hurtigbuffer. For eksempel tilbyr den kraftige Intel Core i9-14900K-prosessoren utgitt i fjor hele 36 MB total cache. Mobilbrikker har det også: Qualcomms Snapdragon 8 Gen 3 har 12 MB L3-cache.

Snapdragon 8 Gen 3 er 30 % raskere enn forrige generasjon. Snapdragon 8 Gen 3 har 50 % mer L3-cache enn forgjengeren. (Bilde: Qualcomm)

Så hvor kan du finne cache-minne? Den er plassert mellom CPU og hovedminne, vanligvis på selve CPU-brikken eller på hovedkortet i nærheten av CPU. En dedikert databuss kobler den til CPUen.

Hvorfor trenger vi cache når vi har RAM?

Du tenker kanskje: «Men jeg har 32 GB RAM på den dårlige maskinen min, hvorfor trenger jeg denne dumme cache-tingen?» Det er faktisk en interessant historie bak. CPU-designere har alltid forsøkt å gjøre prosessorer raskere, mens RAM-produsenter hadde en annen prioritet: å øke kapasiteten.

Ferietilbud

Dette har skapt et økende gap mellom CPU- og RAM-ytelse. Og for CPU-designere var dette en stor sak, fordi RAM-hastighet er avgjørende for generell ytelse i mange arbeidsbelastninger. De trengte derfor en løsning for å bygge bro over dette gapet.

Det er her cache-minne har kommet inn, med lynende hastigheter som kan bidra til å levere data til CPU-kjerner mye raskere enn kontinuerlig polling av det trege hovedminnet.

Hvordan fungerer cachen?

Datamaskinminne handler om hierarki, med CPU-registrene øverst ettersom de er de raskeste, etterfulgt av cache-minne, system-RAM og deretter langsom lagring (SSD/HDD) nederst. Du kan omtrent være enig i at jo høyere du kommer i hierarkiet, jo færre byte finner du.

Som det viser seg, har cache-minne også sitt eget hierarki og er ganske likt i prinsippet. Den er delt inn i tre nivåer: L1, L2 og L3 cache, hver differensiert etter størrelse, nærhet til kjernene og tilgangshastighet.

Å ha dette hierarkiet med en cache nærmere prosessoren betyr at dataene den trenger mest kan hentes med minimal latenstid. La oss nå se på hvordan dette hierarkiet ser ut.

L1 Cache: Det første og minste nivået er L1-cachen. Dette nivået inneholder ting som CPU-en nettopp har fått tilgang til eller tror den vil trenge snart, så det er ingen overraskelse at den er nærmest CPU-en og har den laveste latensen. Hver CPU-kjerne får også en liten eksklusiv skive bare for seg selv, vanligvis bare noen få kilobyte i størrelse. Intel Core i9-14900K, for eksempel, reserverer 80 KB L1-cache for hver kjerne (den har totalt 24 kjerner).

Intel Core i9-14900K Intel Core i9-14900K har en total L2-cache på 32 MB. (Bilde: Intel)

Hvis kjernen ikke finner noe den trenger i L1-cachen, må den lete lenger opp i hierarkiet.

L2 Cache: L2-cache er neste trinn. Ofte har hver kjerne fortsatt sitt eget dedikerte basseng, men noen CPUer deler deler av L2 mellom flere kjerner. L2 cacher er mye større enn L1. Men de har litt høyere latens siden dataene må reise litt lenger fra kjernene.

L3 Cache: Det siste nivået er L3-cachen, som er et stort delt minnebasseng som alle kjerner har tilgang til. Disse L3-cachene kan relativt sett være enorme, som den på 36 MB i 14900K-brikken. Dette laget har den verste latensen av de tre lagene siden det er lengst unna. Men å ha en stor L3 er ekstremt viktig for å unngå at CPUen hele tiden må be om data fra den trege system-RAM.

Dataflyt mellom cache-nivåer

Så i praksis flyter data fra den langsommere lagringen (RAM) til L3-cachen, deretter til L2 og til slutt til L1, og kommer nærmere CPU-kjernene underveis.

Når en kjerne trenger å utføre en instruksjon, sjekker den først sin L1-cache. Hvis dataene er tilstede, kalles det et «cache-treff», og kjernen kan raskt hente det den trenger og komme i gang. Hvis det oppstår en «cache-miss» og dataene ikke finnes i L1, vil det bli søkt i L2. Fortsatt uten hell? CPU sjekker deretter med L3-cachen.

Og hvis dataene av en alvorlig omstendighet ikke er å finne på noe cache-nivå, må kjernen ty til en møysommelig henting fra hovedsystemets RAM – en scenario-cache er designet for å forhindre dette så mye som mulig.

Jo raskere en CPU kan finne dataene den trenger i en av disse superraske cache-poolene, desto bedre vil den yte i alle slags arbeidsbelastninger som spill, innholdsoppretting og mer.

Er det noen ulemper med cache-minne?

Som alt annet har cache-minne også sine ulemper. Den tar opp mye fysisk plass på CPU-en for hvor lite den faktisk kan lagre. Det er også veldig dyrt, og det er derfor du ser det i så små kapasiteter. Men totalt sett er det en verdig avveining som bidrar til å holde systemet ditt pent og rask.

© IE Online Media Services Pvt Ltd

Zohaib Ahmed

Zohaib er en teknologientusiast og en journalist som dekker de siste trendene og innovasjonene ved Tech Desk til The Indian Express. Han er uteksaminert i dataapplikasjoner og er overbevist om at teknologi eksisterer for å være til tjeneste for oss og ikke omvendt. Han er fascinert av kunstig intelligens og alle slags dingser og liker å skrive om deres innvirkning på livene våre og samfunnet. Etter en dag med jobb slapper han av ved å sette på den nyeste science fiction-filmen. • Erfaring: 3 år • Utdanning: Bachelor i dataapplikasjoner • Tidligere erfaring: Android Police, Gizmochina • Sosialt: Instagram, Twitter, LinkedIn … Les mer

Først lastet opp til: 04/05/2024 kl 18:29 IST


Related Videos

Leave a Comment