Et instruksjonssett, også kjent som en instruksjonssettarkitektur (ISA), er et sett med kommandoer og dataformater som gjenkjennes av en datamaskins sentrale prosesseringsenhet (CPU) og tilhørende komponenter. Den definerer hvordan CPU-en kommuniserer med resten av datasystemet og hvordan programmer kjøres.
Et instruksjonssett inkluderer vanligvis:
- Grunnleggende maskininstruksjoner: Disse inkluderer aritmetiske og logiske operasjoner som addisjon, subtraksjon, multiplikasjon og sammenligning, samt minne- og kontrollinstruksjoner.
- Datatyper: De støttede datatypene for behandling og lagring, for eksempel heltall, flyttall og tegn.
- Adresseringsmoduser: Metodene som brukes til å spesifisere minneplasseringene som er involvert i instruksjoner.
- Instruksjonskoding: Bitmønstrene som brukes til å representere forskjellige instruksjoner i maskinens minne.
- Unntaks- og avbruddshåndtering: Mekanismene for å håndtere eksepsjonelle hendelser som aritmetiske overløp og eksterne avbrudd.
Ulike CPUer og datamaskinarkitekturer har forskjellige instruksjonssett, som er optimalisert for spesifikke formål. Noen populære eksempler på instruksjonssett inkluderer:
- x86: Utviklet av Intel, er det det mest brukte instruksjonssettet på personlige datamaskiner og servere.
- ARM: Brukes i et bredt spekter av innebygde systemer, inkludert smarttelefoner og nettbrett.
- MIPS: Mye brukt i nettverksrutere, skrivere og andre innebygde systemer.
- PowerPC: Brukes i eldre Apple Macintosh-datamaskiner og enkelte innebygde enheter.
Utformingen av et instruksjonssett er et avgjørende aspekt ved en datamaskinarkitektur ettersom det påvirker ytelse, kompatibilitet og utvikling av programvare for plattformen.