Contact us!
Find Us On Facebook

Free Ground Shipping

Pay by VISA, Mastercard, Discover, AMEX, Paypal or Bank Transfer

AMD Solution Provider
NVIDIA Partnerforce Program Member

The Difference Between PCI-X and PCI-Express

64-bit PCI

Original Article Date: 2004-11-11

When I first heard of PCI-Express, it was verbal, and I simply assumed the guy who was telling me about it was referring to PCI-X. After all they both sound the same, right? I mean, they both sound like "Pea-Sea-Eye-Ex-blah-blah". Nobody ever listens to the ends of words - I think someone proved that.

And like anyone, I would have never believed the industry would come up with two technologies that were so phonetically similar. Well, they did! We have PCI-X and PCI-Express! No wonder just about everyone I talk to about it has the two muddled into one concept!

Both are 64-bit, high-bandwidth versions of the now decade old PCI interconnect standard. But that is the only commonality between them. They work in completely different ways, have different applications, and have physically incompatible architecture.

Basic Differences


PCI-X uses a parallel interconnect along a bus that is shared with other PCI-X devices, just like PCI. In fact, PCI-X is best thought of as "PCI-eX tended", as it is simply an extension of the legacy PCI 32-bit format, with which it is backward-compatible. It differs mainly in the fact that the bus is now 64-bits wide, and runs at higher frequencies (now up to 533MHz, compared to 66MHz - the fastest PCI frequency).

PCI-Express, on the other hand, uses a serial interconnect along a switched bus dedicated exclusively to that slot. In this respect, and most others, it uses radically new architecture, having little to do with old PCI. Furthermore, PCI-Express has the unique capability of multiplying up individual data "lanes", to produce aggregate interconnects that can deliver up to 16 times the bandwidth of a single lane. This is why you will always see PCI-Express slots referred to as "PCI-Express*4" or "PCI-Express*16" etc.

Applications

PCI-X has been with us in the server and workstation arena for some time now, as a bus for high-bandwidth server peripherals such as RAID Controllers and Gigabit Ethernet.

PCI-Express, on the other hand, is brand-new, and is intended to replace AGP in the desktop market and ultimately be the de-facto high-bandwidth peripheral bus across all markets.

Hardware that benefits from 64-bit PCI include:

  • High-performance graphics cards (PCI-Express only) in the 3D Gaming desktop and graphic intensive workstation markets.
  • U320 SCSI Controllers for high-speed hard disk access.
  • Multi-port Serial ATA RAID Controllers for terabyte storage arrays.
  • Gigabit Ethernet for high-speed networking.
  • IEEE1394b ("Firewire 800") for ultra-high bandwidth peripherals, such as external hard drives and DV camcorders.

Architecture


Comparing the slots used by PCI-X and PCI-Express to the existing 32-bit slot gives us the biggest clue as to how different the two 64-bit technologies are.

You can see that the slot used by PCI-X is merely an extension of the 32-bit PCI slot. As long as the voltage is the same (3.3V or 5V), a PCI-card can be inserted into a PCI-X slot, although it will of course only operate at a bandwidth of 32-bits, and at the lower PCI frequency. The baffles will prevent the insertion of a voltage-incompatible card.

The PCI-Express slot, on the other hand, is like a cuckoo in this nest, with no compatibility to either PCI or PCI-X. This reflects the fact that PCI-Express uses very different bus architecture to the others.

 

This is all very interesting, but just tell me which is better - PCI-X or PCI-Express?

Well, in a short answer, PCI-Express is the superior technology. Ultimately it has higher bandwidth, because you can just bundle up single PCI-Express lanes into x4 or x16 buses. There are also fewer steps needed to process instructions between the CPU and PCI device compared to PCI-X, thus reducing latency.

A single PCI-Express lane can deliver a maximum of 2.5 gigabits per second (2.5Gbps) in a single direction, with a theoretical maximum of 5Gbps in both directions. PCI-Express slots are available currently in up to 16 lanes i.e. 16x5Gbps = 80Gbps maximum bandwith in both directions. That's 10 gigabytes per second of data transfer (10 GB/s)!

PCI-X doesn't work in quite the same way, since it uses a shared data bus between slots/devices, which is why most serverboards usually have more than one PCI-X bus, to prevent I/O bottlenecks. However, that said, with the PCI-X 2.0 specification, bus frequencies of 533MHz are now possible, providing a theoretical bandwidth of up to 34Gbps (4GB/s).

To get these figures into perspective, consider that the hottest Dual Channel SCSI controller cards can deliver up to 1GB/s of data transfer, and so these speed limits on PCI-X and PCI-Express are not likely to be limiting for any devices in the near future.

The Future of 64-bit PCI

I was at an Intel trade show just last week, and I learned there that Intel were staking their future on PCI-Express. So this would suggest that PCI-Express will become the de-facto I/O standard. But then Intel have been denied before by the market, haven't they? (read "RAMBUS")

In this case, however - I think they're right. With its serial point-to-point architecture, and ability to be multiplexed into theoretically limitless numbers of lanes acting as a single bus, PCI-Express has clearly has the greater longevity.

PCI-X, on the other hand, will be with us for some time, and will serve us well as a bridge, allowing continued use of 32-bit PCI cards as well as a many PCI-X devices that have been around when PCI-Express was merely a solvent-heavy suggestion of black lines on a SIG's whiteboard.

So for now, it doesn't matter too much which way you go. Right at this moment - it will probably depend on what peripheral you're looking to use. In the market right now, only graphics cards are using the PCI-Express format. But in the long run, expect the dominance of PCI-X in the arena of RAID Controllers, multiple Gigabit Ethernet and 1394B cards to give way to the young pretender of PCI-Express.

Ben Ranson
Chief Systems Engineer