Content deleted Content added
The definition already cleared stated the term was a complement to DMA but excluded MMIO entirely. |
mNo edit summary |
||
Line 2:
'''Programmed input/output''' ('''PIO''') is a method of transferring data between the [[Central processing unit|CPU]] and a peripheral, such as a network adapter or an [[AT Attachment|ATA]] storage device.
For programmed I/O, the software that is running on the CPU uses instructions to perform data transfers to or from an I/O device
This is in contrast to [[Direct Memory Access]] (DMA) transfers.
The term ''Programmed I/O'' can refer to either MMIO or PMIO.
Port-mapped I/O (PMIO) refers to a special address space outside of normal memory that is accessed with instructions such as IN and OUT.
[[Memory-mapped I/O]]<ref>Computer Organization and Architecture 9th Edition. Stallings, William. Pearson, 2012</ref> (MMIO) refers to I/O devices being allocated addresses inside the normal Von Neumann address space that is primarily used for program and data. Such I/O is done using instructions such as LOAD and STORE. PMIO was very useful for early microprocessors with small address spaces, since
the valuable resource was not consumed by the I/O devices.
|