Solved

Query about DMA

Posted on 1998-09-10
4
209 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
  • 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 Gift Card with Acronis Backup Purchase!

Backup any data in any location: local and remote systems, physical and virtual servers, private and public clouds, Macs and PCs, tablets and mobile devices, & more! For limited time only, buy any Acronis backup products and get a FREE Amazon/Best Buy gift card worth up to $200!

Join & Write a Comment

this article is a guided solution for most of the common server issues in server hardware tasks we are facing in our routine job works. the topics in the following article covered are, 1) dell hardware raidlevel (Perc) 2) adding HDD 3) how t…
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…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

759 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

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now