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
- Vorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/Name: Einführung in die Informatik. Hrsg.: Vorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/Name. Oldenbourg, 8. Auflage, Vorlage:Cite book/Date, ISBN 978-3-486-58724-1, [ ] (Vorlage:Cite book/URL [abgerufen am -05-]).Vorlage:Cite book/URLVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung
- Vorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/Name: Mikroprozessortechnik: Grundlagen, Architekturen und Programmierung von Mikroprozessoren, Mikrocontrollern und Signalprozessoren. Hrsg.: Vorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/Name. Vieweg+Teubner Verlag, 3. Auflage, Vorlage:Cite book/Date, ISBN 978-3-8348-0461-7, [ ] (Vorlage:Cite book/URL [abgerufen am -05-]).Vorlage:Cite book/URLVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung
- Vorlage:Cite book/URLVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung
- Vorlage:Cite book/URLVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung
- Vorlage:Cite book/URLVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung
Weblinks
- Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Mikrocodesimulator MikroSim 2010.] 0/1-SimWare, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 3. Oktober 2010.Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung
- Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig P6 Family Processor Microcode Update, Feature Review.] J. Molina, W. Arbaugh, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 3. Oktober 2010 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung
- Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig A Brief History of Microprogramming.] M. Smotherman, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 3. Oktober 2010 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung
- Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Computer Structures: Principles and Examples, Part 2, Regions Of Computer Space, Section 1, Microprogram-Based Processors, Seite 151 ff.] McGraw-Hill Computer Science Series, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 3. Oktober 2010 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung
- Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig 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, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 3. Oktober 2010 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung
- Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Intel Microcode Update Utility.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 30. September 2012 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung
- Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig A microcode reliability update is available that improves the reliability of systems that use Intel processors.] Microsoft, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 3. Oktober 2010 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung
- Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig BIOS Update required when Missing Microcode message is seen during POST.] Intel Cooperation, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 3. Oktober 2010 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung
bs:Mikroprogram fr:Microprogrammation hr:Mikroprogramiranje it:Microprogrammazione pl:Mikroprogram sh:Mikroprogramiranje sr:Микропрограм sv:Mikroprogram tr:Mikroprogramlama