14-03-2012, 03:29 PM
DIRECT MEMORY ACCESS
[attachment=18333]
introduction
An important aspect governing the Computer System performance is the transfer of data between memory and I/O devices.
Direct memory access (DMA) is a means of having a peripheral device control a processor's memory bus directly.
computer system with dma
Consider a typical system consisting of a CPU ,memory and one or more input/output devices as shown in fig. Assume one of the I/O devices is a disk drive and that the computer must load a program from this drive into memory.
The CPU would read the first byte of the program and then write that byte to memory. Then it would do the same for the second byte, until it had loaded the entire program into memory.
implementing dma in a computer system
A DMA controller implements direct memory access in a computer system.
It connects directly to the I/O device at one end and to the system buses at the other end. It also interacts with the CPU, both via the system buses and two new direct connections.
data transfer using dma controller
To transfer data from an I/O device to memory, the DMA controller first sends a Bus Request to the CPU by setting BR to 1. When it is ready to grant this request, the CPU sets it’s Bus grant signal, BG to 1.
The CPU also tri-states it’s address, data, and control lines thus truly granting control of the system buses to the DMA controller.
The CPU will continue to tri-state it’s outputs as long as BR is asserted.