Layer of hardware-level instructions or data structures
For the CAD software vendor, see MicroCode Engineering, Inc.
Program execution
General concepts
Code
Translation
Compiler
Compile time
Optimizing compiler
Intermediate representation (IR)
Execution
Runtime system
Runtime
Executable
Interpreter
Virtual machine
Types of code
Source code
Object code
Bytecode
Machine code
Microcode
Compilation strategies
Ahead-of-time (AOT)
Just-in-time (JIT)
Tracing just-in-time
Compile and go system
Precompilation
Transcompilation
Recompilation
Notable runtimes
Android Runtime (ART)
BEAM
Common Language Runtime (CLR) and Mono
CPython and PyPy
crt0
Java virtual machine (JVM)
LuaJIT
Objective-C and Swift's
V8 and Node.js
Zend Engine
Notable compilers & toolchains
GNU Compiler Collection (GCC)
LLVM and Clang
MSVC
v
t
e
In processor design, microcode serves as an intermediary layer situated between the central processing unit (CPU) hardware and the programmer-visible instruction set architecture of a computer, also known as its machine code.[1][page needed] It consists of a set of hardware-level instructions that implement the higher-level machine code instructions or control internal finite-state machine sequencing in many digital processing components. While microcode is utilized in general-purpose CPUs in contemporary desktops, it also functions as a fallback path for scenarios that the faster hardwired control unit is unable to manage.[2]
Housed in special high-speed memory, microcode translates machine instructions, state machine data, or other input into sequences of detailed circuit-level operations. It separates the machine instructions from the underlying electronics, thereby enabling greater flexibility in designing and altering instructions. Moreover, it facilitates the construction of complex multi-step instructions, while simultaneously reducing the complexity of computer circuits. The act of writing microcode is often referred to as microprogramming, and the microcode in a specific processor implementation is sometimes termed a microprogram.
Through extensive microprogramming, microarchitectures of smaller scale and simplicity can emulate more robust architectures with wider word lengths, additional execution units, and so forth. This approach provides a relatively straightforward method of ensuring software compatibility between different products within a processor family.
Some hardware vendors, notably IBM/Lenovo, use the term microcode interchangeably with firmware. In this context, all code within a device is termed microcode, whether it is microcode or machine code. For instance, updates to a hard disk drive's microcode often encompass updates to both its microcode and firmware.[3]
^Kent, Allen; Williams, James G. (April 5, 1993). Encyclopedia of Computer Science and Technology: Volume 28 - Supplement 13. New York: Marcel Dekker, Inc. ISBN 0-8247-2281-7. Archived from the original on November 20, 2016. Retrieved Jan 17, 2016.
^Fog, Agner (2017-05-02). The microarchitecture of Intel, AMD and VIA CPUs (PDF) (Report). Technical University of Denmark. Archived (PDF) from the original on 2017-03-28. Retrieved 2018-04-08.
^"IBM pSeries Servers - Microcode Update for Ultrastar 73LZX (US73) 18/36 GB". IBM. Archived from the original on April 19, 2019. Retrieved January 22, 2015.
In processor design, microcode serves as an intermediary layer situated between the central processing unit (CPU) hardware and the programmer-visible...
Intel microcode is microcode that runs inside x86 processors made by Intel. Since the P6 microarchitecture introduced in the mid-1990s, the microcode programs...
CircuitMaker, TraxMaker and SimCode were originally developed by the Orem-based MicroCode Engineering, Inc. since 1988. CircuitMaker 5 for Windows 3.1, 9x and NT...
computers are built using "writable microcode" — rather than storing the microcode in ROM or hard-wired logic, the microcode is stored in a RAM called a writable...
internally many processors use microcode or optimize and transform machine code instructions into sequences of micro-ops. Microcode and micro-ops are not generally...
provided to customers as a means of writing customized microcode. In the process of microcode assembly it is helpful to verify the microprogram with emulation...
even lower unit of processing known as microcode which interprets the machine code and it is then that the microcode instructions would be the genuine primitives...
result of a more software-centric approach. Other enhancements included microcode instructions for the multiply and divide assembly language instructions...
microarchitecture called Zenbleed was made public.[1] AMD released a microcode update to fix it. In August 2023 a vulnerability in AMD's Zen 1, Zen 2...
typically there will only be one, fixed application which is always run). Microcode is a special, relatively obscure type of embedded software which tells...
sequence of simpler instructions. One reason for this was that architects (microcode writers) sometimes "over-designed" assembly language instructions, including...
BIOS contain patches to the processor microcode that fix errors in the initial processor microcode; microcode is loaded into processor's SRAM so reprogramming...
by their trip through the microcode. If the microcode was removed, the programs would run faster. And since the microcode ultimately took a complex instruction...
distributor is also FRS.[clarification needed] In cases of firmware or microcode, it is acceptable for major open-source projects like OpenBSD to include...
standards define different programmer-visible macroarchitectures. Microcode: microcode is software that translates instructions to run on a chip. It acts...
its complex arithmetic. Microcode instructions move data between the CPU and the memory controller. Memory controller microcode instructions manipulate...
Alto Hardware Manual by Xerox PARC. Alto uses a microcoded design, but unlike many computers, the microcode engine is not hidden from the programmer in a...
contemporary processor design, which was based on the concept of using microcode. IBM had been among the first to make widespread use of this technique...
is another yet smaller computer called a microsequencer, which runs a microcode program that causes all of these events to happen. The control unit, ALU...
which resulted in disabling the TSX/TSX-NI feature on affected CPUs via a microcode update. In 2016, a side-channel timing attack was found by abusing the...
Maya (MEL) MDL Mercury Mesa MHEG-5 (Interactive TV programming language) Microcode Microsoft Power Fx MIIS MIMIC Mirah Miranda MIVA Script ML Model 204 Modelica...
of the Intel CPUs and the original Intel microcode. In its ruling, the court determined that the microcode in the control store constitutes a computer...
The PALM (Program All Logic in Microcode) is a 16-bit central processing unit (CPU) developed by IBM. It was used in the IBM 5100 Portable Computer, a...