

Writing microcode is often called microprogramming and the microcode in a particular processor implementation is sometimes called a microprogram. It also facilitates the building of complex multi-step instructions, while reducing the complexity of computer circuits. It separates the machine instructions from the underlying electronics so that instructions can be designed and altered more freely. Microcode typically resides in special high-speed memory and translates machine instructions, state machine data, or other input into sequences of detailed circuit-level operations.

Microcode is used in general-purpose central processing units, although in current desktop CPUs, it is only a fallback path for cases that the faster hardwired control unit cannot handle. Microcode is a layer of hardware-level instructions that implement higher-level machine code instructions or internal finite-state machine sequencing in many digital processing elements. In processor design, microcode (μcode ) is a technique that interposes a layer of computer organization between the central processing unit (CPU) hardware and the programmer-visible instruction set architecture of a computer.
