Hva er L0 Cache?

CPUer er utrolig komplekse beist. Det er mange sammenkoblede deler som alle må fungere perfekt unisont for å oppnå ytelsesnivåene vi ser. En av nøkkelfunksjonene til en CPU er cachen. Det er ikke en prangende funksjon. Den annonserer ikke så godt som kjerneantallet eller toppforsterkningsfrekvensen. Det er imidlertid avgjørende for ytelsen.

Hvorfor cache?

Moderne CPUer er utrolig raske. De utfører mer enn fem milliarder operasjoner hvert sekund. Det er vanskelig å holde CPU matet med data når den fungerer så raskt. RAM har nok kapasitet til å forsyne CPUen med data. Den kan til og med overføre data hvert sekund, takket være svært høye båndbredder. Det er ikke problemet. Problemet er latens.

RAM kan svare veldig raskt. Problemet er at "veldig raskt" er lang tid når du gjør fem milliarder ting hvert sekund. Selv den raskeste RAM har en ventetid på over 60 nanosekunder. Igjen, 60 nanosekunder høres ut som ingen tid i det hele tatt. Problemet er at hvis CPU-en kjørte på 1GHz, ville det ta 1ns å fullføre en syklus. Med avanserte CPUer på 5,7 GHz, er det én syklus hvert 175. pikosekund. Hvordan ser de 60 nanosekundene med ventetid ut nå? Det er 342 sykluser med latens.

Den typen ventetid ville være en morder for enhver CPU-ytelse. For å komme rundt det brukes en cache. Cachen er plassert på selve CPU-dysen. Den er også mye mindre enn RAM og bruker en annen struktur, SRAM i stedet for DRAM. Dette gjør det mye raskere å svare enn hovedsystemets RAM. Cachen er vanligvis lagdelt, med L1, L2 og L3 som brukes til å angi nivåene som kommer lenger og lenger fra CPU-kjernene. Lavere nivåer er raskere, men mindre. L1 kan ha en ventetid på fire eller fem klokkesykluser, mye bedre enn 342.

Men noen CPUer nevner en L0?

Terminologien for L1, L2 og L3 er ganske standard. Den vage forståelsen av hva de betyr og gjør er relativt vanlig, selv på tvers av CPU-leverandører. Dette er fordi de er styrt av materiell og elektrisk fysikk; ikke mye kan endres. Du kan ha en hurtigbuffer eller en stor cache, ikke begge deler. Den må være større hvis du deler en cache mellom flere kjerner. For det formål har L1 og L2 en tendens til å være kjernespesifikke. Den større L3-cachen har en tendens til å deles mellom noen eller alle kjerner på CPU eller brikke.

Som du sikkert kan gjette, er L0 relatert til caching, men har blitt presset inn i navneskjemaet i ettertid. Det hjelper imidlertid ikke å forstå hva det betyr. Du kan sikkert gjette noen ting. Den kommer til å være begrenset til én kjerne, den kommer til å være liten, og den kommer til å gå fort. Det andre navnet det går under kan hjelpe litt; det er micro-op cache.

I stedet for å bufre data fra minnet, eller fullstendige instruksjoner, cacher L0 mikrooperasjoner. Som vi nylig beskrev , er en mikrooperasjon en funksjon i moderne CPUer. Instruksjoner i x86 og andre ISA-er er store, komplekse og utfordrende for å passe effektivt inn i en pipeline. Du kan pipeline dem mye mer effektivt hvis du deler dem ned i mikrooperasjoner. I noen tilfeller kan du til og med gruppere flere mikrooperasjoner, selv fra forskjellige instruksjoner, til en enkelt mikrooperasjon for å oppnå både ytelsesforbedring og effektreduksjon.

CPU Architecture ft Micro-Op Cache

For å utføre en instruksjon, dekoder en moderne CPU den. Dette innebærer å dele opp instruksjonen i dens mikrooperasjoner og bestemme minneplasseringene som skal refereres til. Mange programvarer bruker lignende funksjoner regelmessig og kan ofte gjenbruke den samme koden i en sløyfe eller fra en kalt funksjon. Dette betyr at de nøyaktige instruksjonene kan ringes opp igjen og igjen. Dette betyr da at de samme mikrooperasjonene blir kalt opp igjen og igjen. Og hvis de samme mikrooperasjonene er nødvendige gjentatte ganger, kan de bufres. Bufring av mikrooperasjoner kan redusere belastningen på instruksjonsdekoderne, redusere strømforbruket eller bidra til å fylle opp rørledningen raskere.

Cachen må holdes liten, men når den administreres nøye, kan den nås med en enkelt eller til og med ingen syklusforsinkelse. Dette kan være nok til å forhindre behovet for å ta på seg 4-syklus latens til L1-cachen og kommer uten straff for cache-miss.

Konklusjon

L0 cache er et annet navn for micro-op cache. Det kan være en del av moderne CPUer som bruker mikrooperasjoner. Den har vanligvis noen få tusen oppføringer og har kapasiteter oppført i antall oppføringer i stedet for byte. L0 kan nås raskere enn L1, vanligvis med en 1- eller 0-syklus latency. Bufring av mikrooperasjoner reduserer belastningen på instruksjonsdekoderne, spesielt i kode som gjør god bruk av looper eller funksjoner.


Leave a Comment

Slik installerer du en SSD på stasjonære og bærbare PC-er

Slik installerer du en SSD på stasjonære og bærbare PC-er

Har du nettopp kjøpt en SSD og håper å oppgradere den interne lagringen på PC-en din, men vet ikke hvordan du installerer SSD? Les denne artikkelen nå!

Grunnleggende om 3D-utskrift: En viktig vedlikeholdssjekkliste

Grunnleggende om 3D-utskrift: En viktig vedlikeholdssjekkliste

Å holde utstyret ditt i god stand er et must. Her er noen nyttige tips for å holde 3D-printeren din i topp stand.

10 Beste NAS-lagringsenheter for hjem og profesjonell bruk

10 Beste NAS-lagringsenheter for hjem og profesjonell bruk

Enten du leter etter en NAS for hjemmet eller kontoret, sjekk ut denne listen over de beste NAS-lagringsenhetene.

Hvordan finne IP-adressen til en skriver

Hvordan finne IP-adressen til en skriver

Har du problemer med å finne ut hvilken IP-adresse skrivere bruker? Vi viser deg hvordan du finner den.

5 Grunner til at Laptopen Din Overopphetes

5 Grunner til at Laptopen Din Overopphetes

Finn ut noen av de mulige årsakene til at laptopen din overopphetes, sammen med tips og triks for å unngå dette problemet og holde enheten din avkjølt.

Hva du skal gjøre hvis Powerbeats Pro ikke lader i saken

Hva du skal gjøre hvis Powerbeats Pro ikke lader i saken

Hvis Powerbeats Pro ikke lader, bruk en annen strømkilde og rengjør øreproppene. La saken være åpen mens du lader øreproppene.

Grunnleggende om 3D-utskrift: Vedlikeholdstips for 3D-printeren din

Grunnleggende om 3D-utskrift: Vedlikeholdstips for 3D-printeren din

Å vedlikeholde 3D-printerne dine er veldig viktig for å få de beste resultatene. Her er noen viktige tips å huske på.

Slik fikser du GeForce Now feilkode 0xC272008F

Slik fikser du GeForce Now feilkode 0xC272008F

Du gjør deg klar for en kveld med spilling, og det kommer til å bli stort – du har nettopp kjøpt "Star Wars Outlaws" på GeForce Now streamingtjenesten. Oppdag den eneste kjente løsningen som viser deg hvordan du fikser GeForce Now feilkode 0xC272008F, slik at du kan begynne å spille Ubisoft-spill igjen.

Slik bruker du AirPods med Samsung-telefoner

Slik bruker du AirPods med Samsung-telefoner

Er du usikker på om du skal kjøpe AirPods til din Samsung-telefon? Denne guiden vil helt klart hjelpe. Det mest åpenbare spørsmålet er om de to er

Canon Pixma MG5220: Skann uten blekk

Canon Pixma MG5220: Skann uten blekk

Hvordan aktivere skanning på Canon Pixma MG5220 når du går tom for blekk.