Difficulty: Easy
Correct Answer: Because the processor only sends addresses to memory and I or O devices, but both sends and receives data values, so the address bus is unidirectional while the data bus is bidirectional
Explanation:
Introduction / Context:
Microcomputer systems connect the central processing unit, memory, and peripheral devices using buses. Two key buses are the address bus and the data bus. Understanding why the address bus is unidirectional and the data bus is bidirectional helps clarify how information flows in a computer system.
Given Data / Assumptions:
Concept / Approach:
The address bus carries the memory or I or O address that the CPU wants to access. The CPU is the master that initiates memory transactions, so it drives the address lines outward toward memory and I or O devices. There is no need for memory to send addresses back to the CPU, so the address bus can be unidirectional. The data bus, however, must support two way communication. When the CPU writes data, it drives the data bus toward memory or devices. When the CPU reads data, memory or devices drive the data bus in the opposite direction and the CPU reads the signals. Therefore, the data bus must be bidirectional.
Step-by-Step Solution:
Step 1: Consider a memory write. The CPU places an address on the address bus and data on the data bus and asserts control signals.Step 2: Memory hardware decodes the address and stores the data at the selected location. Memory does not send any address back.Step 3: Consider a memory read. The CPU again places an address on the address bus and asserts read control signals.Step 4: Memory decodes the address and places the requested data on the data bus, which flows back into the CPU. This requires the data bus to change direction.
Verification / Alternative check:
Hardware schematics often show address bus lines with arrows pointing from the CPU to memory and peripherals, confirming the unidirectional nature. Data bus lines usually have arrows at both ends or are drawn without arrows, indicating bidirectional flow. Tri state buffers or bus transceivers control which device is currently driving the data bus, confirming that it must support both directions.
Why Other Options Are Wrong:
Option B: Claims both buses must be bidirectional, which ignores the master role of the CPU in address generation.Option C: Incorrectly states that the address bus is shared with the control bus and must therefore be bidirectional; address and control buses are distinct.Option D: Says the data bus carries only addresses, which is false by definition; the data bus carries data values, not address values.
Common Pitfalls:
Students sometimes confuse which bus carries what type of information. Another common error is to think that memory might need to send addresses back to the CPU, but in a standard architecture the CPU is responsible for generating addresses. Understanding this division of roles makes it easier to analyze timing diagrams and design microprocessor based systems.
Final Answer:
The correct answer is Because the processor only sends addresses to memory and I or O devices, but both sends and receives data values, so the address bus is unidirectional while the data bus is bidirectional.
Discussion & Comments