Et register (på engelsk : processor register ), i informatikk og i arkitekturen til datamaskiner , er en liten del av minnet som brukes til å fremskynde kjøringen av programmer ved å gi rask tilgang til verdiene som brukes oftest og/eller typisk , verdiene som er i bruk i en bestemt del av en beregning.
Begrepet brukes ofte for utelukkende å referere til gruppen av registre som kan adresseres direkte av mikroprosessorens inn- og utgangsinstruksjoner . Mer korrekt kalles disse registrene "arkitekterte registre". For eksempel, i x86 -arkitekturen er det et sett med åtte registre som kan brukes av maskinspråkinstruksjoner , men CPU -en vil inneholde mange flere registre for intern bruk eller med spesielle funksjoner.
Registre utgjør det høyeste punktet i minnehierarkiet, og er den raskeste mekanismen for systemet til å manipulere data. Registre måles normalt etter antall biter de kan inneholde (for eksempel 8-bits registre eller 32-biters registre ). For tiden implementeres registre normalt med registerfiler , men tidligere har de blitt implementert ved hjelp av individuelle flip-flops , høyhastighets ferrittkjerneminne , tynnfilmminne og forskjellige andre måter.
De fleste moderne datamaskinarkitekturer ( RISC , eller mer generisk load-store- arkitekturer ) er basert på en pipeline-arkitektur som drar nytte av å begrense minnetilgangen til kun å laste og lagre instruksjoner, kun bruke registre og konstanter for å utføre alle andre instruksjoner.
Det er mange klasser av registre:
Maskinvareregistre på fastvarenivå ligner prosessorregistre, men finnes eksternt til CPU-ene .
Mikroprosessorregistrene gir et raskere og lavere minnenivå enn hovedminnet og utfører hovedsakelig følgende to funksjoner:
Antall registre varierer betydelig mellom de ulike arkitekturene i henhold til alder på ISA og typen arkitektur: for eksempel har RISC- arkitekturer en tendens til å være utstyrt med et høyt antall registre, mens CISC- arkitekturer som er eldre i gjennomsnitt har en tendens til å ha en lite antall registre selv om de nyeste prosessorene ofte har et stort antall skjulte registre som brukes til å implementere superskalær kjøring av programmer.
Prosessor | Hele registre | FPU- registre |
---|---|---|
Intel Core Duo | 8 | 8 |
Intel Core 2 Duo | 16 | 16 |
Pentium 4 | 8 | 8 |
Pentium 4 med EM64T | 16 | 16 |
Athlon 64 | 16 | 16 |
Athlon MP | 8 | 8 |
Opteron 240 | 16 | 16 |
Itanium 2 | 128 | 128 |
UltraSPARC IIIi | 32 | 32 |
POWER3 | 32 | 32 |
MOS 6502 | 3 | 0 |