Mikroprogramm
Das Mikroprogramm ist der Algorithmus eines Mikroprogrammsteuerwerks in einem Prozessor zum Steuern seines Rechenwerks. Mikroprogramme werden mittels Mikroprogrammierung erstellt. Dazu werden Mikrobefehle eines Mikroprogramms in einer adressierbaren Reihenfolge angeordnet und in einem Festwertspeicher, dem sog. Mikroprogrammspeicher, bereitgestellt. Die Mikrobefehle enthalten in binärer Form codierte Anweisungen mit fester Bit-Anzahl zur Aktivierung und Deaktivierung logischer Funktionseinheiten. Auf diese Weise bestimmt das Mikroprogrammsteuerwerk mit Hilfe des Mikroprogramms, welche Schaltvorgänge in welcher Reihenfolge zur Umsetzung von Maschinenbefehlen für ein Rechenwerk benötigt werden. Unter Umständen werden Schaltvorgänge nicht in vollem Umfang unmittelbar durch den Mikrocode initiiert, sondern durch nachgeordnete Nanoprogramme, die als Nanocode realisiert sind. Die Gesamtheit aller im Mikroprogrammspeicher binär codierten Mikrobefehle bilden den Mikrocode.
Zusätzlich enthalten die Mikrobefehle eine inhärent codierte Adressierungsvorschrift, mit deren Hilfe die Position des nächsten anzusteuernden Mikrobefehls zur taktweisen, zyklischen Abarbeitung des Steuerablaufplans berechnet werden kann. Auf diese Weise ist es möglich, Mikrobefehle im Mikroprogramm nicht nur in aufsteigender Adressreihenfolge mit einfacher Sprungweite auszuführen, sondern ebenso in Adressierungssequenzen, die absolute, relative und bedingte Adressierungssprünge beinhalten können. Somit besteht die Möglichkeit einer möglichst redundanzfreien Strukturierung des Ablaufplans bzgl. sich wiederholender Mikrobefehlssequenzen. Somit besteht die Möglichkeit den begrenzt vorhandenen Mikrobefehlsspeicher in einer CPU für die Programmierung von Maschinenbefehlen in der Steuersprache der Mikrobefehle möglichst effektiv zu nutzen.
Das Mikroprogramm kann unmittelbar in Form binär codierter Mikrobefehle erstellt werden. Aber auch Hilfsmittel wie Mikroassembler können zur Mikroprogrammierung herangezogen werden, um die Steueranweisungen der Mikrobefehle eines Mikrocodeprogramms aus einer lesbaren Darstellung in die unübersichtliche binäre Mikrobefehlsform automatisiert zu übersetzen. Gleichzeitig kann mit dem Mikroassembler der Mikroprogrammspeicherinhalt und die inhärent codierte Adressierungsreihenfolge einer programmierten Mikrobefehlssequenz flexibel verwaltet werden. Die Erstellung eines Mikroprogramms zur Steuerung einer virtuellen Recheneinheit wird mit dem Mikrocodesimulator MikroSim auf didaktische Weise vermittelt.
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.
- Brinkschulte, Ungerer: Mikrocontroller und Mikroprozessoren. Springer, 2002, ISBN 3-540-43095-4.
- Helmut Bähring: Mikrorechner-Technik, Band 2, Busse, Speicher, Peripherie und Mikrocontroller. Springer, 3. Auflage, 2002, ISBN 3-540-43693-6.
- Helmut Bähring: Mikrorechner-Technik, Band 1, Mikroprozessoren und Digitale Signalprozessoren. Springer, 3. Auflage, 2002, ISBN 3-540-41648-X.
Weblinks
- BIOS Update required when Missing Microcode message is seen during POST. Intel Cooperation, abgerufen am 3. Oktober 2010.
- Intel Microcode Update Utility. Abgerufen am 30. September 2012.
- Mikrocodesimulator MikroSim 2010. 0/1-SimWare, abgerufen am 3. Oktober 2010.
- A Brief History of Microprogramming. M. Smotherman, 2010, abgerufen am 3. Oktober 2010.
- Intel(R) 64 and IA-32 Architectures Software Developer’s Manual, Volume 3A: System Programming Guide, Part 1, Chapter 9.11: „Microcode update facilities“. Intel Cooperation, Dezember 2009, abgerufen am 3. Oktober 2010.
- Computer Structures: Principles and Examples, Part 2, Regions Of Computer Space, Section 1, Microprogram-Based Processors, Seite 151 ff. McGraw-Hill Computer Science Series, abgerufen am 3. Oktober 2010.
- A microcode reliability update is available that improves the reliability of systems that use Intel processors. Microsoft, abgerufen am 3. Oktober 2010 (englisch).
- P6 Family Processor Microcode Update, Feature Review. J. Molina, W. Arbaugh, 2000, abgerufen am 3. Oktober 2010.