bmw@isgtec.UUCP (Bruce Walker) (09/14/89)
In article <7891@cbmvax.UUCP> daveh@cbmvax.UUCP (Dave Haynie) writes: >You apparently have to be real clever to get fast disk I/O on a PC, though >I'm not at all sure just why. Obviously an AT bus is limited to 2 MB/sec >transfers or thereabouts if you use the AT's DMA chip (and if it runs full >bus speeds). [...] > It [the AT bus] apparently doesn't permit >DMA masters, however, so all the "DMA" that happens on the bus is via the >AT's DMA controller chip. Since that chip has to make two bus crossings to >transfer one datum, that tells me that the effective DMA speed is 2 MB/s, >and also that DMA isn't necessarily an advantage over programmed I/O, at >least as long as your DMA and programmed I/O are the full 16 bits wide (I >don't know much else on the AT DMA chip). The situation is actually worse. The DMA chip is clocked at 4MHz in an AT and it takes 7 cycles for a bus xfer: 1.75 microseconds per transfer. It does a "fly-by" operation to I/O though, so it does NOT take two of these for a full I/O to/from memory operation, just one. No-one I know of uses the AT's DMA for hard disk transfers; they all use programmed I/O. The block-move and block-io instructions allow full 16 bit xfers at the full bus rate. >Does it really have to go 8 bits at a time, even on a 16 bit bus. That would >tend to put a heavy damper on things. Ick. >Dave Haynie Commodore-Amiga (Systems Engineering) "The Crew That Never Rests" No, there is provision for 3 8-bit DMA channels and 4 16-bit channels (I think: it could be the other way 'round). In the average AT only the floppies use the DMA channels, just one 8 bitter. Really ironic I think: for years the PC and XT add-on makers cried because there were too few DMA channels to go around. When the AT came out, it had oodles of crippled channels that are now ignored! -- Bruce Walker ...uunet!mnetor!lsuc!isgtec!bmw "Better Living Through Connectivity" ...utzoo!lsuc!isgtec!bmw ISG Technologies Inc. 3030 Orlando Dr. Mississauga. Ont. Can. L4V 1S8