Skip to main content

Memory-mapped I/O reduces address space

Short answer

In memory-mapped I/O, device registers share the memory address space, so each I/O address takes a location otherwise available for memory. Thus, the memory address space is reduced by the amount reserved for I/O; for example, reserving 4K in a 64K space leaves 60K for memory.

Why are memory address spaces reduced in memory mapped I/O?

In memory-mapped I/O, the I/O device registers (ports) are given addresses from the same address space as memory, and the CPU uses ordinary memory instructions to access them. Each address given to an I/O port can no longer be used for a memory location. Therefore the address space available for memory is reduced by the amount reserved for I/O. For example, a CPU with a 16-bit address (64K) that reserves 4K addresses for devices has only 60K left for memory.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Computer Organization and Architecture chapter 7 questions →