Program Counter
A counter that keeps track of the memory address of which instruction is to be executed next.
Memory Address Register
The address in the main memory that is currently being read or written.
Current instruction register
A temporary holding area for the instruction that has just been fetched from memory.