Grundlagen der CPU-Architektur: Register, Befehle und Bus-Systeme

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 7,3 KB

CPU-Register: Temporäre Datenspeicher

Ein Register ist eine kleine, sehr schnelle Speichereinheit innerhalb der CPU, die temporär Informationen für den Betrieb des Prozessors speichert. Register sind entscheidend für die schnelle Verarbeitung von Daten und Anweisungen. Sie sind in verschiedene Typen unterteilt:

  • Allzweckregister (General Purpose Registers)

    Diese Register dienen der temporären Speicherung von Daten und Operanden, die von der CPU für allgemeine Berechnungen und Operationen benötigt werden.

  • Segmentregister

    Segmentregister speichern Adressen, die zur Segmentierung des Speichers verwendet werden. Sie helfen bei der Adressierung von Speicherbereichen.

  • Status- oder Flaggenregister

    Diese Register kontrollieren und spiegeln den Zustand der CPU wider. Sie enthalten Flags (z.B. für Überlauf, Null, Vorzeichen), die das Ergebnis von Operationen oder den aktuellen Zustand des Prozessors anzeigen.

Spezielle CPU-Register und ihre Funktionen

  • Programmzähler (PC)

    Der Programmzähler (PC) speichert die Speicheradresse der nächsten Anweisung, die vom Prozessor gelesen und ausgeführt werden soll.

  • Speicheradressregister (MAR)

    Das Memory Address Register (MAR) hält die Speicheradresse der Daten oder Anweisungen, die aus dem Hauptspeicher gelesen oder in diesen geschrieben werden sollen. Es fungiert als Puffer für RAM-Adressen.

  • Speicherdatenregister (MBR)

    Das Memory Buffer Register (MBR), auch als Memory Data Register bekannt, dient als temporärer Puffer für Daten, die zwischen der CPU und dem Hauptspeicher übertragen werden. Es speichert Daten, die gelesen oder geschrieben werden.

  • Akkumulator (Acc)

    Der Akkumulator (Acc) speichert Informationen über die Operanden der Arithmetisch-Logischen Einheit (ALU) und die Ergebnisse von Operationen. Er wird oft für Operationen mit zwei Operanden verwendet, wobei ein Operand direkt aus dem MBR bereitgestellt werden kann.

  • Operationsregister (ROP)

    Das Operationsregister (ROP) enthält den Operationscode (Opcode) für die Arithmetisch-Logische Einheit (ALU). Dieser binäre Code ist erforderlich, um die Art der auszuführenden Operation auszuwählen.

  • Ergebnisregister (A)

    Dieses Register wird verwendet, um die Ergebnisse der Operationen der ALU zu speichern und ist direkt mit deren Ausgang verbunden.

  • Taktgeber / Steuerwerk

    Der Taktgeber ist der Teil des Mikroprozessors, der für die Erzeugung von Timing-Signalen zuständig ist. Diese Signale synchronisieren die Operationen der CPU basierend auf der Taktfrequenz.

  • Befehlsregister (IR)

    Das Instruction Register (IR) speichert die aktuell auszuführende Anweisung, die aus einer Speicheradresse geladen wurde. Es sendet diese zur Dekodierung und zur Erzeugung der richtigen Steuersignale für die Ausführung der Anweisung.

Speicherorganisation und Befehlssätze

  • Adressräume

    Ein Adressraum ist eine Menge von logischen Adressen, die von einem Programm verwendet werden können (z.B. für Variablen, Dateien, Sprungmarken).

  • Physische Speicherplätze

    Dies sind die tatsächlichen physikalischen Speicherpositionen im Hauptspeicher, in denen Daten und Anweisungen gespeichert werden können.

  • Befehlssatz (Instruction Set)

    Der Befehlssatz ist die Gesamtheit der Anweisungen, die ein Mikroprozessor verstehen und implementieren kann.

Arten von Anweisungen

Mikroprozessoren unterstützen verschiedene Kategorien von Anweisungen:

  • Arithmetische Anweisungen

    Diese Gruppe umfasst alle Anweisungen, mit denen arithmetische Operationen ausgeführt werden können, wie z.B. Addition (+) und Subtraktion (-).

  • Logische Anweisungen

    Logische Anweisungen sind in der Lage, logische Operationen wie UND (AND), ODER (OR) und NICHT (NOT) durchzuführen.

  • Datentransfer-Anweisungen

    Diese werden für die Übertragung von Daten zwischen CPU-Registern, dem Hauptspeicher sowie zwischen Ein- und Ausgabe-Modulen verwendet.

  • Sprungbefehle

    Sprungbefehle ermöglichen es, die Ausführung eines Programms zu einer bestimmten Stelle im Code zu springen, indem der Inhalt des Programmzählers geändert wird. Sie können unbedingt sein (der Sprung erfolgt immer) oder bedingt (der Sprung erfolgt nur, wenn eine bestimmte Bedingung erfüllt ist).

  • Unterprogrammaufrufe

    Dies ist ein Teil des Programms, der eine spezifische Funktion ausführt. Jedes Mal, wenn das Programm diese Funktion benötigt, ruft es das Unterprogramm auf. Nach dessen Ausführung kehrt es zur nächsten Anweisung im Hauptprogramm zurück. Dies dient dazu, wiederkehrende Routinen im Hauptprogramm nicht mehrfach implementieren zu müssen.

  • Ein-/Ausgabe-Anweisungen

    Dies sind Anweisungen, die verwendet werden, um Daten zwischen der CPU und Peripheriegeräten des Systems zu übertragen.

  • Spezialanweisungen

    Dazu gehören spezielle Befehle wie NOP (No Operation), CLC (Clear Carry Flag) oder RRC (Rotate Right through Carry).

Struktur und Ausführung von Anweisungen

Anweisungen bestehen typischerweise aus:

  • Opcode (Operationscode)

    Der Opcode gibt die Art der Operation an, die durchgeführt werden soll.

  • Operanden

    Die Operanden sind die Daten oder Adressen, auf die die Operation angewendet wird.

Befehlszyklus

Der Befehlszyklus wird als die Abfolge von Aktionen definiert, die zur Ausführung einer einzelnen Anweisung notwendig sind.

Ausführungsphase

Die Ausführungsphase besteht in der Durchführung aller Tätigkeiten, die zur eigentlichen Ausführung der Anweisung gehören.

Das Bus-System der CPU

In der Computerarchitektur ist ein Bus ein System von Leitungen, das Hardware-Geräten die Kommunikation ermöglicht. Diese Leitungen werden von allen Geräten gemeinsam genutzt und ermöglichen es ihnen, Informationen untereinander zu übertragen. Sie sind letztlich die internen 'Informationsautobahnen', die die Übertragung aller vom System bearbeiteten Informationen ermöglichen.

  • Datenbus

    Der Datenbus ist für die Übertragung von Daten zwischen der CPU, dem Speicher und den Ein-/Ausgabe-Geräten zuständig. Er ist bidirektional.

  • Steuerbus

    Der Steuerbus regelt die Nutzung und den Zugang zu den Daten- und Adressleitungen. Da diese Leitungen von allen Komponenten gemeinsam genutzt werden, sind bestimmte Mechanismen zur Steuerung ihrer Verwendung erforderlich. Der Steuerbus überträgt Steuersignale sowie Timing-Informationen zwischen den Modulen, um einen reibungslosen und fehlerfreien Betrieb des Systems zu gewährleisten.

  • Adressbus

    Der Adressbus ist ein vom Datenbus unabhängiger Kanal des Mikroprozessors, der die Speicheradresse der Daten enthält, die übertragen werden sollen. Der Adressbus besteht aus einer Reihe von Leitungen, die zur Festlegung einer eindeutigen Adresse benötigt werden.

Verwandte Einträge: