VOOZH about

URL: https://www.geeksforgeeks.org/computer-organization-architecture/modes-of-dma-transfer/

⇱ Modes of DMA Transfer - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Modes of DMA Transfer

Last Updated : 13 Apr, 2026

Direct Memory Access (DMA) is a technique that allows data transfer between memory and I/O devices without continuous involvement of the CPU, improving system performance and efficiency.

👁 Image

Working of DMA

  • I/O device sends DMA request to the DMA controller.
  • DMA controller sends HOLD signal to CPU.
  • CPU responds with HLDA (Hold Acknowledge) and releases the bus.
  • DMA transfers data directly between memory and I/O device.
  • After transfer, DMA releases the bus and CPU resumes operation.

Modes of DMA Transfer

Now after getting some brief idea about DMA and its working it's the time to analyze Modes of DMA Transfer.

  • During the DMA Transfer CPU can perform only those operation in which it doesn't require the access of System Bus which means mostly CPU will be in blocked state.
  • For how much time CPU remains in the blocked state or we can say for how much time CPU will give the control of DMAC of system buses will actually depend upon the following modes of DMA Transfer and after that CPU will take back control of system buses from DMAC.

1. Burst Mode (Block Transfer)

  • DMA transfers the entire block of data at once.
  • CPU loses control of the system bus during the transfer.
  • CPU is completely blocked until transfer is finished.
  • It is the fastest mode of DMA transfer.
  • Suitable for large data transfers.

Pros:

  • Fastest data transfer

Cons:

  • CPU cannot execute during transfer

Percentage of Time CPU remains blocked:

Let time taken to prepare the data be Tx and time taken to transfer the data be Ty. Then percentage of time CPU remains blocked due to DMA is as follows.

In Burst Mode, the CPU is completely blocked during the entire data transfer. Therefore, percentage of CPU blocked time = 100%

2. Cycle Stealing Mode

  • DMA transfers one word (or byte) at a time.
  • DMA temporarily takes control of the system bus.
  • After each transfer, control is returned to the CPU.
  • CPU is partially active (not fully blocked).
  • Slower than Burst Mode due to frequent bus switching.

Pros:

  • CPU is partially active

Cons:

  • Slower than burst mode

Percentage of Time CPU remains blocked:
Let time taken to prepare data be Tx and time taken to transfer the data be Ty. Then percentage of time CPU remains blocked due to DMA is as follows.

Percentage of CPU blocked time = (Ty / Tx) × 100%

3. Interleaving Mode

  • DMA transfers data only when CPU is idle.
  • CPU is not blocked at all.
  • DMA uses unused bus cycles.
  • It is the slowest mode of DMA transfer.
  • Suitable when CPU performance is critical.

Pros:

  • No CPU interruption

Cons:

  • Slowest transfer

Since, DMA will use system bus only when CPU is not using it so,

Percentage of time CPU remains in blocked state = 0%

Example:

An I/O device has a data preparation speed of 2 MB/s. Calculate the percentage of time the CPU remains blocked in Cycle Stealing Mode if the data transfer time is 2 microseconds per word. 

Explanation:

Given,
Data preparation speed = 2 MB per second
So,

Time to prepare 2 MB = 1 second

Therefore, Time to prepare 1 Byte = 1 / (2 × 10^6) seconds

Time to prepare 16 Bytes =
= (1 / (2 × 10^6)) × 16
= 16 / (2 × 10^6)
= 8 × 10^-6 seconds
= 8 microseconds

Given:
Data transfer time (Ty) = 2 microseconds
Data preparation time (Tx) = 8 microseconds

Formula:
Percentage of CPU blocked time = (Ty / Tx) × 100

Calculation:
= (2 / 8) × 100
= 25%
Comment

Explore