Saturday, 30 March 2013

Difference Between Memory Mapped I/O and I/O Mapped I/O

Sr. No.
Memory Mapped I/O
I/O Mapped I/O
1
Memory-mapped I/O uses the same address bus to address both memory and I/O devices ‒ the memory and registers of the I/O devices are mapped to  (associated with) address values. So when an address is accessed by the CPU, it may refer to a portion of physical RAM, but it can also refer to memory of the I/O device. Thus, the CPU  instructions used to access the memory can also be used for accessing devices
Port-mapped I/O often uses a special class of CPU instructions  specifically for performing I/O. This is found on Intel microprocessors, with the IN and OUT instructions. These instructions can read and write one to four bytes (outb, outw, outl) to an I/O device. I/O devices have a separate address space from general memory, either accomplished by an extra  “I/O” pin on the CPU’s physical interface, or an entire bus dedicated to I/O. Because the address space for I/O is isolated from that for main memory, this is sometimes referred to as isolated I/O.
2
No extra h/w circuitry Required.
For a system which uses I/O Mapped I/O, there is a requirement for a extra h/w Circuitry

3
In memory mapped I/O, a chunk of the CPU’s  address space is  reserved for accessing I/O devices
In I/O mapped I/O, I/O devices are handled distinctly by the CPU and  hence occupy a separate chunk of addresses predetermined by the CPU for I/O.

No comments:

Post a Comment