In microprogrammed control, the control signals for every step of every instruction are stored as words. The memory that holds them is the control store, usually a rom inside the CPU.
Each word is a microinstruction. A register called the micro-PC holds the address of the current one. Each clock cycle, the addressed word drives the control signals, and the micro-PC moves to the next word or jumps. After the decode step it jumps to the start of the microprogram for the current opcode.
Sizing it uses the usual memory rules:
- depth = number of microinstructions, which sets the micro-PC width (⌈log₂ depth⌉ bits);
- width = bits per microinstruction;
- total = depth × width bits.
Because it's a memory, changing the CPU's behavior can mean changing the control store's contents. If it's writable, the CPU can even be patched after it ships.