There will be many I/O devices connected through I/O modules to the system. Each device will be indentified by a unique address.
When the processor issues an I/O command, the command contains the address of the device that is used by the command. The I/O module must interpret the addres lines to check if the command is for itself.
Generally in most of the processors, the processor, main memory and I/O share a common bus(data address and control bus).
Two types of addressing are possible -
- Memory-mapped I/O
- Isolated or I/O mapped I/O