Vorlesungsskripte aus dem DHBW-Studium
aus der Vorlesung Rechnertechnik vom 15.02.2018
Lösung aus der Vorlesung:
1: CLA; # Setze Akku zu 0.
2: STR 4711; # Speichere Akku-Inhalt an Adresse 4711.
3: INA; # Lese Zahl in Akku.
4: SKZ 8:; # Falls Akku = 0, springe zu 8:
5: ADD(4711); # Addiere Inhalt von Adresse 4711 zu Akku
6: STR 4711; # Speichere Akku-Inhalt an Adresse 4711.
7: SKP 3:; # Springe zur Adresse 3:
8: ADD(4711); # Lade die Summe aus Adresse 4711 in Akku.
9: OUT; # Gebe die Summe aus.
10: HLT; # (halt) Stoppe die Ausführung.
Optimierte Version (powered by Fabian):
def sum = 4711
INA;
SKZ end2;
loop: STR sum;
INA;
SKZ end1;
ADD(sum);
SKP loop;
end1: ADD(sum);
end2: OUT;
HLT;
Das Maschinenprogramm wird besser verständlich, wenn man für die Speicheradressen den Namen einer Variablen (sum
) und für die Sprungadressen ebenfalls Namen, sogenannte “labels” einführt.
Dieses Vorgehen hat außerdem den Vorteil, dass absolute Speicheradressen bei Änderungen des Programms nicht gesondert gepflegt werden müssen; dadurch wird eine Fehlerquelle vermieden.
Man nähert sich damit einem richtigen Assemblerprogramm.
Architekturen, somit Hardware ist auf wenige, genau spezifizierte Informationsdarstellungen abgestimmt. Diese Informationsdarstellungen nennt man Daten. Man unterscheidet folgende Arten von Daten:
Zur rechnerinternen Darstellung von Informationen werden physikalische Größen verwendet, die unterschiedliche Zustände annehmen können, z.B.:
2 Zustände binäre Zustände
Ein Maschinenwort ist eine geordnete endliche Folge von Binärzeichen, die ein Element aus einer Menge von Daten kodiert.
Gängige Wortlängen sind:
Wortlänge | Abkürzung |
---|---|
1 | Bit |
3 | Triade |
4 | Nibble, Tetrade |
8 | Byte |
Als Zählereinheit für die Größe eines Speichers werden in der Regel Byte, Wort (2 Byte) oder Doppelwort (4 Byte) verwendet.
Die Zählereinheiten werden mit Vorfaktoren versehen:
Vorfaktor-Abkürzung | Faktor | dezimale Größenordnung |
---|---|---|
k (kilo) | Tausend | |
M (Mega) | Million | |
G (Giga) | Milliarde (engl. billion) | |
T (Tera) | Billion (engl. trillion) |
Intern arbeiten digitale Rechner mit dem Dual- oder Binärsystem. Für die Ein-/Ausgabe werden als Zahlensysteme neben dem Dezimalsystem (Basis ) auch das Dual- (Basis ), das Oktal- (Basis ) oder das Hexadezimalsystem (Basis ) verwendet.
Für die Darstellung von Informationen gilt allgemein:
Jedes ist zu einer gegebenen Zahl eindeutig mit Ziffern darstellbar, wenn
ist.
Beispiel:
Sei , dann ist
angewendet
Eine Zahl wird zu einer Zahl in -adischer
Darstellung (Basis ) durch sukzessive
Division durch , der jeweilige Rest ist
dann die Ziffer
in der -adischen Darstellung. Das -Tupel heißt -adische
Darstellung
von .
Beispiel:
(konvertiere Dezimalzahl in Hexadezimalzahl)
Schritt 0:
Schritt 1:
Schritt 2:
Die Zahlen bis werden im Hex-System durch die Ziffern bis dargestellt.
Übung:
Umgekehrt wird eine -adische Zahl zu einer Dezimalzahl durch die Berechnung von
gegeben
In allen Zahlensystemen lassen sich die Operationen Addition, Subtraktion, Multiplikation und Division mit dem vom Dezimalsystem bekannten Verfahren ausführen, d.h. stellenweises Rechnen mit Überträgen und Borger.