Hvad er et instruktions sæt?
Et instruktionssæt eller en instruktionssætarkitektur er det kollektive sæt kommandoer, som en computerprocessor kan udføre. Alt, hvad en computer gør, fra at køre et tekstbehandlingsprogram til kodning af videofiler, kan reduceres til en eller anden kombination af disse kommandoer. Programmerere opretter ikke direkte programmer gennem disse instruktioner, men bruger en speciel type software kendt som en compiler, der oversætter programmeringskode til maskininstruktioner. De fleste personlige computere bruger et instruktionssæt, der først blev brugt i 1970'erne, mens smartphones, tablets og andre enheder bruger enklere instruktionssæt, der er optimeret til miljøer med lav effekt.
Computere kan virke i stand til ubegrænsede opgaver, men mikroprocessorerne inde i dem er kun i stand til at udføre et begrænset antal foruddefinerede kommandoer, kendt som instruktioner. På egen hånd er hver instruktion relativt enkel, og måske fortæller processoren at tilføje to numre eller flytte et stykke data fra et sted til et andet. Når de kombineres, bliver disse grundlæggende instruktioner ret kraftige og bruges som grundlag for alle typer software. Ydeevnen og kompatibiliteten af en CPU er direkte relateret til antallet og typen af instruktioner, som CPU understøtter, hvilket gør instruktionen til et kritisk element i den kommercielle succes eller fiasko for ethvert nyt design.
En CPU kan kun udføre funktioner, der er en del af dens instruktionssæt, men meget få computerprogrammører integrerer disse kommandoer i deres software. I stedet anvendes et mellemtrin kendt som sammenstilling. I denne proces oversætter et program, der kaldes en kompilator, menneskevenlig kode, der er brugt af programmerere, til en ”maskinkode”, som processoren forstår. Da forskellige computerprocessorer understøtter forskellige instruktionssæt, skal en compiler designes til den type processor, programmet er beregnet til at køre på. Med moderne mikroprocessorer, der er i stand til at udføre så mange som hundrede millioner eller endda milliarder af instruktioner på et enkelt sekund, er compilere blevet det eneste praktiske middel til at skabe software til computere.
Mikroprocessorerne, der blev brugt i næsten alle personlige computere, der er solgt siden 1980'erne, bruger et instruktions sæt kaldet x86, som oprindeligt var designet til en Intel®-processor, der debuterede i midten af 1970'erne. Ønsket om bagudkompatibilitet har bidraget til at holde x86 dominerende på pc-markedet, skønt der lejlighedsvis tilføjes nye instruktioner gennem udvidelser. Mange smartphones, tablets og andre typer forbrugerelektronik bruger mikroprocessorer baseret på ARM-instruktionssættet, som er enklere og mere effektive end x86. High end-servere, supercomputere og andre specialiserede enheder som spilkonsoller kan bruge forskellige instruktionssæt.