DIRECT MEMORY ACCESS (DMA):-
Programmed I/O and interrupt I/O provide data transfer between the
Microprocessor and external devices. However, there are various
instances when data must be moved between memory and external
devices.
Fig ( 1) three devices connected to INT in a daisy chain
For example, amass storage device, such as a cassette recorder, one may
want to input or output programmed data to or from microcomputer
RAM. Since the DMA performs data transfer memory and an external
device without involving the CPU,the interface or controller chip must be
perform memory read and write operations in similar way as
microprocessor.
DMA controller chip typically provides by the following:-
1- the DMA controller chip puts the microprocessor in a hold state by
means of the HOLD control signal. In this state the microprocessor stops
executing the program and disconnect the address, data
2- the DMA controller chip takes over the microcomputer as soon as it
receives the DMA acknowledge signal from the microprocessor. It puts
RAM location on the address and the appropriate control signal on the
control bus to transfer data between RAM and I/O device.
, 3- the DMA controller chip controls the RAM and an I/O device it
transfers control of the system bus to the microprocessor by removing
the microprocessor from the HOLD state.
processor halt DMA:-
In this type of DMA, data transfer is performed between the memory
and peripheral device either by completely stopping the microprocessor
until the transfer is completed or by technique called cycle stealing. In
either case , the microprocessor is stopped for DMA operation. the first
method transfers acomplete block of data and is known as block
transfer DMA
The decision of which type of DMA should used depends on the length
of the data block. If the data block is large, block transfer DMA is
recommended. On the other hand, for small data blocks cycle stealing
DMA is used. Also, if the microprocessor cannot be kept inactive in a
particle application for the time needed for the block transfer ,or cycle
stealing DMA must be used. With either block transfer or cycle stealing.
a DMA controller chip controls the DMA operation ,and is independent
of the microprocessor.
The DMA controller chip typically consist of:-
1. register:- containing the address of the data to be transferred to or
from. The address register is incremented by 1 each time a byte is
transferred . thus , data is transferred in a sequential order.
2. counter:- containing the length of the data to be transferredand is
decremented by 1 each time a byte is transferred. When this counter
reaches zero , the DMA transfer is completed.
The address register and the counter are normally loaded by the
microprocessor.
Programmed I/O and interrupt I/O provide data transfer between the
Microprocessor and external devices. However, there are various
instances when data must be moved between memory and external
devices.
Fig ( 1) three devices connected to INT in a daisy chain
For example, amass storage device, such as a cassette recorder, one may
want to input or output programmed data to or from microcomputer
RAM. Since the DMA performs data transfer memory and an external
device without involving the CPU,the interface or controller chip must be
perform memory read and write operations in similar way as
microprocessor.
DMA controller chip typically provides by the following:-
1- the DMA controller chip puts the microprocessor in a hold state by
means of the HOLD control signal. In this state the microprocessor stops
executing the program and disconnect the address, data
2- the DMA controller chip takes over the microcomputer as soon as it
receives the DMA acknowledge signal from the microprocessor. It puts
RAM location on the address and the appropriate control signal on the
control bus to transfer data between RAM and I/O device.
, 3- the DMA controller chip controls the RAM and an I/O device it
transfers control of the system bus to the microprocessor by removing
the microprocessor from the HOLD state.
processor halt DMA:-
In this type of DMA, data transfer is performed between the memory
and peripheral device either by completely stopping the microprocessor
until the transfer is completed or by technique called cycle stealing. In
either case , the microprocessor is stopped for DMA operation. the first
method transfers acomplete block of data and is known as block
transfer DMA
The decision of which type of DMA should used depends on the length
of the data block. If the data block is large, block transfer DMA is
recommended. On the other hand, for small data blocks cycle stealing
DMA is used. Also, if the microprocessor cannot be kept inactive in a
particle application for the time needed for the block transfer ,or cycle
stealing DMA must be used. With either block transfer or cycle stealing.
a DMA controller chip controls the DMA operation ,and is independent
of the microprocessor.
The DMA controller chip typically consist of:-
1. register:- containing the address of the data to be transferred to or
from. The address register is incremented by 1 each time a byte is
transferred . thus , data is transferred in a sequential order.
2. counter:- containing the length of the data to be transferredand is
decremented by 1 each time a byte is transferred. When this counter
reaches zero , the DMA transfer is completed.
The address register and the counter are normally loaded by the
microprocessor.