We hebben al de manier besproken waarop CPU's instructies uitvoeren, de zogenaamde instructiecyclus. Maar wat is een instructie als we het over processors hebben? Als u het niet kent of als het woord u tot verwarring leidt, hoeft u zich geen zorgen te maken, als u dit artikel eenmaal volledig hebt gelezen, zult u zonder problemen begrijpen wat de instructie van een computerprogramma is.
De CPU's van miljoenen computers over de hele wereld weten maar één ding: instructies continu uitvoeren. Maar wat is een instructie? Lees verder om erachter te komen.
Wat is een instructie?
Een instructie is de minimale eenheid van een programma, die de CPU wat u moet doen door middel van een reeks instructies die opeenvolgend worden uitgevoerd. Elke instructie is een aantal bits in de binaire code dat is onderverdeeld in drie verschillende delen:
- Instructiebits: deze bits geven aan welke instructie de CPU zal uitvoeren en daarom wordt het pad dat de instructie volgt om uit te voeren ook wel opcode genoemd.
- Adresseringsbits: geef aan in welk geheugenadres de gegevens zich in het geheugen bevinden.
- Mode bits: De mode bits geven aan hoe een instructie wordt uitgevoerd, ze worden gebruikt als er verschillende manieren zijn om een instructie uit te voeren of als er verschillende condities zijn.
Als je wilt weten hoe een CPU de instructies uitvoert, raden we het artikel aan " Dit is hoe uw CPU de instructies uitvoert die de software hem geeft ”In HardZone, dezelfde website.
Adresseringsinstructies
Afhankelijk van waar de gegevens zich bevinden, kunnen we verschillende variaties op hetzelfde type instructie hebben. De manier waarop een processor toegang krijgt tot de gegevens wordt de adresseringsmodus genoemd.
- De onmiddellijke adressering wordt gebruikt wanneer de gegevens dezelfde instructie zijn, in dit geval worden de gegevens opgeslagen in een register of intern geheugen van de processor om van daaruit te worden uitgevoerd.
- Het tweede type adressering is direct, waarbij het programma het geheugenadres aangeeft waar de gegevens zich bevinden.
- Het derde type adressering is indirect, wat ons het adres geeft waar het geheugenadres waar de gegevens zich bevinden zich bevindt.
Er moet worden verduidelijkt dat sommige instructies geen adresseringsmodus hebben, aangezien ze geen gegevens nodig hebben om te worden uitgevoerd.
Instructietypes in een CPU
Hier is een samenvatting van de meest voorkomende instructies die door de verschillende processors worden gebruikt. Deze instructies gelden voor alle register- en instructiesets, ongeacht of ze x86 zijn, ARM, MIPS, PowerPC, enzovoort. Evenals het heeft geen relatie als de set instructies RISC of CISC is.
- Rekenkundige manipulatie instructies zijn degene die wiskundige bewerkingen uitvoeren, zoals optellen, aftrekken, vermenigvuldigen en delen. Evenals meer complexe bewerkingen zoals trigonometrische formules, vierkantswortels, machten.
- Dé logische instructies zijn het tweede type instructies uitgevoerd door de ALU, het zijn eigenlijk binaire bewerkingen die de werking van logische poorten emuleren. Dat wil zeggen, AND, OR, XOR, NAND, NOR, XNOR en NOT.
- Bitmanipulatie-instructies zijn gebaseerd op het manipuleren van de bits van een idem-string met instructies zoals een bit naar links of rechts verschuiven, de volgorde omkeren of ze verwisselen.
- Instructies voor gegevensverplaatsing zijn verantwoordelijk voor de verplaatsing van gegevens van het ene deel van het geheugen naar het andere, van het ene geheugen naar het andere, van processor naar geheugen en van geheugen naar processor.
- Programma controle instructies zijn degene die worden geactiveerd wanneer aan bepaalde voorwaarden is voldaan, zoals
- Dé sprong instructies zijn degene die aangeven dat het programma niet doorgaat naar het volgende geheugenadres, maar naar een specifiek geheugenadres dat wordt gemarkeerd door de springinstructie.
Gegevenstypen en veelheid aan instructies
Omdat een CPU tegenwoordig kan omgaan met verschillende soorten gegevens, bijvoorbeeld gehele getallen en drijvende komma. Sommige rekenkundige instructies worden vaak gedupliceerd voor de drijvende-komma-instructieset. Er zijn ook vectorinstructies, zoals AVX-instructiesets, of ook wel bekend als SIMD-instructies, die met meerdere operanden tegelijkertijd werken.
Omdat deze instructies in verschillende eenheden worden uitgevoerd, hebben ze uiteindelijk verschillende instructiebits nodig, wat betekent dat het toevoegen van nieuwe soorten gegevens in een processor in veel gevallen de set instructies aanzienlijk vergroot, hun complexiteit. evenals het deel dat ze decodeert en uitvoert op een CPU.