2.2.3 Befehlsformat

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
(LOOP2 Upgrade)
Zeile 1: Zeile 1:
=Befehlsformat=
=Befehlsformat=
<p>
<p>
Neben der Festlegung der Namen der einzelnen Befehle (bzw. deren <loop_index>binäre Codierung, Befehl|Befehl, binäre Codierung</loop_index>binärer Codierung), ist die Festlegung des sogenannten <loop_index>Befehlsformat</loop_index>'''Befehlsformats''' eine wichtige Entscheidung bei der Entwicklung einer CPU.
Neben der Festlegung der Namen der einzelnen Befehle (bzw. deren <loop_index id="5fa97845b77e5">binäre Codierung, Befehl|Befehl, binäre Codierung</loop_index>binärer Codierung), ist die Festlegung des sogenannten <loop_index id="5fa97845b77ed">Befehlsformat</loop_index>'''Befehlsformats''' eine wichtige Entscheidung bei der Entwicklung einer CPU.
</p>
</p>


Zeile 10: Zeile 10:
<p>
<p>
<span style="font-family:Courier">
<span style="font-family:Courier">
<loop_index>Operand</loop_index><Befehl><Num><Operand>
<loop_index id="5fa97845b77f2">Operand</loop_index><Befehl><Num><Operand>
</span>
</span>
</p>
</p>
Zeile 21: Zeile 21:
== Definition: Opcode ==
== Definition: Opcode ==
<p>
<p>
<loop_index>Opcode|Steuerinformation</loop_index>
<loop_index id="5fa97845b77f6">Opcode|Steuerinformation</loop_index>
<loop_area type="definition">
<loop_area type="definition">
<p>
<p>
Zeile 30: Zeile 30:


<p>
<p>
Der Opcode für das obige Beispiel zum <loop_index>Einadressformat</loop_index>Einadressformat besteht aus <Befehl> und <Num>, insgesamt also aus vier Bit. Das eine Bit von <Num> ermöglicht die Unterscheidung von zwei Steueroptionen.
Der Opcode für das obige Beispiel zum <loop_index id="5fa97845b77fb">Einadressformat</loop_index>Einadressformat besteht aus <Befehl> und <Num>, insgesamt also aus vier Bit. Das eine Bit von <Num> ermöglicht die Unterscheidung von zwei Steueroptionen.
</p>
</p>


Zeile 36: Zeile 36:
== Klassifizierungen ==
== Klassifizierungen ==
<p>
<p>
Bei den Befehlsformaten werden verschiedene <loop_index>Klassifizierung, Befehlsformat</loop_index>Klassifizierungen unterschieden, <cite>Brinkschulte+et.al.+2010</cite> gibt diese Klassen ausführlich an. An dieser Stelle werden lediglich drei unterschiedliche Varianten betrachtet:
Bei den Befehlsformaten werden verschiedene <loop_index id="5fa97845b77ff">Klassifizierung, Befehlsformat</loop_index>Klassifizierungen unterschieden, <cite id="5fa97845b7803">Brinkschulte+et.al.+2010</cite> gibt diese Klassen ausführlich an. An dieser Stelle werden lediglich drei unterschiedliche Varianten betrachtet:
* Einadressformat
* Einadressformat
* <loop_index>Zweiadressformat</loop_index>Zweiadressformat
* <loop_index id="5fa97845b7807">Zweiadressformat</loop_index>Zweiadressformat
* <loop_index>Dreiadressformat</loop_index>Dreiadressformat
* <loop_index id="5fa97845b780a">Dreiadressformat</loop_index>Dreiadressformat
</p>
</p>


Zeile 46: Zeile 46:
<p>
<p>
<loop_area type="task">
<loop_area type="task">
<loop_task title="Klassifizierungen ">
<loop_task title="Klassifizierungen " id="5fa97845b780e">
<p>
<p>
Welche Klassifizierungen bzgl. der Befehlsformate unterscheiden <cite>Brinkschulte+et.al.+2010</cite>?
Welche Klassifizierungen bzgl. der Befehlsformate unterscheiden <cite id="5fa97845b7812">Brinkschulte+et.al.+2010</cite>?
</p>
</p>
<p>
<p>

Version vom 9. November 2020, 19:11 Uhr

Befehlsformat

Neben der Festlegung der Namen der einzelnen Befehle (bzw. deren binärer Codierung), ist die Festlegung des sogenannten Befehlsformats eine wichtige Entscheidung bei der Entwicklung einer CPU.

Das Befehlsformat definiert für jeden einzelnen Befehl, wie dieser codiert ist. Im Video Vom Quellcode zum Prozessor entspricht dies dem aus drei Teilen bestehende Format:

<Befehl><Num><Operand>

Dabei wird <Befehl> mit drei Bit codiert, <Num> mit einem Bit und <Operand> mit sechs Bit. Die im Video gezeigte Reserve dient lediglich dazu, die gesamte Befehlslänge auf ein Vielfaches eines Bytes (= acht Bit) zu ergänzen. Die Befehlslänge aus dem Beispiel im Video beträgt somit für alle Befehle 16 Bit.


Definition: Opcode

Definition

Unter dem Opcode eines Befehls versteht man eine binäre Codierung, aus der sowohl der Befehl, als auch zusätzlich benötigte Steuerinformationen hervorgehen.

Der Opcode für das obige Beispiel zum Einadressformat besteht aus <Befehl> und <Num>, insgesamt also aus vier Bit. Das eine Bit von <Num> ermöglicht die Unterscheidung von zwei Steueroptionen.


Klassifizierungen

Bei den Befehlsformaten werden verschiedene Klassifizierungen unterschieden, gibt diese Klassen ausführlich an. An dieser Stelle werden lediglich drei unterschiedliche Varianten betrachtet:

  • Einadressformat
  • Zweiadressformat
  • Dreiadressformat


Aufgabe 1

Aufgabe

Welche Klassifizierungen bzgl. der Befehlsformate unterscheiden ?

Studierende sind oftmals berechtigt, eine PDF-Version dieses Buches ohne entstehende Kosten über ihre Hochschulen von Springerlink zu beziehen.