Station - Befehlsregister

Programme als Daten

Bei einem programmierbaren System kann man beliebige Programme eingeben und sie dann vorgegebene Daten automatisiert verarbeiten lassen. Ein Programm eingeben bedeutet dabei, es im Speicher abzulegen.

Wir benutzen hier einen einzigen Speicher, in den sowohl die zu verarbeitenden Daten als auch das zur Verarbeitung vorgesehene Programm eingegeben werden. Damit das möglich ist, müssen Programme in das vom Speicher vorgegebene Datenformat gebracht werden.

Unser Speichermodell kann nur natürliche Zahlen (als 4-stellige Hexadezimalzahlen) als Daten aufnehmen. Wenn Programme also im Speicher abgelegt werden sollen, dann müssen die Befehle in geeigneter Form mit Zahlen dargestellt werden.

Wir werden die folgende Codierung der Befehlsbezeichner benutzen:

Bezeichner Codierung
INC 1
DEC 2
JMP 3
TST 4
HLT 5

Ein Befehl wie z.B. INC 2 wird im Folgenden durch die natürliche Zahl (1002)_H dargestellt. Der Code besteht aus einem Operationscode und einem Adressteil. Wir legen hier (willkürlich) fest, dass der Adressteil eine dreistellige Hexadezimalzahl ist und dass der Operationscode diesem Adressteil vorangestellt wird.

Die folgende Tabelle zeigt einige Beispiele für codierte Befehle.

Befehl Codierung
INC 2 1002
DEC 1 2001
JMP 4 3004
TST 4 4004
HLT 5000

Die folgende Abbildung zeigt, wie Programme und Daten in unserem Modellrechner angeordnet werden.

Programm-Daten-Speicher

Das Programm wird in die Register beginnend bei der Adresse 0 eingegeben. Danach - ggf. durch ein Register getrennt - folgen die zu verarbeitenden Daten. Beachte, dass im codierten Programm jeweils auf die richtigen Datenregister verwiesen wird.

Aufgabe 1

Gegeben ist die folgende Speicherbelegung:

Programm-Daten-Speicher

Welche Befehle befinden sich in welchen Registern? Wie sieht die Speicherbelegung aus, wenn die Befehle ausgeführt sind?

Ein Register zum Zwischenspeichern von Befehlen

Wir erweitern unser Rechnermodell um ein sogenanntes Befehlsregister. In dieses Hilfsregister können Befehle transportiert und in ihre Bestandteile zerlegt werden. Diese Zerlegung wird benötigt, um Befehle dekodieren und anschließend ausführen zu können.

Befehlsregister

Das erweiterte Rechnermodell lässt sich wie folgt mit Hades-Bausteinen realisieren.

Befehlsregister
befehlsregister.hds

Aufgabe 2

Gib die Speicherbelegung im RAM-Baustein ein ([rechte Maustaste][Edit]...). Transportiere Schritt für Schritt die Befehle in das Befehlsregister und führe sie dann aus, indem du die jeweiligen Daten im Akku verarbeitest.

X

Fehler melden

X

Suche