Bus contention prevention — which block ensures only one IC drives the bus at a time? In a shared-bus microprocessor system, what logic block guarantees that only the selected device is enabled, preventing two ICs from simultaneously writing different data onto the same bus?

Difficulty: Easy

Correct Answer: address decoder

Explanation:


Introduction / Context:
Bus conflicts occur when more than one device drives a shared bus line concurrently, potentially causing excessive current and corrupted data. Proper chip-select (CS) logic ensures that, for any address, at most one device has its outputs enabled. Understanding the role of the address decoder is fundamental to robust memory and I/O mapping.


Given Data / Assumptions:

  • Multiple memory and I/O devices share an 8- or 16-bit data bus.
  • Each device has an enable/chip-select input.
  • The system uses non-overlapping address ranges for each device.


Concept / Approach:
An address decoder interprets high-order address lines (and sometimes control lines like IO/M) to produce one-hot chip-select signals. Only the addressed device's CS is asserted, so only that device's output drivers are enabled. All others remain in high-impedance, eliminating contention. The control bus provides strobes (RD/WR), but without correct decoding, multiple devices could respond simultaneously.


Step-by-Step Solution:

Partition address space into unique windows for each device.Design decoder (e.g., 3-to-8 or PLD) to assert exactly one CS for any valid address range.Gate the device's tri-state outputs with CS and RD/WR to drive the bus only when selected.Result: only one active driver at a time; no bus conflict.


Verification / Alternative check:
Memory maps and schematics show decoders (e.g., 74HC138, PAL/GAL) generating CS lines; logic truth tables demonstrate mutual exclusivity.


Why Other Options Are Wrong:

  • Control bus: carries strobes but does not select a single device by address.
  • Control instructions: software constructs; hardware-level contention prevention is via decoding.
  • CPU: issues addresses but does not inherently provide device-specific CS signals.
  • Tri-state buffer without CS: offers high-Z capability, but without decoding it could still be enabled simultaneously.


Common Pitfalls:

  • Overlapping decode ranges that cause multiple CS signals to assert; always verify decode equations.


Final Answer:
address decoder

More Questions from Microprocessor Fundamentals

Discussion & Comments

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