[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: PCI-X / PCI Bus speed throttling



> What is the final bus speed if, say, a 66MHz PCI device is on the same
> bus as, say, a 133MHz PCI-X bus?
>  
> Does the bus ultimately configure down to the lowest common bus speed
> denominator?
 
Changing "lowest" to "highest" (which is probably what you meant to
say), the answer is: Yes.

All PCI-X devices, including the system bus, are required to also
support PCI mode.  So if a non-PCI-X (conventional PCI) device is
plugged into a PCI-X bus, the bus will stay in PCI mode when it comes
up.

Now, whether it runs at 33MHz or 66MHz or something else, is another
matter.  PCI-X devices and buses are not required to support 66MHz PCI
mode, even if they work just fine at or above 66MHz in PCI-X mode.

The exact wording in the PCI-X spec is:

"All PCI-X devices and systems also support conventional PCI 33 mode.
They optionally support conventional PCI 66 mode."

Why might a PCI-X bus not support conventional PCI at 66MHz?  Because of
Setup time (Tsu) differences between PCI and PCI-X, system or inter-chip
timing is much easier in PCI-X mode than in PCI mode at 66MHz.  PCI-X
mode allows much longer wire or interconnect delays, which makes
possible longer traces and/or more devices on a bus segment.
Consequently, a bus that runs fine at 66MHz in PCI-X mode, might not
work at 66MHz in PCI mode.

A PCI-X device on a plug-in card might not support 66MHz PCI because the
latter has a slightly tighter Hold time (Th) requirement.  Thus, even if
the bus supports it, one or more PCI-X cards in the bus might not.

So, plugging a 66MHz PCI card into a PCI-X bus might result in 33MHz, if
that is the highest speed supported by all devices on the bus and by the
motherboard's system designers.

Also, keep in mind that being in "66MHz PCI" mode does not mean that the
clock speed will be 66MHz.  It might be only 50MHz, or 45MHz, or
whatever the system designers chose.  They might have found that they
couldn't meet the timing requirements at a full 66MHz with their
particular configuration (number of loads, trace lengths), but that it
works fine at some slower speed.  It would be in "conventional PCI 66"
mode, just running with a clock somewhere between 33 and 66MHz.
(Likewise, the "33MHz" bus might be at a slower speed, but these days,
and given the margins available at 33MHz, that is uncommon.)

Regards,
Andy