microcode


Also found in: Dictionary, Thesaurus, Medical, Legal, Wikipedia.

microcode

[′mī·krō‚kōd]
(computer science)
A code that employs microinstructions; not ordinarily used in programming.

microcode

(programming)
A technique for implementing the instruction set of a processor as a sequence of microcode instructions ("microinstructions"), each of which typically consists of a (large) number of bit fields and the address of the next microinstruction to execute. Each bit field controls some specific part of the processor's operation, such as a gate which allows some functional unit to drive a value onto the bus or the operation to be performed by the ALU. Several microinstructions will usually be required to fetch, decode and execute each machine code instruction ("macroinstruction"). The microcode may also be responsible for polling for hardware interrupts between each macroinstruction. Writing microcode is known as "microprogramming".

Microcode may be classified as "horizontally encoded" or "vertically encoded". Horizontal microcode is as described above where there is a fairly direct correspondence between the bit fields in a microinstruction and the control signals sent to the various parts of the CPU. Not all combinations of bits will be valid (e.g. two units driving the bus at once). Vertical microcode is closer to machine code because a bit field value may pass through some intermediate combinatory logic which generates the actual control signals. This allows a few bits of a microinstruction to determine several control signals and ensure that only valid combinations of those signals are generated (e.g. a field may be decoded to determine which unit drives the bus). The disadvantage with vertical encoding is that the encoding is usually fixed and takes extra time compared with horizontal encoding which allows any combination of signals to be generated and takes no time to decode.

The alternative to a microcoded processor is a hard-wired one where the control signals are generated directly from the bits of the machine code instruction. This is more common in modern RISC architectures because it is faster.

Microcode is usually stored in ROM chips though some processors (e.g. the Orion) use fast RAM, making them dynamically microprogrammable.

microcode

A set of elementary instructions in a complex instruction set computer (CISC). The microcode resides in a separate high-speed memory and functions as a translation layer between the machine instructions and the circuit level of the computer. Microcode enables the computer designer to create machine instructions without having to design electronic circuits. Writing microcode is called "microprogramming," and the microcode for a given computer is called a "microprogram."

RISC computers do not use microcode, which is the reason why RISC compilers generate more instructions than CISC compilers.

Source Code to Machine Code to Microcode
When software is written, the source code is converted into machine instructions by assemblers and compilers. At execution time, the machine instructions are converted into microinstructions, and the microinstructions cause transistors to open and close in the circuits. See microinstruction, CISC and RISC.
References in periodicals archive ?
By creating targeted CPM microcode packages and integrating them with our modified PowerPC processor-based Linux packages, we are creating unique and tremendously powerful software systems that optimize throughput from all aspects.
About IXP1200 Microcode Solutions Library The IXP1200 MSL portfolio includes: -- MSL Ethernet: Layer 1, 2 and 3 services for Ethernet-based products.
Freescale's Open QUICC Engine program provided Axerra with expert training, documentation, support and a CodeWarrior(R) tool-based development environment that enabled Axerra's engineers to develop their own application-specific microcode solutions.
About the IXP2400/2800 Microcode Solutions Library The IXP2400/2800 MSL portfolio includes: -- MSL Ethernet: Layer 3 services for Ethernet-based products.
With the RadiSys MSL portfolio, developers can add microcode for all three types of network protocols (ATM, PDH, and Ethernet/IP) to their hardware.
Introduced in the MPC8360E PowerQUICC II Pro processor family and extensible to other Freescale processor architectures, QUICC Engine technology supports a wide range of communications protocols and functions through microcode.
Providing PowerQUICC II customers with industry-proven protocol solutions, Motorola's new microcode packages add to the rich family of protocols supported by the MPC825x and MPC826x processors -- such as Ethernet, Fast Ethernet, ATM Adaptation Layer and SARing, ATM signaling and switching, Inverse Multiplexing for ATM (IMA), Multi-channel HDLC, SS7, as well as ATM to Ethernet switching.
IBM begins by pointing out that BCC drives are neither comparable nor identical to IBM drives because the microcode is different and there are additional hardware components.
The latest software release provides a new microcode for QoSmetrics NetWarrior hardware probes that will provide real time video and audio streaming decoding and video and audio quality monitoring.
This unique design is capable of interpreting the microcode and executing the instruction sets for the Intel 80x86 (Pentium(TM)-486), the Motorola 680x0 (Apple Macintosh (TM)) or the MIPS R3000 processors.
The NSC55 is effectively a miniaturized version of the industry-leading TagmaStore Universal Storage Platform, with the same proven microcode and all of the same software and virtualization capabilities.
Modern disk subsystems have built-in microprocessors, cache, sophisticated microcode (also known as firmware), and software that can be employed to complete, indeed enhance, the task of writing and reading data to and from the disk or disk array.