Microcode

related topics
{system, computer, user}
{math, number, function}
{album, band, music}

Microcode is a layer of hardware-level instructions and/or data structures involved in the implementation of higher level machine code instructions in many computers and other processors; it resides in a special high-speed memory and translates machine instructions into sequences of detailed circuit-level operations. It helps separate the machine instructions from the underlying electronics so that instructions can be designed and altered more freely. It also makes it feasible to build complex multi-step instructions while still reducing the complexity of the electronic circuitry compared to other methods. Writing microcode is often called microprogramming and the microcode in a particular processor implementation is sometimes called a microprogram.

Modern microcode is normally written by an engineer during the processor design phase and stored in a ROM and/or PLA structure, although machines exist which have some writable microcode in SRAM or flash memory. Microcode is generally not visible or changeable by a normal programmer, not even by an assembly programmer. Unlike machine code which often retains some compatibility among different processors in a family, microcode only runs on the exact electronic circuitry for which it is designed, as it constitutes an inherent part of the particular processor design itself.

More extensive microcoding has also been used to allow small and simple microarchitectures to emulate more powerful architectures with wider word length, more execution units and so on; a relatively simple way to achieve software compatibility between different products in a processor family.

Some hardware vendors, especially IBM, use the term as a synonym for firmware, so that all code in a device, whether microcode or machine code, is termed microcode (such as in a hard drive for instance, which typically contains both).[1]

Contents

Full article ▸

related documents
IPv4
Proxy server
Computer software
Software cracking
Network topology
ISO 9660
File Transfer Protocol
Programmable logic device
Virtual memory
Pulse-code modulation
Genera (operating system)
GeForce FX Series
MPEG-2
X Window System
Direct Connect (file sharing)
OS/2
Virtual private network
Reduced instruction set computer
Computer multitasking
Workstation
IEEE 802.11
Session Initiation Protocol
RT-11
Throughput
PAL
Digital video
X10 (industry standard)
MS-DOS
DV
Cable modem