Rechnerarchitektur

Von-Neumann-Rechner – Das Rechenwerk

Du hast von Begriffen wie Takt und Mikroprogramm schon gehört, kannst sie aber nicht zuordnen? Kein Problem, in diesem Beitrag erklären wir sie dir!

Inhaltsübersicht

Ausführen von Maschinenbefehlen durch Funktionseinheiten

Das Rechenwerk ist aus sogenannten Funktionseinheiten aufgebaut. Jede von ihnen realisiert einen einzigen Maschinenbefehl. Du kannst dir also vorstellen, wie viele wir dafür brauchen, dass etwas so Komplexes wie ein Betriebssystem funktioniert.

Von-Neumann-Rechner, Rechenwerk
direkt ins Video springen
Das Rechenwerk besteht aus Funktionseinheiten

RISC- und CISC-Prozessoren

Also wie realisieren wir das im Rechner? Dafür gibt es zwei Möglichkeiten: Man kann Funktionseinheiten als fest installierte Schaltungen herstellen. Verwendet wird diese Technik in sogenannten RISC-Prozessoren. Dabei wird immer ein Befehl direkt in ein Steuersignal umgesetzt, was den Vorteil hat, dass es nur einen Takt benötigt und Platz spart.

Von-Neumann-Rechner, Rechenwerk
direkt ins Video springen
RISC-Prozessoren

Die zweite Möglichkeit nutzen vor allem die sogenannten CISC-Prozessoren. Dabei wird ein Befehl durch ein sogenanntes Mikroprogramm realisiert. Das heißt, es werden mehrere feste Schaltungen zusammengeschlossen. Das ermöglicht kürzere Maschinenprogramme, einfachere Compiler und ist wegen der Modularität beliebig um weitere Maschinenbefehle erweiterbar. Allerdings benötigt diese Alternative mehrere Takte zum Umsetzen eines Befehls.

Von-Neumann-Rechner, Rechenwerk
direkt ins Video springen
CISC-Prozessoren

Register für Operationen im Rechner

Ebenso Teil des Rechenwerks sind die Register. Sie sind sowohl für die Eingabe- und Ausgabedaten einer Operation, als auch für die Ergebnisse durchgeführter Operationen zuständig. Dabei gibt es vier verschiedene Arten von Registern.

Die erste Art sind die Akkumulator-Register, die in jeder Funktionseinheit ein- oder mehrmals enthalten sind. Sie speichern Operanden und auch die Resultate der durchgeführten Operationen. Sie sind also so etwas wie das Blatt, auf dem das Rechenwerk seine Rechnungen aufschreibt.

Von-Neumann-Rechner, Rechenwerk
direkt ins Video springen
Akkumulator-Register

Dann gibt es auch noch die Status-Register. Diese haben einen völlig anderen Sinn, denn sie dienen der Kommunikation mit dem Steuerwerk, indem sie sich wie die Status LED an deinem Handy verhalten. Sie speichern nämlich den Zustand der Funktionseinheit, also ob diese gerade liest, schreibt oder sich langweilt. Dabei solltest du wissen, dass jede Funktionseinheit nur ein Status-Register besitzt. Das sollte allerdings logisch sein, denn warum sollte man etwas so Einfaches doppelt ausführen?

Von-Neumann-Rechner, Rechenwerk
direkt ins Video springen
Status-Register

Nun können wir mit dem Steuerwerk kommunizieren. Also brauchen wir nun nur noch eine Möglichkeit, uns auch mit dem Speicherwerk zu verständigen.

Dazu gibt es zwei spezielle Arten von Registern. Zum einen den Adress-Memory-Port und zum anderen den Write-Memory-Port. Letzterer enthält alle Informationen, die wir speichern wollen. Er ist also in gewisser Weise wie ein Dokument oder Brief. Damit dieser Brief aber auch ankommt, müssen wir ihn in einen adressierten und frankierten Umschlag stecken. Diesen liefert uns der Adress-Memory-Port, denn er enthält die Adressen der Speicherzellen, in die wir etwas schreiben oder aus denen wir etwas auslesen wollen.

Von-Neumann-Rechner, Rechenwerk
direkt ins Video springen
Adress-Memory-Port und Write-Memory-Port

Maschinencode als Befehle für den Prozessor

Damit haben wir alle Komponenten des Rechenwerks durch. Aber was ist nun dieser mysteriöse Maschinencode? Dabei handelt es sich um die Befehle, die dein Prozessor ausführt und die in individuellen Speicherzellen abgelegt sind. Real liegen diese Befehle natürlich binär vor, damit man sie aber besser lesen kann, schreibt man sie meist so auf:

Von-Neumann-Rechner, Rechenwerk
direkt ins Video springen
Ausführung des Maschinencodes – Beispiel

Es gibt eine ganze Liste von Befehlen, die man verwenden kann. Wir schauen uns jetzt aber nur dieses Beispiel an, um nachvollziehen zu können nach welchem Schema diese Befehle funktionieren. Ganz links siehst du die Nummer der Speicherzelle, in der der Befehl beziehungsweise die Werte, wie im Fall von 1004 und 1006, gespeichert sind. Daneben finden wir unser „Programm“. Der erste Befehl INIT setzt den Wert der angegebenen Speicherzelle auf 0.

Von-Neumann-Rechner, Rechenwerk
direkt ins Video springen
Ausführung des Maschinencodes – Beispiel

Danach wird der Counter automatisch eins hochgezählt und wir führen den Befehl der nächsthöheren Zelle aus. Das ist in unserem Fall ein Sprungbefehl.  Diesen gibt es in zwei Formen. Im ersten Fall steht nach dem Sprungbefehl nur eine Speicherzelle. Hier erfolgt demnach der Sprung direkt zur angegebenen Zelle. Im zweiten Fall stehen hinter dem Sprungbefehl zwei Speicherzellen, die durch ein Komma getrennt sind. Hier musst du beachten, dass der Sprung zur zweiten Speicherzelle immer nur dann erfolgt, wenn der Wert der ersten Speicherzelle 0 ist.

Von-Neumann-Rechner, Rechenwerk
direkt ins Video springen
Ausführung des Maschinencodes – Beispiel

In unserem Beispiel ist das aufgrund der vorherigen Anweisung der Fall, weswegen unser Counter sofort auf den Wert 1005 gesetzt wird und wir alle Anweisungen zwischen 1001 und 1005 überspringen.

Dort befinden wir uns auch schon am Ende des „Programms“, denn der dortige Befehl gibt den Wert der Speicherzelle 1006 an das Programm zurück, welches unser Beispiel gestartet hat. Meist ist das das Betriebssystem oder eine andere Anwendung.

Von-Neumann-Rechner, Rechenwerk
direkt ins Video springen
Ausführung des Maschinencodes – Beispiel

Jetzt bist du bestens gewappnet korrekten Maschinencode zu schreiben. Also auf geht‘s, schau dir die Liste mit den verschiedenen Befehlen nochmal an und leg los!

Hallo, leider nutzt du einen AdBlocker.

Auf Studyflix bieten wir dir kostenlos hochwertige Bildung an. Dies können wir nur durch die Unterstützung unserer Werbepartner tun.

Schalte bitte deinen Adblocker für Studyflix aus oder füge uns zu deinen Ausnahmen hinzu. Das tut dir nicht weh und hilft uns weiter.

Danke!
Dein Studyflix-Team

Wenn du nicht weißt, wie du deinen Adblocker deaktivierst oder Studyflix zu den Ausnahmen hinzufügst, findest du hier eine kurze Anleitung. Bitte lade anschließend die Seite neu.