Instruktionsuppsättning

November 3rd, 2018

En instruktionsuppsättning eller ISA (från engelskans Instruction Set Architecture) beskriver vilka tillgångar som finns tillgängliga för programmeringen av en processor. Bland annat beskrivs de instruktioner, register, adresseringslägen, minnesarkitektur och interrupthantering (avbrottshantering) som processorn stöder. Instruktionsuppsättningen definierar även processorns maskinkod, dvs hur instruktionerna blir uttryckta som sekvenser av binära ettor och nollor.

Instruktionsuppsättningar kan skilja sig mellan processorer inte bara på grund av vilka operationer som stöds, utan även hur hämtning och lagring av värden i arbetsminnet stöds (CISC vs RISC).

Två olika processorer kan ha samma instruktionsuppsättning även om de internt har helt olika mikroarkitekturer, se till exempel Intels Pentium- och AMD:s Athlon-processorer.

Även om det är teoretiskt möjligt att konstruera en processor som endast har en slags instruktion, har de flesta vanliga processorer instruktioner av ett flertal olika typer.

Aritmetikinstruktioner utför operationer på heltal. Bland operationerna räknas addition, subtraktion, logiska operationer som AND, OR, och XOR, aritmetisk och logisk skiftning, m.fl. Multiplikation och division förekommer ofta, men inte alltid eftersom dessa operation kan utföras av algoritmer som använder sig av enklare additions- och subtraktionsinstruktioner.

Flyttalsinstruktioner utför operationer på flyttal. Bland operationerna finns addition, subtraktion, multiplikation, division, stöd för konvertering mellan heltal och flyttal, samt ibland även mer avancerade operationer som kvadratrot, trigonometriska funktioner m.m.

Vissa RISC-arkitekturer kan endast hämta och lagra värden i arbetsminnet genom särskilda minnesinstruktioner (ofta kallade load och store).

Hoppinstruktioner tillåter programmet att ändra instruktionssekvensens normalt linjära förlopp genom att ändra värdet på instruktionspekaren. Greninstruktioner tillåter dessutom hopp som betingas av ett villkor (till exempel “utför hoppet endast om ett registervärde är lika med noll). Förgreningar/hopp kan bland annat ske vid If-satser, loopar, goto-satser och funktionsanrop. Hoppinstruktioner är avgörande för programmering; utan dem går det inte att skriva programslingor.

Anropsinstruktioner möjliggör abstraktion genom att tillåta anrop till subrutiner. Processorn lagrar en returadress (nästa instruktion) och börjar exekvera subrutinens instruktioner. När en returinstruktion påträffas återställs den lagrade returadressen, varpå processorn fortsätter exekvera sekventiellt. Särskilda systemanropsinstruktioner anropar operativsystemet å programmets vägnar för att utföra operativsystemspecifika funktioner som till exempel att läsa från datafiler eller visa text på bildskärmen.

Några av processorns instruktioner är endast avsedda att användas av operativsystemet; dessa systeminstruktioner är “skyddade” i det avseendet att om ett användarprogram försöker använda dem så avbryts programmet omedelbart av operativsystemet. Några processorarkitekturer (som Intel 8080 och x86) har speciella in- och utenhetsinstruktioner som används för att kommunicera med kringutrustning; dessa är skyddade i moderna operativsystem för att förhindra att flera program orsakar konflikter genom att försöka använda sig av samma kringenhet samtidigt.

Beroende på processorns arkitektur kan en typisk instruktion specificera 0 eller flera explicita adresser till de operander (argument) eller andra parametrar som används i operationen; här medräknas även adressen till den plats där resultatet lagras (i förekommande fall). Instruktionsuppsättningar kan kategoriseras alltefter hur många adresser instruktionerna använder som mest.

Operander kan vara av olika typer:

This entry was posted on Saturday, November 3rd, 2018 at 3:33 am and is filed under Uncategorized. You can follow any responses to this entry through the RSS 2.0 feed. Responses are currently closed, but you can trackback from your own site.

Comments are closed.

2016 fashion trends

MCM Rucksack | Kelme Outlet | maje dresses outlet| maje dresses for sale

kelme paul frank outlet new balance outlet bogner outlet le coq sportif outlet shopping online dresses grocery shopping online clothes shopping online