I/O processing can be either:
– Memory-mapped
The I/O registers in the device controllers form part of regular address space, and are read and written
using normal LOAD and STORE-type instructions
– Non-memory-mapped
Special instructions (e.g. IN OUT) are used to read and write I/O registers
In various combinations with the above there are four different I/O schemes in general use:
– Programmed I/O with busy waiting
– Interrupt-driven I/O
– DMA I/O
– I/O using data Channels
Interrupt-driven I/O is most common method used for more detail please look at I/O and Interrupts