Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
Per Westermark
07/04/09 04:48
Read: 209 times
Sweden


 
#166726 - PCI latency can be a significant problem
Responding to: Michael Karas's previous message
Thanks for the information.

Michael Karas said:
Surely for some of the very fastest applications in slower style computers the extra bus transfer protocol overhead may be a small performance issue [...]

The original PCI bus has been "slow" for quite a number of years now. The PCI latency timers can be very problematic, since they decide how the PCI bandwidth is time-sliced.

Fast or slow cmputer - the traditional 33MHz 32-bit PCI bus can be quite slow with 133MB/s transfer rate. Yes, there are 66MHz or 133MHz bus expansions and 64-bit PCI. But with the original 133MHz transfer rate, a single IDE disk connected to a PCI board can stream data at well over 50% of the theoretical bandwidth of PCI. A gigabit NIC can also consume way over 50% of the theoretical bandwidth. A USB or FW-400 channel may consume one third of the bandwidth.

Having two boards that have their latency timers set for 255 would mean that the two boards could hog the PCI bus for 510/4 = 127us. This will affect how often it is possible to toggle a pin, or refill a streaming buffer for a third board. Of course, few boards should make use of the highest latency timer setting, but I'm convinced quite a few readers on this forum have noticed stuttering audio because their PCI-based sound card has had to wait too long for being serviced. In some situations, the latencies can be fought with deeper buffers, but in other you can't accept the extra delays.

Luckilly, newer machines have multiple busses, allowing NIC, disk controllers and USB to be separated from the bus(es) for the expansion slots, but users may still need to manually examine and adjust the PCI latency timers, and hope that they don't have a board that requires a very high minimum-grant.

In the end, the bandwidth and latency limitations of the PCI bus has to some parts slowed down the introduction of speedups in a number of areas.

It will be interesting to see what happens in the next 5-10 years. The ISA bus was from a time when everything had to be binary compatible since the programs accessed the hardware directly. Todays operating systems expects all accesses to be through drivers, which will shift the requirements from binary compatible to API compatible. This is a bit similar to Unix, where the original goal was source-code compatible, and you just recompiled for a new architecture. The PC has only been managing to survive because Intel has all the time managed to produce faster binary-compatible processors.

List of 14 messages in thread
TopicAuthorDate
ISP-flash programmer      Lim Hua Yio      07/03/09 09:05      
   Re: ISP-flash programmer      Gopal Amlekar      07/03/09 09:18      
      USB-DB25 converters are not reliable      MUNISH KUMAR      07/03/09 09:52      
         RE: USB-Serial / Parallel converters      Gopal Amlekar      07/03/09 15:01      
      Not parallel port converters?      Per Westermark      07/03/09 10:12      
         USB To "Parallel" Adapters        Michael Karas      07/03/09 12:42      
            PCI latency?      Per Westermark      07/03/09 13:10      
               PCI Latency....Least of Problem...      Michael Karas      07/03/09 18:06      
                  PCI latency can be a significant problem      Per Westermark      07/04/09 04:48      
                     PCI Speed      Michael Karas      07/04/09 07:06      
                        Bit-banging can be extremely slow      Per Westermark      07/04/09 07:41      
                           Other Bit Banging      Michael Karas      07/04/09 15:58      
                              Slave processor a need for modern PC      Per Westermark      07/04/09 20:36      
   ISP Flash Programmer with USB      Sam James      07/03/09 15:07      

Back to Subject List