Memory Mapped I/O
Memory I/O devices are mapped into the system memory map with ROM and RAM. To access a hardware device, simply write or read to those 'special' addresses by using the normal memory access instructions. The advantage to this method is that all instruction which may access memory may be utilized to manipulate an I/O device. The disadvantage to this method is that the complete address bus might be completely decoded for all devices. For instance, a machine with a 32-bit address bus would need logic gates to resolve the state of all 32 address lines to accurately decode the particular address of any device. This increases the cost of adding hardware to the machine.