Hvad er et instruktionsregister?
Med hensyn til computerhardware er et instruktionsregister et element i den centrale behandlingsenhed (CPU) på en computer eller anden enhed, der indeholder programmeringsinstruktionen, der udføres i starten af den næste urcyklus som dikteret af andre dele af CPU'en. Andre elementer i CPU'en, såsom instruktionsdekoderen, er afhængige af instruktionsregisteret for at holde disse oplysninger, så det kan afkodes, løses og til sidst udføres. Med nogle typer mikroprocessorarkitektur kan der være mere end et instruktionsregister, så flere instruktioner kan behandles på samme tid, hvilket danner en samlingslinjestil af logik, der er kendt som en rørledning. Generelt gives nye instruktioner til instruktionsregistret gennem en anden del af CPU, kendt som programtælleren, der tjener et meget lignende formål, men kan gå videre til den næste instruktion, mens informationsregisteret holder.
Et register er en række fysiske kontakter på en mikroprocessor eller kredsløbskort, der kan tændes eller slukkes, hvilket gør hver switch svarende til lidt. Når flere af afbryderne, også kaldet låse, er forbundet, er de i stand til at gemme binære data, såsom tal, som kan omdannes til hukommelsesadresser eller instruktionskoder. Inden for CPU'en kan instruktionsregisteret enten indeholde adressen i computerens hukommelse af den instruktion, der udføres, eller for effektivitet kan det holde instruktionen i sig selv. Disse oplysninger overføres til registeret gennem et andet register kendt som programtælleren, som i de fleste tilfælde springer frem til den næste instruktion, der skal udføres efter at have videregivet den aktuelle instruktion.
De typer instruktioner, der er behandlet af registre, er generelt på lavt niveau-monteringssprogkommandoer, der til sidst oversættes til maskinkode eller byte-kode. Disse adskiller sig tydeligt fra instruktioner iProgrammeringssprog på højere niveau, fordi samlingsinstruktionerne fungerer i en meget lille, direkte skala. Et eksempel er en linje med højniveau-kode, der tilføjer to numre sammen og gemmer resultaterne i en variabel, der kun tager en enkelt linje med højniveau-kode at udtrykke. Når koden er samlet, kunne der genereres et dusin eller flere instruktioner for at udføre opgaven, hvor hver instruktion er noget enkelt, såsom blanding af værdier mellem computerens tilfældige adgangshukommelse (RAM) og et værktøjsregister.
Når en instruktion er henvist til af instruktionsregisteret, overføres den til instruktionsdekoderen, så instruktionen kan konverteres til maskinkode. Henvisninger til hukommelsessteder, der kan indeholde variabler eller anden information, løses, og disse oplysninger placeres undertiden i andre registre. Endelig udføres den faktiske instruktion. I løbet af denne periode øges programtællerÆld efter instruktionsregistret, så processen kan gentage, indtil hele programmet er udført.