2.3.1 Stackregister

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(11 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Das '''Stackregister''' befindet sich auf der CPU. Sein Wert beziffert eine bestimmte Speicherzelle im Hauptspeicher, den sogenannten '''Top of Stack''', also das '''obere Ende des Stacks'''.
<p>
Das <loop_index id="5fa9787fdc0c1">Stackregister|Stack</loop_index>'''Stackregister''' befindet sich auf der CPU. Sein Wert beziffert eine bestimmte Speicherzelle im Hauptspeicher, den sogenannten '''<loop_index id="5fa9787fdc0c8">Top of Stack|Stack, Top of Stack</loop_index>Top of Stack''', also das '''<loop_index id="5fa9787fdc0cd">oberes Ende des Stacks|Stack, oberes Ende</loop_index>obere Ende des Stacks'''.
</p>


Ein Stack ist eine Datenstruktur, kann also Daten aufnehmen und wieder abgeben, wobei der Zugriff nur über die Befehle '''PUSH''' (Daten auf dem oberen Ende des Stacks ablegen) sowie '''POP''' (Daten vom oberen Ende des Stacks entfernen) möglich ist.
<br />
== Push oder Pop auf die Datenstruktur ==
<p>
Ein Stack ist eine <loop_index id="5fa9787fdc0d0">Datenstruktur, Stack|Stack, Datenstruktur</loop_index>Datenstruktur, kann also Daten aufnehmen und wieder abgeben, wobei der Zugriff nur über die Befehle '''<loop_index id="5fa9787fdc0d3">PUSH, Stack|Stack, PUSH</loop_index>PUSH''' (Daten auf dem oberen Ende des Stacks ablegen) sowie '''<loop_index id="5fa9787fdc0d6">POP, Stack</loop_index><loop_index id="5fa978c378a92"> Stack, POP</loop_index>POP''' (Daten vom oberen Ende des Stacks entfernen) möglich ist.
</p>


Anschaulich erklärt wird die Bedeutung des Stackregisters und die Arbeitsweise des Stacks an sich in dem folgenden Video:
<br />
== Stackregister anschaulich ==
<p>
Anschaulich erklärt wird die Bedeutung des Stackregisters und die <loop_index id="5fa9787fdc0da">Arbeitsweise, Stack</loop_index><loop_index id="5fa978803b1c9">Stack, Arbeitsweise</loop_index>Arbeitsweise des Stacks an sich in dem folgenden Video:
</p>


<p><loop_media type="video" title="Stackregister und Arbeitsweise des Stacks (04:12)" description="http://youtu.be/NjSc5ovr5Tw" copyright="CC-BY" index=true show_copyright=true>{{#ev:youtube|NjSc5ovr5Tw}}</loop_media></p>
<p>
<loop_area icon="Video.png" icontext="Video">
<loop_media type="video" title="Stackregister und Arbeitsweise des Stacks (04:12)" description="http://youtu.be/NjSc5ovr5Tw" copyright="CC-BY" index=true show_copyright=true id="5fa9787fdc0dd">{{#ev:youtube|NjSc5ovr5Tw|700}}</loop_media>
</loop_area>
</p>


<p>
Das Ablegen oder Entfernen von Daten vom Stack kann sowohl aus einem laufenden Prozess heraus erfolgen, oder auch auf Anweisung des Steuerwerks. Letzteres bietet viele Vorteile, wie auf den kommenden Seiten noch zu sehen sein wird.
Das Ablegen oder Entfernen von Daten vom Stack kann sowohl aus einem laufenden Prozess heraus erfolgen, oder auch auf Anweisung des Steuerwerks. Letzteres bietet viele Vorteile, wie auf den kommenden Seiten noch zu sehen sein wird.
</p>


<br />
== Stackregister auf der CPU ==
<p>
Das folgende Bild zeigt das Stackregister auf der CPU. In [[Gesamtbild eines Von-Neumann-Rechners|vorangegangenen Bildern zur CPU]] war an dieser Stelle das Register R4 angesiedelt. Man kann sich gerne vorstellen, dass das Register R4 weiterhin auf der CPU existiert, nur eben aus Platzgründen nicht mehr eingezeichnet ist.  
Das folgende Bild zeigt das Stackregister auf der CPU. In [[Gesamtbild eines Von-Neumann-Rechners|vorangegangenen Bildern zur CPU]] war an dieser Stelle das Register R4 angesiedelt. Man kann sich gerne vorstellen, dass das Register R4 weiterhin auf der CPU existiert, nur eben aus Platzgründen nicht mehr eingezeichnet ist.  
</p>


<p><loop_figure title="Stackregister auf der CPU" description="" copyright="CC-BY" index=true show_copyright=true>[[Datei:Cpu10-stack.jpg|650px]]</loop_figure></p>
<p>
<br />
<loop_figure title="Stackregister auf der CPU" description="" copyright="CC-BY" index=true show_copyright=true id="5fa9787fdc0e0">[[Datei:Cpu10-stack.jpg|700px]]</loop_figure>
<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]
</sub>

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

Das Stackregister befindet sich auf der CPU. Sein Wert beziffert eine bestimmte Speicherzelle im Hauptspeicher, den sogenannten Top of Stack, also das obere Ende des Stacks.


Push oder Pop auf die Datenstruktur

Ein Stack ist eine Datenstruktur, kann also Daten aufnehmen und wieder abgeben, wobei der Zugriff nur über die Befehle PUSH (Daten auf dem oberen Ende des Stacks ablegen) sowie POP (Daten vom oberen Ende des Stacks entfernen) möglich ist.


Stackregister anschaulich

Anschaulich erklärt wird die Bedeutung des Stackregisters und die Arbeitsweise des Stacks an sich in dem folgenden Video:

video

Das Ablegen oder Entfernen von Daten vom Stack kann sowohl aus einem laufenden Prozess heraus erfolgen, oder auch auf Anweisung des Steuerwerks. Letzteres bietet viele Vorteile, wie auf den kommenden Seiten noch zu sehen sein wird.


Stackregister auf der CPU

Das folgende Bild zeigt das Stackregister auf der CPU. In vorangegangenen Bildern zur CPU war an dieser Stelle das Register R4 angesiedelt. Man kann sich gerne vorstellen, dass das Register R4 weiterhin auf der CPU existiert, nur eben aus Platzgründen nicht mehr eingezeichnet ist.

Cpu10-stack.jpg