Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Registersatz

Als Registersatz (englisch Register Set) bezeichnet man die Menge aller Register eines Mikroprozessors. Die Menge derjenigen Register, welche durch …

Inhalt3 Abschnitte
  1. 1. Begriff und Aufbau
  2. 2. Warum es nur wenige Register gibt
  3. 3. Beispiele verschiedener Architekturen

Begriff und Aufbau

Ein Registersatz (englisch „Register Set“) ist die Menge aller Register eines Mikroprozessors. Register sind kleine, prozessorinterne Speicherplätze, die während der Verarbeitung von Befehlen genutzt werden. Diejenigen Register, die Programme direkt ansprechen können, bilden das Programmiermodell eines Prozessors. Zusätzlich kann es weitere Register geben, die ausschließlich innerhalb des Prozessors verwendet werden. Diese heißen Hilfsregister.

Innerhalb eines Registersatzes werden drei Typen unterschieden:

  • Datenregister speichern vorübergehend Operanden, also die von einer Operation verwendeten Werte, sowie Rechenergebnisse.
  • Adressregister dienen zur Adressierung von Operanden und Befehlen. Sie enthalten damit Angaben, über die der Prozessor die benötigten Daten oder Anweisungen findet.
  • Spezialregister erfüllen unterschiedliche besondere Aufgaben. Beispiele sind der Programmzähler und der Stackpointer.

Der Registersatz legt somit wesentlich fest, welche Register ein Programm verwenden kann und welche Aufgaben diese Register bei der Verarbeitung von Daten, Adressen und Befehlen übernehmen.

Warum es nur wenige Register gibt

Die Zahl der Register in einem Prozessor ist im Vergleich zur Größe des Hauptspeichers sehr gering; das gilt selbst im Vergleich mit heute üblichen Cache-Speichern. Der wesentliche Grund liegt in den Problemen bei der Adressierung größerer Registermengen.

Wird die Anzahl der Register erhöht, wird früher oder später ein Adressdecoder benötigt, um auf einzelne Speicherzellen beziehungsweise Register zugreifen zu können. Gegenüber einem Zugriff über direkte Steuerleitungen ist dies sehr viel langsamer. Direkte Steuerleitungen ermöglichen außerdem den parallelen Zugriff auf mehrere Register.

Zusätzlich werden Registeradressen in sogenannten Opcodes codiert. Ein Opcode ist der Teil eines Maschinenbefehls, der unter anderem festlegt, welche Operation ausgeführt wird und welche Register beteiligt sind. Da die Breite von Opcodes begrenzt ist, ist auch die Zahl der Registeradressen begrenzt, die darin codiert werden können. Mehr Register würden daher nicht nur die technische Adressierung erschweren, sondern auch mehr Bits in den Befehlen erfordern.

Beispiele verschiedener Architekturen

Die im Artikel aufgeführte Tabelle vergleicht die Anzahl der Ganzzahlregister für die Integer-ALU und der Gleitkommaregister für die FPU verschiedener häufig verwendeter Rechnerarchitekturen:

  • x86: 8 Ganzzahlregister und 8 Gleitkommaregister
  • x86-64: 16 Ganzzahlregister und 16 Gleitkommaregister
  • Itanium: 128 Ganzzahlregister und 128 Gleitkommaregister
  • UltraSPARC: 32 Ganzzahlregister und 32 Gleitkommaregister
  • MIPS: 32 Ganzzahlregister und 32 Gleitkommaregister
  • POWER: 32 Ganzzahlregister und 32 Gleitkommaregister
  • Alpha: 32 Ganzzahlregister und 32 Gleitkommaregister
  • 6502: 3 Ganzzahlregister und 0 Gleitkommaregister
  • PICmicro: 1 Ganzzahlregister und 0 Gleitkommaregister
  • ARM: 16 Ganzzahlregister und 16 Gleitkommaregister

Bei der x86-Architektur werden Stack- und Indexregister zu den allgemeinen Registern gezählt, obwohl nur eine begrenzte Zahl von Operationen mit ihnen zulässig ist. Auch andere Architekturen können die Verwendbarkeit einzelner Register einschränken.

Weiterlesen

Mikroprozessor Ein Mikroprozessor (µP oder uP) ist ein als integrierter Schaltkreis (IC) ausgeführter Computerprozessor. Typische Beispiele von Mikroprozessoren sind die … Register (Prozessor) Register in Prozessoren sind Speicherbereiche für Daten, auf die Prozessoren besonders schnell zugreifen können. Sie befinden sich direkt in der Nähe der … Adressierung (Rechnerarchitektur) Adressierung ist in der Programmierung das Festlegen, auf welche Operanden (z. B. Datenfelder) sich ein Maschinenbefehl bezieht. Die Operanden können auf … Cache Cache ([kæʃ], auch [ kaʃ]) bezeichnet in der Informationstechnik einen schnellen Pufferspeicher, der (wiederholte) Zugriffe auf vergleichsweise langsame … Opcode Ein spezielles Programm, der Assembler, erzeugt Maschinencode, indem es im Wesentlichen die Mnemonics durch ihre jeweiligen Opcodes ersetzt. Die meisten … Rechnerarchitektur Zu den bekanntesten Architekturen für Computer bzw. deren zentralen Recheneinheiten, oder Prozessoren, zählen die Harvard-Architektur und die Von-Neumann- … Arithmetisch-logische Einheit Eine arithmetisch-logische Einheit (englisch arithmetic logic unit, daher oft abgekürzt ALU) ist ein elektronisches Rechenwerk, welches in Prozessoren zum … PICmicro Bei PICmicro handelt es sich um eine Mikrocontrollerfamilie, die von der Firma Microchip Technology Inc. hergestellt wird. Ein 16-bit-Mikrocontroller … ARM-Architektur Der wesentliche Unterschied des ARM9 gegenüber dem ARM7 ist je ein getrennter Bus für Instruktionen und Daten (Harvard-Architektur). Meist werden diese an … Befehlssatz Der Befehlssatz, auch Instruktionssatz (englisch instruction set), eines Prozessors ist in der Rechnerarchitektur die Menge der Maschinenbefehle, die ein …