Das Register im Prozessor besteht aus einer Menge von Schaltern, die als Wort (ein oder mehrere Bytes) ein Datum repäsentieren, welches mit der Recheneinheit in unmittelbarer Verbindung steht.
Anschaulich ist das noch bei den ersten Computern, die noch keinen Arbeitsspeicher im heutigen Sinne hatten. Sämtliche Daten und das Programm selbst waren auf anderen "Speichern", wie zum Beispiel Lochkarten abgelegt. Damit das Rechenwerk eine Operation ausführen konnte, mussten die Daten in "elektrische Schaltlogik" eingelesen werden, das heisst, die Daten mussten "elektrisch" repräsentiert werden - was eben in Registern geschieht.
Das Kartenlesegerät übersetzt die Lochkarte in Signale, die verrechnet werden.
Die eigentlichen Registern sind im Befehlscode des Rechenwerks hart codiert. Bei den meisten Architekturen sind folgende Spezialregistertypen anzutreffen:
Das Befehlszählregister enthält die Speicheradresse des derzeitigen oder des nächsten auszuführenden Befehls – ein Sprungbefehl setzt dieses Register einfach auf einen neuen Wert;
Das Befehlsregister enthält den aktuellen Befehl
Segmentregister, eine Spezialität der x86-Plattform, die die oberen 16 Bit einer 20-Bit-Adresse enthalten, ihr Inhalt muss also mit 16 multipliziert und dann zu einem segmentinternen Offset addiert werden, um den endgültigen Speicherplatz zu erreichen (auf diese Weise konnten mit reinen 16-Bit-Registerladebefehlen 20 Bit Adressraum abgedeckt werden, also 1 MB);
und andere