Solved

Query about DMA

Posted on 1998-09-10
4
213 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

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
canon pixma mg2922 printer scan 10 95
How many VM guests can I expect to host? 5 131
Having difficulty adding an additional domain controller 11 72
asset tags - importance 3 72
Does your iMac really need a hardware upgrade? Will upgrading RAM speed-up your computer? If yes, then how can you proceed? Upgrading RAM in your iMac is not as simple as it may seem. This article will help you in getting and installing right RA…
In the modern office, employees tend to move around the workplace a lot more freely. Conferences, collaborative groups, flexible seating and working from home require a new level of mobility. Technology has not only changed the behavior and the expe…
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial
Are you ready to implement Active Directory best practices without reading 300+ pages? You're in luck. In this webinar hosted by Skyport Systems, you gain insight into Microsoft's latest comprehensive guide, with tips on the best and easiest way…

734 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