At 2004-07-17 02:38, docydoc wrote:
>IMHO DMA makes no sense if you transfer just a few byte because
>DMA needs to be set up. So memory needs to be installed on the
>AD board so it can be tranfered (per DMA) to the main processors
>memory.

Originally DMA was meant to save on local storage (which
was expensive), so everytime that a single byte of data
was available it could be stored in the main storage of
the system and without the CPU having to handle an interrupt
or even worse do a task switch).

Interrupts would be handled within the currently running
task, so it's stack had to have enough spare space available.

Not a very secure situation of course....

>> >I would not worry about it too much. Don't mess around with DMA
>> >programming at these data rates except you want to buffer in your
>> >application,
>
>If big blocks of mem should be transferred DMA. If not no DMA I'd suggest.
>I already said it.

DMA is useful when the IO comes in steadily but not in big
chunks. It also depends on how efficiently the CPU is at handling
fast coming-in data.

My first PC was a TRS-80 (by Tandy Radio Shack) and it didn't
have a DMA-controller (to save money) and therefore it only
could handle single density floppies (unless you bought very
expensive extra hardware). During these transports and also
the transports to the tape recorder all other interrupts
would be disabled. The real-time would stop and you couldn't
press any key anymore...

(BTW. Microsoft wrote that software...)

>> Of course he wants to buffer it in his application, because it's
>> not a steady stream he is handling.
>
>It's not? What are 400k samples of 8 bits data then? Samples as burst of
>4M samples in a 10th of seconds and the silence? I don't know the exact
>application
>But how much buffering? 16 Bytes? I talk about big data blocks (16kB
>at least for a DMA). DMA needs bus arbitration and killing the time with
>it is not so nice :-O

He was talking about a lot of data coming in once-in-a-while
so not all of the time and thus to use his computing power
optimaly he would have to buffer the incoming data and use the
buffered data later.

-- 
Author: Jaap van Ganswijk
  INET: [EMAIL PROTECTED]

Fat City Hosting, San Diego, California -- http://www.fatcity.com
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB CHIPDIR-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to