On Fri 27 Jan 06, 3:17 PM, Bill Kendrick <[EMAIL PROTECTED]> said: > On Fri, Jan 27, 2006 at 04:05:23PM -0500, Peter Jay Salzman wrote: > > No. The CPU is involved in many read-copy operations when the signal passes > > through the sound card. > <snip> > > It was my understanding that in this "analog" CD audio playback scheme, > the data is extracted by the CD Drive itself, converted to analog with the > drive's own built-in DAC (just like what's in a CD Walkman or a stereo), > and then wired directly to the sound card's "Line In" pins, and passed > along to the speakers. (Mixed on the card in an analog state.) > > So in this case, the only time the PC's CPU is used is to tell the CD player > "Play", then it sits idle. Everything is done by the CDROM drive.
you're not thinking low level enough. system calls are performed by the kernel. when a read() is performed, the kernel reads data from a file abstraction of a hardware device. the data is in kernel space. the data must be recopied into user space. now the kernel must execute write(). it reads data in user space back into kernel space to perform the write() to the sound card's file abstraction. a kernel always executes system calls in kernel mode. > In the "digital extraction" mode (which Norm has to do -- perhaps because > that little wire connecting the CD drive to the soundcard is missing), > the CPU is used to actually take the data off the CD and send it to the > sound card (via the motherboard, rather than that little wire). not quite. with digital extraction, DMA transfer is used to transfer data directly from the ATA device to userland memory. that's the whole point of DMA transfer. pete _______________________________________________ vox-tech mailing list [email protected] http://lists.lugod.org/mailman/listinfo/vox-tech
