1. Fetch:
- The program counter (PC) is incremented to point to the next instruction in the program.
- The instruction is fetched from the memory location pointed to by the PC.
2. Decode:
- The instruction is decoded to determine the operation to be performed and the operands required.
- The operands may be located in registers or in memory.
3. Execute:
- The operation specified by the instruction is executed. This may involve arithmetic operations, logical operations, data transfers, or control transfers.
4. Write-back:
- The results of the operation are written back to the destination register or memory location.
5. Update the program counter:
- The program counter is updated to point to the next instruction in the program.
These phases are repeated until the program is completed.