Cambridge O Level Computer Science · Syllabus 2210 · Hardware
Program Counter
What is Program Counter?
The CPU register that stores the address of the next instruction to be fetched; it is updated after each fetch so execution can continue in order, and is loaded with a different address when a jump or branch changes the flow of control.
This definition is part of the Hardware chapter in Cambridge O Level Computer Science.
Questions students ask about Program Counter
What is the difference between the PC, MAR, MDR and CIR registers?
The program counter (PC) holds the address of the next instruction to be fetched. The memory address register (MAR) holds the address of the memory location currently being accessed, supplying it to memory on the address bus. The memory data register (MDR) temporarily stores the data or instruction transferred to or from memory over the data bus. The current instruction register (CIR) holds the instruction currently being decoded and executed. PC and MAR hold a "where"; MDR and CIR hold a "what".

