Return to BSD News archive
Newsgroups: comp.os.386bsd.questions Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.cs.su.oz.au!metro!asstdc.scgt.oz.au!imb From: imb@asstdc.scgt.oz.au (michael butler) Subject: Re: IDE vs SCSI -- FreeBSD 1.1.5.1 References: <39f2m5$8aj@usenet.INS.CWRU.Edu> <39ga7q$9o1@anshar.shadow.net> Sender: news@asstdc.scgt.oz.au (news daemon) Organization: Assorted C Software, Sydney Date: Sun, 6 Nov 1994 12:46:22 GMT X-Newsreader: TIN [version 1.2 PL2] Message-ID: <CyuJHA.Fy6@asstdc.scgt.oz.au> Reply-To: imb@scgt.oz.au Lines: 21 Don Whiteside (dwhite@shadow.net) wrote: : My understanding is that IDE does not do DMA transfers. So under a : multitasking OS like Unix, every other process will come to a griding : halt during disk reads and writes. Common misunderstanding there .. Even with a DMA transfer going on, every other process is also at a grinding halt since the CPU doesn't have the bus to do anything with :-) However, programmed I/O requires more CPU cycles (write, decrement, test, loop) and, therefore, bus cycles, than it will DMA cycles, so the DMA transfer isn't going to tie up the bus for as long. There are also many other factors involved, cache construction (write-through vs. write-back), cache consistency (invalidation of cached "data" in a DMA target RAM page) and DMA/CPU bus interleaving (such as happens with multi-block and multi-device transfers) which introduces bus request/acknowledge latencies and so on .. it's not simple :-( michael