I/O-mapped addressing — how are devices identified? In classic Intel-style I/O-mapped systems (separate I/O space), input/output devices are identified and selected by assigning each device a specific ________.
-
A8-bit port number
-
B16-bit port number
-
C8-bit buffer number
-
D8-bit instruction
-
E7-bit device ID like I2C
Answer
Correct Answer: 8-bit port number
Explanation
Introduction / Context:Some CPU architectures, such as the 8085 and 8086 families, distinguish between memory space and I/O space. In an I/O-mapped (isolated I/O) scheme, IN and OUT instructions access ports addressed separately from memory. Understanding how devices are identified in this space is key to designing I/O maps and decoders.
Given Data / Assumptions:
- Intel 8085 uses 8-bit port addressing with IN/OUT instructions.
- Memory-mapped I/O (alternative scheme) uses memory addresses instead.
- We focus on the isolated I/O case.
Concept / Approach:With I/O-mapped I/O on the 8085, each device is selected by an 8-bit port number (0–255). The CPU places this number on the lower address/data bus during I/O cycles, and IO/M along with RD/WR strobes indicate an I/O operation. The decoder then asserts the chip-select for the device assigned to that port, ensuring only the intended peripheral responds.
Step-by-Step Solution:
Choose unique 8-bit port numbers for devices (e.g., keyboard at 0x10, display at 0x20).CPU executes IN/OUT with the port number; bus shows the port on AD lines.I/O decoder asserts the matching chip-select; device drives or latches the data bus.Result: device identification via 8-bit port number.Verification / Alternative check:Assembly examples show “IN 20H” or “OUT 10H” addressing ports directly, consistent with 8-bit I/O addressing on the 8085. The 8086 extends capability via DX for 16-bit ports, but the 8085 remains 8-bit.
Why Other Options Are Wrong:
- 16-bit port number: not for the 8085 (that is more associated with 8086/88 using DX).
- 8-bit buffer number and 8-bit instruction: not addressing schemes for isolated I/O.
- 7-bit device ID (I2C): different serial bus protocol, unrelated to 8085 I/O-mapped ports.
Common Pitfalls:
- Mixing isolated I/O with memory-mapped I/O; decoding differs substantially.
Final Answer:8-bit port number