Philip N Daly wrote:
 >
 > Hi all,
 >
 > Not specifically real time Linux but does anyone know:
 >
.
.
. 
 > 2. How long the delay is when reading from a PCI card ... i.e. if
 >    the operation value = readPCI(channel) is atomic, how long would
 >    it take to execute that instruction (again in ns, us, ms)?
 
Typical 33 MHz PCI hardware latencies are 10-20 uSec according to an IBM
datasheet.  Add to this any delays caused by the 'readPCI' code running
on the CPU before and after the read.  The PCI 2.1 Specification has two
equations for calculating bus latencies after a device wins arbitration
of the bus:
 
 worst case:
 
  latency (bus clocks) = 16 + 8*(n-1)
 
  n = number of 32 bit words transferred
  bus clocks = 1/33 MHz or 1/66 MHz depending on your PCI bus speed.
 
 typical case:
 
  latency (bus clocks) = 8 + 8*(n-1)
 
 The arbitration latency is:
 
  m * Latency Timer
 
 m = number of masters ( max is 8 )
 Latency Timer = typical is 22 bus clocks
 
 Your total PCI bus delay is the sum of the two latencies.
 
 - Each device can have a different timer setting.  Check the settings 
   of your devices.
 - Some devices can do an endless data transfer without a timer.
 - Normal Linux can start a PCI data transfer that can run into
   a real time Linux interval.
 
 Experiment with your system setup.  If you need shorter delays stop any
 unnecessary Linux PCI transfers.  Plan the transfers better.
 
 The PCI 2.1 Specification is available for download at:

 http://akulin.npi.msu.su/docs/standard/pci21.pdf

 Latencies are covered in section 3.5.
 
 - Kal.
 
 >
 > Thanks in advance,
 >
 > +==================================================================+
 >  Phil Daly, NOAO/AURA, 950 N. Cherry Avenue, Tucson AZ 85719, U S A
 >  E-mail: [EMAIL PROTECTED]  V-mail: (520) 318 8438  Fax: (520) 318 8360
 >
--- [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