Skip to content

Introduction to Registers

✨ What is a Register?

  • A Register is a small, high-speed memory location inside the CPU.
  • It is used to store data, instructions, addresses, or intermediate results temporarily during processing.

👉 Simple Definition:

Registers are fast memory units inside the CPU that hold data and instructions while a program is running.

✅ They are the fastest type of memory because they are directly connected to the CPU circuits.


🛠️ Key Characteristics of Registers:

FeatureDescription
SpeedVery fast (faster than RAM)
SizeVery small (few bytes or bits)
LocationInside the CPU
AccessDirectly by the Control Unit or ALU
PurposeTemporary storage of important data during execution

🎯 Why are Registers Needed?

  • To hold operands for the CPU to perform calculations.
  • To store results after computation.
  • To hold memory addresses that the CPU needs to access.
  • To control the operation of the CPU (using special control registers).

📑 Types of Registers

Registers can be classified based on their purpose:

Type of RegisterPurpose
Accumulator (AC)Stores intermediate arithmetic and logic results
Program Counter (PC)Holds the address of the next instruction to execute
Instruction Register (IR)Holds the current instruction being executed
Memory Address Register (MAR)Holds the address of memory where data needs to be read/written
Memory Data Register (MDR)Holds the data read from or written to memory
General Purpose RegistersUsed by the programmer for temporary data storage
Status Register / Flag RegisterStores flags (zero, carry, overflow, etc.) after operations

🖋️ Diagram: CPU and Registers

+----------------------------------+
| CPU |
| +--------+ +--------+ +--------+ |
| | AC | | PC | | IR | |
| +--------+ +--------+ +--------+ |
| +--------+ +--------+ +--------+ |
| | MAR | | MDR | | FLAGS | |
| +--------+ +--------+ +--------+ |
| ALU + CU |
+----------------------------------+

⚙️ Working of Registers (Simple Steps):

  1. Fetch:
    • Program Counter (PC) gives the address of the next instruction.
  2. Decode:
    • Instruction is fetched into the Instruction Register (IR) and decoded.
  3. Execute:
    • Data is fetched into General Purpose Registers or Accumulator (AC).
    • ALU uses these registers for calculations.
  4. Store:
    • Result stored back in registers or memory.

🚀 Important Registers Explained:

📌 1. Accumulator (AC)

  • Used for temporary storage of intermediate arithmetic results.
  • Example: After addition, the sum is stored in AC.

📌 2. Program Counter (PC)

  • Points to the address of the next instruction.
  • Automatically increments after each instruction.

📌 3. Instruction Register (IR)

  • Holds the current instruction that is being decoded/executed.

📌 4. Memory Address Register (MAR)

  • Contains the memory address from where data needs to be fetched or written.

📌 5. Memory Data Register (MDR)

  • Temporarily holds the data being transferred to/from memory.

📌 6. Status / Flag Register

  • Stores status flags:
    • Zero (Z): Result is zero
    • Carry (C): Carry out after addition
    • Sign (S): Result is negative
    • Overflow (O): Arithmetic overflow

📢 Important Points to Remember:

✅ Registers are the fastest memory.
✅ Registers are limited in number (few tens only).
Efficient register use = Faster CPU performance.
✅ Registers are hardware-controlled, not usually visible to programmers (except General Purpose Registers).


🏆 Summary:

Registers are tiny, high-speed storage areas inside the CPU that temporarily hold data, instructions, or addresses during processing. They play a key role in speeding up computer operations.


📌 Quick Memory Trick:

Registers = Fast Memory for CPU's working table!