Discuss the Data Transfer Schemes in Computer Architecture?

In data transfer schemes, it can provide an efficient means of transmitting data between the processing unit and the I/O devices. In a computer, the data transfer happens between any of these combinations CPU and memory, CPU and I/O devices, and memory and I/O devices.

A computer is interfaced with many devices of different speeds. Therefore, I/O devices may not be ready to transfer data as soon as the microprocessor issues the instruction for this purpose. Many data transfer schemes have been developed to solve this problem.

Classification of Data Transfer Schemes

The data transfer schemes have been broadly classified into two categories −

Programmed Data Transfer Schemes

In a programmed data transfer scheme, data transfer takes place between the CPU and I/O device under the control of a program that resides in the memory. In this scheme, the program is executed by the CPU. This scheme is used when a limited extent of information is to be transferred.

The three important types of programmed data transfer schemes are −

  • Synchronous Data Transfer Scheme − This type of programmed data transfer scheme is used when the processor and the I/O devices match in speed. Some suitable instructions such as IN and OUT are used for ‘to and from’ data transfer of I/O devices.
  • Asynchronous Data Transfer Scheme − This type of programmed data transfer scheme is used when the speeds of I/O devices and the microprocessor do not match and also when the timing characteristics of the I/O devices are not predictable.
  • Interrupt Driven Data Transfer Scheme − In this programmed data transfer scheme, the processor enables the I/O devices and then continues to execute its original program instead of wasting time checking the status of the I/O devices. When the I/O devices are ready to send and receive data, then the processor is informed through a specific control line called the ‘Interrupt line’.

DMA Data Transfer Scheme

In DMA data transfer, data is directly transferred from the memory to the I/O device or vice versa without going through the microprocessor. This scheme is used when there is a requirement to send bulk data. Transferring bulk data using a microprocessor consumes more time. Therefore, the microprocessor performs the data transfer between an I/O device and memory using this DMA technique.

For a DMA transfer, I/O devices must also contain electronic circuitry to generate control signals. But most I/O devices are not equipped with such facilities. Hence, to solve this problem, manufacturers have developed a single-chip programmable DMA controller to interface I/O devices with the microprocessor for DMA transfer.