Registersatz

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel ist nicht hinreichend mit Belegen (beispielsweise Einzelnachweisen) ausgestattet. Die fraglichen Angaben werden daher möglicherweise demnächst entfernt. Bitte hilf der Wikipedia, indem du die Angaben recherchierst und gute Belege einfügst.

Als Registersatz (engl. Register Set) bezeichnet man die Menge aller Register eines Mikroprozessors. Die Menge derjenigen Register, welche durch Programme direkt angesprochen werden können, bezeichnet man auch als das Programmiermodell eines Prozessors. Über die Register des Programmiermodells hinaus kann es weitere Register geben, die nur prozessorintern verwendet werden. Diese werden auch als Hilfsregister bezeichnet.

Man unterscheidet innerhalb eines Registersatzes drei Typen von Registern:

  • Datenregister dienen der Zwischenspeicherung von Operanden und Rechenergebnissen.
  • Adressregister werden zur Adressierung von Operanden und Befehlen verwendet.
  • Spezialregister finden in unterschiedlichen speziellen Bereichen Anwendung (beispielsweise der Programmzähler oder der Stackpointer)

Gründe für die geringe Anzahl von Registern in einem Mikroprozessor[Bearbeiten | Quelltext bearbeiten]

Die Zahl der Register in einem Prozessor ist – verglichen mit der heutigen Größe des Hauptspeichers, selbst verglichen mit der Größe heute üblicher Cache-Speicher – ausgesprochen gering. Der Grund für diese geringe Anzahl hat im Wesentlichen mit Adressierungsproblemen bei größeren Registeranzahlen zu tun. Erhöht man die Anzahl der Register, so benötigt man früher oder später einen Adressdecoder für den Zugriff auf einzelne Zellen. Damit aber verliert man bereits – verglichen mit dem Zugriff über direkte Steuerleitungen, der zudem parallel auf mehrere Register erfolgen kann – extrem viel Zeit. Darüber hinaus werden Registeradressen in sogenannten Opcodes verwendet. Die Breite von Opcodes ist limitiert, so dass sich auch eine Begrenzung der codierbaren Registeradressen ergibt.

Beispiele[Bearbeiten | Quelltext bearbeiten]

Diese Tabelle zeigt die Anzahl der Register von verschiedenen, häufig verwendeten Rechnerarchitekturen. Bei der X86-Architektur werden die Stack- und Indexregister zu den allgemeinen Registern gezählt, obwohl nur eine begrenzte Zahl von Operationen darauf zulässig ist. Andere Architekturen kennen teilweise auch Einschränkungen auf der Verwendbarkeit einzelner Register.

Architektur Ganzzahlregister (Integer-ALU) Gleitkommaregister (FPU)
x86 8 8
x86-64 16 16
Itanium 128 128
UltraSPARC 32 32
POWER 32 32
Alpha 32 32
6502 3 0
PICmicro 1 0
ARM 16 16

Siehe auch[Bearbeiten | Quelltext bearbeiten]