One time a program is in memory it has to be executed. To do this, each instruction must be appeared at, decoded and acted upon in turn until the program is finished. This is accomplished by the use of what is termed the ''instruction execution cycle'', which is the cycle by which each instruction in revolve is processed. However, to make sure that the execution proceeds easily, it is also necessary to synchronize the activities of the processor.
To go on the events synchronized, the clock located within the CPU control unit is used. This creates regular pulses on the system bus at a specific frequency, so that each pulse is an equal time subsequent the last. This clock pulse frequency is related to the clock rate of the processor - the higher the clock speed, the shorter the time between pulses. Actions only take place when a pulse is detected, so that commands can be kept in time with each other across the entire computer unit.
The instruction execution cycle can be undoubtedly divided into three different components, which will now be appeared at in more detail.
Fetch Cycle
The fetch cycle gets the address required from memory, stores it in the instruction register, and moves the program counter on one so that it points to the next instruction.
Decode Cycle
in it, the control unit ensures the instruction that is now stored within the instruction register. It concludes which opcode and addressing mode have been used, and as such what actions need to be carried out so as to execute the instruction in question.
Execute Cycle
the definite actions which occur during the execute cycle of an instruction depend on both the instruction itself, and the addressing mode specified to be used to access the data that may be involved. Though, four main groups of actions do exist, which are discussed in full later on.