On 9/29/2005 at 9:33 AM Dwight K. Elvey wrote:
I don't think the early PC's used DMA for the
hard disk.
The HD controllers usually had sector or track buffers.
The program would wait until the buffer was full and
then just move it by software to memory. The floppies
needed DMA because the controllers didn't buffer more
than one byte. The processor would have had to dedicate
it self to the one task without interrupts.
PC's went away from DMA in the AT, but the XT used DMA channel 3. The XT implemented
only a two-sector buffer, so DMA for multiple sector reads made sense (on the controller
board itself, double-buffering was used).
The XT controllers were (the 10 MB controller was different from the 20MB one) a peculiar
beast with a bunch of proprietary LSI. When the AT version was implemented, the Western
Digital type (WD1000) of controller design was used, with (faster than DMA) programmed I/O
transfers.
Cheers,
Chuck