In this chapter we describe the basics of input/output (I/O) techniques utilized by typical microprocessors. Topics include programmed I/O, interrupt I/O, and DMA (direct memory access).
The technique of data transfer between a microcomputer and an external device is called input/output (I/O). One communicates with a microcomputer via the I/O devices interfaced to it. The user can enter programs and data using the keyboard on a terminal and execute the programs to obtain results. Therefore, the I/O devices connected to a microcomputer provide an efficient means of communication between the microcomputer and the outside world. These I/O devices, commonly called peripherals and include keyboards, monitors (screens), printers, and hard disks.
The characteristics of I/O devices are normally different from those of a microcomputer. For example, the speed of operation of peripherals is usually slower than that of the microcomputer, and the word length of the microcomputer may be different from the data format of the peripheral devices. To make the characteristics of the I/O devices compatible with those of a microcomputer, interface hardware circuitry between the microcomputer and I/O devices is necessary. Interfaces provide all input and output transfers between the microcomputer and peripherals by using an I/O bus. An I/O bus carries three types of signals: device address, data, and command.
A microprocessor uses an I/O bus when it executes ...