Everything about Microcode
Layer of hardware-level instructions or data structures
In computer architecture, microcode is a layer of low-level control data or instructions used to implement a processor's instruction set architecture or internal control sequences. It consists of hardware-level operations that carry out higher-level machine code instructions or direct internal sequencing in many digital components. In many modern Intel and AMD general-purpose processors, common instructions are decoded directly into internal micro-operations, while microcode is used mainly for more complex instructions, special cases, and processor updates. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: MicrocodeA 5-minute orientation
- Skim a recent paper: Microvascular and proteomic signatures overlap in COVID-19 and bacterial sepsis: the MICROCODE studyInfluential work since 2022
- Pick up a classic book: The Pentium ChroniclesThe most-reprinted book on the subject
- Read the landmark paper: Trace Scheduling: A Technique for Global Microcode CompactionCited 799 times
- Go sideways: Control storeA closely related topic
- Go sideways: MicrosequencerA closely related topic
📖 Definitions
Noun The collective microprograms in a CPU, used to run machine instructions.
Verb To write or rewrite (program instructions) in microcode, typically to optimize performance.
🏆 Landmark papers (most cited)
Trace Scheduling: A Technique for Global Microcode Compaction
Local Microcode Compaction Techniques
Some Experiments in Local Microcode Compaction for Horizontal Machines
ATUM: a new technique for capturing address traces using microcode
A development environment for horizontal microcode
An efficient microcode compiler for application specific DSP processors
A Mechanically Checked Proof of Correctness of the AMD K5 Floating Point Square Root Microcode
Phase coupling and constant generation in an optimizing microcode compiler
🆕 Influential since 2022
Microvascular and proteomic signatures overlap in COVID-19 and bacterial sepsis: the MICROCODE study
Exploring Microcode CPU Instructions with RISC 8-Bit Breadboard Computer
BinEncoder: Binary code similarity detection across compilation configurations via microcode
MicroSpark: Testing Voltage Glitches on Intel Microcode
📚 Books worth reading
The Pentium ChroniclesRobert P. Colwell · 2005
Microprocessor Systems DesignEdwin E. Klingman · 1977
Inside IntelJackson, Tim · 1997- 📕Formal verification of the AAMP-FV microcode · 1999
A preliminary evaluation of trace scheduling for global microcode compactionRalph Grishman · 1982- 📕Applying algebraic techniques to microcode compilationC. J. Cant · 1992
Automated microcode synthesisMueller, Robert A. · 1984- 📕MimicoE.T Kapuya · 1993
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Control store A control store is the part of a CPU's control unit that stores the CPU's microprogram. It is usually accessed by a microsequencer. A control store implementati…
- Microsequencer In computer architecture and engineering, a sequencer or microsequencer generates the addresses used to step through the microprogram of a control store…
- Burroughs B1000 series The Burroughs B1000 Series was a series of mainframe computers, built by the Burroughs Corporation, and originally introduced in the 1970s with continued…
- Control unit In computer architecture, the control unit (CU) is a component of a computer's central processing unit (CPU) that directs the operation of the processor…
- Microassembler A microassembler is a computer program that helps prepare a microprogram, called firmware, to control the low level operation of a computer in much the…
- Microarchitecture In electronics, computer science and computer engineering, microarchitecture, also called computer organization and sometimes abbreviated as μarch or uarch…
- Floating-point unit A floating-point unit (FPU), numeric processing unit (NPU), colloquially math coprocessor, is a part of a computer system specially designed to carry out…
- Diode matrix In digital electronics, a diode matrix is a two-dimensional grid of wires, with diodes connecting at selected intersections. A single row of the diode…