Xref: utzoo comp.unix.xenix:3686 comp.unix.questions:9815 comp.unix.microport:1824 comp.sys.ibm.pc:20390 Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!cornell!batcomputer!itsgw!steinmetz!uunet!altnet!ernie!koll From: koll@ernie.NECAM.COM (Michael Goldman) Newsgroups: comp.unix.xenix,comp.unix.questions,comp.unix.microport,comp.sys.ibm.pc Subject: Re: *nix performance Summary: The problem with DMA on the PC/XT/AT machines is that the particular DMA chip used requires TWO cycles for a reasonable mode, but more importantly was never rated above 5 MHz ! Anyone trying to run it Message-ID: <168@ernie.NECAM.COM> Date: 19 Oct 88 15:57:21 GMT References: <9902@ico.ISC.COM> <736@starfish.Convergent.COM> <1901@van-bc.UUCP> <1488@ssc.UUCP> Distribution: na Organization: NEC America RATS, San Jose, CA Lines: 34 As I was saying (I'm just getting used to posting) Any manufacturer trying to run the DMA chip above 5 MHz risks frying the chip, and part of the motherboard. With all these cpus going along at 25 MHz it is faster to use the cpu. Before dumping on IBM for using such a dumb chip, recall that the original PC came with a cassette port and only 64K on the mother board. Who needs DMA in that environment ? This is one more reason to go to the new Microchannel architecture which has good DMA support and very nice chips. There are some other problems with DMA on the PC. One is that DOS is not re-entrant and so you have to VERRRY Carefully save the state with any program that uses interrupts which is implicit in any reasonable application with DMA. With all the yo-yos trying to be the next Mitch Kapor, IBM wisely left out helping anyone write DMA programs, for fear of having every one try to save a few usecs and crashing DOS. The string transfer assembly instructions on the 80x86 are as fast as DMA anyway at comparable clock speeds. IN a no wait-state system there's no real advantage to DMA for single threaded OS's like DOS, which is probably why IBM waited to have the 386 in a new bus with a new multi-threaded OS an new DMA chips. So now one process can wait for a file transfer using DMA while another process can execute. This implies that the developers can intelligently use the DMA chips (don't hold your breath - the operant philosophy seems to be " If the PC is cheap then I don't have to pay the programmers much either. " and we get what they pay for (I'm not bitter, not ME !)). Finally, recall that the 8088 was still trying to maintain some compatibility with 8080s and a lot of the support chips out there at the time hadn't caught up. The 80386 is what Intel should have designed long ago if they had seen the future, and now it has good support chips. (Not dumping on Intel, hindsight is 20-20, and densities didn't allow much earlier.) Regards, Michael Goldman