Explain The Operating Steps For Program Execution?
Answers
Six steps are involved in execution of an instruction by OS :-
- 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
Explanation:
Six steps are involved in execution of an instruction by OS :-
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