Hva er et instruksjonssett?

Enhver CPU er designet fra grunnen av for å støtte et bestemt instruksjonssett. Et instruksjonssett er et sett med hardkodede operasjoner som CPU kan utføre. Disse operasjonene kan for eksempel være å legge sammen to tall, hoppe til en annen del av programmet eller sammenligne to verdier. Hver operasjon en datamaskin kan utføre er unikt representert av en opkode.

Opkoder

Når du kjører et program, bruker CPU en programteller for å spore hvilken instruksjon som må utføres neste gang. Når en instruksjon hentes, økes programtelleren med lengden på instruksjonen slik at den peker mot starten av neste instruksjon. Hver instruksjon består av en opkode. Avhengig av instruksjonen kan den inneholde operander eller ikke. Operander kan være en konstant verdi eller en peker til plasseringen av en verdi i CPU-registeret eller i system-RAM.

Når hele instruksjonen er hentet, må den dekodes. Dette er prosessen der CPU-en skiller op-koden og eventuelle operander. Den dekodede opkoden brukes til å aktivere eller deaktivere spesifikke elektriske veier i CPU-en som vil resultere i riktig drift.

Når instruksjonen er dekodet, vil den bli utført. Den nøyaktige oppførselen til CPU vil avhenge av operasjonen. En addisjonsoperasjon vil summere to verdier sammen. En hoppoperasjon vil beregne hvor i programmet du skal hoppe til. En sammenligningsoperasjon vil sammenligne to verdier. En NOP-operasjon vil sitte inaktiv, da NOP står for No Operation.

De fleste instruksjoner vil da gi resultatet av operasjonen. Denne utgangen kan gå til prosessorregistrene og, om nødvendig, til system-RAM. Hver av disse operasjonene tar en enkelt klokkesyklus å fullføre.

Ulovlige opkoder

Hver CPU-arkitektur har sin spesifikke liste over opkoder publisert av produsenten. Verdiene til disse op-kodene er ikke nødvendigvis de samme kryssplattformene, og det er grunnen til at programvare må kompileres for forskjellige arkitekturer. I noen tilfeller inkluderer produsenten også udokumenterte opkoder. Disse blir referert til som "ulovlige opkoder." Ulovlige opkoder, selv om de er udokumenterte, vil utføre den samme funksjonen hver gang de blir anropt. Som udokumenterte og ikke-standardfunksjoner kan oppdateringer til CPU-arkitekturen ganske enkelt fjerne dem.

Noen tidlige dataspill på Apple II stolte på spesifikke ulovlige opkoder. De fikk deretter ytelses- og stabilitetsproblemer på den senere Apple IIc CPU-revisjonen da IIc fjernet de ulovlige opkodene spillene krevde. Ulovlige opkoder ble også brukt i opphavsrettsbeskyttelseskretser som en sikkerhetsmetode gjennom uklarhet i kampen mot pirater som knekker innholdet deres. Noen ulovlige opkoder er ganske enkelt ment som feilsøkingsverktøy og feilbehandlere.

x86-instruksjonssettet inneholder et stort antall udokumenterte ulovlige opkoder. Interessant nok er noen av disse delt mellom Intel og AMD CPUer, noe som indikerer at begge selskapene er offentlig klar over formålet mens de er udokumenterte.

Kompilatorer og montering

De fleste programmene er skrevet på høynivåspråk. Disse er relativt enkle å lese, og bruker ofte engelske ord eller stenografi for å minimere læringskurver. For at en datamaskin skal kjøre disse programmene, må de kompileres. En kompilator er i utgangspunktet en oversetter. Den tar høynivåkoden og konverterer den til datakode, instruksjonene som CPU kan forstå.

Det er også mulig, på noen språk, å kjøre ukompilert kode gjennom et tidligere kompilert program som genererer maskinkode på farten. Assembly er et programmeringsspråk på lavt nivå som bruker stenografi for å tillate utviklere direkte synlighet og kontroll over operasjonene som utføres. NOP er et eksempel på monteringsstenografi.

Konklusjon

Et instruksjonssett er en liste over offisielle funksjoner som en CPU-arkitektur kan kjøre. Det er en liste over operasjoner som kan utføres. Disse operasjonene er hardkodet inn i CPU-en og kalles ved å bruke deres respektive op-koder.

Programvare bruker vanligvis en kompilator for å oversette fra menneskelesbar høynivåkode til maskinkoden som CPU-en kan lese. Noen ganger kan en CPU-arkitektur ha udokumenterte opkoder, kalt ulovlige opkoder. Ulovlige opkoder er teknisk sett en del av instruksjonssettet. Imidlertid er de kanskje ikke pålitelig tilgjengelige i fremtidige plattformiterasjoner. Ikke glem å legge igjen tankene dine i kommentarene nedenfor.


Leave a Comment

Slik installerer du en SSD på stasjonære og bærbare PC-er

Slik installerer du en SSD på stasjonære og bærbare PC-er

Har du nettopp kjøpt en SSD og håper å oppgradere den interne lagringen på PC-en din, men vet ikke hvordan du installerer SSD? Les denne artikkelen nå!

Grunnleggende om 3D-utskrift: En viktig vedlikeholdssjekkliste

Grunnleggende om 3D-utskrift: En viktig vedlikeholdssjekkliste

Å holde utstyret ditt i god stand er et must. Her er noen nyttige tips for å holde 3D-printeren din i topp stand.

10 Beste NAS-lagringsenheter for hjem og profesjonell bruk

10 Beste NAS-lagringsenheter for hjem og profesjonell bruk

Enten du leter etter en NAS for hjemmet eller kontoret, sjekk ut denne listen over de beste NAS-lagringsenhetene.

Hvordan finne IP-adressen til en skriver

Hvordan finne IP-adressen til en skriver

Har du problemer med å finne ut hvilken IP-adresse skrivere bruker? Vi viser deg hvordan du finner den.

5 Grunner til at Laptopen Din Overopphetes

5 Grunner til at Laptopen Din Overopphetes

Finn ut noen av de mulige årsakene til at laptopen din overopphetes, sammen med tips og triks for å unngå dette problemet og holde enheten din avkjølt.

Hva du skal gjøre hvis Powerbeats Pro ikke lader i saken

Hva du skal gjøre hvis Powerbeats Pro ikke lader i saken

Hvis Powerbeats Pro ikke lader, bruk en annen strømkilde og rengjør øreproppene. La saken være åpen mens du lader øreproppene.

Grunnleggende om 3D-utskrift: Vedlikeholdstips for 3D-printeren din

Grunnleggende om 3D-utskrift: Vedlikeholdstips for 3D-printeren din

Å vedlikeholde 3D-printerne dine er veldig viktig for å få de beste resultatene. Her er noen viktige tips å huske på.

Slik fikser du GeForce Now feilkode 0xC272008F

Slik fikser du GeForce Now feilkode 0xC272008F

Du gjør deg klar for en kveld med spilling, og det kommer til å bli stort – du har nettopp kjøpt "Star Wars Outlaws" på GeForce Now streamingtjenesten. Oppdag den eneste kjente løsningen som viser deg hvordan du fikser GeForce Now feilkode 0xC272008F, slik at du kan begynne å spille Ubisoft-spill igjen.

Slik bruker du AirPods med Samsung-telefoner

Slik bruker du AirPods med Samsung-telefoner

Er du usikker på om du skal kjøpe AirPods til din Samsung-telefon? Denne guiden vil helt klart hjelpe. Det mest åpenbare spørsmålet er om de to er

Canon Pixma MG5220: Skann uten blekk

Canon Pixma MG5220: Skann uten blekk

Hvordan aktivere skanning på Canon Pixma MG5220 når du går tom for blekk.