Program Counter (PC) → Instruction memory, fetch instruction
Points to the current instruction in memory
Register numbers → Register file, read register
Depending on instruction class
Use ALU to calculate
Arithmetic result
Memory address for load/store
Branch target address
Access data memory for load/store
PC ← target address or PC + 4
Clock Speed
Must be greater than the time of the longest path in sequential logic to prevent registers getting written to when the output of the logic is in an invalid state