Instruction Execution Cycle
What are the SIX STEPS A CONTROL UNIT uses to EXECUTE each INSTRUCTION?
1. FETCH INSTRUCTION(FI) 2. DECODE INSTRUCTION(DI) 3. EVALUATE ADDRESS(EA) 4. FETCH OPERAND(FO) 5. EXECUTE OPERATION(EX) 6. STORE RESULT(SR)
What does the EVALUATE ADDRESS(EA) STEP DO?
COMPUTES an ADDRESS if NEEDED EX: ADD offset found in instruction to the contents of base register
What does the DECODE INSTRUCTION(DI) STEP DO?
DECOMPOSES the CURRENT INSTRUCTION into PARTS IDENTITY: is determined by OPCODE WHICH tells which OPERATION to EXECUTE & the OPERANDS(if any) from the REMAINING BITS
What does the EXECUTE OPERATION(EX) STEP DO?
DOES the OPERATION that the PROCESSING UNIT is TOLD to DO EXAMPLES: ADD: signals ALU to do ADD LDR: **SKIP STEP**
How does the processor's CONTROL UNIT execute each INSTRUCTION?
IN STATES; PHASES **NOT EVERY INSTRUCTION uses all 6 STEPS** **STEPS MIGHT TAKE a VARIABLE number of MACHINE CYCLES**
What does the FETCH INSTRUCTION(FI) STEP DO?
LOADS NEXT INSTRUCTION into the INSTRUCTION REGISTER 1. COPY CONTENTS of PROGRAM COUNTER INTO MEMORY ADDRESS REGISTER 2. SENDS a READ SIGNAL to MEMORY 3. COPIES CONTENTS of MDR into INSTRUCTION REGISTER 4. INCREMENTS PC to POINT to NEXT INSTRUCTION **THE PROCESSOR DOESN't KNOW its FETCHED INSTRUCTION** Whatever is LOADED into the INSTRUCTION REGISTER IS ALWAYS INTERPRETED as an INSTRUCTION
What does the STORE RESULT(SR) STEP do?
WRITES the RESULT to the DESTINATION OPERAND IF NEDDED EXAMPLES: ADD: RESULT is STORED in DESTINATION REGISTER LDR: COPIES the MDR into the DESTINATION REGISTER
What does the FETCH OPERAND(s)(FO) STEP DO?
gets SOURCE OPERAND, if any, if INSTRUCTIONS SAYS to EXAMPLES: ADD: copy CONTENTS FROM REGISTERS into ALU LDR: COPIES the COMPUTED ADDRESS into the MAR
What does the OPERATION being EXECUTED DETERMINE?
how the OPERANDS that are LOADED into ALU are INTERPRETED