0% found this document useful (0 votes)
33 views14 pages

Fathima

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views14 pages

Fathima

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

Direct Memory Access(DMA)

“DIRECT MEMORY ACCESS (DMA) IS A FEATURE OF


COMPUTERIZED SYSTEMS THAT ALLOWS CERTAIN
HARDWARE SUBSYSTEMS TO ACCESS MAIN SYSTEM
MEMORY INDEPENDENTLY OF THE CENTRAL PROCESSING
UNIT (CPU).”
-WIKIPEDIA

“Direct memory access (DMA) is a means of having a peripheral


device control a processor's memory bus directly.”
-Anonymous
 The direct memory access (DMA) I/O technique provides direct access to the memory while the
microprocessor is temporarily disabled.
 I/O devices are connected to system bus via a special interference circuit known as “DMA
Controller”.
 In DMA, both CPU and DMA controller have access to main memory via a shared system bus
having data, address and control lines.
 A DMA controller temporarily borrows the address bus, data bus, and control bus from the
microprocessor and transfers the data bytes directly between an I/O port and a series of memory
locations.
 The DMA transfer is also used to do high-speed memory-to memory transfers.
 DMA transfer can be done in two ways.
DMA vs. NO DMA

Without DMA With DMA


When the CPU is using The CPU initiates the transfer, does other
programmed input/output, it is typically operations while the transfer is in
fully occupied for the entire duration of progress, and receives an interrupt from
the read or write operation, and is thus the DMA controller when the operation is
unavailable to perform other work. done.

This feature is useful any time the CPU cannot keep up with the rate of data
transfer, or where the CPU needs to perform useful work while waiting for a
relatively slow I/O data transfer.
DMA Initialization

 DMA controllers require initialization by software. Typical setup parameters


include the base address of the source area, the base address of the destination area,
the length of the block, and whether the DMA controller should generate a
processor interrupt once the block transfer is complete.
Types of DMA transfer:1.DMA transfer block

 In this DMA mode , DMA controller is master of memory bus.


 This mode is needed by the secondary memory like disk drives, that have data
transmission and are no to be stopped or slowed without any loss of data transfer of
blocks.
 Block DMA transfer supports faster I/O data transfer rates but the CPU remains inactive
for relatively long period by tieing up the system bus.
2.Cycle Stealing

 In this method, system allows DMA controller to use system bus to transfer one word,
after which it should return back control of bus to CPU.
 This method reduces maximum I/O transfer rates
 It also reduces interference of DMA controller in CPU memory access
 It is completely eliminated by designing DMA interface so that system bus cycles are
stolen only when CPU is not actually using system bus.
 This is also called as Transparent DMA
DMA Data Tranfer: Block Diagram
Data Transfer: Block Components

 Two control signals are used to request and acknowledge a DMA transfer .
 The HOLD signal is a bus request signal which asks the microprocessor to release control
of the buses after the current bus cycle.
 The HLDA signal is a bus grant signal which indicates that the microprocessor has indeed
released control of its buses by placing the buses at their high-impedance states.
 DREQi (DMA request): Used to request a DMA transfer for a particular DMA channel.
 DACKi (DMA channel acknowledge): Acknowledges a channel DMA request from a
device.
DMA Data Transfer

Data transfer technique directly between memory and I/O device

Steps:
1. I/O device asserts DRQ signal.
2.DMA controller sends HOLD signal to CPU
3.CPU sends HLDA back to DMA controller
4.DMA controller give DMA acknowledgment back to I/O.
DMA Data Transfer

5.DMA controller places memory address on address bus


6.DMA controller updates memory address register and word counter register
7.When DC register becomes zero ,DMA controller sets HOLD=0
8.Data transfer process terminates and processor regain control of system
bus.
Advantages of DMA

 DMA allows a peripheral device to read from/write to memory without going through the
CPU
 DMA allows for faster processing since the processor can be working on something else
while the peripheral can be populating memory.
Disadvantages of DMA

 DMA transfer requires a DMA controller to carry out the operation, hence cost of the
system increases.
 Cache Coherence problems.
Cache Coherency

 Cache coherency refers to the consistency of


data stored in local caches of a shared
resource.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy