Direct Memory Access (DMA)
Direct
memory access is a process in which an external device takes over the control
of system bus from the cpu. It is used to transfer large volume of data. The
DMA function can be performed by a separate module on the system bus or it can
be incorporated into an I/O module. In either case, the technique works as
follows. When the processor wishes to read or write a block of data, it issues
a command to the DMA module by sending to the DMA module the following
information:
§ whether a read or write
is requested
§ the address of the I/O
device involved
§ the starting location in
memory to read from or write to
§ the number of words to be
read or written
DMA
module transfers one word at a time directly to and from memory without going
through processor. The processor is involved only at the beginning and end of
the transfer.It is used for high-speed data transfer from/to mass storage
peripherals. Eg; hard-disk drive, magnetic tapes, CD-ROM and sometimes video
controller. It is useful for communication with interactive terminal systems
having CRT screens or with TV screens used for video games. The potential
application for DMA is in multiprocessor system forming a network of two or
more processors.
Fig:
Typical block diagram of DMA
Advantage:
§ computer system performance
is improved
§ cpu utilization is
maximum
Disadvantage:
§ In case of burst mode
data transfer, the cpu is rendered inactive for relatively long period of time.
The DMA
module needs to to take control of the bus to transfer data to and from memory.
Because of this competition for bus usage, there may be times when the
processor needs the bus and must wait for the DMA module. The overall effect is
to cause the processor to execute more slowly during a DMA transfer when
processor access to the bus is required.
No comments:
Post a Comment