Microinstruction

from Wikipedia, the free encyclopedia

The micro instruction (also micro-op , µ-op , µ-operation ) is an elementary instruction for controlling a processor.

  • In a processor with CISC - Architecture microinstructions are processor-internal control codes in the micro program control unit ; they control and interconnect the various work units (e.g. the arithmetic logic unit ) in the CPU core and interconnect them with other processor components, e.g. B. the registers. Several microinstructions are combined into a microcode instruction set, which is colloquially referred to as the microcode of a microprogram control unit. Sometimes some micro-commands can be given directly from outside; they are then RISC-like machine instructions.
  • A processor with RISC architecture does not have a microprogram control unit - the machine commands are used directly (or with the aid of a minimal combinational circuit ) for the internal interconnection of the processor components . Thus µ-Op and machine code coincide here.

The following article only deals with the microcode of the microprogram control unit of a CISC processor.

functionality

Scheme

An inherently coded addressing rule in a part of the microinstruction is used to refer to the next microinstruction to be processed within an addressable microinstruction set, so that structured processes can be programmed in repeating microinstruction sequences. In this way it is possible the complex instruction set of a CISC processor (CISC, English Complex Instruction Set Computer ) presented as micro instruction sequence. The microinstruction set can thus be understood as firmware of the microprogram control unit. The microcode of an integrated arithmetic unit is located in a separate memory area with short access time. The microcode acts as the lowest level control program, programmed in the language of microinstructions, to translate machine instructions into a series of switch operation instructions.

The microinstruction consists of a sequence of bits which, when processed within a microcode instruction cycle, effect the control in the microcode program control and arithmetic unit. Each individual bit can be understood as a discrete switching instruction (picos command) which initiates or prevents switching activity depending on the bit value. Alternatively, several non-independent bits can be grouped in bit fields as a coded binary number ( nanocode ). Their bit combination can, under certain circumstances , instruct multiplexer circuits to activate assigned control or computing circuits ( nanoprogram ).

A microinstruction (part) is referred to as " horizontal microinstruction-coded " if the execution of the part of the instruction takes place with independent single-bit control within a processing cycle . In this case, the state transition of the computer is independent of the execution sequence of the switching instructions within a microinstruction.

A microinstruction (part) is referred to as " vertically microinstruction-coded " if the execution of the part of the instruction takes place in intermediate cycles (nanoprogram) due to a dependent single-bit control option. In this way, a time sequence of interlocking single-bit controls can be used or an evaluation of a bit-group-dependent control can be made possible. In this case, the state transition of the computer depends on the execution sequence of the switching instructions within a microinstruction.

If a microinstruction consists of horizontally as well as vertically coded parts, it is also referred to as " diagonal microinstruction coded ".

A microinstruction cycle can be divided into several phases in which horizontally and vertically micro-coded control instructions are active at the same time. If the microcode memory area can be changed, a microcode program (also microprogram) can be changed and loaded subsequently in order to adapt, correct or optimize hardware functionalities.

A (from microinstructions English Micro Instructions ) compiled binary code in the microprogram is as microcode referred to. The programming procedure in the sense of the compilation of the micro-commands into a micro-program is called micro- programming, the direct creation of a control program in binary code is called micro-coding. If necessary, programming tools known as microassemblers are used. With these tools it is possible to manage micro-instruction sequences in a clear manner and to translate them into binary code. The meaning of the microinstructions for the control of a virtual computing unit is conveyed in a didactic way with the microcode simulator MikroSim .

literature

  • 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 .
  • Bringschulte, Ungerer: Microcontrollers and microprocessors . Springer, 2002, ISBN 3-540-43095-4 .

Web links