Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ACCESS (DMA)
DMA
• A direct memory access (DMA) is an operation in which
data is copied(transported) from one resource to
another resource in a computer system without the
involvement of the CPU.
• The task of a DMA-controller (DMAC) is to execute the
copy operation of data from one resource location to
another. The copy of data can be performed from:
• - I/O-device to memory
• - memory to I/O-device
• - memory to memory
• - I/O-device to I/O-device
I/O Data Transfer
CPU bus signals for DMA transfer
ABUS
BG
DBUS
CPU High-Impedance
(disable) when
BG is enabled
RD
BR
WR
BUS GRANT (BG) The CPU activates the bus grant output to inform the
external DMA and the buses are in the high-impedance state.
DATA BUS (DBUS) It is used to store the data or information in the CPU
from peripheral devices through DMA.
ADDRESS BUS (ABUS) It is used to store the base address of the data
to be sent to the CPU through DMA.
READ (RD) It is used to read the data stored in the Source or from the
Destination file.
WRITE (WR) It is used to write the data stored in the Source or to the
Destination file.
DMA in Computer System
A DMA controller implements direct memory access
in a computer system.
The DMA Count Register, also called Word Count Register, contains the
number of bytes of data to be transferred. Like the DMA address register,
it too is treated as an O/P port (with a different address) by the CPU.
The DMA Control Register accepts commands from the CPU. It is also
treated as an O/P port by the CPU.
The DMA Data Register are used to store intermediate data values and
result when any arithmetic operation is performed.
Internal Configuration
Process of DMA Transfer
To initiate a DMA transfer, the CPU loads the
address of the first memory location of the
memory block (to be read or written from) into the
DMA address register.
• Disadvantages of DMA:
– In case of Burst Mode data transfer, the CPU
is rendered inactive for relatively long
periods of time.
– It takes more power, more money and has
less speed as compared to CPU Cost of
• Used in disk controllers, video/sound cards etc, or
between memory locations
THANK YOU