*BSD News Article 7005


Return to BSD News archive

Path: sserve!manuel.anu.edu.au!munnari.oz.au!spool.mu.edu!hri.com!noc.near.net!uunet!optigfx!optigfx.com
From: mrm@optigfx.com (Mike Murphy)
Newsgroups: comp.unix.bsd
Subject: DMA disk controllers
Message-ID: <1732@optigfx.optigfx.com>
Date: 23 Oct 92 21:30:05 GMT
Sender: mrm@optigfx.optigfx.com
Lines: 26

Reading news, I forget which group, I came upon an article that said "ISA bus
DMA is so slow, nobody oughtta use it". Being a skeptic, I get out an AT(tm)
Tech. Ref. manual, and go through the numbers. DMA channels 5-7 are 16-bit
and should be able to do about 1.6MB/sec. That's fast enough with respect to
drives for MFM, RLL, and IDE, since they can at best do about 1.2MB/sec bulk
throughput. Neat, I think, since I know that offloading the CPU by doing
DMA in the disk driver rather than CPU transfers, thereby freeing up the CPU
to do good stuff rather than just I/O is a Good Thing in a multi-programming
system. It is at least worthy of investigation. Does anybody have a system
that becomes CPU sluggish when doing a lot of I/O? Maybe DMA would help.
Yes, I know that insw and outsw are faster with a super-zorch CPU, but the
DMA ought to be fast enough, and it would offload the CPU if the DMA setup
didn't take more CPU than the DMA saved.

Then I look further at the circuit diagram for the IBM(tm) hard disk adapter.
No hard disk DMA. Only floppy disk DMA on channel 2 (8-bit, BTW). Awww, nuts,
cheapskates, I think again, so I go get some disk controllers off the shelf
and look at 'em. Not a one has DMA for the hard drive. Most don't even have
foil on the connector for DRQ5-7/DACK5-7. Then I try and remember, have I
ever seen a controller with a jumper for selecting DMA channel? Nope.

Does anyone know of a hard disk controller, MFM, RLL, or IDE, that supports
DMA? Include a smiley in any response suggesting SCSI.

Thanks,
Mike