Handledningar

Vad är cache för l1, l2 och l3 och hur fungerar det?

Innehållsförteckning:

Anonim

Har du någonsin hört talas om cache L1, L2 och L3 ? Visst ja, men om du inte är säker på vad dessa cache-nivåer verkligen betyder, kommer vi i denna artikel att försöka förklara allt efter bästa förmåga. Från och med nu kommer du bättre att förstå minnesegenskaperna hos en processor.

Du vet redan att en av de viktigaste komponenterna i en dator är dess minne, vi talar naturligtvis om RAM-minnet, det där alla program och operativsystem laddas så att de används av processorn eller måste ha åtkomst till disken hårt.

RAM är mycket snabbare än en hårddisk, särskilt än mekaniska enheter. Men det finns fortfarande ett snabbare minne i vår dator, speciellt inom vår processor, och det här är cacheminnet, vilket är vad vi kommer att se idag.

Innehållsindex

Vad är cacheminnet för en CPU

Det första vi måste veta är vad som är cachen i allmänhet. Som vi redan har sagt finns det inom en dator flera typer av minne och exakt är cacheminnet det snabbaste av alla.

Lagringsnivåer

Till att börja med kommer vi i det första steget att ha den primära lagringen, som utan tvekan är hårddiskar. I dem lagras all information permanent, från det gör operativsystemet en funktionell dator. Det är det långsammaste minnet, allt från cirka 150 MB / s på en hårddisk (mekanisk hårddisk) till de imponerande 3 500 MB / s av de snabbaste SSD: erna på marknaden.

För det andra kommer vi att ha slumpmässigt åtkomstminne eller RAM. Det är ett mindre solid state-minne, som inte kan lagra data permanent och fungerar som en gateway mellan hårddisken och processorn. Den erbjuder en hastighet över 30 000 MB / s i DDR4. Minne kallas också DRAM (Dynamic RAM) eftersom det måste uppdateras ständigt för att undvika att förlora information.

Den tredje nivån, den snabbaste

Och slutligen kommer vi till den som är överst, cachen. Det är ett mycket litet minne som är installerat i sin egen mikroprocessor och av typen SRAM (statisk RAM). Det är mycket dyrare att tillverka än normalt RAM och kan hålla data utan att ständigt uppdateras.

Det faktum att det installeras inuti CPU gör det närmast processorkärnorna, och det är därför det måste vara jävligt snabbt. I själva verket når den hastigheter på över 200 GB / s och latenser på cirka 10 eller 11 ns (nanosekunder). Cacheminnet ansvarar för att lagra instruktionerna som kommer att behandlas av CPU: n så att den kan komma åt dem så snabbt som möjligt.

I sin tur delas cacheminnet upp i flera nivåer, var och en snabbare, mindre och närmare processorn. Processorer har för närvarande totalt tre nivåer av cacheminne inuti. Innan vi går in på detta, låt oss ta en snabb titt på hur en cache fungerar.

Hur caching fungerar

Du kanske inte vet det, men praktiskt taget alla kringutrustning och element i en dator har sitt eget cacheminne, till exempel hårddiskarna själva, skrivaren och givetvis grafikkortens GPU: er. Och funktionen för dem alla, inklusive en CPU kommer att vara densamma.

Som vi vet är en dator "smart" tack vare operativsystemet och dess program. Var och en av dessa program skapas från ett programmeringsspråk, som i sin tur är en uppsättning instruktioner som måste köras på ett ordnat sätt i CPU. Vi säger på ett ordnat sätt eftersom det är vid denna punkt som det är vettigt att fastställa olika nivåer av lagring.

Data lagras på ett fast sätt i hårddiskarna, men eftersom de är så långsamma och är "så långt" från CPU: n laddas de tidigare i RAM-minnet, en mycket snabbare lagring och används endast för programmen som är i drift.

Minneskontrollern kommer in

Men det räcker fortfarande inte, eftersom dagens CPU: er är så snabba och kapabla att utföra miljontals operationer varje sekund på varje kärna, cachen går in. Inuti CPU: n finns en minneskontroller, som i princip är det som tidigare kallades norra bron eller norra bron och var ett chip installerat på moderkortet. Tja, den här minneskontrollern är nu inne i CPU: n och ansvarar för att ta instruktionerna som kommer att köras från RAM-minnet, och även för att returnera resultaten från processcykeln.

Men det finns också två typer av bussar som ansvarar för att kommunicera CPU med RAM-minnet, de kallas databuss och adressbuss:

  • Datobuss: de är i princip de spår där data och instruktioner cirkulerar. Det kommer att finnas en databuss som kommunicerar RAM, cache och kärnor med varandra. Adressbuss: det är en oberoende kanal där CPU begär minnesadressen där data finns. Instruktionerna lagras i minneceller, som har en adress, och både RAM, cache och CPU måste känna till det för att hitta informationen i fråga.

L1, L2 och L3 cache

Nu förstår vi redan ganska grovt hur lagring fungerar på en PC och hur cache fungerar. Men vi måste veta att det finns en cache L1, L2 och L3 i CPU: n, det verkar otroligt att något så litet passar så mycket rätt? För dessa tre nivåer av cacheminne tillgodoser en hierarki av hastighet och naturligtvis kapacitet.

L1-cacheminne

L1-cachen är den snabbaste konfigurationen, den som är närmast kärnorna. Detta lagrar data som omedelbart kommer att användas av CPU, och det är därför hastigheterna är cirka 1150 GB / s och latensen är bara 0, 9 ns.

Storleken på detta cacheminne är totalt cirka 256 KB, även om beroende på CPU-ström (och kostnad) kommer det att vara mindre eller mer, faktiskt har Workstation-processorer som Intel Core i9-7980 XE några 1152 kb totalt.

Denna L1-cache är uppdelad i två typer, L1-datacachen och L1-instruktionscachen, den första ansvarar för att lagra data som ska behandlas och den andra lagrar informationen om operationen som ska utföras (tillägg, subtraktion, multiplikation, etc).

Dessutom har varje kärna sina egna L1-cacheminnor, så om vi har en 6-kärnprocessor kommer vi att ha 6 L1-cachemar uppdelade i L1 D och L1 I. I Intel-processorer är var och en 32 KB, och i AMD-processorer är också 32 KB eller 64 KB på L1 I. Naturligtvis kommer de att variera beroende på kvalitet och kraft, som alltid.

L2-cacheminne

Den nästa som vi hittar är L2 eller nivå 2-cache. Detta har mer lagringskapacitet, även om det kommer att bli lite långsammare, cirka 470 GB / s och 2, 8 ns latens. Lagringsstorleken varierar vanligtvis mellan 256 KB och 18 MB. Vi ser redan att det är betydande kapacitet för de hastigheter som vi hanterar.

Instruktioner och data lagras i den och kommer snart att användas av CPU, och i detta fall är den inte uppdelad i instruktioner och data. Men vi har en L2-cache för varje kärna, åtminstone är detta fallet med de mest relevanta processorerna. För varje kärna finns det vanligtvis 256, 512 eller upp till 1024 KB.

L3-cacheminne

Slutligen hittar vi L3-cachen, som har ett särskilt utrymme för det på processorchipet. Det kommer att vara det största och också det långsammaste, vi talar om mer än 200 GB / s och 11 ns latens.

För närvarande kommer en värdig processor att ha minst 4 MB L3-cache, och enheter upp till 64 MB kan ses. L3 är vanligtvis spridd över cirka 2 MB per kärna, men låt oss bara säga att det inte är i varje kärna, så det finns en databuss att kommunicera med dem. Solvens och hastighet för en CPU beror till stor del på denna buss och RAM-minnet självt, och det är här Intel får sin kraft från AMD.

Hur vet jag cachen L1, L2 och L3 på min processor

Nåväl, ett av de snabbaste sätten att veta denna information är att ladda ner CPU-Z-verktyget, som är helt gratis och kommer att ge dig mycket komplett information om din CPU. Till och med de tre nivåerna och mängden lagring för varje. Du kan ladda ner den från dess officiella webbplats.

Du kan också lägga märket och modellen i webbläsaren och gå till tillverkarens sida, även om de vanligtvis bara ger information om L3-cachen. Naturligtvis, i all vår granskning av processorer ger vi fullständig information om cache för varje CPU och vi jämför sina prestanda.

Latency, bussbredd och brist på cache

Vi har förstått att data flyter från hårddisken till processorkärnan genom alla minnesnivåer. Där processorn först letar efter nästa instruktion att bearbeta, finns i cacheminnet, bör ett kvalitetssystem veta hur man korrekt lokaliserar data baserat på dess betydelse för att minimera åtkomsttider till dem, vilket kallas latens.

Latency är då tiden det tar att komma åt data från minnet. Ju längre och långsammare, högre latens och längre CPU måste vänta på nästa instruktion. Således, när en instruktion inte finns i cacheminnet, måste processorn leta efter den direkt i RAM-minnet, detta kallas brist på cache eller missa cache, detta är när en långsammare PC upplevs.

Bussbredd är också av stor betydelse för hastigheten, eftersom den markerar förmågan att överföra större block av data från minne till CPU. Både CPU och RAM är 64 bitar, men Dual Channel- funktionen kan fördubbla denna kapacitet till 128 bitar så att överföringen mellan dessa element har större kapacitet.

Slutsats om L1, L2 och L3 cacheminne

Vi tittar alltid mycket på antalet kärnor och hastigheten på en processor, det är uppenbart att det till stor del bestämmer den totala hastigheten på den. Men ett element som ibland normalt inte beaktas är cacheminnet, och det är viktigt när det gäller att ha en kraftfull processor.

Att ha en 6-kärnans CPU med till exempel 4 eller 16 MB L3-cache kommer att vara mycket betydande när det gäller att mäta dess prestanda, särskilt när vi har flera öppna program. Så från och med nu, ta en titt på det här avsnittet när du bestämmer dig för att köpa en processor, för inte allt beror på frekvensen.

Vi har mer intressanta självstudier om detta ämne, så här lämnar vi dem:

Vi rekommenderar också våra uppdaterade maskinvaruhandböcker:

Vi hoppas att all denna information har varit användbar för att veta mer om processorerna och cacheminnet. Om du har frågor kan du ställa oss i kommentarrutan. Vi ses i nästa handledning!

Handledningar

Redaktörens val

Back to top button