2.1.3.1.1 Steuerwerk / Leitwerk

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(33 dazwischenliegende Versionen von 8 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
<loop_area type="definition">'''Definition: Steuerwerk (Leitwerk)'''<br />Das '''Steuerwerk''' (oder '''Leitwerk''') ist ein Bestandteil der CPU und für die seqentielle Abarbeitung des im Speicherwerk befindlichen Programms zuständig.</loop_area>
 
Damit ist sofort ersichtlich, dass eine Verbindung zwischen Steuerwerk und Speicherwerk exitieren muss, damit das abzuarbeitende Programm, bzw. dessen einzelnen Anweisungen, vom Speicherwerk in das Steuerwerk übertragen werden können.
<p>
Konkret sieht dieser Ablauf so aus:
Eines der Bestandteile der CPU ist das Steuerwerk:
<loop_area type="definition">'''Definition: Arbeitsweise des Steuerwerks'''<br />Das Steuerwerk sendet die Adresse des aktuellen Befehls an das Speicherwerk und erhält von diesem als Antwort genau jenen Befehl, der an der übermittelten Adresse innerhalb des Speicherwerks steht. Sobald das Steuerwerk den Befehl erhalten hat, wird dieser ausgeführt.</loop_area>
</p>
 
<br />
== Definition: Steuerwerk ==
<p>
<loop_index id="5fa978806e482">Steuerwerk|Leitwerk</loop_index>
<loop_area type="definition">
<p>
Das '''Steuerwerk''' (oder '''Leitwerk''') ist ein Bestandteil der CPU und für die sequentielle Abarbeitung des im Speicherwerk befindlichen Programms zuständig.
</p>
</loop_area>
</p>
 
<p>
Damit ist sofort ersichtlich, dass eine Verbindung zwischen Steuerwerk und Speicherwerk existieren muss, damit das abzuarbeitende Programm, bzw. dessen einzelnen Anweisungen, vom Speicherwerk in das Steuerwerk übertragen werden können.
</p>
 
<br />
== Definition: Arbeitsweise des Steuerwerks ==
<p>
<loop_area type="definition">
<p>
Das Steuerwerk sendet die Adresse des aktuellen Befehls an das Speicherwerk und erhält von diesem als Antwort genau jenen Befehl, der an der übermittelten Adresse innerhalb des Speicherwerks steht. Sobald das Steuerwerk den Befehl erhalten hat, wird dieser ausgeführt.
</p>
</loop_area>
</p>
 
<br />
== Einfache Sicht auf die Arbeitsweise des Steuerwerks ==
<p>
Es ergibt sich damit für die Arbeitsweise des Steuerwerks ein Kreislauf, der immer wieder durchlaufen wird:
Es ergibt sich damit für die Arbeitsweise des Steuerwerks ein Kreislauf, der immer wieder durchlaufen wird:
<p><loop_figure title="Eine einfache Sicht auf die Arbeitsweise des Steuerwerks" description="" copyright="CC-BY" index=true show_copyright=true>[[Datei:Steuerwerk01.jpg|700px]]</loop_figure></p>
</p>
Diese Darstellung ist leicht verständlich, stellt aber auch nur eine erste vereinfachte Sicht auf die Arbeitsweise dar. Wir werden in Kürze weitere Details hinzufügen, benötigen zuvor aber noch die folgende Definition.
 
<loop_area type="definition">'''Definition: Register'''<br />
<p>
Ein '''Register''' ist ein digitaler Speicherbereich, welcher unmittelbar auf der CPU angesiedelt ist, und eine kleine Gruppe von binären Werten (Bits) speichern kann.</loop_area>
<loop_figure title="Eine einfache Sicht auf die Arbeitsweise des Steuerwerks" description="" copyright="CC-BY" index=true show_copyright=true id="5fa978806e491">[[Datei:Steuerwerk01.jpg|700px]]</loop_figure>
<loop_area type="definition">'''Definition: Registerbreite'''<br />
</p>
Die Anzahl der gleichzeitig in einem Register speicherbaren Bits nennt man die '''Breite des Registers''' oder '''Registerbreite'''.</loop_area>
 
Übliche Registerbreiten in Vergangenheit und Gegenwart waren bzw. sind 4, 8, 16, 32 oder 64 Bit.
<p>
Diese Darstellung ist leicht verständlich, stellt aber auch nur eine erste vereinfachte Sicht auf die Arbeitsweise dar.
</p>


Aus der einfachen Sicht der Arbeitsweise des Steuerwerks lassen sich ein paar weitere Bestandteile der CPU ableiten:
<br />
* Damit die Adresse des aktuellen Befehls vom Steuerwerk verwaltet werden kann, muss es einen Speicherbereich dafür geben. Verwendet wird dazu ein Register, der sogenannte '''Befehlszähler''', engl. program counter, kurz: '''PC'''.
<div class="clearer"></div>
* Damit der vom Speicherwerk empfangene Befehl verwaltet werden kann, muss es einen Speicherbereich dafür geben. Verwendet wird dazu ein Register, das sogenannte '''Befehlsregister''', engl. instruction register, kurz: '''IR'''.
== Bestandteile der CPU ==
<p>
Aus der einfachen Sicht der Arbeitsweise des Steuerwerks lassen sich einige Bestandteile der CPU ableiten:
<loop_index id="5fa978806e49b">Befehlszähler|PC, Befehlszähler|Program counter|PC, Program Counter|Befehlsregister|IR, Befehlsregister|Instruction Register|IR, Instruction Register</loop_index>
* Damit die Adresse des aktuellen Befehls vom Steuerwerk verwaltet werden kann, muss es einen Speicherbereich dafür geben. Verwendet wird dazu ein Register, der sogenannte '''Befehlszähler''', engl. '''Program Counter''', kurz: '''PC'''.
* Damit der vom Speicherwerk empfangene Befehl verwaltet werden kann, muss es einen Speicherbereich dafür geben. Verwendet wird dazu ein Register, das sogenannte '''Befehlsregister''', engl. '''Instruction Register''', kurz: '''IR'''.
* Die Adresse des aktuellen Befehls kann über das vorhandene Bus-System an das Speicherwerk gesendet werden. Eine Verbindung der Register PC sowie IR mit dem Bus-System muss daher gegeben sein.
* Die Adresse des aktuellen Befehls kann über das vorhandene Bus-System an das Speicherwerk gesendet werden. Eine Verbindung der Register PC sowie IR mit dem Bus-System muss daher gegeben sein.
</p>


<br />
== Erweitertes Bild der CPU ==
<p>
Man erhält ein leicht erweitertes Bild der CPU:
Man erhält ein leicht erweitertes Bild der CPU:
<p><loop_figure title="Steuerwerk mit Befehlszähler und Befehlsregister" description="" copyright="CC-BY" index=true show_copyright=true>[[Datei:Cpu2.jpg|700px]]</loop_figure></p>
</p>


<p>
<loop_figure title="Steuerwerk mit Befehlszähler und Befehlsregister" description="" copyright="CC-BY" index=true show_copyright=true id="5fa978806e4a5">[[Datei:Cpu2.jpg|700px]]</loop_figure>
</p>
<br />
== Zusammenspiel PC, IR und Bus ==
<p>
Das folgende Video geht näher auf das Zusammenspiel von Befehlszähler (PC) und Befehlsregister (IR) mit dem Bus-System ein. Die Fachbegriffe '''Adressbus''' und '''Datenbus''' werden eingeführt und erläutert.
Das folgende Video geht näher auf das Zusammenspiel von Befehlszähler (PC) und Befehlsregister (IR) mit dem Bus-System ein. Die Fachbegriffe '''Adressbus''' und '''Datenbus''' werden eingeführt und erläutert.
<p><loop_media type="video" title="Befehlszähler und Befehlsregister im Zusammenspiel mit dem Bus-System (03:07)" description="." copyright="CC-BY" index=true show_copyright=true>{{#ev:youtube|2IxOCLy5jms}}</loop_media></p>
</p>
 
<p>
<loop_area icon="Video.png" icontext="Video">
<loop_media type="video" title="Befehlszähler und Befehlsregister im Zusammenspiel mit dem Bus-System (03:07)" description="http://youtu.be/2IxOCLy5jms" copyright="CC-BY" index=true show_copyright=true id="5fa978806e4b0">{{#ev:youtube|2IxOCLy5jms|700}}</loop_media>
</loop_area>
</p>
 
<br />
<p>
Zu den Erläuterungen im Video folgen hier noch einige Definitionen.
Zu den Erläuterungen im Video folgen hier noch einige Definitionen.
<loop_area type="definition">'''Definition: Bus'''<br />Ein '''Bus''' ('''Binary Unit System''') dient zur parallelen Übertragung einer Gruppe von Bits. Dabei können mehrere Komponenten an dem Bus angeschlossen sein.</loop_area>
</p>
<loop_area type="definition">'''Definition: Schreibender Zugriff auf einen Bus (Senden)'''<br />Ein '''schreibender Zugriff''' auf einen Bus liegt vor, wenn eine an diesem Bus angeschlossene Komponente eine Gruppe von Bits zur Übertragung auf den Bus gibt. Man spricht dann auch vom '''Senden''' von Informationen über den Bus.</loop_area>
 
Nur eine einzige am Bus angeschlossene Komponente darf zur Zeit schreibend auf den Bus zugreifen.
<br />
<loop_area type="definition">'''Definition: Lesender Zugriff auf einen Bus (Empfangen)'''<br />Ein '''lesender Zugriff''' auf einen Bus liegt vor, wenn eine an diesem Bus angeschlossene Komponente eine Gruppe von Bits vom Bus entgegennimmt. Man spricht dann auch vom '''Empfangen''' von Informationen über den Bus.</loop_area>
== Definition: (Paralleler) Bus ==
<p>
<loop_index id="5fa978806e4b9">Bus, Paralleler Bus|Binary Unit System|Paralleler Bus</loop_index>
<loop_area type="definition">
<p>
Ein '''Bus''' ('''Binary Unit System''') dient zur parallelen Übertragung einer Gruppe von Bits.
</p>
<p>
<sub>'''Hinweis:''' Es wird hier ausdrücklich ein "paralleler Bus" definiert. Gleichzeitig sei darauf hingewiesen, dass auch "serielle Busse" existieren, die zum jetzigen Zeitpunkt in diesem Modul aber (noch) keine Rolle spielen.</sub>
</p>
</loop_area>
</p>
 
<p>
Es können mehrere Komponenten an einem Bus angeschlossen sein, so dass sich '''Quelle''' und '''Ziel''' der übertragenen Bits benennen lassen.
</p>
 
<br />
== Definition: Busbreite ==
<p>
<loop_index id="5fa978806e4c3">Busbreite|Breite, Bus</loop_index>
<loop_area type="definition">
<p>
Die Anzahl der parallel übertragbaren Bits auf einem Bus nennt man die '''Breite des Busses''' oder '''Busbreite'''.
</p>
</loop_area>
</p>
 
<p>
Übliche Busbreiten in Vergangenheit und Gegenwart waren bzw. sind 4, 8, 16, 32 oder 64 Bit.
</p>
 
<br />
== Definition: Schreibender Zugriff auf einen Bus (Senden) ==
<p>
<loop_index id="5fa978806e4cc">Schreibender Zugriff, Bus|senden, Bus|Bus, schreibender Zugriff|Bus, senden</loop_index>
<loop_area type="definition">
<p>
Ein '''schreibender Zugriff''' auf einen Bus liegt vor, wenn eine an diesem Bus angeschlossene Komponente eine Gruppe von Bits zur Übertragung auf den Bus gibt. Man spricht dann auch vom '''Senden''' von Informationen über den Bus.
</p>
</loop_area>
</p>
 
<p>
Nur eine einzige am Bus angeschlossene Komponente darf zur gleichen Zeit schreibend auf den Bus zugreifen.
</p>
 
<br />
 
== Definition: Lesender Zugriff auf einen Bus (Empfangen) ==
<p>
<loop_index id="5fa978806e4d6">Lesender Zugriff, Bus|empfangen, Bus|Bus, lesender Zugriff|Bus, empfangen</loop_index>
<loop_area type="definition">
<p>
Ein '''lesender Zugriff''' auf einen Bus liegt vor, wenn eine an diesem Bus angeschlossene Komponente eine Gruppe von Bits vom Bus entgegennimmt. Man spricht dann auch vom '''Empfangen''' von Informationen über den Bus.
</p>
</loop_area>
</p>
 
<p>
Es können beliebig viele Komponenten zur gleichen Zeit Informationen über den Bus empfangen.
Es können beliebig viele Komponenten zur gleichen Zeit Informationen über den Bus empfangen.
<loop_area type="definition">'''Definition: Kollision auf einem Bus'''<br />Eine Kollision auf einem Bus liegt vor, falls zur gleichen Zeit mehrere Komponenten schreibend auf den Bus zugreifen.</loop_area>
</p>
Beim Betreiben eines Busses ist also sicher zu stellen, dass immer nur eine Komponente zur Zeit schreibend auf den Bus zugreift. Falls einmal mehr als nur eine Komponente zur gleichen Zeit auf den Bus schreibt, so werden aufgrund der physikalischen Gesetze die übertragenen Bits unbrauchbar, d.h. sie können von den lesenden Komponenten am Bus nicht mehr verlässlich empfangen werden. Die übertragenen Informationen gehen verloren.
 
<loop_area type="definition">'''Definition: Adressbus'''<br />Ein '''Adressbus''' ist ein Bus, bei dem die parallel übertragene Gruppe von Bits als Adresse zu interpretieren ist.</loop_area>
<br />
<loop_area type="definition">'''Definition: Datenbus'''<br />Ein '''Datenbus''' ist ein Bus, bei dem die parallel übertragene Gruppe von Bits als Daten zu interpretieren ist.</loop_area>
 
== Definition: Kollision auf einem Bus ==
<p>
<loop_index id="5fa978806e4df">Kollision, Bus</loop_index>
<loop_area type="definition">
<p>
Eine '''Kollision''' auf einem Bus liegt vor, falls zur gleichen Zeit mehrere Komponenten schreibend auf den Bus zugreifen.
</p>
</loop_area>
</p>
 
<p>
Beim Betreiben eines Busses ist also sicher zu stellen, dass immer nur eine Komponente zur Zeit schreibend auf den Bus zugreift. Falls einmal mehr als nur eine Komponente zur gleichen Zeit auf den Bus schreibt, so werden aufgrund der physikalischen Gesetze die übertragenen Bits unbrauchbar, d.h. sie können von den lesenden Komponenten am Bus nicht mehr verlässlich empfangen werden. Die übertragenen Informationen gehen verloren. (Siehe hierzu auch das Video im Abschnitt [[Von-Neumann-Flaschenhals]]).
</p>
 
<br />
 
== Definition: Adressbus ==
<p>
<loop_index id="5fa978806e4e8">Adressbus</loop_index><loop_index id="5fa978c40f376">Bus, Adressbus</loop_index>
<loop_area type="definition">
<p>
Ein '''Adressbus''' ist ein Bus, bei dem die parallel übertragene Gruppe von Bits als Adresse zu interpretieren ist.
</p>
</loop_area>
</p>
 
<br />
== Definition: Datenbus ==
<p>
<loop_index id="5fa978806e4f1">Datenbus</loop_index><loop_index id="5fa978813458f">Bus, Datenbus</loop_index>
<loop_area type="definition">
<p>
Ein '''Datenbus''' ist ein Bus, bei dem die parallel übertragene Gruppe von Bits als Daten zu interpretieren ist.
</p>
</loop_area>
</p>
 
<br />
== Detailliertere Sicht auf die Arbeitsweise des Steuerwerks ==
<p>
Im folgenden Video wird die Arbeitsweise des Steuerwerks etwas detaillierter aufgeschlüsselt und erläutert.
Im folgenden Video wird die Arbeitsweise des Steuerwerks etwas detaillierter aufgeschlüsselt und erläutert.
<p><loop_media type="video" title="Detailliertere Arbeitsweise des Steuerwerks (06:01)" description="" copyright="CC-BY" index=true show_copyright=true>{{#ev:youtube|eEZIlmMHl7c}}</loop_media></p>
</p>
 
<p>
<loop_area icon="Video.png" icontext="Video">
<loop_media type="video" title="Detailliertere Arbeitsweise des Steuerwerks (06:01)" description="http://youtu.be/eEZIlmMHl7c" copyright="CC-BY" index=true show_copyright=true id="5fa978806e4fb">{{#ev:youtube|eEZIlmMHl7c|700}}</loop_media>
</loop_area>
</p>
 
<br />
<p>
Die im Video erarbeitete detailliertere Sicht auf die Arbeitsweise des Steuerwerks sieht damit so aus:
Die im Video erarbeitete detailliertere Sicht auf die Arbeitsweise des Steuerwerks sieht damit so aus:
<p><loop_figure title="Eine detailliertere Sicht auf die Arbeitsweise des Steuerwerks" description="" copyright="CC-BY" index=true show_copyright=true>[[Datei:Steuerwerk02.jpg|700px]]</loop_figure></p>
</p>
 
<p>
<loop_figure title="Eine detailliertere Sicht auf die Arbeitsweise des Steuerwerks" description="" copyright="CC-BY" index=true show_copyright=true id="5fa978806e503">[[Datei:Steuerwerk02.jpg|700px]]</loop_figure>
</p>
 
<br />
<p>
Und der aktuelle Stand bei der Erläuterung von CPU und insbesondere dem Steuerwerk ist:
Und der aktuelle Stand bei der Erläuterung von CPU und insbesondere dem Steuerwerk ist:
<p><loop_figure title="Steuerwerk mit Adress- und Datenbus" description="" copyright="CC-BY" index=true show_copyright=true>[[Datei:Cpu3.jpg|700px]]</loop_figure></p>
</p>
<br />
 
<hr />
<p>
<sub>Diese Seite steht unter der [http://creativecommons.org/licenses/by/3.0/deed.de Creative Commons Namensnennung 3.0 Unported Lizenz] [http://creativecommons.org/licenses/by/3.0/deed.de http://i.creativecommons.org/l/by/3.0/80x15.png]
<loop_figure title="Steuerwerk mit Adress- und Datenbus" description="" copyright="CC-BY" index=true show_copyright=true id="5fa978806e50c">[[Datei:Cpu3.jpg|700px]]</loop_figure>
</sub>
</p>

Aktuelle Version vom 9. November 2020, 18:42 Uhr

Eines der Bestandteile der CPU ist das Steuerwerk:


Definition: Steuerwerk

Definition

Das Steuerwerk (oder Leitwerk) ist ein Bestandteil der CPU und für die sequentielle Abarbeitung des im Speicherwerk befindlichen Programms zuständig.

Damit ist sofort ersichtlich, dass eine Verbindung zwischen Steuerwerk und Speicherwerk existieren muss, damit das abzuarbeitende Programm, bzw. dessen einzelnen Anweisungen, vom Speicherwerk in das Steuerwerk übertragen werden können.


Definition: Arbeitsweise des Steuerwerks

Definition

Das Steuerwerk sendet die Adresse des aktuellen Befehls an das Speicherwerk und erhält von diesem als Antwort genau jenen Befehl, der an der übermittelten Adresse innerhalb des Speicherwerks steht. Sobald das Steuerwerk den Befehl erhalten hat, wird dieser ausgeführt.


Einfache Sicht auf die Arbeitsweise des Steuerwerks

Es ergibt sich damit für die Arbeitsweise des Steuerwerks ein Kreislauf, der immer wieder durchlaufen wird:

Steuerwerk01.jpg

Diese Darstellung ist leicht verständlich, stellt aber auch nur eine erste vereinfachte Sicht auf die Arbeitsweise dar.


Bestandteile der CPU

Aus der einfachen Sicht der Arbeitsweise des Steuerwerks lassen sich einige Bestandteile der CPU ableiten:

  • Damit die Adresse des aktuellen Befehls vom Steuerwerk verwaltet werden kann, muss es einen Speicherbereich dafür geben. Verwendet wird dazu ein Register, der sogenannte Befehlszähler, engl. Program Counter, kurz: PC.
  • Damit der vom Speicherwerk empfangene Befehl verwaltet werden kann, muss es einen Speicherbereich dafür geben. Verwendet wird dazu ein Register, das sogenannte Befehlsregister, engl. Instruction Register, kurz: IR.
  • Die Adresse des aktuellen Befehls kann über das vorhandene Bus-System an das Speicherwerk gesendet werden. Eine Verbindung der Register PC sowie IR mit dem Bus-System muss daher gegeben sein.


Erweitertes Bild der CPU

Man erhält ein leicht erweitertes Bild der CPU:

Cpu2.jpg


Zusammenspiel PC, IR und Bus

Das folgende Video geht näher auf das Zusammenspiel von Befehlszähler (PC) und Befehlsregister (IR) mit dem Bus-System ein. Die Fachbegriffe Adressbus und Datenbus werden eingeführt und erläutert.

video


Zu den Erläuterungen im Video folgen hier noch einige Definitionen.


Definition: (Paralleler) Bus

Definition

Ein Bus (Binary Unit System) dient zur parallelen Übertragung einer Gruppe von Bits.

Hinweis: Es wird hier ausdrücklich ein "paralleler Bus" definiert. Gleichzeitig sei darauf hingewiesen, dass auch "serielle Busse" existieren, die zum jetzigen Zeitpunkt in diesem Modul aber (noch) keine Rolle spielen.

Es können mehrere Komponenten an einem Bus angeschlossen sein, so dass sich Quelle und Ziel der übertragenen Bits benennen lassen.


Definition: Busbreite

Definition

Die Anzahl der parallel übertragbaren Bits auf einem Bus nennt man die Breite des Busses oder Busbreite.

Übliche Busbreiten in Vergangenheit und Gegenwart waren bzw. sind 4, 8, 16, 32 oder 64 Bit.


Definition: Schreibender Zugriff auf einen Bus (Senden)

Definition

Ein schreibender Zugriff auf einen Bus liegt vor, wenn eine an diesem Bus angeschlossene Komponente eine Gruppe von Bits zur Übertragung auf den Bus gibt. Man spricht dann auch vom Senden von Informationen über den Bus.

Nur eine einzige am Bus angeschlossene Komponente darf zur gleichen Zeit schreibend auf den Bus zugreifen.


Definition: Lesender Zugriff auf einen Bus (Empfangen)

Definition

Ein lesender Zugriff auf einen Bus liegt vor, wenn eine an diesem Bus angeschlossene Komponente eine Gruppe von Bits vom Bus entgegennimmt. Man spricht dann auch vom Empfangen von Informationen über den Bus.

Es können beliebig viele Komponenten zur gleichen Zeit Informationen über den Bus empfangen.


Definition: Kollision auf einem Bus

Definition

Eine Kollision auf einem Bus liegt vor, falls zur gleichen Zeit mehrere Komponenten schreibend auf den Bus zugreifen.

Beim Betreiben eines Busses ist also sicher zu stellen, dass immer nur eine Komponente zur Zeit schreibend auf den Bus zugreift. Falls einmal mehr als nur eine Komponente zur gleichen Zeit auf den Bus schreibt, so werden aufgrund der physikalischen Gesetze die übertragenen Bits unbrauchbar, d.h. sie können von den lesenden Komponenten am Bus nicht mehr verlässlich empfangen werden. Die übertragenen Informationen gehen verloren. (Siehe hierzu auch das Video im Abschnitt Von-Neumann-Flaschenhals).


Definition: Adressbus

Definition

Ein Adressbus ist ein Bus, bei dem die parallel übertragene Gruppe von Bits als Adresse zu interpretieren ist.


Definition: Datenbus

Definition

Ein Datenbus ist ein Bus, bei dem die parallel übertragene Gruppe von Bits als Daten zu interpretieren ist.


Detailliertere Sicht auf die Arbeitsweise des Steuerwerks

Im folgenden Video wird die Arbeitsweise des Steuerwerks etwas detaillierter aufgeschlüsselt und erläutert.

video


Die im Video erarbeitete detailliertere Sicht auf die Arbeitsweise des Steuerwerks sieht damit so aus:

Steuerwerk02.jpg


Und der aktuelle Stand bei der Erläuterung von CPU und insbesondere dem Steuerwerk ist:

Cpu3.jpg