There are a variety of CPU registers that are employed to control the
operation of the CPU. Most of these, on most machines, are not visible to
the user.
Different machines will have different register organizations and use
different terminology. We will discuss here the most commonly used
registers which are part of most of the machines.
Four registers are essential to instruction execution:
Program Counter (PC): Contains the address of an instruction to be fetched.
Typically, the PC is updated by the CPU after each instruction fetched
so that it always points to the next instruction to be executed. A branch or
skip instruction will also modify the contents of the PC.
Instruction Register (IR): Contains the instruction most recently fetched.
The fetched instruction is loaded into an IR, where the opcode and operand
specifiers are analyzed.
Memory Address Register (MAR): Containts the address of a location of main
memory from where information has to be fetched or information has to be
stored. Contents of MAR is directly connected to the address bus.