Direct Memory Access (DMA)

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15
At a glance
Powered by AI
The key takeaways are that Direct Memory Access (DMA) allows transfer of data between memory and I/O devices without CPU involvement, improving transfer speed. DMA is controlled by a DMA controller.

To initiate a DMA transfer, the CPU loads the address and transfer details into DMA registers. The DMA controller then seizes control of buses and directly transfers data between memory and I/O device according to the transfer settings.

The main components of a DMA controller are address registers, word count registers, control registers, address buffers, and logic to communicate with CPU and I/O devices.

A Presentation On

Direct Memory Access (DMA)


Department of Computer Engineering, M.S.P.V.L. Polytechnic College,

Introduction
The transfer of data between the memory and an external device without involving the micro processor improves the speed of transfer. This transfer technique is called DMA .

www.ustudy.in

DMA Controller
Address bus Data bus Data bus buffers Address bus buffers

Internal bus

DMA select Register select Read Write Bus request Bus grant Interrupt

CS RS RD WR BR BG Interrupt Control logic

Address register

Word count register

Control register

DMA request DMA Acknowledge to I/O device

www.ustudy.in

DMA Controller
DMA controller is used to transfer the data between the memory and i/o device. The DMA controller needs the usual circuits to communicate with the CPU and i/o device. In addition to this, it needs an address register and address bus buffer. The address register contains an address of the desired location in memory. The word count register holds the number of words to be transferred. The control register specifies the mode of transfer. The DMA communicates with the i/o devices through the DMA www.ustudy.in

Cont..,
The RD (Read) and WR (write) signals are bidirectional. When the BG (Bus Grant) signal are bidirectional.

When the BG (Bus Grant) signal is 0, the CPU can communicate with the DMA registers through the data bus. When BG is 1, the www.ustudy.in CPU has relinquished the

DMA Transfer (
Interrupt BG BR RD WR Address Data CPU

I/O to Memory

Random access memory (RAM)

RD Read control

WR

Address

Data

Write control Data bus Address bus

Address select

RD DS RS BR BG Interrupt

WR

Address

Data DMA acknowledge I/O Peripheral device DMA request

Direct memory access (DAM) controller

www.ustudy.in

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. It does his via an I/O output instruction, such as the OTPT instruction for the relatively simple CPU. It then writes the no. of bytes to be transferred into the DMA count register in the sane manner. Finally, it writes one or more commands to the
www.ustudy.in

Cont..,
These commands may specify transfer options such as the DMA transfer mode, but should always specify the direction of the transfer, either from I/O to memory or from memory to I/O. The last command causes the DMA controller to initiate the transfer. The controller then sets BR to 1 and, once BG becomes 1 , seizes control of the system buses.
www.ustudy.in

Input-Output Processor (IOP)

Central Processing unit (CPU)


Memory bus

Peripheral devices PD PD PD PD

Memory unit

Input-output processor (IOP)

I/O bus

www.ustudy.in

Introduction
IOP : Communicate directly with all I/O devices Fetch and execute its own instruction
IOP instructions are specifically designed to facilitate I/O transfer DMAC must be set up entirely by the CPU

Designed to handle the details of I/O processing


www.ustudy.in

Cont..,
Command Instruction that are read form memory by an IOP
Distinguish from instructions that are read by the CPU Commands are prepared by experienced
www.ustudy.in

CPU - IOP Communication


CPU operations IOP operations Send instruction to test IOP path Transfer status word to memory location If status OK. , send start I/O instruction to IOP

Access memory for IOP program

Message Center

CPU continues with another program

Conduct I/O transfer using DMA ; prepare status report

CPU Program
Request IOP status

IOP Program

I/O transfer completed interrupt CPU

Transfer status word to memory location Check status word for correct transfer

Continue

www.ustudy.in

CPU - IOP Communication


The communication between CPU and IOP may take different forms depending on the particular computer considered. The CPU sends a test I/O instruction to IOP to test the IOP path. The responds by inserting a status word in memory location. The CPU refers to the status word in memory. If everything is in order, the CPU sends the start I/O instruction to start the I/O transfer. The IOP accesses memory for IOP program.
www.ustudy.in

Cont..,
When the IOP terminates the execution of its program, it sends an interrupt request to the CPU. The CPU then issues a read I/O instruction to read the status from the IOP. The IOP transfers the status word to memory location. The status word indicates whether the transfer has been completed satisfactorily or if any error
www.ustudy.in has occurred during the transfer.

The End

Thank U

www.ustudy.in

You might also like