Ordet register har to betydninger i datasammenheng:

Faktaboks

Uttale
regˈister
Etymologi
av latin ‘føre inn’

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.

Prosessorens registre

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.

Registre og multiprogrammering

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.

Flerekjerneprosessorer

Hver kjerne har sitt private sett av registre.

Register som en samling av data

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.

Les mer i Store norske leksikon

Kommentarer (1)

Kommentarer til artikkelen blir synlig for alle. Ikke skriv inn sensitive opplysninger, for eksempel helseopplysninger. Fagansvarlig eller redaktør svarer når de kan. Det kan ta tid før du får svar.

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

eller registrer deg