delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/08/03/17:02:02

From: e-mail DOT address AT end DOT of DOT text (Mike Collins)
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Any alternative to Direct Memory Access
Date: 31 Jul 1997 11:28:43 GMT
Organization: Storage Technology Limited
Lines: 34
Message-ID: <5rpstb$q84@news.network.com>
References: <Pine DOT OSF DOT 3 DOT 95 DOT 970727090120 DOT 29669A-100000 AT leonis DOT nus DOT sg> <m0wtK9E-0003FSC AT fwd03 DOT btx DOT dtag DOT de>
NNTP-Posting-Host: 129.80.172.76
Mime-Version: 1.0
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

In article <m0wtK9E-0003FSC AT fwd03 DOT btx DOT dtag DOT de>, Georg DOT Kolling AT t-online DOT de 
says...
>
>Bill HellGateS schrieb:
>> (2)Since Direct Memory Access is almost impossible ( correct me if I'm
>>    wrong ) ... is there another alternative that can yield the same
>>    performance as DMA?
>

On a 386 or better, a tight assembler loop of :

           load source address
           load destination address
           load the length
start:     move a word
           bump source address
           bump destination address
           count down the length and jump to start if not zero

... is pretty fast. DMA may be better, but I recon this would give it a run for 
its money. I have done this in real-mode, 16-bit assembler moving one byte at 
a time, and I was able to move four 512-byte chunks, with overhead of hardware 
testing etc. during the clock tick. I lost about 10% of performance on a 
16-meg, 286 machine, so that may give some indication of how fast it is. I have 
never attempted this in 32-bit assembler, but I guess the same types of 
instructions are available.

Mike.
-- 
Don't just hit "reply" - my E-mail address is bogus
to avoid automatic browsers from sending junk mail.
Please use collim'at'anubis'dot'network'dot'com
Actually, even this doesn't stop all of them ...

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019