In computer architecture, what are a data register and an address register, and what does each of them typically hold?

Difficulty: Easy

Correct Answer: A data register holds operand values or results for operations, while an address register holds memory addresses used to access data or instructions.

Explanation:


Introduction / Context:
Processors use different types of registers to support arithmetic operations and memory access. Two common categories are data registers and address registers. Distinguishing between these helps you understand how instructions fetch data and where intermediate results are stored. This question asks you to define each type and state what it typically contains.


Given Data / Assumptions:

  • We are discussing general purpose computer architecture.
  • The processor contains multiple registers inside the CPU.
  • Some registers hold data values, others hold memory addresses.
  • No numerical calculation is required, only conceptual understanding.


Concept / Approach:
A data register is used to hold operands for arithmetic or logical operations and to store results of those operations. For example, when adding two integers, the values may be loaded into data registers, the addition performed and the result kept in another data register. An address register, in contrast, holds memory addresses that point to locations in main memory. When the processor needs to load or store data, it places the relevant address into an address register and uses that register during the memory access. Some architectures use separate data and address registers, while others allow registers to be used for both roles, but the conceptual distinction remains helpful.


Step-by-Step Solution:
Step 1: Recall that data registers are directly involved in arithmetic or logical operations as sources or destinations. Step 2: Remember that address registers are used to hold memory addresses and may participate in address calculation for instructions. Step 3: Distinguish these roles from special purpose registers such as the program counter and flag register. Step 4: Compare the descriptions in the options and focus on the one that assigns operand values and results to the data register and memory addresses to the address register. Step 5: Select that option as the correct answer.


Verification / Alternative check:
Architecture textbooks describe data registers as holding data that the arithmetic logic unit processes, while address registers hold addresses used in memory reference instructions. Some architectures call address registers index registers or base registers when used in address calculations. These descriptions are consistent with the correct option and do not support the idea that either register stores only keyboard input or flag bits as suggested in other options.


Why Other Options Are Wrong:
Option B reverses and misassigns roles by claiming that the data register holds only program counter values and that the address register stores arithmetic results, which is not accurate. Option C restricts both registers to keyboard input characters, which ignores their general role in computation and memory access. Option D says both registers hold only flag bits, which are normally stored in a dedicated status register rather than data or address registers.


Common Pitfalls:
One pitfall is assuming that every architecture strictly separates data and address registers; some do not, but exam questions still use the conceptual distinction. Another is confusing the program counter with a general address register; while it does hold an address, it has a very specific control flow role. For this question, focus on the typical use: data registers for values and results, address registers for memory locations.


Final Answer:
A data register holds operand values or results for operations, while an address register holds memory addresses used to access data or instructions.

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion