Hi Sri, On Mon, Oct 11, 2010 at 6:42 PM, Sri Ram Vemulpali <sri.ram.gmu06@xxxxxxxxx> wrote: > Hi all, > > I have a doubt regarding devices, with respect to how they operate. > Every device needs some cycles to operate. So, devices like NIC, Video > controller, memory controller, ...., does they all have their own > clock or core. Or these controllers act in respect to system clock are > CPU clock. > Please help me clarify this doubt. > > I know DMA steals some CPU cycles to transfer data, I mean does > operation with cpu cycles in parallel. Thanks. Generally speaking, every device is driven by a clock. Sometimes that clock is the same as the CPU clock, and sometimes it's derived from the CPU clock. Sometimes, a device will have several clock generators (PLLs) and you can choose which PLL the clock comes from and divisors, etc. Actually, DMA doesn't steal CPU cycles, it steals memory bus cycles. If the CPU is executing from cache, then the memory bus is generally idle (unless it's prefetching to load the cache). Most SOCs (system on chip) devices have something called a bus aribter which allows you to set the relative priority of the CPU versus DMA, etc. Which gets higher priority is determined at the system level, and it really depends on the types of apps your doing and what your real-time requirements are. Most devices, like a UART, runs at the same time as the CPU, and characters leaving the FIFO don't cause the CPU to slow down. Devices which access memory bus (like a DMA controller, sometimes an LCD controller) may cause the CPU to slow down (depends on how the bus arbiter is set). -- Dave Hylands Shuswap, BC, Canada http://www.DaveHylands.com/ -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ