7.4.1 Instruction Flow/Pipelining
An “Instruction Cycle” consists of four cycles of the oscillator
clock. The instruction fetch and execute are pipelined in such a manner that a fetch takes
one instruction cycle, while the decode and execute take another instruction cycle.
However, due to the pipelining, each instruction effectively executes in one cycle. If an
instruction causes the Program Counter (PC) to change (e.g., GOTO
), then
two cycles are required to complete the instruction (Figure 7-3).
A fetch cycle begins with the Program Counter (PC) incrementing followed by the execution cycle. In the execution cycle, the fetched instruction is latched onto the Instruction Register (IR). This instruction is then decoded and executed during the next few oscillator clock cycles. Data memory is read (operand read) and written (destination write) during the execution cycle as well.