From Wikipedia, the free encyclopedia
Jump to navigation Jump to search






An I/O interface is required whenever the I/O device is driven by a processor. Typically a CPU communicates with devices via a bus. The interface must have necessary logic to interpret the device address generated by the processor. Handshaking should be implemented by the interface using appropriate commands (like BUSY, READY, and WAIT), and the processor can communicate with an I/O device through the interface. If different data formats are being exchanged, the interface must be able to convert serial data to parallel form and vice versa. Because it would be a waste for a processor to be idle while it waits for data from an input device there must be provision for generating interrupts[2] and the corresponding type numbers for further processing by the processor if required.[clarification needed]

A computer that uses memory-mapped I/O accesses hardware by reading and writing to specific memory locations, using the same assembly language instructions that computer would normally use to access memory. An alternative method is via instruction-based I/O which requires that a CPU have specialised instructions for I/O.[1] Both input and output devices have a data processing rate that can vary greatly.[2] With some devices able to exchange data at very high speeds direct access to memory (DMA) without the continuous aid of a CPU is required.[2]

Higher-level implementation




Channel I/O


Port-mapped I/O


Direct memory access

Direct memory access (DMA) is a means for devices to transfer large chunks of data to and from memory independently of the CPU.

See also


  1. ^ a b Null, Linda; Julia Lobur (2006). The Essentials of Computer Organization and Architecture. Jones & Bartlett Learning. p. 185. ISBN 0763737690. Archived from the original on 20 December 2016. Retrieved 11 December 2016.
  2. ^ a b c Abd-El-Barr, Mostafa; Hesham El-Rewini (2005). Fundamentals of Computer Organization and Architecture. John Wiley & Sons. p. 161-162. ISBN 9780471478331. Archived from the original on 21 December 2016. Retrieved 11 December 2016.
Retrieved from ""
This content was retrieved from Wikipedia :
This page is based on the copyrighted Wikipedia article "Input/output"; it is used under the Creative Commons Attribution-ShareAlike 3.0 Unported License (CC-BY-SA). You may redistribute it, verbatim or modified, providing that you comply with the terms of the CC-BY-SA