Microinstruction Format and Control Signals

College Depth 63 in the knowledge graph I know this Set as goal
Unlocks 5 downstream topics
control microinstruction cpu-design

Core Idea

Microinstructions define the control signals (ALU operation, register writes, memory access) executed during each clock cycle. Hardwired control derives these directly from the instruction; microprogrammed control stores microcode in ROM.

Explainer

From your study of the CPU control unit, you know that the processor must generate the right signals at the right time to orchestrate data movement through the datapath. A microinstruction is a single word — a bit pattern — where each bit or group of bits directly controls one piece of the hardware: which registers to read, what operation the ALU should perform, whether to write to memory, whether to update the program counter. Think of it as a row of switches, where each switch enables or disables a specific datapath action for one clock cycle.

A complete machine instruction (like ADD or LOAD) typically requires a sequence of these microinstructions, called a microprogram. For example, executing an ADD instruction might take three microinstructions: one to fetch the instruction from memory, one to read source registers and configure the ALU, and one to write the result back. Each microinstruction activates a different combination of control signals. The microprogram for each machine instruction is stored in a small, fast read-only memory called the control store. When the processor decodes a machine instruction, it looks up the starting address of the corresponding microprogram and steps through it one microinstruction per clock cycle.

The format of a microinstruction involves a design tradeoff between width and encoding density. In a horizontal microinstruction, each control signal gets its own dedicated bit — the word is wide (potentially hundreds of bits) but simple to decode because each bit maps directly to a wire. In a vertical microinstruction, control signals are encoded into smaller fields that must be decoded through additional logic, producing narrower words but requiring an extra decoding step. Most real designs use a hybrid approach, grouping mutually exclusive signals (like ALU operations, where only one can be active at a time) into encoded fields while leaving independent signals as direct bits.

The alternative to microprogrammed control is hardwired control, where combinational logic circuits directly generate control signals from the instruction opcode and the current cycle. Hardwired control is faster because there is no control store lookup, but it is inflexible — changing or adding instructions requires redesigning the logic. Microprogrammed control trades some speed for enormous flexibility: fixing a bug or adding a new instruction means changing microcode in ROM rather than rewiring hardware. This tradeoff explains why early complex instruction set computers (CISC) favored microprogramming, while simpler RISC architectures could afford hardwired control due to their smaller, more regular instruction sets.

Practice Questions 5 questions

Prerequisite Chain

Counting to 10Counting to 20Understanding ZeroThe Number ZeroCounting to FiveOne-to-One CorrespondenceCombining Small Groups Within 5Addition Within 10Addition Within 20Two-Digit Addition Without RegroupingTwo-Digit Addition with RegroupingAddition Within 100Repeated Addition as MultiplicationMultiplication Facts Within 100Division as Equal SharingDivision as Grouping (Measurement Division)Division: Grouping (Repeated Subtraction) ModelDivision: Fair Sharing ModelDivision as Equal SharingDivision as GroupingBasic Division FactsDivision Facts Within 100Two-Digit by One-Digit DivisionDivision with RemaindersRemainders and Quotients in DivisionDivision Word ProblemsIntroduction to Long DivisionFactors and MultiplesPrime and Composite NumbersEquivalent FractionsRelating Fractions and DecimalsDecimal Place ValueReading and Writing DecimalsComparing and Ordering DecimalsAdding and Subtracting DecimalsMultiplying DecimalsDividing DecimalsDividing FractionsMixed Number ArithmeticOrder of OperationsOperators and ExpressionsArithmetic Operators and Operator PrecedenceComparison Operators and Boolean TestsLogical Operators and Boolean AlgebraBoolean Algebra and Fundamental LawsCombinational Circuit DesignFlip-Flops and LatchesBinary Counters: Design and AnalysisBinary ArithmeticFixed-Point Number RepresentationTwo's Complement RepresentationOverflow and Underflow DetectionBinary Adders: Half-Adders and Full-AddersFull Adder and Carry PropagationCarry Lookahead Adder DesignHalf Adder Circuit DesignMultiplication Circuit DesignSequential Circuit DesignRegisters and Register FilesInstruction Set Architecture (ISA)Assembly Language BasicsCPU DatapathCPU Control UnitMicroinstruction Format and Control Signals

Longest path: 64 steps · 245 total prerequisite topics

Prerequisites (2)

Leads To (2)