<?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=Mikroprogrammsteuerwerk</id>
	<title>Mikroprogrammsteuerwerk - 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=Mikroprogrammsteuerwerk"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Mikroprogrammsteuerwerk&amp;action=history"/>
	<updated>2026-05-28T06:21:54Z</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=Mikroprogrammsteuerwerk&amp;diff=160020&amp;oldid=prev</id>
		<title>2003:CB:2F07:5256:C59B:C2A0:A7CC:FD38: /* Funktionsweise */ Kommafehler korr, Beschreibung deutlicher</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Mikroprogrammsteuerwerk&amp;diff=160020&amp;oldid=prev"/>
		<updated>2021-03-11T04:08:33Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Funktionsweise: &lt;/span&gt; Kommafehler korr, Beschreibung deutlicher&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Ein &amp;#039;&amp;#039;&amp;#039;Mikroprogrammsteuerwerk&amp;#039;&amp;#039;&amp;#039; ist der Teil &amp;#039;&amp;#039;mikroprogrammierter&amp;#039;&amp;#039; [[Hauptprozessor|Prozessoren]], der die Ausführung eines [[Maschinencode|Befehls]] im Prozessor steuert. Das [[Steuerwerk]] hat Zugriff auf [[Mikroprogramm]]e, die in einem Speicher abgelegt sind. Die Mikroprogramme steuern das Zusammenspiel von Prozessoreinheiten wie zum Beispiel der [[Arithmetisch-logische Einheit|ALU]] oder den [[Register (Computer)|Registern]]. Bei manchen Prozessoren können die Mikroprogramme auch nachträglich mittels [[Mikrocodeprogrammierung]] geändert werden. Man kann Mikroprogramme auch als [[Firmware]] der CPU auffassen.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
[[Maschinencode]]s müssen in einem Prozessor mittels sogenannter [[Mikrobefehl]]e in Steuersignale für die einzelnen Funktionseinheiten umgesetzt werden. Unter Umständen müssen dazu mehrere aufeinander folgende Verarbeitungsschritte ausgelöst werden, um die Funktion des Maschinencodes in Form einer Mikrobefehlssequenz zu realisieren.&lt;br /&gt;
&lt;br /&gt;
Nehmen wir als Beispiel den Befehl &amp;#039;&amp;#039;ADD A,B&amp;#039;&amp;#039; eines fiktiven Prozessors, der die Inhalte der Register A und B addieren und das Ergebnis in das Register A zurückschreiben soll. Es könnte folgender Steuerablauf im Prozessor ablaufen:&lt;br /&gt;
&lt;br /&gt;
# Die [[Arithmetisch-logische Einheit|ALU]] wird für eine Addition konfiguriert.&lt;br /&gt;
# Der Inhalt von Register A wird an den ersten Eingang der ALU angelegt.&lt;br /&gt;
# Der Inhalt von Register B wird an den zweiten Eingang der ALU angelegt.&lt;br /&gt;
# Nach Ablauf der Durchlaufzeit für das Auslesen der Register A und B sowie der benötigten Zeit für die Ausführung der Addition in der ALU wird das Ergebnis in ein Zwischenregister abgelegt.&lt;br /&gt;
# Der Inhalt von Register A wird mit dem Wert aus dem Zwischenregister überschrieben.&lt;br /&gt;
# Der nächste Befehl wird aus dem Speicher gelesen.&lt;br /&gt;
Denkbar wäre, die Schritte (1, 2, 3) und (5, 6) in jeweils einem Zeitintervall zusammengefasst ablaufen zu lassen.&lt;br /&gt;
&lt;br /&gt;
Um diesen Ablauf zu steuern, ist es möglich, eine Logik aufzubauen, die direkt diese Steuerung vornimmt. Der Nachteil bei dieser „festen Verdrahtung“ der Befehle ist die Komplexität der notwendigen Logik und die geringe Flexibilität bei notwendigen Veränderungen.&lt;br /&gt;
&lt;br /&gt;
Im Falle der [[Mikroprogrammierung]] wird eine solche Ablaufsteuerung über die in einem Speicher abgelegten [[Mikroprogramm]]e realisiert. Der Maschinencode aktiviert dabei jeweils eines der Mikroprogramme, das in mehreren Schritten dann jeweils alle notwendigen Steuersignale für die benötigten Funktionseinheiten erzeugt. Im einfachsten Falle ist das Mikroprogrammsteuerwerk aufgebaut aus einem Befehlsregister, das den gerade ausgeführten Maschinencode enthält, einem Zähler für die Mikroprogrammschritte und einem Speicher, der die einzelnen Schritte enthält. Das Befehlsregister und der Zähler zusammen ergeben dann die Adresse für den Mikroprogrammspeicher. Es sind aber auch komplexere Mikroprogrammsteuerwerke möglich, die Sprungbefehle und Verzweigungen ausführen können, um komplexere Befehle zu ermöglichen. Die Bedeutung eines Mikroprogrammsteuerwerks als Leitwerk für die Steuerung eines virtuellen Rechenwerks wird mit dem Mikrocodesimulator [[MikroSim]] auf didaktische Weise vermittelt.&lt;br /&gt;
&lt;br /&gt;
== Entwicklung ==&lt;br /&gt;
Frühe Prozessoren waren typischerweise mit fest verdrahteter Logik aufgebaut, später wurden dann vermehrt Mikroprogrammsteuerwerke eingesetzt. Diese Entwicklung hat sich bei den [[Mainframe|Mainframe-Computern]] wie auch später bei den [[Mikroprozessor]]en abgespielt. Mit der Entwicklung zu immer höheren Taktfrequenzen und zu [[Reduced Instruction Set Computer|RISC]]-Prozessoren ging dann allerdings der Trend wieder zu fest verdrahteter Logik. Aktuelle Prozessoren verwenden oft eine Mischform, bei der häufig verwendete Befehle oder Befehlsteile mit fest verdrahteter Logik ausgeführt werden, und komplexe oder nicht so zeitkritische Befehle ganz oder teilweise mit Mikrocode.&lt;br /&gt;
&lt;br /&gt;
Einige Prozessoren können ihre Mikroprogrammierung auch selbst dynamisch (d. h. während des Betriebs) ändern, zum Beispiel um einen anderen [[Befehlssatz]] zu erlauben oder die Ausführung zu [[Optimierung|optimieren]]. In einigen Fällen kann ein Teil des fest in einem Prozessor verankerten Mikrocodes durch nachgeladenen Mikrocode dauerhaft ersetzt werden, etwa um Fehler im Prozessor zu kompensieren oder neue Befehle zu implementieren.&lt;br /&gt;
&lt;br /&gt;
Mikroprogrammsteuerwerke sind eine Form von [[Speicherprogrammierbare Steuerung|speicherprogrammierbaren Steuerungen]]. Ihr Einsatz ist nicht auf Prozessoren begrenzt.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* R. Hoffmann: &amp;#039;&amp;#039;Rechnerentwurf: Rechenwerke, Mikroprogrammierung, RISC.&amp;#039;&amp;#039; 3. Auflage. Oldenbourg, München 1993, ISBN 3-486-22174-4 (insbesondere Kap. 5: Mikroprogrammierung).&lt;br /&gt;
*{{Literatur | Autor= H.P. Gumm, M. Sommer | Titel=Einführung in die Informatik | Verlag=Oldenbourg|Auflage= 8. |Jahr=2009 |ISBN=978-3-486-58724-1}}&lt;br /&gt;
*{{Literatur | Autor= K. Wüst| Titel=Mikroprozessortechnik: Grundlagen, Architekturen und Programmierung von Mikroprozessoren, Mikrocontrollern und Signalprozessoren | Verlag=Vieweg+Teubner Verlag|Auflage= 3. |Jahr=2008 |ISBN=978-3-8348-0461-7}}&lt;br /&gt;
*{{Literatur | Autor= H. Bähring| Titel=Mikrorechner-Technik, Band 1, Mikroprozessoren und Digitale Signalprozessoren | Verlag=Springer|Auflage= 3. |Jahr=2002 |ISBN=3-540-41648-X}}&lt;br /&gt;
*{{Literatur | Autor= H. Bähring| Titel=Mikrorechner-Technik, Band 2, Busse, Speicher, Peripherie und Mikrocontroller| Verlag=Springer|Auflage= 3. |Jahr=2002 |ISBN=3-540-43693-6}}&lt;br /&gt;
*{{Literatur | Autor= Bringschulte, Ungerer| Titel=Mikrocontroller und Mikroprozessoren| Verlag=Springer |Jahr=2002 |ISBN=3-540-43095-4}}&lt;br /&gt;
*{{Literatur | Autor= R. Kelch| Titel=Rechnergrundlagen – Von der Binärlogik zum Schaltwerk| Verlag=Fachbuchverlag Leipzig |Jahr=2003 |ISBN=3-446-22112-3}}&lt;br /&gt;
*{{Literatur | Autor= R. Kelch| Titel=Rechnergrundlagen – Vom Rechenwerk zum Universalrechner| Verlag=Fachbuchverlag Leipzig |Jahr=2003 |ISBN=3-446-22113-1}}&lt;br /&gt;
*{{Literatur | Autor= Ch. Märtin| Titel=Einführung in die Rechnerarchitektur – Prozessoren und Systeme| Verlag=Fachbuchverlag Leipzig |Jahr=2003 |ISBN=3-446-22242-1}}&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
*{{Internetquelle|url=http://www.mikrocodesimulator.de/ |titel=Mikrocodesimulator MikroSim 2010 |hrsg=0/1-SimWare |zugriff=2010-10-03}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Bitte erweitern, insbesondere, weil [[Mikroprogrammierung]] und [[Mikroprogramm]] Redirects auf diesen Artikel sind! --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rechnerarchitektur]]&lt;br /&gt;
[[Kategorie:Firmware]]&lt;br /&gt;
[[Kategorie:Technische Informatik]]&lt;/div&gt;</summary>
		<author><name>2003:CB:2F07:5256:C59B:C2A0:A7CC:FD38</name></author>
	</entry>
</feed>