Solved

Query about DMA

Posted on 1998-09-10
4
214 Views
Last Modified: 2010-04-27
In theory , the processor only has to pass the base address of the bytes to move, the number
of bytes to move and the base address of the destination to the DMA controller, and it will
take care of the actual transfer while the processor does something else. However, Winn L.
Rosch writes in his excellent "Hardware Bible", that in practice the processor must not only
set up the transfer but also oversee it. Is this true? If so, what does it mean:
-the processor waites around?
-it double-checks to see whether the transfer is working properly?
-it waits for the end of the transfer?
-it looks out for error signals?

And if it does wait around, is it a software or hardware constraint (i.e does the program tell
the processor to wait before the end of the transfer or does the DMA controller/bus
controller/processor or other hardware device cause this?)

I would be very glad if you could help me resolve this small problem. Thanks
 
0
Comment
Question by:nerd_emperor
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
4 Comments
 
LVL 12

Accepted Solution

by:
mark2150 earned 100 total points
ID: 1124782
Normally the program has to wait around for the DMA controller to finish because it needs the data that the DMA is delivering before it can continue processing. This is why they developed the concept of prefetch. You set up the DMA and get it going well ahead of when you actually need the data so that by the time that you get around to chewing on it the data is already there.

The DMA chip does it's thing without supervision. It'll haul down on an IRQ when it's finished.

Typically you use this when you're writing low level device drivers for talking to block devices like disk drives. If you have a code module doing a sequential read then you have a good chance that the next block will be required. DMA properly configured can speed up processing quite a bit in this context. In transactional processing the gains aren't normally worth the code overhead as long sequential reads are writes are much less common.

M

0
 

Author Comment

by:nerd_emperor
ID: 1124783
Thanks very much!!!
0
 

Author Comment

by:nerd_emperor
ID: 1124784
Understood, but why does he choose the word "oversee". As far as my knowledge of english goes, that implies some sort of supervisory function. The answer you gave would be more of a "hanging about" or "waiting".
0
 
LVL 12

Expert Comment

by:mark2150
ID: 1124785
Dunno why he'd say "oversee". Maybe he meant in the larger context of setting it up for the next block request.
0

Featured Post

U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this article we have discussed the manual scenarios to recover data from Windows 10 through some backup and recovery tools which are offered by it.
Moving your enterprise fax infrastructure from in-house fax machines and servers to the cloud makes sense — from both an efficiency and productivity standpoint. But does migrating to a cloud fax solution mean you will no longer be able to send or re…
In this video, viewers will be given step by step instructions on adjusting mouse, pointer and cursor visibility in Microsoft Windows 10. The video seeks to educate those who are struggling with the new Windows 10 Graphical User Interface. Change Cu…
There's a multitude of different network monitoring solutions out there, and you're probably wondering what makes NetCrunch so special. It's completely agentless, but does let you create an agent, if you desire. It offers powerful scalability …

624 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question