Re: Regarding device cycles

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux