Modes Of Data Transfer

                       There are two methods of data transfer between the Computer’s memory and your computer peripheral controller card. They are PIO(Programmed Input/Output) Mode and DMA(Direct Memory Access) mode. PIO mode is contrast to DMA mode.
PIO Mode uses least amount of the hardware for data transferring. During olden days almost all the computers used this mode for data transfer between computer's memory and Peripheral Controller card . This data transfer made use of CPU registers leading to indirect data transfer. The best example of device which uses the PIO mode is ATA interface. Even the earlier Integrated Drive Electronic(IDE) interface which connects storage drives to computer system used this mode. The 80x86 microprocessors are well suited for this task since these processors are capable of handling the transfer of block of data. This mode is called ‘Programmed’ because a software instruction can command the data transfer between the peripheral controller card and CPU. The PIO modes are categorised depending on the data transfer rates which is nothing but the cycle time required for transferring data. But after the invention of the DMA and UltraDMA mode PCs Stopped using PIO mode of data transfer due to the disadvantages over other modes.
However PIO mode due to its only advantage that its implementation requires a  simple digital logic has helped it retain itself. It is therefore used in embedded systems where high data rates are not a compulsion. This PIO contains 6 modes of which the last two modes defined in CompactFlash specification 2.0 and would provide a maximum of 25MB/s of transfer rate.
The need of large CPU registers for higher transfer rates by PIO, thereby loading CPU, making it unavailable for other task lead to the development of an alternative interface called DMA interface that no more needed the CPU registers for transferring data resulting in increased performance . The faster versions of DMA modes are called Ultra DMA (UDMA).  The data transfer is done in DMA mode by a DMA controller, a  small special processor for handling the data transfer. Compared to PIO mode, DMA has the ability to reduce CPU usage and even provide an increased read/write speed that is 10 times faster access to memory than PIO. It involves the use of CPU only during the start to initiate the data transfer by providing the count of words that is required to be transferred along with memory address to the DMA controller to start the transfer process allowing CPU to be used for other required task. At the point when the read/ write action is complete, it interrupts CPU signalling the end of transfer. DMA can transfer one word at a time which is called as 'cycle stealing' where only on alternate bus cycles CPU has access to memory. Also DMA can operate in what is called as a burst mode where the whole block of data gets transferred in a short span keeping CPU paused during that time from accessing memory. The other unusual mode is where DMA transfers data when CPU is not using the data bus . Graphic, network and sound card and the intra-chip data transfer make use of DMA, offloading CPU.

 Thus DMA takes care of most of the data transfer actions thereby giving processor flexibility to carry out necessary computations. So DMA's requirement in a PC is so much important for a smooth execution of all tasks to be carried out.  

Comments