Step 1: Match IR (Instruction Register).
The Instruction Register stores the instruction currently being decoded or executed by the CPU.
During instruction execution:
• The instruction is fetched from memory.
• It is loaded into IR.
• The Control Unit decodes it.
• Execution begins.
Therefore,
\[
\text{IR} \rightarrow \text{Holds the instruction currently being executed}
\]
Hence,
\[
(a) \rightarrow (ii)
\]
Step 2: Match MAR (Memory Address Register).
The Memory Address Register stores the address of the memory location that the CPU wants to access.
Whenever data must be read or written:
• The address is first loaded into MAR.
• The address is transmitted through the address bus.
Therefore,
\[
\text{MAR} \rightarrow \text{Holds the address of the location to be accessed}
\]
Hence,
\[
(b) \rightarrow (iv)
\]
Step 3: Match MDR (Memory Data Register).
The Memory Data Register temporarily stores data being transferred between memory and CPU.
It may contain:
• Data read from memory.
• Data waiting to be written to memory.
Therefore,
\[
\text{MDR} \rightarrow \text{Data to be written into or read out of memory}
\]
Hence,
\[
(c) \rightarrow (iii)
\]
Step 4: Match PC (Program Counter).
The Program Counter keeps track of the execution sequence of a program.
It stores:
• The address of the next instruction to be fetched.
• The progression of program execution.
Therefore,
\[
\text{PC} \rightarrow \text{Keeps track of execution of a program}
\]
Hence,
\[
(d) \rightarrow (i)
\]
Step 5: Construct the final matching.
{lcl}
(a) IR & $\rightarrow$ & (ii)
(b) MAR & $\rightarrow$ & (iv)
(c) MDR & $\rightarrow$ & (iii)
(d) PC & $\rightarrow$ & (i)
Conclusion:
The correct matching is:
\[
{\text{a - ii,\; b - iv,\; c - iii,\; d - i}}
\]
Hence, the correct answer is Option (C).