Oliver Schindler wrote:
> 
> In Therory You can get a datatransferrate of 132MB/s ( 33MHz * 32 Bit ),
> 
> but in a real world system you have 25 -30 MB/s.
> 

Hi all,

You can do Bus-master if your device support it .
We have our PCI video acquisition card for real-time picture processing
and I grab a
256x512x32bits image in about 4ms => 512KB/4.5ms => ~116MB/s (
Bus-master of course ... )

For the bus master , the transfert calculation is more complex than
33MHz*32bits !!!
cause you have :
- 1 address
- 1 data

so 2 bus cycles for 1 address read => 64MB/s ( which is wrong of course
;)

The system then does a processing called 'burst transfert' to accelerate
that.
the process consist in :
- 1 address
- x datas (depending of the device fifo size and the motherboard
capability)

If no burst mode available, it explains the 25-30MB/s (with the PCI bus
latency ...).

In our case we saw on the oscilloscope : 1 address for 8 data which mean
a rate of:
8/9*(full bandwith) => (8/9)*132MB/s => ~117MB/s
So we can say that 116MB/s is near the full bandwith of PCI transfert
and far from the
25-30 MB/s !!!!!

Something to add, the what is the latency time:

when a device does a bus-master transfert, it does that during a latency
time.
when this latency time is reached, a protocole on the PCI bus is done to
know if
another device need the bus.If none, it continues during a latency time
and again ...
This is done to share the bus between devices even if a burst-master is
done.
If you want to get higher priority on the PCI bus for 1 device, increase
his latency
time in bios.

Chris.

--
Kumsta Christophe
<[EMAIL PROTECTED]>
Real-Time System developper
RT-Linux/RTAI ( Use the Source Luck !)
--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/

Reply via email to