Modes of Data Transfer in Computer




Binary information received from an external device is usually stored in memory.
Information transferred from the central computer into an external device also is originally from the memory.
Data transfer between the central computer and input and output devices may be handled in a variety of modes

Programmed I/O

These operations are a results of I/O instructions written in the computer program. Data transfer is initiated by an instruction in the program.
Usually the data transfer data between CPU register and peripheral device. Other instructions are used to transfer data transfer data between CPU and memory.
The peripheral has to be constantly monitored. Once a data transfer is initiated, the CPU is required to monitor the interface to see when a transfer can again be made.

Applications of programmed I/O method

Useful in small low speed computers.
Used in systems that are dedicated to monitor a device continuously.
Used in the data register.
Used to check the status of the flag bit and branch.

Interrupt initiated I/O

This can be avoided by using an interrupt facility and special commands to inform the interface to issue an interrupt request signal when the data are available from the device.
Meanwhile, CPU can proceed to execute another program. The interfaces keeps monitoring the device.
When the interface determines that the device is ready for data transfer, it generates an interrupt request to the computer.

Direct Memory Access (DMA)

The interface transfer data into and out of the memory unit through the memory bus.
The CPU initiates the transfer of supplying the interface with the starting address and the number of words needed to be transferred and then proceed to execute other tasks.
When the request is granted by the memory controller, the DMA transfer the data directly into memory. The CPU delays its memory access operation to allow the direct memory I/O transfer.

I/O Processor

CPU is the master while the IOP is a slave processor. The CPU performs the tasks of initiating all operations.
The operations include
Starting an I/O transfer
Testing I/O status conditions needed for making decisions on various I/O activites.