Een instructieset, ook wel instructiesetarchitectuur (ISA) genoemd, is een reeks opdrachten en gegevensformaten die worden herkend door de centrale verwerkingseenheid (CPU) van een computer en de bijbehorende componenten. Het definieert hoe de CPU communiceert met de rest van het computersysteem en hoe programma's worden uitgevoerd.
Een instructieset omvat doorgaans:
- Basismachine-instructies: Deze omvatten rekenkundige en logische bewerkingen zoals optellen, aftrekken, vermenigvuldigen en vergelijken, evenals geheugen- en besturingsinstructies.
- Gegevenstypen: De ondersteunde gegevenstypen voor verwerking en opslag, zoals gehele getallen, getallen met drijvende komma en tekens.
- Adresseringsmodi: De methoden die worden gebruikt om de geheugenlocaties te specificeren die betrokken zijn bij instructies.
- Instructiecodering: De bitpatronen die worden gebruikt om verschillende instructies in het geheugen van de machine weer te geven.
- Afhandeling van uitzonderingen en interrupts: De mechanismen voor het afhandelen van uitzonderlijke gebeurtenissen zoals rekenkundige overflows en externe interrupts.
Verschillende CPU's en computerarchitecturen hebben verschillende instructiesets, die zijn geoptimaliseerd voor specifieke doeleinden. Enkele populaire voorbeelden van instructiesets zijn:
- x86: Het is ontwikkeld door Intel en is de meest gebruikte instructieset in personal computers en servers.
- ARM: Gebruikt in een breed scala aan embedded systemen, waaronder smartphones en tablets.
- MIPS: Wordt veel gebruikt in netwerkrouters, printers en andere embedded systemen.
- PowerPC: Gebruikt in oudere Apple Macintosh-computers en sommige ingebouwde apparaten.
Het ontwerp van een instructieset is een cruciaal aspect van een computerarchitectuur, omdat het de prestaties, compatibiliteit en de ontwikkeling van software voor het platform beïnvloedt. |