Ordet har to betydninger i datasammenheng:

1. Prosessorens aller innerste datalager som brukes til holde data under utførelse av instruksjoner.

2. En samling data på permanent datalager, for eksempel personregister og adresseregister. Synonymer: fil, tabell, database.

En typisk instruksjon for å utføre en beregning eller en logisk operasjon har to adresser, for eksempel: ADD A0,Verdi. Denne instruksjonen adderer innholdet av register A0 med verdien på adresse Verdi i arbeidslageret. Resultatet lagres i A0.

Antall registre er lite; typisk 8, 16, 32 eller 64, da brukes 3, 4, 5 eller 6 bit i instruksjonen for å angi hvilket register som skal brukes. Alle registre kan være generelle eller en kan ha valgt å gi registrene forskjellig oppgaver:

  • Aritmetiske registre brukes til aritmetiske (ADD, SUB, MUL, DIV) og logiske operasjoner (AND, OR, XOR, NEG).
  • Telleregistre brukes til nedtelling i repeterende operasjoner.
  • Indeksregistre brukes til adressering.
  • Stakkregistre brukes for datastrukturen stakk.
  • Baseregistre eller segmentregistre.

Indeksregistre inneholder gjerne et tall i hver sin halvdel - inkrement og offset. Offset er engelsk kan forstås som avstand i forhold til basis. 

Programsekvensen:

  1.     LOAD I2, (4,0)
  2.     LOAD R1, (100)
  3.     LOAD A0, (0)
  4. BEREGNSUM: 
  5.     ADD A0,Tabell,*I2   
  6.     LOOP R1, BEREGNSUM
  7.  ....

beregner summen av de 100 første tallene i tabellen Tabell. Hvert tall er lagret i et dataord på 4 byte. I2 er et indeksregister som gis en startverdi (4,0). Offsetverdien er 0, og inkrementet er 4 fordi hvert dataord tar 4 byte. Når I2 brukes i en instruksjon med stjerne foran navnet betyr det at inkrement legges til offsetverdien etter at instruksjonen er utført. Adressen  til verdien som adderes inn, er summen av adressen som holdes av symbolet Tabell og den såkalte offset-verdien i indeksregister I2. LOOP teller ned telleregister R1 og hopper tilbake til BEREGNSUM hvis R1 fortsatt er større enn 0, hvis ikke utføres etterfølgende instruksjon.

Baseregiste eller segmentregistre inneholder startadressen i arbeidslager til program- og datasegmenter. De gjør det mulig å plassere program og data på et vilkårlig sted i arbeidslageret uten at programmets adresser må endres. 

Mange programmer er i arbeidslageret til samme tid og prosessoren vil arbeide en viss tid på hvert program slik at alle brukerne opplever samtidig betjening. Når prosessoren (CPU-en, kjernen) skifter fra ett program til et annet må den først lagre alle registrene i et dataområde for programmet som avbrytes, og deretter lese inn nytt registerinnhold for det programmet som nå skal utføres. Dette kalles et kontekstskifte

Hver kjerne har sitt private sett av registre.

Register kan brukes om en fil eller en tabell bestående av objekter eller poster. Register kan også  brukes om en samling av tabeller  og filer. Da er register et synonym for en database. I dagligtale snakker vi om personregister, adresseregister, bilregister, båtregister, helseregistre, osv. Disse registrene er egentlig databaser som består av mange filer og tabeller. Det finnes en rekke registre som forvaltes av offentlige etater. Registre som inneholder persondata kan være melde- eller konsesjonspliktige, se Datatilsynet

Foreslå endringer i tekst

Foreslå bilder til artikkelen

Kommentarer

Har du spørsmål om artikkelen? Skriv her, så får du svar fra fagansvarlig eller redaktør.

Du må være logget inn for å kommentere.