I/O interface refers to the process of transferring data from internal storage to external I/O devices. Peripherals linked to any computer system interface with the CPU via particular communication lines. These links are useful to bridge the gap between the CPU and the peripheral. Interface units are specific hardware components that sit between the CPU and peripherals and are responsible for overseeing and synchronizing all input and output transactions.
I/O Interface : Data Transfer Modes
We can accomplish Date transfer between the central unit and I/O devices in one of three ways, as shown below:
I/O instructions written in computer programs are the programmed I/O instructions. The command in the program starts each data item transfer. Data transport to and from the CPU and peripherals is usually controlled by the application. The CPU must constantly monitor the peripherals when transferring data using programmed I/O.
Interrupt Initiated I/O
The CPU stays in the program loop with the configured I/O technique until the I/O unit indicates that it is ready to transfer data. This is a time-consuming operation since it keeps the processor occupied when it is not in need. The use of interrupt started I/O can help solve this problem. The interface generates an interrupt when it detects that the peripheral is ready for data transfer. When the CPU receives an interrupt signal, it stops what it’s doing and handles the I/O transfer before returning to its previous activity.
Direct Memory Access
The speed of transmission would be better by removing the CPU from the path and allowing the peripheral device to operate the memory buses directly. DMA is the name for this method. The interface transfers data to and from the memory via the memory bus in this case. The data transit between peripherals and the memory unit is handled by a DMA controller. Disc drive controllers, graphics cards, network cards, and sound cards are just a few of the hardware systems that use DMA. In multicore CPUs, it’s also useful for intra-chip data transport. In DMA, the CPU would start the transfer, perform other tasks while it was running, and then get an interrupt from the DMA controller when the transfer finishes.