Wat is een microoperatie?

Computers zijn geprogrammeerd met programmeertalen. Deze talen zijn over het algemeen leesbaar voor mensen en stellen de programmeur in staat om te configureren wat de computer doet. Deze code moet vervolgens worden gecompileerd tot computerinstructies. De exacte details hiervan variëren afhankelijk van de Instruction Set Architecture of ISA die de bedoelde computer gebruikt. Daarom zijn er verschillende downloadlinks voor x86 CPU's van Intel en AMD, en ARM CPU's zoals gebruikt in moderne Apple-apparaten. De ISA van x86 en ARM is anders; de software moet apart worden gecompileerd. Zoals Apple heeft laten zien, is het mogelijk om een ​​mooie vertaallaag te bouwen; het is gewoon niet gebruikelijk om dat te doen.

Je zou kunnen denken dat de CPU de instructies ziet die hem worden gepresenteerd en ze vervolgens in de juiste volgorde uitvoert. Er zijn veel trucs die moderne CPU's doen, waaronder out-of-order uitvoering, waardoor de CPU dingen direct opnieuw kan ordenen om de prestaties te optimaliseren. Een slim onderdeel dat echter behoorlijk goed verborgen is, zijn microbewerkingen.

De pijplijn naar microbewerking

Individuele instructies in machinecode kunnen instructies of bewerkingen worden genoemd; de termen zijn uitwisselbaar. Een van de problemen met Complex Instruction Set Computing of CISC-architecturen zoals x86 is dat instructies kunnen variëren in hoe lang ze zijn. Dit verwijst specifiek naar hoeveel gegevens ze nodig hebben om weer te geven. In x86 kan een instructie zo kort zijn als één byte of zo lang als 15. Vergelijk dit met de standaard RISC-V-architectuur die wordt gebruikt door moderne ARM-CPU's met instructies van 4 bytes met een vaste lengte.

Tip: RISC staat voor Reduced Instruction Set Computing.

Een van de implicaties van dit verschil in structuur is dat RISC-architecturen over het algemeen een stuk eenvoudiger zijn om efficiënt te pijplijnen. Elke instructie heeft meerdere fasen in de werking die verschillende hardware gebruiken. Pipelining voert meerdere instructies tegelijkertijd door deze stadia, met precies één instructie in elke fase. Pipelining biedt bij efficiënt gebruik een aanzienlijke prestatieverbetering. Een sleutelfactor bij het efficiënt gebruiken van een pijplijn is ervoor te zorgen dat elke fase gelijktijdig wordt gebruikt. Dit zorgt ervoor dat alles soepel door de pijplijn loopt.

Omdat alle instructies even lang zijn, hebben RISC-instructies meestal dezelfde verwerkingstijd nodig. In een CISC, zoals x86, kan het voltooien van sommige instructies echter veel langer duren dan andere. Dit zorgt voor een groot efficiëntieprobleem bij het pipelinen van een CPU. Elke keer dat er een langere instructie langskomt, blijft deze langer in de pijplijn steken. Dit veroorzaakt een luchtbel en houdt alles erachter omhoog. Micro-operaties zijn hiervoor de oplossing.

Efficiënte microbewerkingen

In plaats van elke instructie te beschouwen als het enige bewerkingsniveau dat kan worden uitgevoerd, introduceren microbewerkingen een nieuwe onderlaag. Elke bewerking kan worden opgesplitst in vele microbewerkingen. Door de micro-operaties zorgvuldig te ontwerpen, kunt u de pijplijn optimaliseren.

Interessant genoeg biedt dit een nieuw voordeel. Hoewel de algehele ISA, bijvoorbeeld x86, hetzelfde blijft tussen veel verschillende CPU-generaties, kunnen de microbewerkingen op maat worden ontworpen voor elke generatie hardware. Dit kan worden gedaan met een goed begrip van hoeveel prestaties uit elk pijplijnstadium kunnen worden geperst voor elke microbewerking.

In de begindagen van micro-operaties waren het bedrade verbindingen die specifieke functionaliteit activeerden of uitschakelden, afhankelijk van de micro-operatie. In modern CPU-ontwerp wordt een microbewerking toegevoegd aan een nabestellingsbuffer. Het is deze buffer die de CPU zijn op efficiëntie gerichte herordening kan uitvoeren. Het zijn micro-operaties, geen daadwerkelijke instructies, die opnieuw worden gerangschikt.

In sommige gevallen, vooral met geavanceerdere CPU's, kan zelfs meer worden gedaan. Micro-op fusion is waar meerdere micro-operaties worden gecombineerd tot één. Een reeks eenvoudige microbewerkingen kan bijvoorbeeld een actie uitvoeren die kan worden uitgevoerd met een enkele, complexere instructie. Door het aantal uitgevoerde microbewerkingen te verminderen, kan het proces sneller worden voltooid. Dit vermindert ook het aantal toestandsveranderingen, waardoor het stroomverbruik wordt verminderd. Volledige instructies kunnen zelfs worden geanalyseerd en gecombineerd tot efficiëntere structuren voor micro-operaties.

Sommige CPU's maken gebruik van een cache voor microbewerkingen. Hierin worden volledig gedecodeerde microbewerkingsreeksen opgeslagen die opnieuw kunnen worden gebruikt als ze opnieuw worden aangeroepen. Meestal wordt naar de grootte van een dergelijke cache verwezen door het aantal microbewerkingen dat het kan opslaan in plaats van door de bytecapaciteit.

Conclusie

Een microbewerking is een CPU-specifieke implementatie van een instructieset. Instructies worden gedecodeerd tot een reeks microbewerkingen. Deze microbewerkingen zijn aanzienlijk eenvoudiger om efficiënter te pijplijnen en maken dus beter gebruik van CPU-bronnen. Omdat microbewerkingen niet hard gecodeerd zijn in de instructieset, kunnen ze worden aangepast aan de specifieke hardware van elke generatie CPU. Micro-operaties worden vaak afgekort tot micro-ops of zelfs μops. Dat gebruikt de Griekse letter μ ( uitgesproken als Mu ), het SI-symbool voor het micro-voorvoegsel.



Leave a Comment

Hoe een harde schijf te klonen

Hoe een harde schijf te klonen

In het moderne digitale tijdperk, waarin gegevens een waardevol bezit zijn, kan het klonen van een harde schijf op Windows voor velen een cruciaal proces zijn. Deze uitgebreide gids

Hoe repareer ik het stuurprogramma WUDFRd kan niet worden geladen op Windows 10?

Hoe repareer ik het stuurprogramma WUDFRd kan niet worden geladen op Windows 10?

Krijgt u tijdens het opstarten van uw computer de foutmelding dat het stuurprogramma WUDFRd niet op uw computer kan worden geladen?

Hoe u NVIDIA GeForce Experience-foutcode 0x0003 kunt oplossen

Hoe u NVIDIA GeForce Experience-foutcode 0x0003 kunt oplossen

Ervaar je NVIDIA GeForce-ervaring met foutcode 0x0003 op je desktop? Zo ja, lees dan de blog om te zien hoe u deze fout snel en eenvoudig kunt oplossen.

3D-printen: problemen oplossen met het buigen van de onderkant van de print (olifantenpoot)

3D-printen: problemen oplossen met het buigen van de onderkant van de print (olifantenpoot)

Het kan vervelend zijn om te maken te krijgen met buigingen aan de onderkant van een afdruk. Hier ziet u hoe u de olifantenpoot kunt repareren in 3D-printen.

Basisprincipes van 3D-printen: hechting van het printerbed

Basisprincipes van 3D-printen: hechting van het printerbed

Leren over 3D-printen? Dit is wat u moet weten over ahesie van het printerbed.

How to Use Auto Clicker for Chromebook

How to Use Auto Clicker for Chromebook

Today, were going to delve into a tool that can automate repetitive clicking tasks on your Chromebook: the Auto Clicker. This tool can save you time and

Fix Roku speelt geen audio of video af

Fix Roku speelt geen audio of video af

Als Roku geen audio of video afspeelt, biedt deze gids voor probleemoplossing u een reeks handige oplossingen om het probleem op te lossen.

Fix Roku-kanaal kon inhoud niet laden

Fix Roku-kanaal kon inhoud niet laden

Als Roku een foutmelding geeft dat de inhoud op de kanalen niet kan worden geladen, kunt u uw apparaat opnieuw opstarten of een nieuw account maken.

Oplossing: Chromebook laadt geen afdrukvoorbeeld

Oplossing: Chromebook laadt geen afdrukvoorbeeld

Als uw Chromebook het afdrukvoorbeeld niet kan laden, start u uw laptop, printer en router opnieuw op. Verwijder bovendien de printer en installeer deze opnieuw.

Een GPU verwijderen van een Windows-pc in 2023

Een GPU verwijderen van een Windows-pc in 2023

Moet u de GPU van uw pc verwijderen? Ga met me mee terwijl ik uitleg hoe je een GPU van je pc verwijdert in deze stapsgewijze handleiding.