Difference between Memory Mapped IO and IO Mapped IO with reference to 8085 Microprocessor
The microprocessor is unable to act independently; therefore, it must be connected to memory, additional peripherals, or IO devices. Interfacing is the term for this connecting.
There are two methods to interact with the I/O devices in 8085:
1. Memory-Mapped I/O Interfacing
In this type of interface, a memory address is assigned that may be utilized in the same way that a typical memory location is used. I/O ports are given 16-bit addresses within the memory as part of memory mapping for I/O devices. Since each bus is shared in this case, storage and I/O device utilize the very same set of instructions. I/O device utilize the same network address of memory devices, therefore they are treated as memory. As a result, the memory's capacity to be accessed is reduced. In this case, the CPU sees the I/O ports as memory locations that may be read from and written to. As a result, anytime an address is created on the address bus, a control signal for memory reading is also generated. The memory write operation follows a similar pattern.
2. I/O Mapped I/O Interfacing
The reason it is also known as Isolated I/O mapping is that the address space of the memory and I/O are separated in this case. I/O and memory utilize different read and writes commands as a result. This method uses independent read and write control lines for I/O device but a shared bus for memory and I/O devices. Here, the process is set up so that, if the information needed to accomplish the action is obtained from the I/O devices. Then I/O read and I/O writes control lines, together with the address, are added. Will become active to enable data transmission between the CPU and I/O. The isolated mapping solely makes use of the IN and OUT commands to transmit files between the CPU and I/O devices.
Difference between Memory-Mapped I/O Interfacing and I/O Mapped I/O Interfacing
Features | Memory Mapped IO | IO Mapped IO |
Address Size | They get 16-bit address values provided to them. | They get 8-bit address values supplied to them. |
Instructions Used | LDA, STA, and other directives are used. | IN and OUT are the commands utilized. |
Cycles | Memory Read and Memory Write cycles are used during operation. | In the case of IO Mapped IO, cycles engaged during operation are IO read and IO writes. |
Registers Communicating | Any register can connect with the IO device when using memory-mapped IO. | When using IO Mapped IO, only Accumulator can interface with IO devices. |
IO/M` signal | In the case of Memory Mapped IO, during writing or read cycles (IO/M' = 0). | When using IO Mapped IO, (IO/M' = 1) during writing or read cycles. |
Control Signal | Since we have a single memory area when using Memory Mapped IO, there is no need for a separate control signal. | In the case of IO Mapped IO, special control signals are employed. |
Arithmetic and Logical operations | Arithmetic and logical operations are carried out directly on the data. | Functions including such math and logic cannot be performed directly on the data. |
Conclusion
As a result of this discussion, we can get the conclusion that memory-mapped I/O decodes more difficultly than I/O-mapped I/O and the latter has a greater number of address lines, which is the cause for the same.