„Mikroprogrammsteuerwerk“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
[gesichtete Version][ungesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K hat „Mikroprogrammierung“ nach „Mikroprogrammsteuerwerk“ verschoben und dabei eine Weiterleitung überschrieben: move mismatch
Artikel um Literatur und Weblinks ergänzt
Zeile 26: Zeile 26:


Mikroprogrammsteuerwerke sind eine Form von [[Speicherprogrammierbare Steuerung|speicherprogrammierbarer Steuerung]]. Ihr Einsatz ist nicht auf Prozessoren begrenzt.
Mikroprogrammsteuerwerke sind eine Form von [[Speicherprogrammierbare Steuerung|speicherprogrammierbarer Steuerung]]. Ihr Einsatz ist nicht auf Prozessoren begrenzt.

== Literatur ==
*{{cite book | author= H.P.Gumm, M.Sommer | title=Einführung in die Informatik | publisher=Oldenbourg, 8. Auflage |year=2009 |isbn=978-3-486-58724-1}}
*{{cite book | author= K.Wüst| title=Mikroprozessortechnik: Grundlagen, Architekturen und Programmierung von Mikroprozessoren, Mikrocontrollern und Signalprozessoren | publisher=Vieweg+Teubner Verlag, 3. Auflage |year=2008 |isbn=978-3-834-80461-7}}
*{{cite book | author= H.Bähring| title=Mikrorechner-Technik, Band 1, Mikroprozessoren und Digitale Signalprozessoren | publisher=Springer, 3. Auflage |year=2002 |isbn=3-540-41648-x}}
*{{cite book | author= H.Bähring| title=Mikrorechner-Technik, Band 2, Busse, Speicher, Pheriperie und Mikrocontroller| publisher=Springer, 3. Auflage |year=2002 |isbn=3-540-43693-6}}
*{{cite book | author= Bringschulte, Ungerer| title=Mikrocontroller und Mikroprozessoren| publisher=Springer |year=2002 |isbn=3-540-43095-4}}
*{{cite book | author= R. Kelch| title=Rechnergrundlagen - Von der Binärlogik zum Schaltwerk| publisher=Fachbuchverlag Leipzig |year=2003 |isbn=3-446-22112-1}}
*{{cite book | author= R. Kelch| title=Rechnergrundlagen - Vom Rechenwerk zum Universalrechner| publisher=Fachbuchverlag Leipzig |year=2003 |isbn=3-446-22113-1}}
*{{cite book | author= Ch. Märtin| title=Einführung in die Rechnerarchitektur - Prozessoren und Systeme| publisher=Fachbuchverlag Leipzig |year=2003 |isbn=3-446-22242-1}}


== Weblinks ==
== Weblinks ==
*{{cite web|url=http://www.mikrocodesimulator.de/ |title=Mikrocodesimulator MikroSim 2010 |publisher=0/1-SimWare |date= |accessdate=2010-10-03}}
* [http://daniel.netsniff-ng.org/microtowers/ Spiel Türme von Hanoi implementiert in einem Mikroprogrammsteuerwerk]
* [http://daniel.netsniff-ng.org/microtowers/ Spiel Türme von Hanoi implementiert in einem Mikroprogrammsteuerwerk]


<!-- Bitte erweitern, insbesondere, weil [[Mikroprogrammierung]] und [[Mikroprogramm]] Redirects auf diesen Artikel sind! -->
<!-- Bitte erweitern, insbesondere, weil [[Mikroprogrammierung]] und [[Mikroprogramm]] Redirects auf diesen Artikel sind! -->



[[Kategorie:Rechnerarchitektur]]
[[Kategorie:Rechnerarchitektur]]

Version vom 12. Oktober 2010, 17:49 Uhr

Ein Mikroprogrammsteuerwerk ist der Teil mikroprogrammierter Prozessoren, der die Ausführung eines Befehls im Prozessor steuert. Das Steuerwerk enthält eine Menge von Mikroprogrammen, die jeweils aus einer Liste von Steuersignalen bestehen, die das Verhalten von Prozessorelementen – zum Beispiel der ALU und den Registern – regeln. Bei manchen Prozessoren können die Mikroprogramme auch nachträglich mittels Mikrocodeprogrammierung geändert werden. Man könnte die Mikroprogramme auch als Firmware der CPU bezeichnen.

Funktionsweise

Maschinencodes müssen in einem Prozessor mittels sogenannter Mikrobefehle 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.

Nehmen wir als Beispiel folgenden Befehl eines fiktiven Prozessors: ADD A, B

Dieser Befehl soll die Inhalte der Register A und B addieren und das Ergebnis in das Register A zurückschreiben. Damit dies geschieht muss innerhalb des Prozessors Folgendes ablaufen:

  1. Die ALU muss für eine Addition konfiguriert werden.
  2. Das Register A muss seinen Inhalt an einen Eingang der ALU anlegen.
  3. Das Register B muss seinen Inhalt an einen zweiten Eingang der ALU anlegen.
  4. Nach dem Ablauf der Durchlaufzeit für das Auslesen der Register und die Ausführung der Addition in der ALU muss das Ergebnis in ein Zwischenregister übernommen werden.
  5. Das Register A muss den Wert des Zwischenregisters übernehmen.
  6. Der nächste Befehl muss aus dem Speicher gelesen werden.

Dabei können die Schritte 1, 2, 3 und 5, 6 in jeweils einem Schritt zusammengefasst werden.

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.

Im Falle der Mikroprogrammierung wird eine solche Ablaufsteuerung über die in einem Speicher abgelegten Mikroprogramme realisiert. Der Maschinencode aktiviert dabei jeweils eines der Mikroprogramme, das in mehreren Schritten dann jeweils alle notwendigen Steuersignale für die 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.

Entwicklung

Frühe Prozessoren waren typischerweise mit fest verdrahteter Logik aufgebaut, später wurden dann vermehrt Mikroprogrammsteuerwerke eingesetzt. Diese Entwicklung hat sich bei den Mainframe-Computern, wie auch später bei den Mikroprozessoren abgespielt. Mit der Entwicklung zu immer höheren Taktfrequenzen und zu 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.

Einige Prozessoren können ihre Mikroprogrammierung auch selbst dynamisch ändern, zum Beispiel um einen anderen Befehlssatz zu erlauben oder die Ausführung zu optimieren. In einigen Fällen kann ein Teil des fest in einem Prozessor verankerten Mikrocodes durch nachgeladenen Mikrocode ersetzt werden um Fehler im Prozessor zu kompensieren.

Mikroprogrammsteuerwerke sind eine Form von speicherprogrammierbarer Steuerung. Ihr Einsatz ist nicht auf Prozessoren begrenzt.

Literatur

  • H.P.Gumm, M.Sommer: Einführung in die Informatik. Oldenbourg, 8. Auflage, 2009, ISBN 978-3-486-58724-1.
  • K.Wüst: Mikroprozessortechnik: Grundlagen, Architekturen und Programmierung von Mikroprozessoren, Mikrocontrollern und Signalprozessoren. Vieweg+Teubner Verlag, 3. Auflage, 2008, ISBN 978-3-8348-0461-7.
  • H.Bähring: Mikrorechner-Technik, Band 1, Mikroprozessoren und Digitale Signalprozessoren. Springer, 3. Auflage, 2002, ISBN 3-540-41648-X.
  • H.Bähring: Mikrorechner-Technik, Band 2, Busse, Speicher, Pheriperie und Mikrocontroller. Springer, 3. Auflage, 2002, ISBN 3-540-43693-6.
  • Bringschulte, Ungerer: Mikrocontroller und Mikroprozessoren. Springer, 2002, ISBN 3-540-43095-4.
  • R. Kelch: Rechnergrundlagen - Von der Binärlogik zum Schaltwerk. Fachbuchverlag Leipzig, 2003, ISBN 3-446-22112-1(?!).
  • R. Kelch: Rechnergrundlagen - Vom Rechenwerk zum Universalrechner. Fachbuchverlag Leipzig, 2003, ISBN 3-446-22113-1.
  • Ch. Märtin: Einführung in die Rechnerarchitektur - Prozessoren und Systeme. Fachbuchverlag Leipzig, 2003, ISBN 3-446-22242-1.