Mikroprogrammsteuerwerk - LinkFang.de





Mikroprogrammsteuerwerk


Ein Mikroprogrammsteuerwerk ist der Teil mikroprogrammierter Prozessoren, der die Ausführung eines Befehls im Prozessor steuert. Das Steuerwerk hat Zugriff auf Mikroprogramme, die in einem Speicher abgelegt sind. Die Mikroprogramme steuern das Zusammenspiel von Prozessoreinheiten wie zum Beispiel der ALU oder den 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.

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 den Befehl ADD A,B 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:

  1. Die ALU wird für eine Addition konfiguriert.
  2. Der Inhalt von Register A wird an den ersten Eingang der ALU angelegt.
  3. Der Inhalt von Register B wird an den zweiten Eingang der ALU angelegt.
  4. 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.
  5. Der Inhalt von Register A wird mit dem Wert aus dem Zwischenregister überschrieben.
  6. Der nächste Befehl wird aus dem Speicher gelesen.

Denkbar wäre, die Schritte (1, 2, 3) und (5, 6) in jeweils einem Zeitintervall zusammengefasst ablaufen zu lassen.

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. Die Bedeutung eines Mikroprogrammsteuerwerks als Leitwerk für die Steuerung eines virtuellen Rechenwerks wird mit dem Mikrocodesimulator MikroSim auf didaktische Weise vermittelt.

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 (d. h. während des Betriebs) ä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 dauerhaft ersetzt werden, etwa um Fehler im Prozessor zu kompensieren oder neue Befehle zu implementieren.

Mikroprogrammsteuerwerke sind eine Form von speicherprogrammierbaren Steuerungen. Ihr Einsatz ist nicht auf Prozessoren begrenzt.

Literatur

  • R. Hoffmann: Rechnerentwurf: Rechenwerke, Mikroprogrammierung, RISC. 3. Auflage. Oldenbourg, München 1993, ISBN 3-486-22174-4 (insbesondere Kap. 5: Mikroprogrammierung).
  • H.P. Gumm, M. Sommer: Einführung in die Informatik. 8. Auflage. Oldenbourg, 2009, ISBN 978-3-486-58724-1.
  • K. Wüst: Mikroprozessortechnik: Grundlagen, Architekturen und Programmierung von Mikroprozessoren, Mikrocontrollern und Signalprozessoren. 3. Auflage. Vieweg+Teubner Verlag, 2008, ISBN 978-3-8348-0461-7.
  • H. Bähring: Mikrorechner-Technik, Band 1, Mikroprozessoren und Digitale Signalprozessoren. 3. Auflage. Springer, 2002, ISBN 3-540-41648-X.
  • H. Bähring: Mikrorechner-Technik, Band 2, Busse, Speicher, Peripherie und Mikrocontroller. 3. Auflage. Springer, 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-3.
  • 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.

Weblinks


Kategorien: Technische Informatik | Firmware | Rechnerarchitektur

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Mikroprogrammsteuerwerk (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.