- NEW!
Help answer this question below.
Memory-mapped I/O (MMIO) and port I/O (also called port-mapped I/O (PMIO) or isolated I/O) are two complementary methods of performing input/output between the CPU and peripheral devices in a computer. Another method, not discussed in this article, is using dedicated I/O processors — commonly known as channels on mainframe computers — that execute their own instructions.
Memory-mapped I/O (not to be confused with memory-mapped file I/O) uses the same address bus to address both memory and I/O devices, and the CPU instructions used to access the memory are also used for accessing devices. In order to accommodate the I/O devices, areas of the CPU's addressable space must be reserved for I/O. The reservation might be temporary — the Commodore 64 could bank switch between its I/O devices and regular memory — or permanent. Each I/O device monitors the CPU's address bus and responds to any of the CPU's access of address space assigned to that device , connecting the data bus to a desirable device's hardware register.
Port-mapped I/O uses a special class of CPU instructions specifically for performing I/O. This is generally found on Intel microprocessors, specifically the IN and OUT instructions which 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.
A device's direct memory access (DMA) is not affected by those CPU-to-device communication methods, especially it is not affected by memory mapping. This is because by definition, DMA is a memory-to-device communication method that bypasses the CPU.
Hardware interrupt is yet another communication method between CPU and peripheral devices. However, it is always treated separately for a number of reasons. It is device-initiated, as opposed to the methods mentioned above, which are CPU-initiated. It is also unidirectional, as information flows only from device to CPU. Lastly, each interrupt line carries only one bit of information with a fixed meaning, namely "an event that requires attention has occurred in a device on this interrupt line".
what are the advantage & disadvantage of Isolated I/O and Memory Mapped I/O
What is the name of the man who came up with the DS?
by Answerbag Staff on May 14th, 2011
| 1 person likes this
Can I change my address with the U.S. Postal Service online?
by Answerbag Staff on May 4th, 2011
| 1 person likes this
I have two security systems running at once - MSE and Norton. How do I disable MSE easily?
by luvdB4created on February 5th, 2012
| 1 person likes this
What is an index dat file?
by Answerbag Staff on May 4th, 2011
| 1 person likes this
For compatibility issues I need to re-code from ASCII 8 bits to 6 bits.
¿Anybody knows a way to perform the conversion?
More in description
by Crowsnest on February 3rd, 2012
| 1 person likes this
You're reading WHAT IS THE DIFFERENCE BETWEEN ISOLATED I/O AND MEMORY MAPPED I/O?
Comments