En instruktionsuppsättning, även känd som en instruktionsuppsättningsarkitektur (ISA), är en uppsättning kommandon och dataformat som känns igen av en dators centralenhet (CPU) och tillhörande komponenter. Den definierar hur CPU:n kommunicerar med resten av datorsystemet och hur program exekveras.
En instruktionsuppsättning innehåller vanligtvis:
- Grundläggande maskininstruktioner: Dessa inkluderar aritmetiska och logiska operationer som addition, subtraktion, multiplikation och jämförelse, samt minnes- och kontrollinstruktioner.
- Datatyper: De datatyper som stöds för bearbetning och lagring, såsom heltal, flyttalstal och tecken.
- Adresseringslägen: Metoderna som används för att specificera minnesplatserna som ingår i instruktionerna.
- Instruktionskodning: Bitmönster som används för att representera olika instruktioner i maskinens minne.
- Undantags- och avbrottshantering: Mekanismerna för att hantera exceptionella händelser som aritmetiska översvämningar och externa avbrott.
Olika processorer och datorarkitekturer har olika instruktionsuppsättningar, som är optimerade för specifika ändamål. Några populära exempel på instruktionsuppsättningar inkluderar:
- x86: Utvecklad av Intel, det är den mest använda instruktionsuppsättningen i persondatorer och servrar.
- ARM: Används i ett brett utbud av inbyggda system, inklusive smartphones och surfplattor.
- MIPS: Används ofta i nätverksroutrar, skrivare och andra inbyggda system.
- PowerPC: Används i äldre Apple Macintosh-datorer och vissa inbyggda enheter.
Utformningen av en instruktionsuppsättning är en avgörande aspekt av en datorarkitektur eftersom den påverkar prestanda, kompatibilitet och utvecklingen av mjukvara för plattformen.