2.1.3.1.2 Rechenwerk

[gesichtete Version][gesichtete Version]
(Die letzte Textänderung von Scharmorit wurde verworfen und die Version 4489 von Wilkensa wiederhergestellt.)
(LOOP2 Upgrade)
Zeile 7: Zeile 7:
== Definition: Rechenwerk ==
== Definition: Rechenwerk ==
<p>
<p>
<loop_index>Rechenwerk|ALU|arithmetic-logical Unit|arithmetisch-logische Einheit</loop_index>
<loop_index id="5fa9787606e00">Rechenwerk|ALU|arithmetic-logical Unit|arithmetisch-logische Einheit</loop_index>
<loop_area type="definition">
<loop_area type="definition">
<p>
<p>
Zeile 16: Zeile 16:


<p>
<p>
Damit ist sofort ersichtlich, dass eine Verbindung zwischen Steuerwerk und Rechenwerk existieren muss. Diese Verbindung ist bidirektional, d.h. das Steuerwerk gibt über entsprechende Steuerleitungen eine zu berechnende Funktion in Auftrag und das Rechenwerk liefert den Status der Berechnung, die sogenannten <loop_index>Flags</loop_index>Flags, an das Steuerwerk zurück.
Damit ist sofort ersichtlich, dass eine Verbindung zwischen Steuerwerk und Rechenwerk existieren muss. Diese Verbindung ist bidirektional, d.h. das Steuerwerk gibt über entsprechende Steuerleitungen eine zu berechnende Funktion in Auftrag und das Rechenwerk liefert den Status der Berechnung, die sogenannten <loop_index id="5fa9787606e08">Flags</loop_index>Flags, an das Steuerwerk zurück.
</p>
</p>


Zeile 23: Zeile 23:
== Arbeitsweise des Rechenwerks ==
== Arbeitsweise des Rechenwerks ==
<p>
<p>
Das folgende Video erläutert die <loop_index>Arbeitsweise, Rechenwerk|Rechenwerk, Arbeitsweise</loop_index>Arbeitsweise des Rechenwerks, insbesondere auch die <loop_index>Zusammenarbeit Rechenwerk-Steuerwerk</loop_index>Zusammenarbeit mit dem Steuerwerk.
Das folgende Video erläutert die <loop_index id="5fa9787606e0d">Arbeitsweise, Rechenwerk|Rechenwerk, Arbeitsweise</loop_index>Arbeitsweise des Rechenwerks, insbesondere auch die <loop_index id="5fa9787606e13">Zusammenarbeit Rechenwerk-Steuerwerk</loop_index>Zusammenarbeit mit dem Steuerwerk.
</p>
</p>
<p>
<p>
<loop_area icon="Video.png" icontext="Video">
<loop_area icon="Video.png" icontext="Video">
<loop_media type="video" title="Arbeitsweise des Rechenwerks (02:26)" description="http://youtu.be/Zsreix2gLkc" copyright="CC-BY" index=true show_copyright=true>{{#ev:youtube|Zsreix2gLkc|700}}</loop_media>
<loop_media type="video" title="Arbeitsweise des Rechenwerks (02:26)" description="http://youtu.be/Zsreix2gLkc" copyright="CC-BY" index=true show_copyright=true id="5fa9787606e18">{{#ev:youtube|Zsreix2gLkc|700}}</loop_media>
</loop_area>
</loop_area>
</p>
</p>
Zeile 35: Zeile 35:
</p>
</p>
<p>
<p>
<loop_figure title="Rechenwerk mit ALU" description="" copyright="" index=true show_copyright=false>[[Datei:Cpu4.jpg|700px]]</loop_figure>
<loop_figure title="Rechenwerk mit ALU" description="" copyright="" index=true show_copyright=false id="5fa9787606e1d">[[Datei:Cpu4.jpg|700px]]</loop_figure>
</p>
</p>


Zeile 53: Zeile 53:
<div class="clearer"></div>
<div class="clearer"></div>
<p>
<p>
<loop_figure title="Funktionen des Rechenwerks, die vom Steuerwerk in Auftrag gegeben werden können" description="" copyright="" index=true show_copyright=false>[[Datei:Cpu5.jpg|700px]]</loop_figure>
<loop_figure title="Funktionen des Rechenwerks, die vom Steuerwerk in Auftrag gegeben werden können" description="" copyright="" index=true show_copyright=false id="5fa9787606e22">[[Datei:Cpu5.jpg|700px]]</loop_figure>
</p>
</p>


Zeile 60: Zeile 60:
== Flags ==
== Flags ==
<p>
<p>
Ebenfalls im [[Rechenwerk#Arbeitsweise_des_Rechenwerks|Video]] erläutert wurden die <loop_index>Statusbits</loop_index>'''Statusbits''' ('''Flags'''), die vom Rechenwerk als Ergebnis jeder <loop_index>Operation, Rechenwerk</loop_index>Operation an das Steuerwerk übermittelt werden. Diese sind u.a.
Ebenfalls im [[Rechenwerk#Arbeitsweise_des_Rechenwerks|Video]] erläutert wurden die <loop_index id="5fa9787606e27">Statusbits</loop_index>'''Statusbits''' ('''Flags'''), die vom Rechenwerk als Ergebnis jeder <loop_index id="5fa9787606e2c">Operation, Rechenwerk</loop_index>Operation an das Steuerwerk übermittelt werden. Diese sind u.a.
* War letztes Ergebnis gleich Null? (ACC = 0?)
* War letztes Ergebnis gleich Null? (ACC = 0?)
* Waren beide Operanden gleich? (A = B?)
* Waren beide Operanden gleich? (A = B?)
Zeile 68: Zeile 68:
</p>
</p>
<p>
<p>
<loop_figure title="Statusbits des Rechenwerks, die vom Steuerwerk ausgewertet werden können" description="" copyright="" index=true show_copyright=false>[[Datei:Cpu6.jpg|700px]]</loop_figure>
<loop_figure title="Statusbits des Rechenwerks, die vom Steuerwerk ausgewertet werden können" description="" copyright="" index=true show_copyright=false id="5fa9787606e31">[[Datei:Cpu6.jpg|700px]]</loop_figure>
</p>
</p>


Zeile 76: Zeile 76:
<p>
<p>
<loop_area type="task">
<loop_area type="task">
<loop_task title="Größer als">
<loop_task title="Größer als" id="5fa9787606e35">
<p>
<p>
In den Beispielen für mögliche Statusbits (Flags) sieht man u.a.<br />
In den Beispielen für mögliche Statusbits (Flags) sieht man u.a.<br />

Version vom 9. November 2020, 19:12 Uhr

Rechenwerk

Ein weiterer Bestandteil der CPU ist das Rechenwerk:


Definition: Rechenwerk

Definition

Das Rechenwerk ist ein Bestandteil der CPU und führt vom Steuerwerk in Auftrag gegebene Berechnungen durch. Der Hauptbestandteil des Rechenwerks ist die ALU (arithmetic-logical Unit, arithmetisch-logische Einheit).

Damit ist sofort ersichtlich, dass eine Verbindung zwischen Steuerwerk und Rechenwerk existieren muss. Diese Verbindung ist bidirektional, d.h. das Steuerwerk gibt über entsprechende Steuerleitungen eine zu berechnende Funktion in Auftrag und das Rechenwerk liefert den Status der Berechnung, die sogenannten Flags, an das Steuerwerk zurück.


Arbeitsweise des Rechenwerks

Das folgende Video erläutert die Arbeitsweise des Rechenwerks, insbesondere auch die Zusammenarbeit mit dem Steuerwerk.

video


Das Bild der CPU vervollständigt sich langsam:

Cpu4.jpg


Vom Rechenwerk bereitgestellte Funktionen

Wie im Video erläutert, kann das Steuerwerk eine Reihe von Funktionen beim Rechenwerk in Auftrag geben. Diese Funktionen sind u.a.:

  • Addition der Operanden (A + B)
  • Subtraktion (A - B)
  • Multiplikation (A * B)
  • Konjunktion (logisches UND, bitweise)
  • Disjunktion (logisches ODER, bitweise)
  • Vergleich von A und B (bitweise)
  • etc.

Cpu5.jpg


Flags

Ebenfalls im Video erläutert wurden die Statusbits (Flags), die vom Rechenwerk als Ergebnis jeder Operation an das Steuerwerk übermittelt werden. Diese sind u.a.

  • War letztes Ergebnis gleich Null? (ACC = 0?)
  • Waren beide Operanden gleich? (A = B?)
  • War A kleiner als B? (A < B?)
  • Gab es einen Überlauf?
  • etc.

Cpu6.jpg


Aufgabe 1

Aufgabe

In den Beispielen für mögliche Statusbits (Flags) sieht man u.a.
"Waren beide Operanden gleich?" sowie
"War A kleiner als B?".

Die dritte Variante "War A größer als B?" muss jedoch nicht vorhanden sein. Warum kann das Steuerwerk auch ohne dieses Statusbit auskommen?