Vad är en mikrooperation?

Datorer är programmerade med programmeringsspråk. Dessa språk är i allmänhet läsbara för människor och låter programmeraren konfigurera vad datorn gör. Denna kod måste sedan kompileras till datorinstruktioner. De exakta detaljerna för detta varierar beroende på vilken instruktionsuppsättningsarkitektur eller ISA den avsedda datorn använder. Det är därför det finns olika nedladdningslänkar för x86-processorer från Intel och AMD, och ARM-processorer som används i moderna Apple-enheter. ISA för x86 och ARM är olika; programvaran måste kompileras separat. Som Apple har visat är det möjligt att bygga ett snyggt översättningslager; det är bara inte vanligt att göra så.

Du kanske tror att CPU:n ser instruktionerna som den presenteras med och sedan kör dem i ordning. Det finns många knep som moderna processorer gör, inklusive utförande i oordning, vilket gör att processorn kan ordna om saker i farten för att optimera prestandan. En smart del som dock är ganska väl dold är mikrooperationer.

Pipeline till mikrooperation

Enskilda instruktioner i maskinkod kan kallas instruktioner eller operationer; termerna är utbytbara. En av svårigheterna med Complex Instruction Set Computing eller CISC-arkitekturer som x86 är att instruktioner kan variera i hur långa de är. Detta hänvisar specifikt till hur mycket data de tar för att representera. I x86 kan en instruktion vara så kort som en byte eller så lång som 15. Jämför detta med standard RISC-V-arkitekturen som används av moderna ARM-processorer med instruktioner med fast längd på 4 byte.

Tips: RISC står för Reduced Instruction Set Computing.

En av konsekvenserna av denna skillnad i struktur är att RISC-arkitekturer tenderar att vara mycket lättare att pipeline effektivt. Varje instruktion har flera steg i sin funktion som använder olika hårdvara. Pipelining kör flera instruktioner genom dessa steg samtidigt, med exakt en instruktion i varje steg. Pipelining ger en avsevärd prestandaökning när den används effektivt. En nyckelfaktor för att effektivt använda en pipeline är att säkerställa att varje steg används samtidigt. Detta gör att allt går smidigt genom pipelinen.

Eftersom alla instruktioner är lika långa tenderar RISC-instruktioner att kräva samma handläggningstid som varandra. Men i en CISC, som x86, kan vissa instruktioner ta mycket längre tid att slutföra än andra. Detta skapar ett stort effektivitetsproblem vid pipelining av en CPU. Varje gång en längre instruktion kommer fastnar den längre i pipelinen. Detta orsakar en bubbla och håller upp allt bakom den. Mikrooperationer är lösningen på detta.

Effektiva mikrooperationer

Istället för att behandla varje instruktion som den enda operationsnivån som kan utföras, introducerar mikrooperationer ett nytt lägre lager. Varje operation kan delas upp i många mikrooperationer. Genom att designa mikrooperationerna noggrant kan du optimera pipelinen.

Intressant nog erbjuder detta en ny fördel. Medan den övergripande ISA, säg x86 förblir densamma mellan många olika CPU-generationer, kan mikrooperationerna anpassas för varje generation av hårdvara. Detta kan göras med en djup förståelse för hur mycket prestanda som kan pressas ut ur varje pipelinesteg för varje mikrooperation.

I början av mikrooperationer var de fasta anslutningar som aktiverade eller inaktiverade specifik funktionalitet beroende på mikrooperationen. I modern CPU-design läggs en mikrooperation till i en beställningsbuffert. Det är denna buffert som processorn kan utföra sin effektivitetsorienterade omordning. Det är mikrooperationer, inte faktiska instruktioner, som ordnas om.

I vissa fall, särskilt med mer avancerade processorer, kan ännu mer göras. Micro-op fusion är där flera mikrooperationer kombineras till en. Till exempel kan en sekvens av enkla mikrooperationer utföra en åtgärd som kan utföras med en enda, mer komplex instruktion. Genom att minska antalet utförda mikrooperationer kan processen slutföras snabbare. Detta minskar också antalet tillståndsändringar som minskar strömförbrukningen. Fullständiga instruktioner kan till och med analyseras och kombineras till mer effektiva mikrooperationsstrukturer.

Vissa processorer använder en mikrooperationscache. Detta lagrar helt avkodade mikrooperationssekvenser som kan återanvändas om de anropas igen. Typiskt hänvisas storleken på en sådan cache till genom antalet mikrooperationer den kan lagra snarare än genom bytekapacitet.

Slutsats

En mikrooperation är en CPU-specifik implementering av en instruktionsuppsättning. Instruktioner avkodas till en serie mikrooperationer. Dessa mikrooperationer är betydligt enklare att pipeline mer effektivt och utnyttjar därmed CPU-resurserna bättre. Eftersom mikrooperationer inte är hårdkodade i instruktionsuppsättningen, kan de anpassas till den specifika hårdvaran för varje generation av CPU. Mikrooperationer förkortas ofta till mikrooperationer eller till och med μops. Som använder den grekiska bokstaven μ ( uttalas Mu ), SI-symbolen för mikroprefixet.


Leave a Comment

Hur man ansluter en Windows 11-laptop till projektor/TV

Hur man ansluter en Windows 11-laptop till projektor/TV

Läs denna artikel för att lära dig den enkla steg-för-steg-processen för att ansluta en laptop till en projektor eller en TV på Windows 11 och Windows 10-operativsystem.

Hur man hittar IP-adressen till en skrivare

Hur man hittar IP-adressen till en skrivare

Har du problem med att ta reda på vilken IP-adress din skrivare använder? Vi visar dig hur du hittar den.

Vad du ska göra om Powerbeats Pro inte laddar i fodralet

Vad du ska göra om Powerbeats Pro inte laddar i fodralet

Om dina Powerbeats Pro inte laddar, använd en annan strömkälla och rengör dina hörsnäckor. Lämna fodralet öppet medan du laddar dina hörsnäckor.

Så här installerar du en SSD på stationära datorer och bärbara datorer

Så här installerar du en SSD på stationära datorer och bärbara datorer

Har du precis köpt en SSD och hoppas att uppgradera den interna lagringen på din dator men vet inte hur du installerar SSD? Läs den här artikeln nu!

Hur man installerar en SSD på stationära och bärbara datorer

Hur man installerar en SSD på stationära och bärbara datorer

Köpte du precis en SSD i hopp om att uppgradera den interna lagringen på din PC men vet inte hur man installerar SSD? Läs denna artikel nu!

Hur man stänger av kameraslutarljudet – Galaxy S 21 Plus

Hur man stänger av kameraslutarljudet – Galaxy S 21 Plus

Ta bilder i tystnad och tysta slutarljudet på din Galaxy S21 Plus. Här är allt du behöver veta om kamerainställningar.

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.