Hvad er et instruktionssæt?

Enhver CPU er designet fra bunden til at understøtte et bestemt instruktionssæt. Et instruktionssæt er et sæt hårdkodede operationer, som CPU'en kan udføre. Disse operationer kan for eksempel være at lægge to tal sammen, hoppe til en anden del af programmet eller sammenligne to værdier. Hver operation en computer kan udføre er unikt repræsenteret af en opcode.

Opkoder

Når et program udføres, bruger CPU'en en programtæller til at spore, hvilken instruktion der skal udføres næste gang. Når en instruktion hentes, øges programtælleren med længden af ​​instruktionen, så den peger på starten af ​​den næste instruktion. Hver instruktion består af en opkode. Afhængigt af instruktionen kan den indeholde operander eller ikke. Operander kan være en konstant værdi eller en pegepind til placeringen af ​​en værdi i CPU-registeret eller i systemets RAM.

Når den komplette instruktion er blevet hentet, skal den afkodes. Dette er den proces, hvor CPU'en adskiller opkoden og eventuelle operander. Den afkodede opkode bruges til at aktivere eller deaktivere specifikke elektriske veje i CPU'en, som vil resultere i den korrekte drift.

Når instruktionen er blevet afkodet, vil den blive udført. Den nøjagtige opførsel af CPU'en vil afhænge af operationen. En additionsoperation vil summere to værdier sammen. En hop-operation vil beregne, hvor i programmet man skal hoppe til. En sammenligningsoperation vil sammenligne to værdier. En NOP-operation vil være inaktiv, da NOP står for No Operation.

De fleste instruktioner vil derefter udsende resultatet af operationen. Denne udgang kan gå til processorregistrene og om nødvendigt til system-RAM. Hver af disse operationer tager en enkelt urcyklus at fuldføre.

Ulovlige opkoder

Hver CPU-arkitektur har sin specifikke liste over opkoder udgivet af producenten. Værdierne af disse opkoder er ikke nødvendigvis den samme cross-platform, hvorfor software skal kompileres til forskellige arkitekturer. I nogle tilfælde inkluderer producenten også udokumenterede opkoder. Disse omtales som "ulovlige opkoder." Ulovlige opkoder vil, selvom de er udokumenterede, udføre den samme funktion, hver gang de bliver kaldt. Som udokumenterede og ikke-standardfunktioner kan opdateringer til CPU-arkitekturen dog simpelthen fjerne dem.

Nogle tidlige computerspil på Apple II var afhængige af specifikke ulovlige opkoder. De led derefter problemer med ydeevne og stabilitet på den senere Apple IIc CPU-revision, da IIc fjernede de ulovlige opkoder, som spillene krævede. Ulovlige opkoder blev også brugt i copyright-beskyttelseskredse som en sikkerhedsmetode gennem uklarhed i deres kamp mod pirater, der knækker deres indhold. Nogle ulovlige opkoder er simpelthen ment som fejlfindingsværktøjer og fejlbehandlere.

x86-instruktionssættet indeholder et stort antal udokumenterede ulovlige opkoder. Interessant nok er nogle af disse delt mellem Intel og AMD CPU'er, hvilket indikerer, at begge virksomheder er offentligt opmærksomme på deres formål, mens de er udokumenterede.

Kompilere og samling

De fleste programmer er skrevet på højt niveau sprog. Disse er relativt lette at læse, og de bruger ofte engelske ord eller stenografi for at minimere indlæringskurver. For at en computer kan udføre disse programmer, skal de kompileres. En compiler er dybest set en oversætter. Den tager koden på højt niveau og konverterer den til computerkode, instruktionerne som CPU'en kan forstå.

Det er også muligt, på nogle sprog, at køre ukompileret kode gennem et tidligere kompileret program, der genererer maskinkode på farten. Assembly er et programmeringssprog på lavt niveau, der bruger stenografi for at give udviklere direkte synlighed og kontrol over de udførte operationer. NOP er et eksempel på montagestenografi.

Konklusion

Et instruktionssæt er en liste over officielle funktioner, som en CPU-arkitektur kan køre. Det er en liste over operationer, der kan udføres. Disse operationer er hårdkodet ind i CPU'en og kaldes ved hjælp af deres respektive opkoder.

Software bruger generelt en compiler til at oversætte fra menneskelæsbar højniveaukode til den maskinkode, som CPU'en kan læse. Nogle gange kan en CPU-arkitektur have udokumenterede opkoder, kaldet ulovlige opkoder. Ulovlige opkoder er teknisk set en del af instruktionssættet. De er dog muligvis ikke pålidelige tilgængelige i fremtidige platformsiterationer. Glem ikke at efterlade dine tanker i kommentarerne nedenfor.


Sådan klones en harddisk

Sådan klones en harddisk

I den moderne digitale tidsalder, hvor data er et værdifuldt aktiv, kan kloning af en harddisk på Windows være en afgørende proces for mange. Denne omfattende guide

Sådan repareres driveren WUDFRd kunne ikke indlæses på Windows 10?

Sådan repareres driveren WUDFRd kunne ikke indlæses på Windows 10?

Står du over for fejlmeddelelsen, mens du starter din computer, som siger, at driveren WUDFRd ikke kunne indlæses på din computer?

Sådan rettes NVIDIA GeForce Experience-fejlkode 0x0003

Sådan rettes NVIDIA GeForce Experience-fejlkode 0x0003

Oplever du NVIDIA GeForce-oplevelsesfejlkode 0x0003 på dit skrivebord? Hvis ja, læs bloggen for at finde ud af, hvordan du løser denne fejl hurtigt og nemt.

Hvad er SMPS?

Hvad er SMPS?

Lær, hvad SMPS er og betydningen af ​​forskellige effektivitetsvurderinger, før du vælger en SMPS til din computer.

Hvorfor tænder min Chromebook ikke

Hvorfor tænder min Chromebook ikke

Få svar på spørgsmålet: Hvorfor tænder min Chromebook ikke? I denne nyttige vejledning til Chromebook-brugere.

Sådan rapporteres phishing-svindel til Google

Sådan rapporteres phishing-svindel til Google

Lær, hvordan du rapporterer en svindler til Google for at forhindre dem i at snyde andre med denne vejledning.

Roomba stopper, stikker og drejer rundt – Fix

Roomba stopper, stikker og drejer rundt – Fix

Løs et problem, hvor din Roomba robotstøvsuger stopper, sætter sig fast og bliver ved med at dreje rundt.

Sådan ændres grafikindstillinger på Steam Deck

Sådan ændres grafikindstillinger på Steam Deck

Steam Deck tilbyder en robust og alsidig spiloplevelse lige ved hånden. Dog for at optimere dit spil og sikre det bedst mulige

Hvad er isolationsbaseret sikkerhed?

Hvad er isolationsbaseret sikkerhed?

Ville dykke ned i et emne, der bliver stadig vigtigere i cybersikkerhedens verden: isolationsbaseret sikkerhed. Denne tilgang til

Sådan bruger du Auto Clicker til Chromebook

Sådan bruger du Auto Clicker til Chromebook

I dag skulle du dykke ned i et værktøj, der kan automatisere gentagne klikopgaver på din Chromebook: Auto Clicker. Dette værktøj kan spare dig tid og