I/O space vs memory-mapped
QNX SDP8.0Programmer's GuideDeveloper
The x86_64 architecture has two distinct address spaces:
- 16-address-line I/O space
- 48-address-line instruction and data space
The processor asserts a hardware line to the external bus to
indicate which address space is being referenced. The x86
has special instructions to deal with I/O space (e.g.,
IN AL, DX
vs MOV AL,address
).
Common hardware design on an x86 indicates that the control ports for peripherals
live in the I/O address space. On non-x86 platforms, this
requirement doesn't exist—all peripheral devices are
mapped into various locations within the same address space
as the instruction and code memory.
Page updated: