What are the steps followed by CPU to Execute an Instruction?

CPU (Central Processing Unit):

CPU or central processing unit is an electronic circuitry that carries out the instruction given by a computer program. CPU execute instruction by performing basic arithmetic, logical, control and I/O operations as required per instruction. CPU is considered to be the brain of the computer. The speed and efficiency of a computer mostly depends that of it's CPU.

Suggested Reading: 

CPU can execute instructions on it only. But as the program can be very large, CPU loads the program in the main memory (RAM) and then fetches instructions one by one from the memory to the CPU registers and executes them

What are the steps followed by CPU to Execute an Instruction?

Steps in Instruction Execution by CPU:

Six steps are involved in execution an instruction by CPU. However, not each of them are required for any instructions. 

Step 1: Fetch instruction

Execution cycle starts with fetching instruction from main memory. The instruction at the current program counter (PC) will be fetched and will be stored in instruction register (IR).

Step 2: Decode instruction

During this cycle the encoded instruction present in the IR (instruction register) is interpreted by the decoder.

Step 3: Perform ALU operation

ALU (Arithmetic Logic Unit) is where two operands in the instruction will be operated on given operator in the instructions. Such as, if the instruction was to add two numbers, then here the addition will happen.  ALU take two values and output one, the result of the operation.


Step 4: Access memory

There are only two kind of instructions that access memory: LOAD and STORE. LOAD copies a value from memory to a register and STORE copies a register value to memory. Any other instruction skips this step.

Step 5: Update Register File

In this step, the output/result of the ALU is written back to the register file to update the register file. The result could also be due to a LOAD from memory. Some instructions don't have results to store. For example, BRANCH and JUMP instructions do not have any results to store.

Step 6: Update the PC (Program Counter)

Ultimately, at the end of the execution of the current instruction, we need to update the program counter (PC) to the address of the next instruction, so that we can go back to step 1 where the CPU will fetch instruction. However, the program counter might need to be set to other memory address than the next one if the instruction was BRANCH or JUMP

Author: Tanmay Chakrabarty

Tanmay Chakrabarty is a former CSE student, currently working as a Senior Software Engineer with 5+ years of experience in the field of Web Application development in PHP+MySQL platform with strong skills in Javascript, JQuery, JQuery UI and CSS. He tries to write notes every week but fails due to heavy loads of duty.

Recommended Recommends


Contact Us