Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
A program counter (PC) is a CPU register in the computer processor which has the address of the next instruction to be executed from memory. It is a digital counter needed for faster execution of tasks as well as for tracking the current execution point.
A program counter is also known as an instruction counter, instruction pointer, instruction address register or sequence control register.
All instructions as well as data in memory have a specific address. As each instruction is processed, the software application responsible updates the program counter with the upcoming instructions' address which needs to be fetched. The program counter in turn passes this information to the memory address register as part of the execution cycle/standard fetch. The program counter increases the stored value by one as the next instruction is fetched. If the computer is reset or restarts, the program counter usually reverts to the value of zero.
Similar to other process registers of the computer, the program counter is like a bank of binary latches, with each representing one bit of value. The program counter works in combination with other registers to identify the current instruction. It can be modified or accessed with the help of access or jump instructions. The PC can be accessed/modified by jump and branch instructions. Therefore, the destination address can be loaded to the program counter via branch instructions. The program counter can also be loaded with the address using the data processing instructions.