<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Befehlszyklus</id>
	<title>Befehlszyklus - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Befehlszyklus"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Befehlszyklus&amp;action=history"/>
	<updated>2026-06-08T11:53:50Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Befehlszyklus&amp;diff=385107&amp;oldid=prev</id>
		<title>imported&gt;Skranon am 27. September 2025 um 13:00 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Befehlszyklus&amp;diff=385107&amp;oldid=prev"/>
		<updated>2025-09-27T13:00:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Redundanztext&lt;br /&gt;
|3=Befehlszyklus&lt;br /&gt;
|4=Von-Neumann-Zyklus&lt;br /&gt;
|2=April 2025|1=[[Spezial:Beiträge/141.76.8.148|141.76.8.148]] 15:44, 9. Apr. 2025 (CEST)}}&lt;br /&gt;
&lt;br /&gt;
Der &amp;#039;&amp;#039;&amp;#039;Befehlszyklus&amp;#039;&amp;#039;&amp;#039; ({{enS|instruction cycle}}), auch als &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Fetch-Execute-Cycle&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; bekannt, beschreibt den Ablauf der Verarbeitung eines [[Maschinensprache|Maschinenbefehls]] innerhalb eines synchronen [[Mikroprozessor]]s.&lt;br /&gt;
&lt;br /&gt;
== Schema der Befehlsverarbeitung ==&lt;br /&gt;
[[Datei:Diagrama processador.png|mini|hochkant=2.0|Schematischer Aufbau einer einfachen CPU (englisch). Die Integer-Einheit ist für den Programmablauf verantwortlich.]]&lt;br /&gt;
&lt;br /&gt;
Die Verarbeitung eines Maschinenbefehls erfolgt nach einem festen mehrstufigen Schema, das sich aus mehreren Maschinenzyklen zusammensetzt, welche üblicherweise mit dem CPU-Takt gleichlaufen. Je nach Prozessortyp und verwendetem [[Befehlssatzarchitektur|Maschinenbefehlssatz]] findet man unterschiedliche Ausprägungen des im Folgenden vorgestellten Schemas.&lt;br /&gt;
&lt;br /&gt;
=== 1. Befehl laden ===&lt;br /&gt;
Zunächst muss der Befehl aus dem Hauptspeicher in den Prozessor geladen werden (englisch &amp;#039;&amp;#039;{{lang|en|fetch instruction}}&amp;#039;&amp;#039;). Dazu benutzt der Prozessor den aktuellen Wert des [[Befehlszähler|Programmzählers]], um die Stelle des Befehls im Hauptspeicher zu bestimmen. Der betreffende Befehl wird über den [[Bus (Datenverarbeitung)#Datenbus|Datenbus]] in das [[Speicherdatenregister]] des Prozessors geladen und gelangt von dort aus in das [[Instruction Register]] (CIR).&lt;br /&gt;
&lt;br /&gt;
=== 2. Befehl dekodieren ===&lt;br /&gt;
In dieser Stufe  (englisch &amp;#039;&amp;#039;{{lang|en|decode instruction}}&amp;#039;&amp;#039;) werden der Befehlscode und die Operanden ermittelt. Außerdem wird ermittelt, wie die Operanden [[Adressierung (Rechnerarchitektur)|adressiert]] werden müssen.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Befehlsoperanden laden&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Nach dem Dekodieren des Befehls werden die Operanden in den Prozessor geladen (englisch &amp;#039;&amp;#039;{{lang|en|fetch operands}}&amp;#039;&amp;#039;). Die dafür erforderlichen internen Schritte sind abhängig von der jeweils verwendeten Adressierung.&lt;br /&gt;
&lt;br /&gt;
=== 3. Befehl ausführen ===&lt;br /&gt;
Nach dem Laden der benötigten Hauptspeicherinhalte in den Prozessor wird der Befehl gemäß dem Befehlscode ausgeführt (englisch &amp;#039;&amp;#039;{{lang|en|execute}}&amp;#039;&amp;#039;). Beispielsweise werden logische Befehle mit Hilfe des [[Rechenwerk]]s verarbeitet.&lt;br /&gt;
&lt;br /&gt;
=== 4. Ergebnis speichern ===&lt;br /&gt;
Das Ergebnis der Befehlsausführung wird im Hauptspeicher abgelegt (englisch &amp;#039;&amp;#039;{{lang|en|store results}}&amp;#039;&amp;#039;). Handelte es sich beim letzten Befehl um einen Sprungbefehl, wird der Programmzähler entsprechend gesetzt. Anderenfalls erhält der Programmzähler die Adresse des nächsten Befehls.&lt;br /&gt;
&lt;br /&gt;
== Zusammenhang zwischen Befehlszyklus und Taktzyklus ==&lt;br /&gt;
Ein Maschinenprogramm besteht aus einer Menge von Maschinenbefehlen. Bei der Ausführung werden diese Befehle nacheinander in jeweils einem Befehlszyklus vom Prozessor abgearbeitet. Je nach Komplexität des Maschinenbefehlssatzes benötigt jeder Schritt des Befehlszyklus mehrere [[Taktsignal|Taktzyklen]]. Um die Anzahl der abgearbeiteten Maschinenbefehle je Zeitspanne zu erhöhen, können beispielsweise Taktfrequenzen erhöht oder eine [[Pipeline (Prozessor)|Pipeline]] in den Prozessor integriert werden. Mit dem Pipelining kann die Bearbeitung aufeinander folgender Maschinenbefehle bis zu einem gewissen Grad parallelisiert werden (siehe auch [[Superskalarität]]).&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
[[Datei:AbarbeitMaschinenBefehl8085.svg|mini|300px|Aufbau eines Befehlszyklus beim [[Intel 8085]]]]&lt;br /&gt;
&lt;br /&gt;
Das Schema rechts zeigt den Befehlszyklus eines typischen Mikrocontrollers.&lt;br /&gt;
# Lesen des neuen Befehls aus dem Speicher in das Befehlsregister (engl.: Instruction Register &amp;#039;&amp;#039;IR&amp;#039;&amp;#039;) gemäß der aktuellen Adresse des [[Befehlszähler]]s (engl.: Program Counter &amp;#039;&amp;#039;PC&amp;#039;&amp;#039;)&lt;br /&gt;
# Dekodierung des [[Maschinensprache|Befehls]]&lt;br /&gt;
# Erhöhung des Inhalts vom PC um +1 (bzw. um die Größe des gerade geladenen Befehls, die besonders bei [[Complex Instruction Set Computer|CISC]]-Architekturen variabel ist)&lt;br /&gt;
# Zugriff zu den Operanden, unter Umständen über einen erneuten Speicherlesevorgang und eine zugehörige Adressrechnung (bei indirekter Adressierung)&lt;br /&gt;
# Operationsdurchführung (z.&amp;amp;nbsp;B. Addition)&lt;br /&gt;
# Ergebnisabspeicherung&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* Randy H. Katz: &amp;#039;&amp;#039;Contemporary Logic Design.&amp;#039;&amp;#039; Benjamin/Cummings, Redwood City CA u. a. 1994, ISBN 0-8053-2703-7.&lt;br /&gt;
* Wolfgang Böge, Wilfried Plaßmann (Hrsg.): &amp;#039;&amp;#039;Vieweg-Handbuch Elektrotechnik. Grundlagen und Anwendungen für Elektrotechniker.&amp;#039;&amp;#039; 3., verbesserte und ergänzte Auflage. Vieweg, Wiesbaden 2004, ISBN 3-528-24944-7, S. 595.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikroprozessortechnik]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Skranon</name></author>
	</entry>
</feed>