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 använder AirPods med Samsung-telefoner

Hur man använder AirPods med Samsung-telefoner

Om du är osäker på om du ska köpa AirPods för din Samsung-telefon, kan denna guide verkligen hjälpa. Den mest uppenbara frågan är om de två är

Grunderna för 3D-utskrift: Underhållstips för din 3D-skrivare

Grunderna för 3D-utskrift: Underhållstips för din 3D-skrivare

Att hålla dina 3D-skrivare i gott skick är mycket viktigt för att få de bästa resultaten. Här är några viktiga tips att tänka på.

Canon Pixma MG5220: Skanna utan bläck

Canon Pixma MG5220: Skanna utan bläck

Hur man aktiverar scanning på Canon Pixma MG5220 när du har slut på bläck.

Hur man fixar GeForce Now felkod 0xC272008F

Hur man fixar GeForce Now felkod 0xC272008F

Du förbereder dig för en kväll av spelande, och det kommer att bli en stor sådan – du har precis köpt "Star Wars Outlaws" på GeForce Now streamingtjänsten. Upptäck den enda kända lösningen som visar dig hur man fixar GeForce Now felkod 0xC272008F så att du kan börja spela Ubisoft-spel igen.

10 Bästa NAS-lagringsenheter för hem- och yrkesbruk

10 Bästa NAS-lagringsenheter för hem- och yrkesbruk

Oavsett om du letar efter en NAS för ditt hem eller kontor, kolla in denna lista över de bästa NAS-lagringsenheterna.

5 Anledningar till varför din bärbara dator överhettas

5 Anledningar till varför din bärbara dator överhettas

Ta reda på några möjliga orsaker till varför din bärbara dator överhettas, tillsammans med tips och tricks för att undvika detta problem och hålla din enhet sval.

Grunderna i 3D-utskrift: En nödvändig underhållskontrollista

Grunderna i 3D-utskrift: En nödvändig underhållskontrollista

Att hålla din utrustning i gott skick är ett måste. Här är några användbara tips för att hålla din 3D-skrivare i toppskick.

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.