Introduction / Context:
There are two common approaches to peripheral addressing: memory-mapped I/O and I/O-mapped (isolated) I/O. Classic 8-bit CPUs (for example, the 8085) often use I/O-mapped addressing with dedicated instructions and a limited port address space.
Given Data / Assumptions:
- We focus on classic 8-bit designs where I/O-mapped I/O is common.
- Port numbers are often 8 bits wide (256 ports) on these CPUs.
- Other architectures (e.g., 8086/80286) may extend port addressing to 16 bits.
Concept / Approach:
In I/O-mapped I/O, special instructions (such as IN/OUT) address peripherals using a port number separate from the memory address space. On many 8-bit processors, this port number is 8 bits, providing 0–255 unique ports. This is distinct from memory-mapped I/O, which uses normal memory addresses and loads/stores.
Step-by-Step Solution:
Identify the addressing mode: I/O-mapped versus memory-mapped.Note that classic 8-bit CPUs commonly implement 8-bit port addressing.Acknowledge that later x86 variants support 16-bit I/O address space, but the statement remains correct within the classic 8-bit context.Therefore, the statement is correct for the assumed context.
Verification / Alternative check:
Review the 8085 instruction set (IN, OUT) and its 8-bit port addressing model as a representative case.
Why Other Options Are Wrong:
Incorrect: Would deny widely used 8-bit I/O-mapped implementations.Valid only for memory-mapped I/O: Port numbers do not apply to memory-mapped addressing.Applies exclusively to 32-bit processors: I/O-mapped I/O is not tied to 32-bit architectures.
Common Pitfalls:
Generalizing all systems; many modern MCUs use memory-mapped I/O instead.Confusing I/O-mapped port numbers with memory addresses.
Final Answer:
Correct
Discussion & Comments