SlideShare a Scribd company logo
4
Most read
6
Most read
9
Most read
by Code-
Note
IMRAN KHAN
Name ID
Md. Sumon Hossain Shahin 1#103#45
Md. Imran Khan 1#1030#5
Afroja Kabir 1#10326#
Israt Jahan 1#103308
Tania Sultana Jui 1#1#3270
 DMA
 Basic DMA operation
 DMA controller
 Data transfer with DMA controller
 DMA Controller options for data transfer
 Data Transfer modes
 Advantage & Disadvantage
3
• Direct Memory Access (DMA) is a method that allows an
input/output (I/O) device to send or receive data directly to or
from the main memory, bypassing the CPU to speed up memory
operations. The process is managed by a chip known as a DMA
controller (DMAC).
DMA
4
•DMA transfers are performed by a control circuit that is part of
the I/O device interface.
• It refer to this circuit as a DMA controller.
• The DMA controller performs the function that would normally
be carried out by the processer when accessing the main memory.
• Device wishing to perform DMA asserts the processors bus
request signal
• Processor completes the current bus cycle and then asserts the
bus grant signal to the device.
5
DMA
• The direct memory access (DMA) I/O technique provides direct
access to the memory while the microprocessor is temporarily
disabled.
• 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.
• Two control signals are used to request and acknowledge a DMA
transfer in the microprocessor-based system.
6
DMA operation
During a block input byte transfer, the following sequence occurs as the data byte is sent from
the interface to the memory:
• The interface sends the DMA controller a request for DMA
service.
• A Bus request is made to the HOLD pin (active High) on the
8086 microprocessor and the controller gains control of the
bus.
• A Bus grant is returned to the DMA controller from the Hold
acknowledge (HLDA) pin (active High) on the 8086
microprocessor.
• The DMA controller places contents of the address register
onto the address bus.
• The controller sends the interface a DMA acknowledgment,
which tells the interface to put data on the data bus. (For an
output it signals the interface to latch the next data placed on
the bus.)
• The data byte is transferred to the memory location indicated
by the address bus.
• The interface latches the data.
• The Bus request is dropped, the HOLD pin goes Low, and the
controller relinquishes the bus.
• The Bus grant from the 8086 microprocessor is dropped and
the HLDA pin goes Low.
• The address register is incremented by 1.
• The byte count is decremented by 1.
• If the byte count is non-zero, return to step 1, otherwise stop
DMA operation
• The DMA Controller has several options available for the
transfer of data.
• They are:-
 Cycle steal
 Burst transfer
 Hidden DMA
1) CYCLE STEAL
A read or write signal is generated by the DMAC, and the I/O
device either generates or latches the data. The DMAC
effectively steals cycles from the processor in order to transfer
the byte, so single byte transfer is also known as cycle stealing
2). BURST TRANSFER
To achieve block transfers, some DMAC's incorporate an
automatic sequencing of the value presented on the address
bus. A register is used as a byte count, being decremented for
each byte transfer, and upon the byte count reaching zero, the
DMAC will release the bus. When the DMAC operates in burst
mode, the CPU is halted for the duration of the data transfer.
3) HIDDEN DMA
It is possible to perform hidden DMA, which is transparent to
the normal operation of the CPU. In other words, the bus is
grabbed by the DMAC when the processor is not using it.
The DMAC monitors the execution of the processor, and when
it recognises the processor executing an instruction which has
sufficient empty clock cycles to perform a byte transfer, it waits
till the processor is decoding the op code, then grabs the bus
during this time. The processor is not slowed down, but
continues processing normally. Naturally, the data transfer by
the DMAC must be completed before the processor starts
DMA Data Transfer Modes
1. Single Transfer Mode 2. Block Transfer Mode
3. Demand Transfer Mode 4. Cascade Mode:
5. Memory to memory transfer
 Single Transfer Mode: In Single Transfer mode the device is
programmed to make one transfer only. In single mode only one
byte is transferred per request.
 Block Transfer Mode: Once the DMA controller is
granted access to the system bus by the CPU, it transfers all
bytes of data in the data block. This mode is called "Block
Transfer Mode". once a Block transfer is started, it runs until
the transfer count reaches zero
DMA Data Transfer Modes
 Demand Transfer Mode: Demand Mode DMA allows PC
hardware to transfer many bytes of data, via a DMA channel,
with only a single programming of the DMA controller.
 Cascade Mode: Used to cascade additional DMA
controllers Actual bus signals is executed by cascaded chip.
 Memory to memory transfer: To perform the transfer of
the block of data from one set of memory address to another
one ,this mode is used. This means data can be transferred
from one memory device to another memory device.
• 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.
• DMA transfer requires a DMA controller to carry out the
operation, hence cost of the system increases.
• Cache Coherence problems.
DMA operation

More Related Content

PPTX
Direct memory access (dma)
PPT
MIS-CH05: IT Infrastructure and Emerging Technologies
PPTX
PPTX
Accessing I/O Devices
PPTX
Keratometry
PPTX
Problem & Prospects of IT Industry in Bangladesh
PPTX
Chapter 1 microprocessor introduction
Direct memory access (dma)
MIS-CH05: IT Infrastructure and Emerging Technologies
Accessing I/O Devices
Keratometry
Problem & Prospects of IT Industry in Bangladesh
Chapter 1 microprocessor introduction

What's hot (20)

PPTX
8086 microprocessor-architecture
PPTX
Modes of transfer
PPTX
Instruction Cycle in Computer Organization.pptx
PPTX
Instruction sets of 8086
PPTX
Direct memory access
PDF
Logic microoperations
PPTX
Instruction codes
PPT
Instruction cycle
PPT
Architecture of 8086 Microprocessor
PPTX
Asynchronous data transfer
PPTX
8251 USART
PPT
Unit 3 basic processing unit
PPTX
Direct memory access
PPTX
Signed Addition And Subtraction
PPTX
8237 dma controller
PPT
CPU Register Organization.ppt
PPTX
Semiconductor memories
PPTX
Memory Reference Instructions
PPTX
Addressing modes
8086 microprocessor-architecture
Modes of transfer
Instruction Cycle in Computer Organization.pptx
Instruction sets of 8086
Direct memory access
Logic microoperations
Instruction codes
Instruction cycle
Architecture of 8086 Microprocessor
Asynchronous data transfer
8251 USART
Unit 3 basic processing unit
Direct memory access
Signed Addition And Subtraction
8237 dma controller
CPU Register Organization.ppt
Semiconductor memories
Memory Reference Instructions
Addressing modes
Ad

Similar to DMA operation (20)

PPTX
Dma and dma controller 8237
PPTX
Direct Memory Access(DMA)
PPTX
8257 DMA Controller
PPTX
Direct Memory Access (DMA).pptx
PPTX
Direct memory access controller slide.pptx
PPTX
Direct memory access
PPTX
Dma data transfer
PPTX
Direct access memory
PPTX
Direct access memory
PPTX
Computer Organization Video Presentation
PPTX
Direct Memory Access
PPTX
A case study on Data Memory Access. - DMA - DMA Controller -Working Mechanism...
PPT
1 STM32's DMA.ppt
PPTX
DMA airctecture.pptx
PPTX
This pot is about computer architecture.
PPTX
PPTX
“Imagine the CPU is a chef cooking a meal. Without DMA, the chef must also ca...
PPTX
PPTX
DMA Versus Polling or Interrupt Driven I/O
Dma and dma controller 8237
Direct Memory Access(DMA)
8257 DMA Controller
Direct Memory Access (DMA).pptx
Direct memory access controller slide.pptx
Direct memory access
Dma data transfer
Direct access memory
Direct access memory
Computer Organization Video Presentation
Direct Memory Access
A case study on Data Memory Access. - DMA - DMA Controller -Working Mechanism...
1 STM32's DMA.ppt
DMA airctecture.pptx
This pot is about computer architecture.
“Imagine the CPU is a chef cooking a meal. Without DMA, the chef must also ca...
DMA Versus Polling or Interrupt Driven I/O
Ad

Recently uploaded (20)

PPT
Total quality management ppt for engineering students
PDF
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
PDF
Visual Aids for Exploratory Data Analysis.pdf
PPTX
AUTOMOTIVE ENGINE MANAGEMENT (MECHATRONICS).pptx
PDF
A SYSTEMATIC REVIEW OF APPLICATIONS IN FRAUD DETECTION
PDF
Accra-Kumasi Expressway - Prefeasibility Report Volume 1 of 7.11.2018.pdf
PPTX
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
PDF
EXPLORING LEARNING ENGAGEMENT FACTORS INFLUENCING BEHAVIORAL, COGNITIVE, AND ...
PDF
22EC502-MICROCONTROLLER AND INTERFACING-8051 MICROCONTROLLER.pdf
PPTX
introduction to high performance computing
PDF
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
PPTX
communication and presentation skills 01
PPTX
Fundamentals of safety and accident prevention -final (1).pptx
PPTX
Software Engineering and software moduleing
PDF
distributed database system" (DDBS) is often used to refer to both the distri...
PDF
Human-AI Collaboration: Balancing Agentic AI and Autonomy in Hybrid Systems
PDF
737-MAX_SRG.pdf student reference guides
PPTX
Graph Data Structures with Types, Traversals, Connectivity, and Real-Life App...
PDF
Exploratory_Data_Analysis_Fundamentals.pdf
PDF
III.4.1.2_The_Space_Environment.p pdffdf
Total quality management ppt for engineering students
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
Visual Aids for Exploratory Data Analysis.pdf
AUTOMOTIVE ENGINE MANAGEMENT (MECHATRONICS).pptx
A SYSTEMATIC REVIEW OF APPLICATIONS IN FRAUD DETECTION
Accra-Kumasi Expressway - Prefeasibility Report Volume 1 of 7.11.2018.pdf
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
EXPLORING LEARNING ENGAGEMENT FACTORS INFLUENCING BEHAVIORAL, COGNITIVE, AND ...
22EC502-MICROCONTROLLER AND INTERFACING-8051 MICROCONTROLLER.pdf
introduction to high performance computing
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
communication and presentation skills 01
Fundamentals of safety and accident prevention -final (1).pptx
Software Engineering and software moduleing
distributed database system" (DDBS) is often used to refer to both the distri...
Human-AI Collaboration: Balancing Agentic AI and Autonomy in Hybrid Systems
737-MAX_SRG.pdf student reference guides
Graph Data Structures with Types, Traversals, Connectivity, and Real-Life App...
Exploratory_Data_Analysis_Fundamentals.pdf
III.4.1.2_The_Space_Environment.p pdffdf

DMA operation

  • 2. Name ID Md. Sumon Hossain Shahin 1#103#45 Md. Imran Khan 1#1030#5 Afroja Kabir 1#10326# Israt Jahan 1#103308 Tania Sultana Jui 1#1#3270
  • 3.  DMA  Basic DMA operation  DMA controller  Data transfer with DMA controller  DMA Controller options for data transfer  Data Transfer modes  Advantage & Disadvantage 3
  • 4. • Direct Memory Access (DMA) is a method that allows an input/output (I/O) device to send or receive data directly to or from the main memory, bypassing the CPU to speed up memory operations. The process is managed by a chip known as a DMA controller (DMAC). DMA 4
  • 5. •DMA transfers are performed by a control circuit that is part of the I/O device interface. • It refer to this circuit as a DMA controller. • The DMA controller performs the function that would normally be carried out by the processer when accessing the main memory. • Device wishing to perform DMA asserts the processors bus request signal • Processor completes the current bus cycle and then asserts the bus grant signal to the device. 5 DMA
  • 6. • The direct memory access (DMA) I/O technique provides direct access to the memory while the microprocessor is temporarily disabled. • 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. • Two control signals are used to request and acknowledge a DMA transfer in the microprocessor-based system. 6
  • 8. During a block input byte transfer, the following sequence occurs as the data byte is sent from the interface to the memory: • The interface sends the DMA controller a request for DMA service. • A Bus request is made to the HOLD pin (active High) on the 8086 microprocessor and the controller gains control of the bus. • A Bus grant is returned to the DMA controller from the Hold acknowledge (HLDA) pin (active High) on the 8086 microprocessor.
  • 9. • The DMA controller places contents of the address register onto the address bus. • The controller sends the interface a DMA acknowledgment, which tells the interface to put data on the data bus. (For an output it signals the interface to latch the next data placed on the bus.) • The data byte is transferred to the memory location indicated by the address bus. • The interface latches the data.
  • 10. • The Bus request is dropped, the HOLD pin goes Low, and the controller relinquishes the bus. • The Bus grant from the 8086 microprocessor is dropped and the HLDA pin goes Low. • The address register is incremented by 1. • The byte count is decremented by 1. • If the byte count is non-zero, return to step 1, otherwise stop
  • 12. • The DMA Controller has several options available for the transfer of data. • They are:-  Cycle steal  Burst transfer  Hidden DMA
  • 13. 1) CYCLE STEAL A read or write signal is generated by the DMAC, and the I/O device either generates or latches the data. The DMAC effectively steals cycles from the processor in order to transfer the byte, so single byte transfer is also known as cycle stealing
  • 14. 2). BURST TRANSFER To achieve block transfers, some DMAC's incorporate an automatic sequencing of the value presented on the address bus. A register is used as a byte count, being decremented for each byte transfer, and upon the byte count reaching zero, the DMAC will release the bus. When the DMAC operates in burst mode, the CPU is halted for the duration of the data transfer.
  • 15. 3) HIDDEN DMA It is possible to perform hidden DMA, which is transparent to the normal operation of the CPU. In other words, the bus is grabbed by the DMAC when the processor is not using it. The DMAC monitors the execution of the processor, and when it recognises the processor executing an instruction which has sufficient empty clock cycles to perform a byte transfer, it waits till the processor is decoding the op code, then grabs the bus during this time. The processor is not slowed down, but continues processing normally. Naturally, the data transfer by the DMAC must be completed before the processor starts
  • 16. DMA Data Transfer Modes 1. Single Transfer Mode 2. Block Transfer Mode 3. Demand Transfer Mode 4. Cascade Mode: 5. Memory to memory transfer  Single Transfer Mode: In Single Transfer mode the device is programmed to make one transfer only. In single mode only one byte is transferred per request.  Block Transfer Mode: Once the DMA controller is granted access to the system bus by the CPU, it transfers all bytes of data in the data block. This mode is called "Block Transfer Mode". once a Block transfer is started, it runs until the transfer count reaches zero
  • 17. DMA Data Transfer Modes  Demand Transfer Mode: Demand Mode DMA allows PC hardware to transfer many bytes of data, via a DMA channel, with only a single programming of the DMA controller.  Cascade Mode: Used to cascade additional DMA controllers Actual bus signals is executed by cascaded chip.  Memory to memory transfer: To perform the transfer of the block of data from one set of memory address to another one ,this mode is used. This means data can be transferred from one memory device to another memory device.
  • 18. • 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. • DMA transfer requires a DMA controller to carry out the operation, hence cost of the system increases. • Cache Coherence problems.