Wat is een instructieset?

Elke CPU is vanaf het begin ontworpen om een ​​bepaalde instructieset te ondersteunen. Een instructieset is een reeks hardgecodeerde bewerkingen die de CPU kan uitvoeren. Deze bewerkingen kunnen bijvoorbeeld twee getallen bij elkaar optellen, naar een ander deel van het programma springen of twee waarden vergelijken. Elke bewerking die een computer kan uitvoeren, wordt op unieke wijze weergegeven door een opcode.

Opcodes

Bij het uitvoeren van een programma gebruikt de CPU een programmateller om bij te houden welke instructie vervolgens moet worden uitgevoerd. Wanneer een instructie wordt opgehaald, wordt de programmateller opgehoogd met de lengte van de instructie, zodat deze naar het begin van de volgende instructie wijst. Elke instructie bestaat uit een opcode. Afhankelijk van de instructie kan deze al dan niet operanden bevatten. Operanden kunnen een constante waarde zijn of een verwijzing naar de locatie van een waarde in het CPU-register of in het systeem-RAM.

Nadat de volledige instructie is opgehaald, moet deze worden gedecodeerd. Dit is het proces waarbij de CPU de opcode en eventuele operanden scheidt. De gedecodeerde opcode wordt gebruikt om specifieke elektrische paden in de CPU in of uit te schakelen die zullen resulteren in de juiste werking.

Nadat de instructie is gedecodeerd, wordt deze uitgevoerd. Het exacte gedrag van de CPU hangt af van de bewerking. Een optelbewerking zal twee waarden bij elkaar optellen. Een sprongbewerking berekent waar in het programma naartoe moet worden gesprongen. Een vergelijkingsbewerking vergelijkt twee waarden. Een NOP-operatie blijft inactief, aangezien NOP staat voor No Operation.

De meeste instructies geven dan het resultaat van de bewerking weer. Deze uitvoer kan naar de processorregisters gaan en, indien nodig, naar het systeem-RAM. Elk van deze bewerkingen duurt een enkele klokcyclus om te voltooien.

Illegale opcodes

Elke CPU-architectuur heeft zijn specifieke lijst met opcodes die door de fabrikant is gepubliceerd. De waarden van deze opcodes zijn niet noodzakelijkerwijs hetzelfde platformoverschrijdend, daarom moet software voor verschillende architecturen worden gecompileerd. In sommige gevallen voegt de fabrikant ook ongedocumenteerde opcodes toe. Deze worden "illegale opcodes" genoemd. Illegale opcodes, hoewel ongedocumenteerd, zullen elke keer dat ze worden aangeroepen dezelfde functie uitvoeren. Als niet-gedocumenteerde en niet-standaardfuncties kunnen updates van de CPU-architectuur ze echter eenvoudig verwijderen.

Sommige vroege computerspellen op de Apple II vertrouwden op specifieke illegale opcodes. Ze kregen toen prestatie- en stabiliteitsproblemen bij de latere Apple IIc CPU-revisie, aangezien de IIc de illegale opcodes verwijderde die de games nodig hadden. Illegale opcodes werden ook gebruikt in kringen van auteursrechtbescherming als beveiligingsmethode door onduidelijkheid in hun strijd tegen piraten die hun inhoud kraken. Sommige illegale opcodes zijn simpelweg bedoeld als foutopsporingstools en foutafhandelaars.

De x86-instructieset bevat een groot aantal ongedocumenteerde illegale opcodes. Interessant is dat sommige hiervan worden gedeeld tussen Intel- en AMD-CPU's, wat aangeeft dat beide bedrijven publiekelijk op de hoogte zijn van hun doel terwijl ze ongedocumenteerd zijn.

Samenstellers en montage

De meeste programma's zijn geschreven in talen van hoog niveau. Deze zijn relatief gemakkelijk te lezen en gebruiken vaak Engelse woorden of steno om leercurven te minimaliseren. Om een ​​computer deze programma's te laten uitvoeren, moeten ze worden gecompileerd. Een compiler is eigenlijk een vertaler. Het neemt de code op hoog niveau en zet deze om in computercode, de instructies die de CPU kan begrijpen.

In sommige talen is het ook mogelijk om niet-gecompileerde code door een eerder gecompileerd programma te laten lopen dat direct machinecode genereert. Assemblage is een programmeertaal op laag niveau die steno gebruikt om ontwikkelaars directe zichtbaarheid en controle over de uitgevoerde bewerkingen te geven. NOP is een voorbeeld van steno voor montage.

Conclusie

Een instructieset is een lijst met officiële functies die een CPU-architectuur kan uitvoeren. Het is een lijst met bewerkingen die kunnen worden uitgevoerd. Deze bewerkingen zijn hard gecodeerd in de CPU en worden aangeroepen met behulp van hun respectieve opcodes.

Software gebruikt over het algemeen een compiler om te vertalen van voor mensen leesbare code op hoog niveau naar de machinecode die de CPU kan lezen. Soms kan een CPU-architectuur ongedocumenteerde opcodes hebben, illegale opcodes genoemd. Illegale opcodes maken technisch gezien deel uit van de instructieset. Ze zijn echter mogelijk niet betrouwbaar beschikbaar in toekomstige iteraties van het platform. Vergeet niet om uw mening achter te laten in de opmerkingen hieronder.



Leave a Comment

Wat te Doen Als Powerbeats Pro Niet Opladen in de Case

Wat te Doen Als Powerbeats Pro Niet Opladen in de Case

Als uw Powerbeats Pro niet opladen, gebruik dan een andere voedingsbron en maak uw oordopjes schoon. Laat de case open terwijl u uw oordopjes oplaadt.

De Basisprincipes van 3D-printen: Een Onmisbare Onderhoudschecklist

De Basisprincipes van 3D-printen: Een Onmisbare Onderhoudschecklist

Het behoud van uw apparatuur in goede staat is essentieel. Hier zijn enkele nuttige tips om uw 3D-printer in topconditie te houden.

Canon Pixma MG5220: Scannen Zonder Inkt

Canon Pixma MG5220: Scannen Zonder Inkt

Hoe te scannen met de Canon Pixma MG5220 wanneer je zonder inkt zit.

5 Redenen waarom je laptop oververhit

5 Redenen waarom je laptop oververhit

Ontdek enkele mogelijke redenen waarom je laptop oververhit raakt, samen met tips en trucs om dit probleem te vermijden en je apparaat koel te houden.

Hoe een SSD te installeren op desktop- en laptop-pc's

Hoe een SSD te installeren op desktop- en laptop-pc's

Heb je net een SSD gekocht in de hoop de interne opslag van je pc te upgraden maar weet je niet hoe je een SSD moet installeren? Lees dit artikel nu!

Hoe GeForce Now Foutcode 0xC272008F op te lossen

Hoe GeForce Now Foutcode 0xC272008F op te lossen

Je maakt je klaar voor een avond gamen en het wordt een grote – je hebt net “Star Wars Outlaws” opgepakt op de GeForce Now streamingdienst. Ontdek de enige bekende workaround die je laat zien hoe je GeForce Now Foutcode 0xC272008F kunt oplossen, zodat je weer Ubisoft-games kunt spelen.

3D Printen Basisprincipes: Onderhoudstips voor uw 3D-printer

3D Printen Basisprincipes: Onderhoudstips voor uw 3D-printer

Het onderhouden van uw 3D-printers is zeer belangrijk om de beste resultaten te behalen. Hier zijn enkele belangrijke tips om in gedachten te houden.

Hoe de IP-adres van een printer te vinden

Hoe de IP-adres van een printer te vinden

Problemen met het vinden van het IP-adres dat je printer gebruikt? Wij laten je zien hoe je het kunt vinden.

Hoe AirPods te Gebruiken met Samsung Telefoons

Hoe AirPods te Gebruiken met Samsung Telefoons

Als je onzeker bent of je AirPods voor je Samsung-telefoon moet kopen, kan deze gids je zeker helpen. De meest voor de hand liggende vraag is of de twee compatibel zijn, en het antwoord is: ja, dat zijn ze!

Wat doet Scroll Lock?

Wat doet Scroll Lock?

Scroll lock is een toets op de meeste toetsenborden, hoewel de meeste mensen het nooit echt gebruiken. Ontdek het nut en gebruik van scroll lock in moderne software.