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
Post a Comment