Re: Task switching in the case of the bus congestion



Vladimir Vassilevsky wrote:

Recently I run into the following problem: the CPU gets blocked for a relatively long period of time (~50us) because the bus is occupied by the high priority DMA transfer to the slow peripheral device. I solved that particular problem by changing the bus priorities and breaking the long DMA transfer into a series of the short bursts. I don't like this solution because it is too specific to the application and it also increases the bus overhead.

It's the bus occupation that's the problem, so switching tasks won't help unless the other tasks execute purely from internal memory and don't use the bus at all. Even using short bursts won't reduce the bus hogging by the slow peripheral, though it will reduce the dead time of other tasks. The only way I can think of offhand is to physically partition the bus using a custome DMA controller, so that the long slow DMA can happen at leisure. Or use a 68E09 (remember the Dragon 32/ Tandy Color Computer and its display subsystem?).

.



Relevant Pages

  • Re: Task switching in the case of the bus congestion
    ... relatively long period of time because the bus is occupied by the high priority DMA transfer to the slow peripheral device. ... I solved that particular problem by changing the bus priorities and breaking the long DMA transfer into a series of the short bursts. ... The only way I can think of offhand is to physically partition the bus using a custome DMA controller, so that the long slow DMA can happen at leisure. ...
    (comp.arch.embedded)
  • Re: Task switching in the case of the bus congestion
    ... the high priority DMA transfer to the slow peripheral device. ... that particular problem by changing the bus priorities and breaking the ... Need to learn how to apply control theory in your embedded system? ...
    (comp.arch.embedded)
  • Re: Kernel configuration of a two dual core processor - Xeon 5130
    ... I have a two 2.00 GHz Dual-Core processor Intel Xeon 5130 machine, Bus ... IRQ 16. ... No bursts. ... Non-prefetchable 32 bit memory at 0xfc900000. ...
    (Linux-Kernel)
  • Re: Task switching in the case of the bus congestion
    ... the high priority DMA transfer to the slow peripheral device. ... relatively large DMA chunks at full bus speed? ...
    (comp.arch.embedded)
  • Re: AMD CPUs in ASRock motherboards
    ... >>>From personal experience with PCI read bursts vs a P6 bus, ... >>128 bytes when we came back for the next 64 byttes on the PCI bus. ... > Well I can't argue with empirical evidence,:-) but which chipset was that? ... bursts, but my memory on that is failing me. ...
    (comp.sys.ibm.pc.hardware.chips)