Register Organization

  • Registers are temporary storage locations inside the CPU.
  • A register is a very very fast memory that is built into the CPU.
  • Registers are used to store data temporarily..
  • Different processors have different register.
  • Registers are normally measured by the number of bits they can hold, for example, an 8-bit register means it can store 8 bits of data or a 32-bit register means it can store 32 bit of data.

The basic computer has 8 registers.

Register SymbolRegister NameDescription
ACAccumulatorStore Result
DCData RegisterStore Memory Data
TRTemoprary RegisterStore Temporary Data
IRInstruction RegisterStore Instruction Code
ARAddress RegisterStore Memory Address
PCProgram CounterStore Address of Next Instruction
INPRInput RegisterStore Input Data
OUTROutput RegisterStore Output Data

The registers in the processor can be put in two categories:

  1. User-visible registers
  2. Control and status registers

1. User-Visible Registers:

Enables the machine to minimize main memory references by optimizing use of registers.

User-visible registers includes,

1. General purpose registers:

General-purpose register can contain the operand for any opcode. General-purpose registers can be used for addressing functions  (e.g., register indirect, displacement).

2. Data registers:

Data registers may be used only to hold data and cannot be employed in the calculation of an operand address.

3. Address registers: 

Address registers may themselves be somewhat general purpose, or they may be devoted to a particular addressing mode.

Examples include the following:

  • Segment pointers: Segment register holds the address of the base of the segment.
  • Index registers: These are used for indexed addressing and may be autoindexed.
  • Stack pointer: This allows implicit addressing; that is, push, pop, and other stack instructions need not contain an explicit stack operand.

2. Control and Status Registers:

Used by the control unit to control the operation of the processor.

1. Program counter (PC): 

Contains the address of an instruction to be fetched.

2. Instruction rester (IR): 

Contains the instruction most recently fetched.

3. Memory address register (MAR): 

Contains the address of a location in memory.

4. Memory buffer register (MBR): 

Contains a word of data to be written to memory or the word most recently read.