Modes of DMA Transfer (original) (raw)
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.

**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%