the fetch-decode-execute cycle
Strip the CPU down to its single repeating heartbeat and you find one small loop it runs forever. It is the same loop whether the machine is rendering a game or idling at a login prompt. That loop is the fetch-decode-execute cycle, the basic rhythm by which a stored-program computer makes progress.
One turn of the cycle has three steps. Fetch: read the instruction at the address held in the program counter, and advance the program counter past it. Decode: the control unit works out what that instruction is and what its operands are. Execute: carry it out — route the operands through the ALU, read or write a register or memory, or, for a branch, write a new address into the program counter. Then the cycle repeats from fetch, now pointing at the next instruction. Because the program counter usually just steps forward, instructions run in order; because a branch can rewrite it during execute, the program can loop and make decisions.
This loop is the literal meaning of 'running a program': there is no higher-level magic, just billions of fetch-decode-execute turns per second. It is the von Neumann machine in motion, and it grounds everything else here — a register is what execute reads and writes, the flags are what compare sets and a branch consults, the stack moves during the execute of a push or call. Real CPUs overlap these steps across many instructions at once (pipelining) for speed, but the visible result is exactly as if each instruction completed one cycle before the next began.
For add rax, rbx the CPU fetches the instruction (advancing rip), decodes it as 'add register to register', then executes by sending rax and rbx through the ALU and storing the sum in rax.
Fetch, decode, execute, repeat — this loop is literally what 'running a program' means.
The neat three-step model is a teaching abstraction: modern CPUs pipeline and run instructions out of order and in parallel, so at any instant many instructions are mid-flight. What they guarantee is the appearance of one-at-a-time, in-order completion — not that it literally happens that way inside.