CPU (Central Processing Unit)
CPU or central processing unit in computer is an electronic circuitry that carries out the instruction given by a computer program. CPU in computer execute instruction by performing basic arithmetic, logical, control and I/O operations as required per instruction. CPU in computer is considered to be the brain of the computer. The speed and efficiency of a computer mostly depends on it’s CPU.
Suggested Reading
- What is CPU? What are the functions of CPU?
- Write the working principles of 8086 microprocessor.
- Computer Architecture: A Quantitative Approach (The Morgan Kaufmann Series in Computer Architecture and Design) 6th Edition
CPU in computer 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.
Bored with text? Watch the video instead.
6 Steps in Instruction Execution by CPU
Six steps are involved in execution of an instruction by CPU. However, not all of them are required for all instructions.
- Fetch instruction
- Decode information
- Perform ALU operation
- Access memory
- Update register file
- Update the Program Counter (PC)
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