Memory Mapped I/O:
Memory-mapped I/O is an interfacing technique in which memory-related instructions are used for data transfer. The device is identified by a 16-bit address. In this type, the I/O devices are treated as memory locations.

I/O Mapped I/O:
It uses two separate address spaces for memory locations and for IO devices. There are two separate control lines for both memory and IO transfer.
