Fetch
Decode Execute Cycle
What is fetch decode execute cycle?
An instruction cycle (sometimes called fetch-decode-execute
cycle) is the basic operation cycle of a computer. It is the process by which a
computer retrieves a program instruction from its memory, determines what
actions the instruction requires, and carries out those actions.
Steps
The steps in the processing cycle are:
[1] Fetch the next
instruction.
[1] Decode the
instruction.
[1] Get data if needed.
[1] Get data if needed.
[1] Execute the
instruction.
Fetch
Fetch the Next Instruction The program counter (PC) contains
the address of the next instruction to be executed, so the control unit goes to
the address in memory specified in the PC, makes a copy of the contents, and
places the copy in the instruction register. At this point the instruction
register contains the instruction to be executed. Before going on to the next
step in the cycle, the program counter must be updated to hold the address of
the next instruction to be executed when the current instruction has been
completed. Because the instructions are stored contiguously in memory, adding 1
to the program counter should put the address of the next instruction into the
PC. So the control unit increments the program counter. It is possible that the
PC may be changed later by the instruction being executed
Decode
Decode the Instruction In order to execute the instruction in
the instruction register, the control unit has to determine what instruction it
is. It might be an instruction to access data from an input device, to send
data to an output device, or to perform some operation on a data value. At this
phase, the instruction is decoded into control signals. That is, the logic of
the circuitry in the CPU determines which operation is to be executed. This
step shows why a computer can only execute instructions that are expressed in
its own machine language. The instructions themselves are literally built into
the circuits.
Get Data If Needed It may be that the instruction to be
executed requires additional memory accesses in order to complete its task. For
example, if the instruction says to add the contents of a memory location to a
register, the control unit must get the contents of the memory location.
Execute
Execute the Instruction Once an instruction has been decoded
and any operands (data) fetched, the control unit is ready to execute the
instruction. Execution involves sending signals to the arithmetic/logic unit to
carry out the processing. In the case of adding a number to a register, the
operand is sent to the ALU and added to the contents of the register. When the
execution is complete, the cycle begins again. If the last instruction was to
add a value to the contents of a register, the next instruction probably says
to store the results into a place in memory. However, the next instruction
might be a control instruction: an instruction that asks a question about the
result of the last instruction and perhaps changes the contents of the program
counter.
hi
ReplyDeletebye!
ReplyDelete