• retagged by
2,697 views
0 0 votes

The below question is from Made Easy Test series

The diagram shows single bus detached DMA configuration for a system. How many times system bus is used for single data transfer using DMA(Consider only data transfer, not command or status transfer) 

 

  1. 1
  2. 2
  3. 3
  4. 0

Here answer according to their solution is option B.

Reason: One access of system bus for data transfer from i/o to DMA and other for data transfer from DMA to memory.

 

My Doubt: In DMA their is direct data transfer from i/o to memory so system bus is accessed only once.

Is this correct?

 

1 Answer

1 1 vote

The DMA mechanism can be configured in a variety of ways, which are:

  • Single-bus detached DMA.
  • Single-bus integrated DMA-I/O
  • I/O bus

In Question – Single bus detached DMA is mentioned and in this two “system bus” cycles are needed.

@Chaitanya Kale, When the data is about to be transferred, the DMA controller gets access to the system bus from the CPU.

But if we consider this then bus is busy for data preparation as well as data transfer but this shouldn't happen as bus should be busy only during data transfer time.

When the device has a lot of data to be transferred, we will surely need some buffer to store the access amount, so the natural question will be how will that data reach the buffer. it has to be through the bus, right? 

1st ref. → DMA configuration

2nd ref. → One- And Two-Step DMA Transfers (Page no. 2)

3rd ref. → Computer Organization and Architecture Designing for Performance, William Stallings, 10th ed, Chap-7, Page no. 250-251.

Directly Quoting from Stallings below:

“The DMA mechanism can be configured in a variety of ways. Some possibilities are shown in Figure 7.14. In the first example, all modules share the same system bus.

The DMA module, acting as a surrogate processor, uses programmed I/O to exchange data between memory and an I/O module through the DMA module. This configuration, while it may be inexpensive, is clearly inefficient. As with processor-
controlled programmed I/O, each transfer of a word consumes two bus cycles.”

Another ref. → Configurations of DMA

Whereas in “single-bus, integrated DMA-I/O, and I/O bus”, only 1 system bus cycle is needed. Below is another quote from William Stallings which confirms the same.

In both of these cases (Figures 7.14b and c), the system bus that the DMA module shares with the processor and memory is used by the DMA module only to exchange data with memory. The exchange of data between the DMA and I/O modules takes place off the system bus.

 

So the answer is Option B.

• edited by
Position:
Show:

Related questions

75 75 votes
4 answers 4 answers
24.5k
24.5k views
go_editor asked Sep 29, 2014
24,521 views
On a non-pipelined sequential processor, a program segment, which is the part of the interrupt service routine, is given to transfer $500$ bytes from an I/O device to mem...
3 3 votes
1 1 answer
1.0k
1.0k views
Miracle124 asked Oct 18, 2024
1,010 views
DMA
Consider 4 MBPS IO devices connected to 64 bit CPU using DMA interface. 64 words data is transfer from the IO to memory using DMA interface. Main memory machine cycle tim...
5 5 votes
1 1 answer
4.6k
4.6k views
Shivam Kasat asked Dec 28, 2018
4,585 views
A hard disk with a transfer rate of 1 KBps is constantly transferring data to memory using DMA cycle stealing mode. The size of the data transfer is 16 bytes. The process...
13 13 votes
4 answers 4 answers
7.3k
7.3k views
vaishali jhalani asked Jan 30, 2017
7,301 views
Consider $1 \text{ MBPS}$ hard disk is interfaced to the processor in a cycle stealing mode of $\text{DMA}$ whenever $64$ bytes of the data is available in the buffer the...