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.


Hvordan klone en harddisk

Hvordan klone en harddisk

I den moderne digitale tidsalder, hvor data er en verdifull ressurs, kan kloning av en harddisk på Windows være en avgjørende prosess for mange. Denne omfattende guiden

Hvordan fikse driveren WUDFRd kunne ikke lastes inn på Windows 10?

Hvordan fikse driveren WUDFRd kunne ikke lastes inn på Windows 10?

Står du overfor feilmeldingen mens du starter datamaskinen som sier at driveren WUDFRd ikke kunne lastes inn på datamaskinen?

Slik fikser du NVIDIA GeForce Experience-feilkode 0x0003

Slik fikser du NVIDIA GeForce Experience-feilkode 0x0003

Opplever du NVIDIA GeForce-opplevelsesfeilkode 0x0003 på skrivebordet ditt? Hvis ja, les bloggen for å finne ut hvordan du løser denne feilen raskt og enkelt.

Hva er SMPS?

Hva er SMPS?

Lær hva som er SMPS og betydningen av ulike effektivitetsvurderinger før du velger en SMPS for datamaskinen din.

Hvorfor slås ikke Chromebooken på

Hvorfor slås ikke Chromebooken på

Få svar på spørsmålet Hvorfor slås ikke Chromebooken min på? I denne nyttige veiledningen for Chromebook-brukere.

Slik rapporterer du phishing-svindel til Google

Slik rapporterer du phishing-svindel til Google

Lær hvordan du rapporterer en svindler til Google for å forhindre at de svindler andre med denne veiledningen.

Roomba stopper, stikker og snur – fiks

Roomba stopper, stikker og snur – fiks

Løs et problem der Roomba-robotstøvsugeren stopper, fester seg og fortsetter å snu.

Hvordan endre grafikkinnstillinger på Steam Deck

Hvordan endre grafikkinnstillinger på Steam Deck

Steam Deck tilbyr en robust og allsidig spillopplevelse rett ved fingertuppene. Men for å optimere spillingen din og sikre best mulig

Hva er isolasjonsbasert sikkerhet?

Hva er isolasjonsbasert sikkerhet?

Skulle fordype seg i et emne som blir stadig viktigere i verden av cybersikkerhet: isolasjonsbasert sikkerhet. Denne tilnærmingen til

Slik bruker du Auto Clicker for Chromebook

Slik bruker du Auto Clicker for Chromebook

I dag skulle du fordype deg i et verktøy som kan automatisere repeterende klikkeoppgaver på Chromebooken din: Auto Clicker. Dette verktøyet kan spare deg for tid og