Program counter
The program counter is used to hold the address of the next instruction to be executed. If the current instruction is a branch or jump then it will be updated to jump to that section of code. The program counter is incremented after each instruction is fetched. It is a special register that is part of the Control Unit.