Last updated on June 13th, 2020 at 08:31 pm
CPU (Central Processing Unit):
Bored with text? Watch the video instead.
Steps in Instruction Execution by CPU:
- Fetch instruction
- Decode information
- Perform ALU operation
- Access memory
- Update register file
- Update the Program Counter (PC)
Step 1: Fetch instruction
Step 2: Decode instruction
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