??? 07/04/09 09:48 Read: times |
#166726 - PCI latency can be a significant problem Responding to: ???'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. |
Topic | Author | Date |
ISP-flash programmer | 01/01/70 00:00 | |
Re: ISP-flash programmer | 01/01/70 00:00 | |
USB-DB25 converters are not reliable | 01/01/70 00:00 | |
RE: USB-Serial / Parallel converters | 01/01/70 00:00 | |
Not parallel port converters? | 01/01/70 00:00 | |
USB To "Parallel" Adapters | 01/01/70 00:00 | |
PCI latency? | 01/01/70 00:00 | |
PCI Latency....Least of Problem... | 01/01/70 00:00 | |
PCI latency can be a significant problem | 01/01/70 00:00 | |
PCI Speed | 01/01/70 00:00 | |
Bit-banging can be extremely slow | 01/01/70 00:00 | |
Other Bit Banging | 01/01/70 00:00 | |
Slave processor a need for modern PC![]() | 01/01/70 00:00 | |
ISP Flash Programmer with USB | 01/01/70 00:00 |