from Wikipedia, the free encyclopedia

The microprogram is the algorithm of a microprogram control unit in a processor for controlling its arithmetic unit . Microprograms are created using microprogramming . For this purpose, microinstructions of a microprogram are arranged in an addressable sequence and made available in a read-only memory , the so-called microprogram memory . The microinstructions contain instructions coded in binary form with a fixed number of bits for activating and deactivating logical functional units. In this way, the microprogram control unit uses the microprogram to determine which switching operations are required in which order to implement machine commands for an arithmetic unit. Under certain circumstances, switching processes are not fully initiated directly by the microcode, but rather by subordinate nanoprograms that are implemented as nanocode . The entirety of all micro-instructions encoded in binary in the micro-program memory form the microcode .

In addition, the micro-commands contain an inherently coded addressing rule, with the aid of which the position of the next micro-command to be controlled can be calculated for the cyclical processing of the control flow chart. In this way it is possible to execute microinstructions in the microprogram not only in ascending address order with a single jump width, but also in addressing sequences that can contain absolute, relative and conditional addressing jumps. There is thus the possibility of structuring the flow chart with as little redundancy as possible with regard to repetitive microinstruction sequences. It is thus possible to use the limited amount of microinstruction memory in a CPU for programming machine commands in the control language of the microinstructions as effectively as possible.

The microprogram can be created directly in the form of binary coded microinstructions. However, aids such as microassemblers can also be used for microprogramming in order to automatically translate the control instructions of the microinstructions of a microcode program from a readable representation into the confusing binary microinstruction form. At the same time with the microassembler the micro program memory content and the inherent memory addressing order a programmed sequence of micro instructions to be managed flexibly. The creation of a microprogram for controlling a virtual processing unit is conveyed in a didactic way with the microcode simulator MikroSim .


  • HP Gumm, M. Sommer: Introduction to Computer Science . Oldenbourg, 8th edition, 2009, ISBN 978-3-486-58724-1 .
  • K. Wüst: Microprocessor technology: Fundamentals, architectures and programming of microprocessors, microcontrollers and signal processors . Vieweg + Teubner Verlag, 3rd edition, 2008, ISBN 978-3-834-80461-7 .
  • H. Bähring: Mikrorechner-Technik, Volume 1, Microprocessors and Digital Signal Processors . Springer, 3rd edition, 2002, ISBN 3-540-41648-x .
  • H. Bähring: Microcomputer technology, Volume 2, buses, memories, peripherals and microcontrollers . Springer, 3rd edition, 2002, ISBN 3-540-43693-6 .
  • Brinkschulte, Ungerer: Microcontrollers and microprocessors . Springer, 2002, ISBN 3-540-43095-4 .

Web links