A control store is the element of a CPUs control unit that stores the CPU’s micro program and is usually accessed by a micro sequencer. A control store is usually executed as a diode-selection of read-only memory. This tradition dates back to 1947 when the program timing matrix on the MIT Whirlwind was initially introduced. The earliest models of IBM mainframe had read-only control store; however, the System/370 and successor models were made and loaded their micro programs from floppy disks into a writeable control store that consisted of ultra-high speed random-access read-write memory. This allowed IBM to easily repair microprogramming defects in the field. Even when most of the control store is stored in some type of read-only memory, computer retailers tend to sell writeable control stores to allow customers to customize the machine’s micro program.
The control store usually has a register on its outputs. These outputs must go through a register to avoid the creation of a race condition before going back into the sequencer to establish the following address. This process also allows the machine to operate significantly faster if the execution of the next microinstruction is delayed by one cycle. This register is known as a pipeline register. The execution of the next microinstruction is dependent of the result of the current microinstruction, which will not stabilize until the current micro cycle ends. The clock signal determining the cycle time of the system primarily clocks this register.