Fetch: Copies the memory address from the PC to MAR. Copies the instruction stored in the memory address to the MDR. Increments the PC to point to the address of the next instruction. Decode: Decodes the instruction in MDR- done by the CU. Execute: Instruction is carried out e.g load data, write data