The Control Unit provides the Micro-Instructions that are necessary for the execution of a program. The micro instruction that should be executed next is decided based on the Current instruction fetched from memory and the bit values off the Various CPU status registers such as Negative, Zero etc.
Of the two CPU architectures in use the RISC (Reduced Instruction Set Computing) and the CISC (Complex Instruction Set Computing) have different philosophies in this regard where the RISC believes in having a larger number of more simple Micro-instructions and the CISC believes in a smaller number of more complex instructions.
- Digital Circuits/Finite State Machines describes low-level detail of state machines in general, which includes control units.
- Microprocessor Design describes some very complicated control units, and how to design your own.