Hva er en mikrooperasjon?

Datamaskiner er programmert med programmeringsspråk. Disse språkene er generelt lesbare og lar programmereren konfigurere hva datamaskinen gjør. Denne koden må deretter kompileres til datamaskininstruksjoner. De nøyaktige detaljene for dette varierer avhengig av instruksjonssettarkitekturen eller ISA den tiltenkte datamaskinen bruker. Dette er grunnen til at det er forskjellige nedlastingskoblinger for x86 CPUer fra Intel og AMD, og ​​ARM CPUer som brukes i moderne Apple-enheter. ISA for x86 og ARM er forskjellig; programvaren må kompileres separat. Som Apple har vist, er det mulig å bygge et fancy oversettelseslag; det er bare ikke vanlig å gjøre det.

Du tror kanskje at CPU-en ser instruksjonene den blir presentert med og deretter utfører dem i rekkefølge. Det er mange triks som moderne CPU-er gjør, inkludert utførelse som ikke er i orden, slik at CPU-en kan omorganisere ting på farten for å optimalisere ytelsen. En smart del som er ganske godt skjult er imidlertid mikrooperasjoner.

Rørledningen til mikrooperasjon

Individuelle instruksjoner i maskinkode kan kalles instruksjoner eller operasjoner; vilkårene er utskiftbare. En av vanskelighetene med Complex Instruction Set Computing eller CISC-arkitekturer som x86 er at instruksjonene kan variere i hvor lange de er. Dette refererer spesifikt til hvor mye data de tar for å representere. I x86 kan en instruksjon være så kort som én byte eller så lang som 15. Sammenlign dette med standard RISC-V-arkitekturen som brukes av moderne ARM-CPUer med instruksjoner på 4 byte med fast lengde.

Tips: RISC står for Reduced Instruction Set Computing.

En av implikasjonene av denne forskjellen i struktur er at RISC-arkitekturer har en tendens til å være mye lettere å pipeline effektivt. Hver instruksjon har flere trinn i driften som bruker forskjellig maskinvare. Pipelining kjører flere instruksjoner gjennom disse stadiene samtidig, med nøyaktig én instruksjon i hvert trinn. Rørføring gir en betydelig ytelsesøkning når den brukes effektivt. En nøkkelfaktor for å effektivt utnytte en rørledning er å sikre at hvert trinn brukes samtidig. Dette gjør at alt går jevnt gjennom rørledningen.

Med alle instruksjoner av samme lengde, har RISC-instruksjoner en tendens til å kreve samme behandlingstid som hverandre. I en CISC, men som x86, kan noen instruksjoner ta mye lengre tid å fullføre enn andre. Dette skaper et stort effektivitetsproblem ved pipelining av en CPU. Hver gang en lengre instruks kommer, blir den sittende fast i rørledningen lenger. Dette forårsaker en boble og holder oppe alt bak den. Mikrooperasjoner er løsningen på dette.

Effektive mikrooperasjoner

I stedet for å behandle hver instruksjon som det eneste operasjonsnivået som kan utføres, introduserer mikrooperasjoner et nytt nedre lag. Hver operasjon kan deles inn i mange mikrooperasjoner. Ved å designe mikrooperasjonene nøye, kan du optimalisere rørledningen.

Interessant nok gir dette en ny fordel. Mens den generelle ISA, si x86, forblir den samme mellom mange forskjellige CPU-generasjoner, kan mikrooperasjonene spesialdesignes for hver generasjon maskinvare. Dette kan gjøres med en dyp forståelse av hvor mye ytelse som kan presses ut av hvert rørledningstrinn for hver mikrooperasjon.

I de tidlige dagene av mikrooperasjoner var de fastkoblede tilkoblinger som aktiverte eller deaktiverte spesifikk funksjonalitet avhengig av mikrooperasjonen. I moderne CPU-design legges en mikrooperasjon til en ombestillingsbuffer. Det er denne bufferen som CPU kan utføre sin effektivitetsorienterte omorganisering. Det er mikrooperasjoner, ikke faktiske instruksjoner, som omorganiseres.

I noen tilfeller, spesielt med mer avanserte CPUer, kan enda mer gjøres. Mikrooperasjonsfusjon er hvor flere mikrooperasjoner kombineres til én. For eksempel kan en sekvens av enkle mikrooperasjoner utføre en handling som kan utføres med en enkelt, mer kompleks instruksjon. Ved å redusere antall utførte mikrooperasjoner kan prosessen fullføres raskere. Dette reduserer også antallet tilstandsendringer som reduserer strømforbruket. Fullstendige instruksjoner kan til og med analyseres og kombineres til mer effektive mikrooperasjonsstrukturer.

Noen CPUer bruker en mikrooperasjonsbuffer. Dette lagrer fullstendig dekodede mikrooperasjonssekvenser som kan gjenbrukes hvis de ringes opp igjen. Vanligvis blir størrelsen på en slik hurtigbuffer referert til av antall mikrooperasjoner den kan lagre i stedet for bytekapasitet.

Konklusjon

En mikrooperasjon er en CPU-spesifikk implementering av et instruksjonssett. Instruksjoner er dekodet til en rekke mikrooperasjoner. Disse mikrooperasjonene er betydelig enklere å pipeline mer effektivt og utnytter dermed CPU-ressurser bedre. Siden mikrooperasjoner ikke er hardkodet inn i instruksjonssettet, kan de tilpasses den spesifikke maskinvaren til hver generasjon CPU. Mikrooperasjoner er ofte forkortet til mikrooperasjoner eller til og med μops. Som bruker den greske bokstaven μ ( uttales Mu ), SI-symbolet for mikroprefikset.


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.