Köper eller uppgraderar din CPU och förstår inte vad L1, L2 eller L3 cachar är till för?  Här är vad du behöver veta!

Hur fungerar CPU-cache och vad är L1, L2 och L3?

Annons Datorprocessorer har avancerat ganska mycket under de senaste åren, med storleken på transistorer blir mindre varje år, och framsteg som träffar en punkt där Moores lag snabbt blir överflödiga. När det gäller processorer är det inte bara transistorerna och frekvenserna som räknas utan även cachen. Du kanske

Annons

Datorprocessorer har avancerat ganska mycket under de senaste åren, med storleken på transistorer blir mindre varje år, och framsteg som träffar en punkt där Moores lag snabbt blir överflödiga.

När det gäller processorer är det inte bara transistorerna och frekvenserna som räknas utan även cachen.

Du kanske har hört talas om cacheminnet när CPU: er (Central Processing Units) diskuteras. Vi uppmärksammar emellertid inte för mycket på dessa nummer, och de är inte heller den primära höjdpunkten i dessa CPU: s reklam.

Så exakt hur viktigt är CPU-cache, och hur fungerar det?

Vad är CPU-cache?

För att uttrycka det enkelt, är en cache bara en riktigt snabb typ av minne. Som du kanske vet, har en dator flera typer av minne i sig. Det finns en primär lagring, som en hårddisk eller en SSD, som lagrar huvuddelen av data - operativsystemet och alla program.

Därefter har vi Random Access Memory, ofta känt som RAM. Detta är mycket snabbare än den primära lagringen.

Slutligen har CPU ännu snabbare minnesenheter i sig själv, vilket vi känner som cachen.

Minnet i en dator har en hierarki, baserad på hastigheten, och cache står högst upp i den här hierarkin och är den snabbaste. Det är också det närmaste där den centrala behandlingen sker, eftersom den är en del av själva CPU: n.

Cache är ett statiskt RAM (SRAM), jämfört med system RAM, som är ett dynamiskt RAM (DRAM). Statisk RAM är en som kan hålla data utan att behöva uppdateras ständigt, till skillnad från DRAM, vilket gör SRAM idealisk att användas för cache.

Hur fungerar CPU-cache?

Som du kanske redan känner till är ett program utformat som en uppsättning instruktioner som ska köras av CPU. När du kör ett program måste dessa instruktioner ta sig från den primära lagringen till CPU. Det är här minneshierarkin spelar in.

Uppgifterna laddas först in i RAM och skickas sedan till CPU: n. CPU: er i dag kan utföra ett enormt antal instruktioner per sekund. För att fullt utnyttja sin kraft behöver CPU: n åtkomst till supersnabbt minne. Det är här cachen kommer in.

Minneskontrollern gör jobbet med att ta data från RAM och skicka dem till cachen. Beroende på vilken CPU som finns i ditt system kan den här kontrollen antingen vara på North Bridge-chipset på moderkortet eller inuti själva CPU-enheten.

Cachen utför sedan fram och tillbaka av data i CPU: n. Minnehierarkin finns också i cachen.

(Om du är intresserad av att veta hur CPU själv fungerar, kolla in vår artikel som förklarar grunderna för CPU Vad är en CPU och vad gör den? Vad är en CPU och vad gör den? Beräkna akronymer är förvirrande. Vad är en CPU ändå? Och behöver jag en fyr- eller dual-core-processor? Vad sägs om AMD eller Intel? Vi är här för att förklara skillnaden! Läs mer.)

Nivåerna av cache: L1, L2 och L3

CPU-cache är indelat i tre huvudnivåer, L1, L2 och L3. Hierarkin här är igen beroende på hastigheten och därmed storleken på cachen.

L1-cache (nivå 1) är det snabbaste minnet som finns i ett datorsystem. När det gäller åtkomstprioritet har L1-cache de data som CPU-enheten troligtvis behöver när den slutför en viss uppgift.

När det gäller storleken går L1-cachen vanligtvis upp till 256 kB. Några riktigt kraftfulla processorer tar emellertid den nära 1 MB. Vissa serverchipsatser (som Intels topp-Xeon-CPU: er) har nu någonstans mellan 1-2 MB L1-cache.

L1-cache delas också vanligtvis två sätt, i instruktionscachen och datacachen. Instruktionscachen handlar om informationen om den operation som CPU måste utföra, medan datacachen innehåller data som operationen ska utföras på.

Intel Skylake-cache-design
Bildkredit: Intel

L2-cache (nivå 2) är långsammare än L1-cache, men större i storlek. Dess storlek varierar vanligtvis mellan 256 kB till 8 MB, även om de nyare, kraftfulla CPU: erna tenderar att gå förbi det. L2-cache innehåller data som sannolikt kommer åt åt CPU: n nästa. I de flesta moderna CPU: er finns L1- och L2-cacharna på själva CPU-kärnorna, varvid varje kärna får sin egen cache.

L3 (Nivå 3) -cache är den största cacheminnesenheten och även den långsamaste. Det kan variera mellan 4MB och upp till 50MB. Moderna CPU: er har dedikerat utrymme på CPU-formen för L3-cachen, och det tar upp en stor del av utrymmet.

Cache Hit eller Miss and Latency

Data flyter från RAM till L3-cachen, sedan L2 och slutligen L1. När processorn letar efter data för att utföra en operation försöker den först hitta den i L1-cachen. Om CPU kan hitta den kallas villkoret en cache-hit. Den fortsätter sedan att hitta den i L2 och sedan L3.

Om den inte hittar data, försöker den komma åt dem från huvudminnet. Detta kallas en cachemiss.

Som vi vet är cachen utformad för att påskynda fram och tillbaka information mellan huvudminnet och CPU. Den tid som krävs för att komma åt data från minnet kallas Latency. L1 har den lägsta latensen, är den snabbaste och närmast kärnan, och L3 har den högsta. Latensen ökar mycket när det finns en cache-miss. Detta beror på att CPU måste hämta data från huvudminnet.

När datorerna blir snabbare och bättre ser vi en minskning av latensen. Vi har DDR4-RAM med låg latens nu och supersnabba SSD: er med låg åtkomsttider som primärlagring, som båda reducerar den totala latensen betydligt. Om du vill veta mer om hur RAM fungerar, här är vår snabba och smutsiga guide till RAM En snabb och smutsig guide till RAM: Vad du behöver veta En snabb och smutsig guide till RAM: Vad du behöver veta RAM är en avgörande roll del av varje dator, men det kan vara förvirrande. Vi delar upp det i lättfattliga termer du förstår. Läs mer .

Tidigare har cachekonstruktioner brukade ha L2- och L3-cacharna utanför CPU: n, vilket hade en negativ inverkan på latensen.

Framstegen i tillverkningsprocesser relaterade till CPU-transistorer har emellertid gjort det möjligt att placera miljarder transistorer i ett mindre utrymme än tidigare. Som ett resultat finns mer utrymme kvar för cache, vilket låter cachen vara så nära kärnan som möjligt, vilket avsevärt minskar latensen.

Cache's framtid

Cache-design utvecklas alltid, särskilt när minnet blir billigare, snabbare och tätare. Intel och AMD har haft sin rättvisa del av experiment med cache-design, medan Intel till och med experimenterade med en L4-cache. CPU-marknaden går snabbare framåt än någonsin nu.

Med det är vi tvungna att se cache-design hålla jämna steg med CPU: s ständigt växande kraft.

Dessutom görs det mycket för att skära ned flaskhalsarna som moderna datorer har. Att minska minnets latens är kanske den enskilt största delen av det. Branschen arbetar mot lösningar för samma och framtiden ser verkligen lovande ut.

Du kanske till och med har hört talas om Intel Optane, som kan användas som en slags extern hybridcache. Om du inte har det, kolla in vår artikel som undersöker de potentiella applikationerna från Intel Optane. Är Intel Optane Memory Billigt DDR3 RAM? Är Intel Optane Memory Cheap DDR3 RAM? Undrar du vad Intels Optane-minne handlar om? Är det billigt RAM, eller något mer? Här är vad du behöver veta. Läs mer .

Utforska mer om: Datorminne, datordelar, CPU.