Computerarchitektur: CPU, ULA und Maschinenbefehle im Überblick

Informatik7,69 KB

Computerarchitektur: CPU, ULA und Maschinenbefehle

Kompost oder Prozess:
Control Units: Die Control Units sind für das Suchen der Instruktionen im Hauptspeicher und für die Bestimmung des Typs jeder Instruktion verantwortlich.
ULA: Die ULA ist für die Ausführung der logischen und arithmetischen Operationen verantwortlich.
Systembus: Er verbindet mehrere miteinander verbundene Komponenten.
Kanäle: Sie liefern Daten an die ULA.

Eine ULA ist der Teil des Computers, der arithmetische und logische Operationen ausführt. Alle anderen Elemente sind Computer-Steuerungen, Register, Speicher und I/O-Geräte, die vor allem dafür da sind, Prozesse zu steuern und die von der ULA vorbestellten Ergebnisse zu empfangen.

Elemente eines Maschinenbefehls

Operationscode: Die Operation spezifiziert die auszuführende Wirkung. Eine Operation wird durch einen Binärcode angegeben.
Quelle in Bezug auf Operationen: Die Quelle ist der Eingabeoperand, mit dem die Operation durchgeführt wird.
Ziel in Bezug auf Operationen: Das Ziel ist der Operand, in dem die Operation das Ergebnis erzeugt.
Adresse der nächsten Instruktion: Sie zeigt der CPU, wo sie die nächste Instruktion finden muss.

Lokalisierung der beiden Operanden

Die Quell- und Zieloperanden befinden sich im:

  • Hauptspeicher oder virtuellen Speicher
  • CPU-Register
  • Ein- und Ausgabegeräten

Darstellung der Instruktionen

Jede Instruktion wird durch eine Folge von Bits dargestellt. Bei den meisten Befehlssätzen wird mehr als ein Instruktionsformat verwendet. Während einer Ausführung wird eine Instruktion im Instruktionsregister (IR) der CPU gelesen. Die CPU muss in der Lage sein, den Operationscode der Instruktion zu extrahieren und die erforderlichen Operanden vorzubereiten.

Arten von Instruktionen

1. Lade den Inhalt der Speicherposition 513.
2. Addiere den Inhalt der Speicherposition 514 zum Register.
3. Speichere den Inhalt des Registers in der Speicherposition 513.

Eine Sprache mit hoher Abstraktion erfordert mehrere Maschineninstruktionen. Dieser Prozess wird als Maschinensprache bezeichnet, und diese Maschinen-Operationen sind beispielsweise Basic oder Express, die Bewegungen und Registeroperationen umfassen.

* Ein Computer mit Instruction Set erlaubt dem Benutzer die Verarbeitung jeder beliebigen Aufgabe. ODER: Betrachte die verfügbaren Befehle in einer höheren Programmiersprache, denn jedes Programm muss in Maschinensprache übersetzt werden.

Hauptbefehlsarten

Verarbeitungsbefehle: Arithmetik- und Logikbefehle.
Speicherbefehle: Speicherbefehle.
Bewegungsbefehle: Ein-/Ausgabebefehle.
Kontrollbefehle: Sprung- und Verzweigungsbefehle.

Adressanzahl

Eine der traditionellen Arten, eine Architektur zu beschreiben, ist die Anzahl der Adressen, die jede Instruktion enthält.

Wie viele Adressen sind maximal in einer Instruktion nötig?

Es gibt kein Maximum; üblich sind zwei oder ein Adressoperand.

Einadressbefehle

Instruktionen mit nur einer Adresse sind einfach. Es wird jedoch eine implizite Adresse, der Akkumulator (AC), verwendet. Er enthält außerdem die beiden Operanden und das Ergebnis. Wenn dafür 8 Instruktionen nötig sind, gilt: Auswirkung der Adresse X, nein, keine Instruktion.

Das Ergebnis ist weniger primitiv und in der Erweiterung weniger aufwendig. Wenn die Anzahl der Instruktionen im Programm größer ist, steigen die Länge und die Ausführungszeit des Programms. Moderne Maschinen verwenden meist zwei oder drei Instruktionen, um dies zu verringern. Eine weitere Frage ist die Entscheidung, ob sich eine Adresse auf eine Position im Speicher oder ein Register bezieht.

Adressierungsarten

Unmittelbare Adressierung: Der Operand ist im Befehl selbst angegeben.
Verwendung: Zur Definition und Zuweisung konstanter Anfangswerte oder Variablen.
Vorteil: Es ist kein Speicherzugriff erforderlich.
Einschränkung: Die Größe des Operanden ist auf die Größe des Adressfeldes begrenzt.

Direkte Adressierung: Das Adressfeld enthält die Adresse des Operanden im Speicher.
Verwendung: Diese Art war in den ersten Computergenerationen üblich und wird heute in kleinen Computern verwendet.
Vorteil: Der Zugriff erfordert nur einen Speicherzugriff.
Einschränkung: Der Adressraum ist begrenzt.

Indirekte Adressierung: Im Adressfeld steht die Adresse eines Speicherwortes, das wiederum die Adresse des Operanden enthält.
Vorteil: Ein Wort hat N Bit, daher ist der Adressraum 2^N.
Nachteil: Es sind zwei Speicherzugriffe nötig.

Register-Adressierung: Ähnlich wie die indirekte Adressierung, jedoch verweist das Adressfeld auf ein Register statt auf eine Speicheradresse.
Vorteile: Das Adressfeld ist klein, und es ist kein Speicherzugriff erforderlich.
Nachteil: Der Adressraum ist begrenzt.

Indirekte Register-Adressierung: Ähnlich der indirekten Adressierung, doch das Adressfeld verweist auf ein Register, das die Adresse im Speicher enthält. Vorteile und Nachteile entsprechen der indirekten Adressierung, benötigt aber weniger Speicherzugriffe.

Adressierung durch Verschiebung: Kombiniert die Eigenschaften der direkten und indirekten Register-Adressierung. Es gibt drei Typen: 1. Relative Adressierung, 2. Basisadressierung, 3. Indexadressierung.

Stack-Adressierung: Diese Adressierungsart ist implizit. Maschineninstruktionen greifen nicht direkt auf den Speicher zu, sondern implizit auf den Stapel-Top.

Organisation der Verarbeitung

Befehl holen: Die CPU liest eine Instruktion aus dem Speicher.
Befehl interpretieren: Die Instruktion wird decodiert, um festzustellen, welche Aktion erforderlich ist.
Operanden holen: Die Ausführung der Instruktion kann das Lesen von Operanden aus dem Speicher oder einem I/O-Modul erfordern.
Verarbeitung der Operanden: Die Ausführung erfordert eventuell eine arithmetische oder logische Operation.
Ergebnisse schreiben: Die Ergebnisse der Ausführung werden in den Speicher oder das I/O-Modul geschrieben.

Register-Organisation

Sichtbare Register für den Benutzer: Sie ermöglichen dem Programmierer, Speicherzugriffe durch Optimierung der Registerverwendung zu minimieren.
Nicht sichtbare Register für den Benutzer: Sie werden von den Steuereinheiten zur CPU-Steuerung verwendet, etwa für privilegierte Operationen und die Kontrolle der Programmausführung durch das Betriebssystem.

Allzweckregister

Diese Registerart kann für verschiedene Funktionen genutzt werden, also orthogonal zu den Operationscodes. Jedes Allzweckregister kann jeden Operationscode enthalten.

Einschränkungen bei Registern

Register können nur für bestimmte Zwecke genutzt werden und dürfen nicht zur Berechnung von Operandenadressen verwendet werden.

Instruktionszyklus

Holen: Die Instruktion wird vom Speicher zur CPU gelesen.
Ausführen: Der Operationscode wird gemäß der angegebenen Operation ausgeführt.
Unterbrechung: Wenn eine Unterbrechung auftritt, wird der Zustand des aktuellen Prozesses gespeichert und die Unterbrechungsbehandlung aktiviert.

Herunterladen

PDF Word HTML