Purpose: The Program Counter holds the address of the next instruction to be fetched from memory. It is responsible for ensuring that instructions are executed sequentially (unless a jump, branch, or interrupt alters its value).
How it works: After each instruction is fetched from memory, the PC is incremented (typically by the size of the instruction) to point to the next instruction’s memory address. In the case of jumps or branches, the PC will be updated with a new address based on the jump target.
Impact on the Execution Cycle: The PC is crucial in controlling the flow of program execution and ensures that instructions are executed in the correct order.