Hvad er en mikrooperation?

Computere er programmeret med programmeringssprog. Disse sprog er generelt læselige af mennesker og giver programmøren mulighed for at konfigurere, hvad computeren gør. Denne kode skal så kompileres til computerinstruktioner. De nøjagtige detaljer om dette varierer afhængigt af den instruktionssætarkitektur eller ISA, den tilsigtede computer bruger. Dette er grunden til, at der er forskellige downloadlinks til x86 CPU'er fra Intel og AMD og ARM CPU'er, som bruges i moderne Apple-enheder. ISA for x86 og ARM er forskellig; softwaren skal kompileres separat. Som Apple har vist, er det muligt at bygge et fancy oversættelseslag; det er bare ikke almindeligt at gøre det.

Du tror måske, at CPU'en ser instruktionerne, som den bliver præsenteret for, og derefter udfører dem i rækkefølge. Der er mange tricks, som moderne CPU'er gør, inklusive udelukket udførelse, hvilket gør det muligt for CPU'en at omarrangere ting på farten for at optimere ydeevnen. En smart del, der dog er ret godt skjult, er mikrooperationer.

Pipeline til mikrooperation

Individuelle instruktioner i maskinkode kan kaldes instruktioner eller operationer; vilkårene er udskiftelige. En af vanskelighederne med Complex Instruction Set Computing eller CISC-arkitekturer som x86 er, at instruktionerne kan variere i, hvor lange de er. Dette refererer specifikt til, hvor meget data de tager for at repræsentere. I x86 kan en instruktion være så kort som én byte eller så lang som 15. Sammenlign dette med standard RISC-V-arkitekturen, der bruges af moderne ARM CPU'er med 4-byte instruktioner med fast længde.

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

En af implikationerne af denne forskel i struktur er, at RISC-arkitekturer har tendens til at være meget nemmere at pipeline effektivt. Hver instruktion har flere trin til dens drift, der bruger forskellig hardware. Pipelining kører flere instruktioner gennem disse stadier samtidigt, med præcis én instruktion i hver fase. Pipelining giver et betydeligt ydelsesboost, når det bruges effektivt. En nøglefaktor i effektiv udnyttelse af en pipeline er at sikre, at hver fase bruges samtidigt. Dette sørger for, at alt kører jævnt gennem rørledningen.

Da alle instruktioner har samme længde, har RISC-instruktioner en tendens til at kræve samme behandlingstid som hinanden. I en CISC, ligesom x86, kan nogle instruktioner dog tage meget længere tid at fuldføre end andre. Dette skaber et stort effektivitetsproblem ved pipelining af en CPU. Hver gang der kommer en længere instruktion, sætter den sig fast i rørledningen i længere tid. Dette forårsager en boble og holder alt bagved op. Mikrooperationer er løsningen på dette.

Effektive mikrooperationer

I stedet for at behandle hver instruktion som det eneste operationsniveau, der kan udføres, introducerer mikrooperationer et nyt lavere lag. Hver operation kan opdeles i mange mikrooperationer. Ved at designe mikrooperationerne omhyggeligt kan du optimere pipelinen.

Interessant nok giver dette en ny fordel. Mens den overordnede ISA, f.eks. x86, forbliver den samme mellem mange forskellige CPU-generationer, kan mikrooperationerne specialdesignes til hver generation af hardware. Dette kan gøres med en dyb forståelse af, hvor meget ydeevne, der kan presses ud af hvert pipelinetrin for hver mikrooperation.

I de tidlige dage af mikrooperationer var de fastkablede forbindelser, der aktiverede eller deaktiverede specifik funktionalitet afhængigt af mikrooperationen. I moderne CPU-design tilføjes en mikrooperation til en genbestillingsbuffer. Det er denne buffer, som CPU'en kan udføre sin effektivitetsorienterede genbestilling. Det er mikrooperationer, ikke egentlige instruktioner, der omarrangeres.

I nogle tilfælde, især med mere avancerede CPU'er, kan der gøres endnu mere. Micro-op fusion er hvor flere mikrooperationer kombineres til én. For eksempel kan en sekvens af simple mikrooperationer udføre en handling, der kan udføres med en enkelt, mere kompleks instruktion. Ved at reducere antallet af udførte mikrooperationer kan processen fuldføres hurtigere. Dette reducerer også antallet af tilstandsændringer, hvilket reducerer strømforbruget. Fuldstændige instruktioner kan endda analyseres og kombineres til mere effektive mikrooperationsstrukturer.

Nogle CPU'er gør brug af en mikrooperationscache. Dette gemmer fuldt afkodede mikrooperationssekvenser, som kan genbruges, hvis de kaldes igen. Typisk refereres størrelsen af ​​en sådan cache til ved antallet af mikrooperationer, den kan gemme i stedet for efter bytekapacitet.

Konklusion

En mikrooperation er en CPU-specifik implementering af et instruktionssæt. Instruktioner er afkodet til en række mikrooperationer. Disse mikrooperationer er væsentligt nemmere at pipeline mere effektivt og udnytter dermed CPU-ressourcerne bedre. Da mikrooperationer ikke er hardkodet i instruktionssættet, kan de tilpasses til den specifikke hardware for hver generation af CPU. Mikrooperationer forkortes ofte til mikrooperationer eller endda μops. Det bruger det græske bogstav μ ( udtales Mu ), SI-symbolet for mikropræfikset.


Sådan klones en harddisk

Sådan klones en harddisk

I den moderne digitale tidsalder, hvor data er et værdifuldt aktiv, kan kloning af en harddisk på Windows være en afgørende proces for mange. Denne omfattende guide

Sådan repareres driveren WUDFRd kunne ikke indlæses på Windows 10?

Sådan repareres driveren WUDFRd kunne ikke indlæses på Windows 10?

Står du over for fejlmeddelelsen, mens du starter din computer, som siger, at driveren WUDFRd ikke kunne indlæses på din computer?

Sådan rettes NVIDIA GeForce Experience-fejlkode 0x0003

Sådan rettes NVIDIA GeForce Experience-fejlkode 0x0003

Oplever du NVIDIA GeForce-oplevelsesfejlkode 0x0003 på dit skrivebord? Hvis ja, læs bloggen for at finde ud af, hvordan du løser denne fejl hurtigt og nemt.

Hvad er SMPS?

Hvad er SMPS?

Lær, hvad SMPS er og betydningen af ​​forskellige effektivitetsvurderinger, før du vælger en SMPS til din computer.

Hvorfor tænder min Chromebook ikke

Hvorfor tænder min Chromebook ikke

Få svar på spørgsmålet: Hvorfor tænder min Chromebook ikke? I denne nyttige vejledning til Chromebook-brugere.

Sådan rapporteres phishing-svindel til Google

Sådan rapporteres phishing-svindel til Google

Lær, hvordan du rapporterer en svindler til Google for at forhindre dem i at snyde andre med denne vejledning.

Roomba stopper, stikker og drejer rundt – Fix

Roomba stopper, stikker og drejer rundt – Fix

Løs et problem, hvor din Roomba robotstøvsuger stopper, sætter sig fast og bliver ved med at dreje rundt.

Sådan ændres grafikindstillinger på Steam Deck

Sådan ændres grafikindstillinger på Steam Deck

Steam Deck tilbyder en robust og alsidig spiloplevelse lige ved hånden. Dog for at optimere dit spil og sikre det bedst mulige

Hvad er isolationsbaseret sikkerhed?

Hvad er isolationsbaseret sikkerhed?

Ville dykke ned i et emne, der bliver stadig vigtigere i cybersikkerhedens verden: isolationsbaseret sikkerhed. Denne tilgang til

Sådan bruger du Auto Clicker til Chromebook

Sådan bruger du Auto Clicker til Chromebook

I dag skulle du dykke ned i et værktøj, der kan automatisere gentagne klikopgaver på din Chromebook: Auto Clicker. Dette værktøj kan spare dig tid og