Mikroprogramm
# 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.

