PowerPC Burst PCI access

gregory.menke at gsfc.nasa.gov gregory.menke at gsfc.nasa.gov
Fri Apr 8 04:11:24 UTC 2005


Peter Dufault writes:
 > These comments relate to the MVME5500 VME powerPC port and a PCI data 
 > acquisition card.
 > 
 > In my control application I noticed a while ago that reading back the 
 > data from the PCI data acquisition board is extremely slow.  The board 
 > (acromag PMC341) collects the data into a pre-fetchable memory buffer 
 > that it says will transfer data at 40 MByte/s using burst reads.  I'm 
 > seeing about 4 MByte/s using naive reads and I eventually need to solve 
 > this problem.  With a 20KHz control loop I'm losing about 1/4 of the 
 > CPU using naive reads.

I agree with Till, you'll be much better off if you can use DMA.  The
card may well be capable of burst, but there is no guarantee the PPC
bus's bridge onto the PCI bus will cooperate.  PCI transactions are
pretty expensive in general, so the more you can block up into DMA
transfers the better.  If your card has a DMA controller and can bus
master, that might be the easiest way to do it.

Pre-fetchable isn't really what you want for device memory anyhow, it
sort of seems like an anachronism from the old days where everything
hung off a PCI bus instead of the modern scenario where PCI is a
slower peripheral bus and caching it gets in the way.

And just like Till says, FP in an interrupt routine is a
bad-evil-nono.

Gregm





More information about the users mailing list