100% found this document useful (1 vote)
952 views2 pages

DMA Controller and Its Operations - Narendra Kumar

The document describes the block diagram and operation of a DMA controller. It contains a control unit that handles functions like read, write, and interrupt during DMA operations. The DMA controller initiates data transfer between I/O devices and memory without involving the microprocessor by using address and count registers. It operates by requesting bus access from the microprocessor, transferring data blocks, then returning bus control upon completion. The three operation modes are burst, cycle-stealing, and transparent.

Uploaded by

BALAKRISHNAN
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
952 views2 pages

DMA Controller and Its Operations - Narendra Kumar

The document describes the block diagram and operation of a DMA controller. It contains a control unit that handles functions like read, write, and interrupt during DMA operations. The DMA controller initiates data transfer between I/O devices and memory without involving the microprocessor by using address and count registers. It operates by requesting bus access from the microprocessor, transferring data blocks, then returning bus control upon completion. The three operation modes are burst, cycle-stealing, and transparent.

Uploaded by

BALAKRISHNAN
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Block Diagram of DMA Controller and DMA Operations

Fig 1.7: Block diagram of DMA Controller

Fig 1.8: DMA Control Operation

DMA Operation: Direct Memory Access involves transfer of data between I/O
devices and memory by an external circuitry system called DMA controller
without involving the microprocessor. However, microprocessor itself initiates the
DMA control process by providing starting address, size of data block and
direction of data flow. DMA contains a control unit to deals with the control
functions during DMA operations such as read, write and interrupt. The address
register of DMA controller is used to generate address and select I/O device to
transfer the data block. The Count register counts and hold no. of data block
transferred. It also specifies direction of data transfer.

Steps of DMA Operation:

a) For DMA operation to occur, the DMA controller first make a bus request
(BR) by sending a control signal HOLD to the control line.

b) On receiving the BR through HOLD pin high, the microprocessor completes


the current instruction execution and afterward it generates HLDA control
signal and sends it to the DMA-Controller. This event switches over the
control from microprocessor to DMA Controller. The microprocessor gets
idle.

c) As soon as DMA controller receives HLDA (Hold Acknowledged) through


Bus Grant (BG) line, it takes the control of system bus and start transferring
the data blocks between memory and Input / Output devices, without
involving the microprocessor.

d) On completion of data transfer, the DMA controller sends a low signal to the
HOLD pin and hence microprocessor makes the HLDA pin low and takes the
control over system bus.

DMA Operation Modes:


The DMA Controller operates under three modes:

A. Burst Mode: Here DMA controller switch over the control to the
microprocessor only on completion of entire data transfer, irrespective of
microprocessor requiring the bus. Microprocessor has to be idle during the
data transfer.

B. Cycle-Stealing Mode: DMA controller relinquish the control to


microprocessor on transfer of every byte, thereby microprocessor gets the
control and become able to process highly prioritized instruction. DMA
need to make the BG request for each byte.

Transparent Mode: In this mode, DMA controller can transfer data blocks only when
microprocessor are executing such instruction that does not requires system bus utilization.

You might also like