Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!necntc!gordon!blblbl!kaos!romkey From: romkey@kaos.UUCP (John Romkey) Newsgroups: comp.dcom.lans,comp.sys.ibm.pc Subject: IBM PC/AT DMA loses (was Re: PC LAN Comparison) Message-ID: <261@kaos.UUCP> Date: Fri, 20-Nov-87 23:24:33 EST Article-I.D.: kaos.261 Posted: Fri Nov 20 23:24:33 1987 Date-Received: Mon, 23-Nov-87 03:12:25 EST References: <2070@killer.UUCP> <1020@kodak.UUCP> <155@tic.UUCP> Reply-To: romkey@kaos.UUCP (John Romkey) Organization: Chaos; Somverille, MA Lines: 26 Keywords: IBM PC, hardware, DMA loses Xref: mnetor comp.dcom.lans:949 comp.sys.ibm.pc:10385 In article <155@tic.UUCP> ruiu@tic.UUCP (Dragos Ruiu) writes: > However, I had great difficulty believing their hardware section, which >repeatedly says that DMA interface boards are slower than others. Unless there >is something I don't know, DMA is much faster than interrupt driven hardware. >I have not had the time or the resources to research their claims, but >common sense would indicate that this claim of theirs is way off base. First off, interrupts and DMA are orthogonal. It's really a choice of DMA versus programmed I/O. On the PC/AT, the DMA controller runs about 10% slower than the standard PC DMA controller. On top of this, the 80286 has string IN and OUT instructions in addition to the 8086 string MOV instruction. Both string IN/OUT and string MOV instructions push data around a lot faster than the DMA on that system controller can. You basically end up with the processor sitting in a tight loop shoveling bytes across the bus. Under MS-DOS this is fine, since MS-DOS is single tasking. You'll never have another process waiting to use computes that are being used up by having the processor move data that other hardware could move (more slowly). Under a multitasking system you'd want to examine the tradeoff; in some situations you'd get more aggregate computes out of the system if the I/O was performed by the (slow) DMA controller than the processor, because other processes could run while the system waited for the DMA to complete. -- - john romkey ...mit-eddie!blblbl!kaos!romkey romkey@xx.lcs.mit.edu