From: norsk@mobius (Doug Thompson) Subject: Re: Abysmal disk performance Date: 14 May 1992 01:00:44 GMT
In article <1992May13.234457.29352@colorado.edu>,
drew@ophelia.cs.colorado.edu (Drew Eckhardt) writes:
> The string instructions (ie portread / portwrite in hd.c) are abysmally slow
> in comparison to DMA. The same can be said for strcpy(). We should
> modify the hd.c code, etc to use DMA to a track sized buffer, and DMA in
> memory to memory mode to copy to the identity mapped buffercache.
>
> The same can be used to copy pages where both pages < 16M.
>
> I will start on this code after we get into our new apartment, and have
> the data sheets out, or someone mails me a reference on the 8237's in
> the AT.
As I remember the 8237 DMA clicks along at 3 Mhz on the original AT
coupled with
10-15 wait states. I don't know how many wait states used on 386 boxes today
but I believe the DMA is still at 3Mhz. Starting with the 286 and beyond
doing a REP INS would transfer at bus speed.
The DMA circuits on the AT just could not provide very fast transfers, thus
the POLL input on the WD controller and childern. That is why Adaptec went
with the DMA master model. The 1542 would utilize the DMA handshake lines
itself and not use the on board 8237's.
I might be out of date, but thats what I remember from days working on 286s
and early 386s