Hi Dave, Thanks for explanation. So in your explanation you mentioned bus arbiter. So, bus does have controller, which arbitrates between various devices. But CPU is given higher priority than any other device. DMA uses bus only when CPU is not using it, in other words DMA is not given access to bus. UART's are worked through CPU. So they no need to wait for I/O operations. In other words bus is contended for among various devices. Can you please provide more distinct explanation, between UARTs and DMA contention for bus. Thanks in advance. Regards, Sri. On Mon, Oct 11, 2010 at 10:04 PM, Dave Hylands <dhylands@xxxxxxxxx> wrote: > 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/ > -- Regards, Sri. -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ