- Registersatz
-
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
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
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
Wikimedia Foundation.