Stackrechner

Stackrechner

Prozessoren lassen sich durch eine Vielzahl von Eigenschaften unterscheiden. Eine der elementarsten Eigenschaften sind die Anzahl der Adressbefehle im Maschinenbefehl. Diese Eigenschaften sind ausschlaggebend für die Rechnerstruktur und den Prozessortyp.

Inhaltsverzeichnis

0-Adressbefehle / Stackrechner

Datenwerk eines 0-Adressrechner

Die Befehle der ALU sind 0-Adressbefehle mit eingeschlossener/impliziter Adressierung, das heißt das die ALU-Operationen direkt aus dem Top Of Stack bzw. (Top Of Stack - 1) lesen und schreiben. Beim Schreiben werden auf das TOS werden die darunterliegenden Stackinhalte nach unten verschoben und beim Lesen werden die darunterliegenden Stackinhalt nach "oben angehoben".

Jedoch erfolgen alle Speicherzugriff über PUSH Var und POP Var, sprich 1-Adressbefehle.

Beispiel

Berechnung

 a = (x + y) \cdot c

Assemblercode

PUSH X
PUSH Y
ADD
PUSH C
MULT
POP A

1-Adressbefehle / Akkumulatorrechner

Die Befehle der ALU sind 1-Adressbefehle mit eingeschlossener/impliziter Adressierung als 1.Quelle ( und Ziel ) und mit Speicherzugriff als 2.Quelle. Die Speicherzugriffe erfolgen auch über 1-Adressbefehle, als Beispiel an dem VIP LDA X (Lade X in den Akkumulator-Register) und STA X (Speichere in Inhalt des Akkumulator-Register in X)

Datenwerk eines 1-Adressrechner


Beispiel

Berechnung

 a = (x + y) \cdot c

Assemblercode(am Beispiel des VIP)

LDA X
ADD Y
MULT C
STA A


2-Adressbefehle / typisch CISC-Rechner

Datenwerk eines 2-Adressrechner

Das Akkumulator-Register ist durch ein allgemeinen Registerspeicher ersetzt worden, im Bild der GPR. Die Benutzung der Speicherzellen dient beispielsweise als Indexregister,Datenregister, Adressregister usw.

Transportbefehle und Befehle in der ALU sind 2-Adressbefehle mit einer Registeradresse als 1.Quelle und Ziel und einer Register-/Speicheradresse als zweite Quelle.

Beispiel

Berechnung

 a = (x + y) \cdot c

Assemblercode

MOVE.W R1,X
ADD.W R1,Y
MULT.W R1,C
MOVE.W A,R1

3-Adressbefehle / typisch RISC-Rechner

Datenwerk eines 3-Adressrechner

Das Akkumulator-Register ist durch ein allgemeinen Registerspeicher ersetzt worden, im Bild der GPR. Dieser Registerspeicher erlaubt eine 3 Port Speicher, das heißt zwei Lese- und einen Schreibzugriff zeitgleich, somit wird eine Unterstützung der Fließbandverarbeitung gewährleistet.


Beispiel

Berechnung

 a = (x + y) \cdot c

Assemblercode

LD.W r1, 0(r_x)
LD.W r2, 0(r_y)
ADD r1, r2, r1
LD.W r2, 0(r_c)
MULT r2, r2, r1
ST.W r2, 0(r_a)

Literatur

  • Thomas Flik: Mikroprozessortechnik und Rechnerstrukturen., 7.Auflage Springer Berlin 2005. ISBN 3-540-22270-7
  • Andrew S. Tanenbaum: Computerarchitektur. Strukturen - Konzepte - Grundlagen, 5.Auflage München 2005 . ISBN 3-827-371511
  • Matthias Menge : Moderne Prozessorarchitekturen. Prinzipien und ihre Realisierungen: Prinzipien Und Ihre Realisierungen , 1.Auflage Springer Berlin 2005 . ISBN 3-540-24390-9

Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Adressrechner (Maschinenbefehl) — Prozessoren lassen sich durch eine Vielzahl von Eigenschaften unterscheiden. Eine der elementarsten Eigenschaften sind die Anzahl der Adressbefehle im Maschinenbefehl. Diese Eigenschaften sind ausschlaggebend für die Rechnerstruktur und den… …   Deutsch Wikipedia

  • Prozessor (Hardware) — Ein Prozessor ist eine Maschine oder eine elektronische Schaltung (i.A. ein IC), welche gemäß übergebener Befehle andere Maschinen oder elektrische Schaltungen steuert und dabei einen Prozess oder Algorithmus vorantreibt, was meist… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”