Prozessorarchitektur

Adressrechner (Maschinenbefehl)

aus Wikipedia, der freien Enzyklopädie

Wechseln zu: Navigation, Suche

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


Inhaltsverzeichnis

[Bearbeiten] 0-Adressbefehle / Stackrechner

Datenwerk eines 0-Adressrechner
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.

[Bearbeiten] Beispiel

Berechnung

 a = (x + y) cdot c

Assemblercode

PUSH X
PUSH Y
ADD
PUSH C
MULT
POP A

[Bearbeiten] 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
Datenwerk eines 1-Adressrechner


[Bearbeiten] Beispiel

Berechnung

 a = (x + y) cdot c

Assemblercode(am Beispiel des VIP)

LDA X
ADD Y
MULT C
STA A


[Bearbeiten] 2-Adressbefehle / typisch CISC-Rechner

Datenwerk eines 2-Adressrechner
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.

[Bearbeiten] Beispiel

Berechnung

 a = (x + y) cdot c

Assemblercode

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

[Bearbeiten] 3-Adressbefehle / typisch RISC-Rechner

Datenwerk eines 3-Adressrechner
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.


[Bearbeiten] 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)

[Bearbeiten] Literatur

  • Thomas Flik: Mikroprozessortechnik und Rechnerstrukturen., 7.Auflage Springer Berlin 2005. ISBN 3-540-22270-7
  • Andrew S. Tannebaum: 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
Copyright © 2005-2010 Hardware-Aktuell. Alle Rechte vorbehalten.