[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: DMA or not DMA...



Nathan wrote:

>   However, you've got it totally wrong as to what DMA affects. It is
>NOT sequential disk access only (that's what the RamFAST excels at,
>DMA on or not); DMA speeds up the transfer of each and every block
>read simply by telling the processor to take a nap while it shoves
>data into memory as fast as the bus allows. DMA off, the processor has
>to sit in a tight loop reading out bytes one at a time and copying
>them to the destination. Sequential block reads or random are both
>equally affected, no matter what the drive speed is-- at the basic
>level, each block must be copied from disk to RAM.

Absolutely right about what DMA is and what matters for speed of
data transfer.  But on an accelerated machine, the processor can
transfer data from card port to memory at speeds very near bus
speed.  Consider an unrolled LDA/STA loop:  two slow-cycle
(1 microsecond bus cycle) references per byte moved.  Thats
within a factor of two of full speed DMA.

How important this will be depends on what fraction of the "wait
time" you experience is data transfer time.  If about a megabyte
of data is transferred during boot, the DMA transfer time will be
about one second, while the accelerated copy time will be about
two seconds, for a grand total difference of one second in around
fifteen.  Actual measurements may differ slightly, because of re-
reading of directory blocks, etc., and missed rotation differences,
but I think you'll find that the disk's built-in caching/read-ahead
and internal data rates (at the heads) is a bigger factor in the
measured boot times than DMA vs. accelerated copy.

BTW, I agree with you that the measured data is what matters,
and I eagerly await some apples-to-apples (!) comparisons, but
computer performance analysis is part of my job, and estimates
from analysis _verified by measurement_ are generally reliable.

OTOH, I'm sure that your opinion is not at all influenced by the
fact that you _don't_ have 8 MB in your system and could use
a desire for DMA to justify that...   ;-)

-michael

 Email:  mjmahon@aol.com
 Home page:  http://members.aol.com/MJMahon/