The fetch-decode-execute cycle is the series of steps that a computer carries out when it runs a program.
- Fetch: The control unit fetches the next instruction from memory (this data comes through von Neumann bottleneck) and updates the program counter to determine where the next instruction is located. We first have to fetch an instruction from memory and place it into the IR.
- Decode: Translate the instruction into signals that the ALU can interpret and execute (it is decoded to determine what needs to be done next).
- Execute: This takes two steps.
- Load any required data into the CPU registers. If a memory value is involved in the operation, it is retrieved and placed into the MBR.
- Execute the instruction, placing the results in registers or memory.