Vad är L0-cachen?

CPU: er är otroligt komplexa bestar. Det finns många sammankopplade delar som alla måste fungera perfekt unisont för att uppnå de prestandanivåer vi ser. En av nyckelfunktionerna hos en CPU är cachen. Det är ingen flashig funktion. Det annonserar inte lika bra som kärnantalet eller toppförstärkningsfrekvensen. Det är dock avgörande för prestanda.

Varför cache?

Moderna processorer är otroligt snabba. De utför mer än fem miljarder operationer varje sekund. Att hålla processorn matad med data när den fungerar så snabbt är svårt. RAM-minnet har tillräckligt med kapacitet för att förse processorn med data. Den kan till och med överföra data varje sekund, tack vare mycket höga bandbredder. Det är dock inte det som är problemet. Problemet är latens.

RAM kan svara mycket snabbt. Problemet är att "mycket snabbt" är en lång tid när du gör fem miljarder saker varje sekund. Även det snabbaste RAM-minnet har en latens över 60 nanosekunder. Återigen, 60 nanosekunder låter som ingen tid alls. Problemet är att om processorn körde på 1 GHz skulle det ta 1 ns att slutföra en cykel. Med avancerade processorer som når 5,7 GHz, är det en cykel var 175:e pikosekund. Hur ser dessa 60 nanosekunders latens ut nu? Det är 342 cykler av latens.

Den typen av latens skulle vara en mördare för alla CPU-prestanda. För att komma runt det används en cache. Cachen placeras på själva CPU-matrisen. Det är också mycket mindre än RAM och använder en annan struktur, SRAM snarare än DRAM. Detta gör det mycket snabbare att svara än huvudsystemets RAM. Cachen är vanligtvis uppdelad i nivåer, med L1, L2 och L3 som används för att beteckna de nivåer som kommer längre och längre från CPU-kärnorna. Lägre nivåer är snabbare men mindre. L1 kan ha en latens på fyra eller fem klockcykler, mycket bättre än 342.

Men vissa processorer nämner en L0?

Terminologin för L1, L2 och L3 är ganska standard. Den vaga förståelsen av vad de betyder och gör är relativt vanlig, även hos CPU-leverantörer. Detta beror på att de styrs av material och elektrisk fysik; inte mycket kan förändras. Du kan ha en snabb cache eller en stor cache, inte båda. Den måste vara större om du delar en cache mellan flera kärnor. För detta ändamål tenderar L1 och L2 att vara kärnspecifika. Den större L3-cachen tenderar att delas mellan några eller alla kärnor på CPU:n eller chipleten.

Som du säkert kan gissa är L0 relaterad till caching men har blivit inskjuten i namnschemat i efterhand. Det hjälper dock inte att förstå vad det betyder. Men du kan säkert gissa vissa saker. Det kommer att vara begränsat till en kärna, det kommer att vara litet och det kommer att gå snabbt. Det andra namnet det går under kan hjälpa lite; det är micro-op cache.

Istället för att cacha data från minnet, eller fullständiga instruktioner, cachar L0 mikrooperationer. Som vi nyligen beskrev är en mikrooperation en funktion hos moderna processorer. Instruktioner i x86 och andra ISA är stora, komplexa och utmanande för att passa effektivt i en pipeline. Du kan pipeline dem mycket mer effektivt om du delar upp dem i mikrooperationer. I vissa fall kan du till och med gruppera flera mikrooperationer, även från olika instruktioner, till en enda mikrooperation för att uppnå både prestandaförbättring och effektminskning.

CPU Architecture ft Micro-Op Cache

För att utföra en instruktion avkodar en modern CPU den. Detta innebär att dela in instruktionen i dess beståndsdelar mikrooperationer och bestämma minnesplatserna som bör refereras till. Många program använder liknande funktionalitet regelbundet och kan ofta återanvända samma kod i en loop eller från en anropad funktion. Detta innebär att de exakta instruktionerna kan anropas om och om igen. Detta innebär då att samma mikrooperationer blir anropade om och om igen. Och om samma mikrooperationer behövs upprepade gånger kan de cachelagras. Cachning av mikrooperationer kan minska belastningen på instruktionsavkodarna, minska strömförbrukningen eller hjälpa till att fylla upp pipelinen snabbare.

Cachen måste hållas liten, men när den hanteras noggrant kan den nås med en enda eller till och med ingen cykellatens. Detta kan räcka för att förhindra behovet av att ta på sig 4-cyklers latens till L1-cachen och kommer utan cache-miss-straff.

Slutsats

L0-cache är ett annat namn för micro-op-cachen. Det kan vara en del av moderna processorer som använder mikrooperationer. Den rymmer vanligtvis några tusen poster och har kapacitet listad i antal poster snarare än byte. L0 kan nås snabbare än L1, vanligtvis med en 1- eller 0-cykels latens. Cachning av mikrooperationer minskar belastningen på instruktionsavkodarna, särskilt i kod som gör bra användning av loopar eller funktioner.


Hur man klona en hårddisk

Hur man klona en hårddisk

I den moderna digitala tidsåldern, där data är en värdefull tillgång, kan kloning av en hårddisk på Windows vara en avgörande process för många. Denna omfattande guide

Hur fixar jag drivrutinen WUDFRd kunde inte laddas på Windows 10?

Hur fixar jag drivrutinen WUDFRd kunde inte laddas på Windows 10?

Står du inför felmeddelandet när du startar din dator som säger att drivrutinen WUDFRd inte kunde laddas på din dator?

Så här åtgärdar du NVIDIA GeForce Experience Error Code 0x0003

Så här åtgärdar du NVIDIA GeForce Experience Error Code 0x0003

Upplever du NVIDIA GeForce-felkod 0x0003 på ditt skrivbord? Om ja, läs bloggen för att hitta hur du åtgärdar det här felet snabbt och enkelt.

Vad är SMPS?

Vad är SMPS?

Lär dig vad som är SMPS och innebörden av olika effektivitetsklasser innan du väljer en SMPS för din dator.

Varför slås inte min Chromebook på

Varför slås inte min Chromebook på

Få svar på frågan Varför slås inte min Chromebook på? I den här användbara guiden för Chromebook-användare.

Hur man rapporterar nätfiskebedrägerier till Google

Hur man rapporterar nätfiskebedrägerier till Google

Lär dig hur du rapporterar en bedragare till Google för att hindra dem från att lura andra med den här guiden.

Roomba stannar, sticker och vänder sig om – fixa

Roomba stannar, sticker och vänder sig om – fixa

Åtgärda ett problem där din Roomba robotdammsugare stannar, fastnar och fortsätter att vända sig om.

Hur man ändrar grafikinställningar på Steam Deck

Hur man ändrar grafikinställningar på Steam Deck

Steam Deck erbjuder en robust och mångsidig spelupplevelse precis vid dina fingertoppar. Dock för att optimera ditt spelande och säkerställa bästa möjliga

Vad är isoleringsbaserad säkerhet?

Vad är isoleringsbaserad säkerhet?

Vi skulle fördjupa oss i ett ämne som blir allt viktigare i världen av cybersäkerhet: isoleringsbaserad säkerhet. Detta förhållningssätt till

Hur man använder Auto Clicker för Chromebook

Hur man använder Auto Clicker för Chromebook

Idag skulle jag fördjupa dig i ett verktyg som kan automatisera repetitiva klickuppgifter på din Chromebook: Auto Clicker. Detta verktyg kan spara tid och