Fetch-execute cycle
<architecture, processor> The sequence of actions that a
central processing unit performs to execute each
machine code instruction in a program.
At the beginning of each cycle the CPU presents the value of the
program counter on the
address bus.
The CPU then fetches the instruction from
main memory (possibly via a
cache and/or a
pipeline) via the
data bus into the instruction register.
From the instruction register, the data forming the instruction is decoded and passed to the
control unit which sends a sequence of control signals to the relevant function units of the CPU to perform the actions required by the instruction such as reading values from registers, passing them to the
ALU to add them together and writing the result back to a register.
The program counter is then incremented to address the next instruction and the cycle is repeated.
The fetch-execute cycle was first proposed by
John von Neumann.