flat assembler
Message board for the users of flat assembler.

Index > Main > DMA????

Author
Thread Post new topic Reply to topic
neuzen



Joined: 26 Apr 2005
Posts: 1
Location: Neverland
neuzen 26 Apr 2005, 12:42
Hi I`v just started learing Assembly ( from the art of assebmly book ).
I`v read chapter 3 and still I didn`t understand what does DMA is?
I did the example and didn`t got it, can someone PLZ help me.

10x

_________________
I swear to say the TRUTH, the whole TRUTH and noting but the TRUTH, so help me god.
Post 26 Apr 2005, 12:42
View user's profile Send private message Reply with quote
Nikolay Petrov



Joined: 22 Apr 2004
Posts: 101
Location: Bulgaria
Nikolay Petrov 26 Apr 2005, 17:11
What is it DMA? - direct memory access or something else???
I'm very angry when i see like this abbreviation. Twisted Evil May be in book, author wrote what is it.... or may be you must exchange the book...Confused, to understand what is it... Smile
Post 26 Apr 2005, 17:11
View user's profile Send private message Reply with quote
YONG



Joined: 16 Mar 2005
Posts: 7997
Location: 22° 15' N | 114° 10' E
YONG 26 Apr 2005, 17:27
Try the following link:

http://www.isdaman.com/alsos/hardware/dma/
- Technical spec., basic concepts, example in C, etc.

YONG
Post 26 Apr 2005, 17:27
View user's profile Send private message Visit poster's website Reply with quote
tom tobias



Joined: 09 Sep 2003
Posts: 1320
Location: usa
tom tobias 26 Apr 2005, 18:06
Yes Nikolay, you have it correctly noted: DMA: direct memory access. This is a separate, programmable cpu, very primitive, which permits transfer of data from the periphery into memory. It is slow, because the specification was established in the days when 4 MHz seemed very fast! (almost thirty years ago) It has the advantage that the cpu need not interrupt its activities to handle this chore. The DMA controller's utility is diminished to some extent these days, because the DMA controller monopolizes the bus, essentially blocking the MUCH faster cpu, which must then wait for the DMA to finish. At the time of its inception, however, it was a truly wonderful complement, speeding up activities, acting in essence like a second cpu, but with activity restricted to data movement only. Though the main cpu is prevented from accessing main memory while the DMA controller is active, the cpu itself can be concurrently very active, performing all sorts of mathematical manipulations, so long as none of them require access to memory. A practical situation where this feature could be useful, is one in which the program AND supporting data reside in cache (cpu private memory), so that the cpu is not delayed waiting for the DMA controller to move data from an I/O port to main memory. The cpu finishes a set of instructions, then rushes out to main memory, grabs the new (set of) data that had just been transferred by the DMA controller, releases the memory bus access capability back to the DMA controller, and continues grinding out the calculations, using the new data from memory, WITHOUT having to save all its registers, and complete an IRQ to fetch the data from I/O itself. Thus, a clever programmer can write a FASTER routine using the slow DMA controller, if he/she knows what they are doing, depending of course, on the particulars of the algorithm being computed. This is most useful for a computationally intensive task like the FFT (Fast Fourier Transform), where each frame of data, say, for instance, 256 data points, can be transferred by the DMA controller to a particular place in memory, at which point, it contacts the cpu, to indicate that the next frame of data is available for computation. The cpu could do all this on its own, without the DMA controller, but then, of course, the cpu would be obliged to respond to 256 IRQ's, instead of one. For some analysis, 2048 or even more data points are required, so depending on the situation, the DMA controller could save time, even today with a cpu running 1000 times faster than the DMA controller. Smile
Post 26 Apr 2005, 18:06
View user's profile Send private message Reply with quote
Nikolay Petrov



Joined: 22 Apr 2004
Posts: 101
Location: Bulgaria
Nikolay Petrov 26 Apr 2005, 19:54
Very good info tom Smile - simple and quite. I think - neuzen will be glad. But my opinion is that abbreviation save the place and "create the professional", but make the books more difficult than need it...
Post 26 Apr 2005, 19:54
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3174
Location: Denmark
f0dder 27 Apr 2005, 16:14
tom, you should get into the habit of organizing your posts in "paragraphs" - it's way too chaotic to read one big blob of text. Start by typing the post in notepad or whatever before you paste it to the post-form Smile
Post 27 Apr 2005, 16:14
View user's profile Send private message Reply with quote
tom tobias



Joined: 09 Sep 2003
Posts: 1320
Location: usa
tom tobias 28 Apr 2005, 12:50
Thank you Fudder, you are absolutely correct, as usual!! Two other criticisms: much too verbose, and too many references to "it". Thanks. Regards, tom Smile
Post 28 Apr 2005, 12:50
View user's profile Send private message Reply with quote
Razneb



Joined: 10 Feb 2005
Posts: 12
Razneb 28 Apr 2005, 23:30
Quote:
I'm very angry when i see like this abbreviation.

Yeah, when I first looked at the topic and saw 'DMA', I was thinking of Dynamic Memory Allocation.
Post 28 Apr 2005, 23:30
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.