fetch-execute cycle

fetch-execute cycle

(architecture, processor)The sequence of actions that acentral processing unit performs to execute each machine code instruction in a program.

At the beginning of each cycle the CPU presents the value ofthe program counter on the address bus. The CPU thenfetches the instruction from main memory (possibly via acache and/or a pipeline) via the data bus into theinstruction register.

From the instruction register, the data forming theinstruction is decoded and passed to the control unit whichsends a sequence of control signals to the relevant function units of the CPU to perform the actions required by theinstruction such as reading values from registers, passingthem to the ALU to add them together and writing the resultback to a register.

The program counter is then incremented to address the nextinstruction and the cycle is repeated.

The fetch-execute cycle was first proposed by John von Neumann.