Execution of an instruction takes place in two phases:
Instruction fetch.
Instruction execute.
Instruction fetch:
Fetch the instruction from the memory location whose address is in the Program Counter (PC).
Place the instruction in the Instruction Register (IR).
Instruction execute:
Instruction in the IR is examined (decoded) to determine which operation is to be performed.
Fetch the operands from the memory or registers.
Execute the operation.
Store the results in the destination location.
Basic fetch/execute cycle repeats indefinitely.