Memory mapped io dedicated a part of system memory for io. Io is conducted using normal memory access instructions.
Port mapped io uses special io instruction to perform the operation. Some implementation will use an additional address line to differentiate the io instruction.
With expansion of addressable memory, common modern cpu uses memory mapped io interface la
Programmed io means is to use program instruction to perform io. Os will constantly reading io status word to check if an io is done. This wasted cpu cycle.
Interrupt driven io uses interrupt signal and isr to perform the io. OS does not need to poll status word and thus more efficient.
DMA is to further shorten the io processing time for transferring large amount of data. It freed cpu while data is being transferred between memory and device. Processor is to set up the parameters like address of transfer, length of data etc and a DMA controller will manage the transfer and interrupt the cpu when transfer is done