- Interacts with the program memory to fetch the next instruction pointed to by the program counter.
- Decodes that instruction and verifies that it is well-formed.
- Interacts with the register memory component to read the values associated with the instruction’s operands.
- Interacts with the execusion component to execute the just-fetched instruction.
- Interacts with the register memory to perform write-back.