I/O Structure of a Microcomputer:
The IO devices connected to a microcomputer system provide an efficient means of communication between the microcomputer system and the outside world. These IO devices are commonly called peripherals and include keyboards, CRT displays, printers, and disks (floppy disk, hard disk, and Compact Disc (CD)).
The characteristics of the IO devices are normally different from the characteristics of the microprocessor. Since the characteristics of the IO devices are not compatible with that of the microprocessor, interface hardware circuitry between the microprocessor and IO device is necessary. There are three major types of data transfer between the microcomputer and an IO device. They are as follows:
- Programmed IO
- Interrupt-driven IO
- Direct memory access (DMA)
Programmed IO: In programmed IO the data transfer is accomplished through an IO port and controlled by software.
Interrupt-driven IO: In interrupt-driven IO, the IO device will interrupt the processor and initiate data transfer.
Direct memory access (DMA): In DMA, the data transfer between memory and IO can be performed by bypassing the microprocessor. Each type of data transfer scheme mentioned above includes different methods of data transfer schemes. The above figure shows all the types of data transfer schemes in a microcomputer and it can also be called the IO structure of a microcomputer.
DMA Controller: DMA Controller is a control unit. It’s a part of the I/O device’s interface circuit. It can transfer blocks of data between I/O devices and the main memory. DMA controller acts as station master. It transfers the data with minimal intervention from the processor.
When the DMA controller receives the above information, the DMA starts and continues to transfer data between memory and I/O devices until an entire block transfer. When the assigned job of the DMA is done, it informs the CPU about the termination of the job.