- Jul 27, 2002
- 13,310
- 687
- 126
Note: With the introduction of next generation GPU as well as Lynnfield platform which incorporates PCI Express inside CPU, this sticky will be updated in near future. In the meantime, please consult to the following article with regard to X58 vs P55 comparison.
ATI HD 5870 Scaling Performance: X58 vs P55 Showdown
What is PCI Express?
PCI Express is a point-to-point interconnect that is becoming more prevalent on modern motherboards, replacing 'legacy' PCI slots. Point-to-point means 'serial' in nature, in contrast to 'parallel'. This also means each connection is 'dedicated', instead of 'shared'.
What makes PCI Express so special?
PCI Express was designed with high bandwidth as well as scalability in mind. First generation PCI Express (Gen 1.0) provides 250MB/s of bandwidth per lane, which is roughly twice that of conventional PCI bus (133MB/s). Current standard is PCI Express 2.0 (Gen 2.0), which doubles the bandwidth to 500MB/s per lane.
Lane, what about lanes?
Yes. You may have heard of x8/x8 CrossFire, X16/x16 SLI, etc. As noted above, PCI Express is a scalable interconnect. This means you can add more lanes for a needed bandwidth. To calculate the aggregate bandwidth, simply add up the number of lanes and multiply by x1 bandwidth. Furthermore, each PCI Express lane is capable of bi-directional data transfer, which doubles its theoretical maximum bandwidth.
You can tell them by the physical lenghts. Typically x1 slot is approximately 1" long, x4 slot 1.5", and x16 slot is approximately 3.5" long. (I haven't seen a physical x2 slot on a desktop board yet) It should be noted, however, a physical length do not necessarily guarantee the supposed bandwidth. (e.g. a physical x16 can only provide x8 bandwidth)
I have a PCIe x1 network card. But my motherboard only have 3 PCIe x16 slots!
A nice thing about scalability of PCI Express is that you can plug in any PCI Express card into any PCI Express slot, as long as it fits. When there is a bandwidth mismatch between the device and the slot, the device/slot will work at its lowest common bandwidth. So if you install a PCIe x1 network card in a PCIe x16 slot, the card and the slot will auto-negotiate the bandwidth to x1. Important: Read your motherboard's manual and double check how its PCI Express slots are designed. Just because a slot is 3.5" long doesn't mean it provides x16 bandwidth. Since a chipset can provide a limited number of PCIe lanes, it's up to motherboard manufacturers how to divide/configure them. For example, by using a certain PCIe slot you can end up reducing another slot's bandwidth.
Which motherboard chipsets support PCI Express Gen 2?
AMD : 7 Series chipsets and later
Intel : 4 series chipsets and later (note: X38 supports PCI Express 2.0)
NVIDIA : 7 Series chipsets and later
What about video cards?
ATI : Radeon HD 3000 Series and later cards are PCIe Gen 2 cards.
NVIDIA : GeForce 8800 GT (G92) and later cards are PCIe Gen 2 cards. (note: G80-based cards such as GeForce 8800 GTX are PCI Express Gen 1)
My motherboard only supports PCI Express 1.0. Can I use the latest PCI Express 2.0 graphics card?
Yes. PCI Express is forward AND backward compatible. You can plug in a PCI Express 2.0 device in a PCI Express 1.0 slot and vice versa. However, like any new technology, not everything is always 100% perfect. Some motherboards might require a BIOS update, and some motherboards may not be fully capable of handling different generation PCI Express devices. If you are experiencing an issue, ask fellow members here in AnandTech Forums or contact your board's manufacturer to ensure the compatibility.
I like to live on the (bleeding) edge, so I'm planning to daisy-chain as many video cards as possible. I hear there is a disadvantage of x8 lanes compared to x16 lanes.. Is that true?
A short answer is NO. On a properly designed and built motherboard, current generation GPUs are not saturating x8 bandwidth.
A long answer is more complicated. This is partially due to the fact that many motherboards are designed and built on the assumption that a user will install a GPU in the primary PCIe x16 slot. Plus, there is inherent issue of latency - the farther a slot is from the controller, the higher the latency is.
On most motherboards, the optimum GPU performance will be obtained from installing your primary GPU in the primary PCIe x16 slot. However, this doesn't mean that you shouldn't install your GPU in the secondary x16 slot (often providing x8 electrical bandwidth). The best way to determine its performance impact is to test it out yourself.
When it comes to dual-GPU configuration, the performance impact is arguably even smaller due to the existence of external bridges. Most of the time the inter-GPU communication occurs through the bridge, and thus the difference between x8/x8 configuration vs x16/x16 configuration is minimal, at most. Also consider that Intel's next generation CPU will incorporate x8/x8 for dual-GPU scenario.
Is it possible to show the performance difference between x8 bandwidth and x16 bandwidth? Certainly. There are syntheteic tools that are designed to do just that. It's also possible to show the performance difference using a GPU. However, those situations are either 1) academic, or 2) undesirable to begin with. It is possible to show the difference by artificially increasing CPU-GPU or system memory-GPU communication. Thankfully, todays graphics cards and games are designed to avoid such situations as much as possible.
What is the difference between PCI-X and PCI Express?
PCI-X stands for PCI-Extended instead of PCI Express. Before PCI Express' introduction, many workstation/server add-in cards realized the limit of legacy PCI protocol. While PCI-X shares same basics as PCI, its width (from 32-bit to 64-bit) as well as clock speed (from 33MHz to 66MHz) have been doubled. Typically used for high-bandwidth network interface or storage controllers in the past, these slots are now slowly replaced by more modern (i.e. PCI Express) interface.
Here is a quick run-down for a comparison.
Check out the following graph from PCI Express white-paper to see where PCI Express stands compared to past standards from electrical point of view.
http://img37.imageshack.us/img37/8738/pciexpress.jpg
The full white paper can be located here -> Creating PCI Express Interconnect (PDF)
ATI HD 5870 Scaling Performance: X58 vs P55 Showdown
What is PCI Express?
PCI Express is a point-to-point interconnect that is becoming more prevalent on modern motherboards, replacing 'legacy' PCI slots. Point-to-point means 'serial' in nature, in contrast to 'parallel'. This also means each connection is 'dedicated', instead of 'shared'.
What makes PCI Express so special?
PCI Express was designed with high bandwidth as well as scalability in mind. First generation PCI Express (Gen 1.0) provides 250MB/s of bandwidth per lane, which is roughly twice that of conventional PCI bus (133MB/s). Current standard is PCI Express 2.0 (Gen 2.0), which doubles the bandwidth to 500MB/s per lane.
Lane, what about lanes?
Yes. You may have heard of x8/x8 CrossFire, X16/x16 SLI, etc. As noted above, PCI Express is a scalable interconnect. This means you can add more lanes for a needed bandwidth. To calculate the aggregate bandwidth, simply add up the number of lanes and multiply by x1 bandwidth. Furthermore, each PCI Express lane is capable of bi-directional data transfer, which doubles its theoretical maximum bandwidth.
- PCI Express 1.0 (PCIe Gen 1)
x1 = 250 MB/s (0.5 GB/s duplex)
x4 = 1.0 GB/s (2.0 GB/s duplex)
x8 = 2.0 GB/s (4.0 GB/s duplex)
x16 = 4.0 GB/s (8.0 GB/s duplex)
PCI Express 2.0 (PCIe Gen 2)
x1 = 0.5 GB/s (1.0 GB/s duplex)
x4 = 2.0 GB/s (4.0 GB/s duplex)
x8 = 4.0 GB/s (8.0 GB/s duplex)
x16 = 8.0 GB/s (16.0 GB/s duplex)
You can tell them by the physical lenghts. Typically x1 slot is approximately 1" long, x4 slot 1.5", and x16 slot is approximately 3.5" long. (I haven't seen a physical x2 slot on a desktop board yet) It should be noted, however, a physical length do not necessarily guarantee the supposed bandwidth. (e.g. a physical x16 can only provide x8 bandwidth)
I have a PCIe x1 network card. But my motherboard only have 3 PCIe x16 slots!
A nice thing about scalability of PCI Express is that you can plug in any PCI Express card into any PCI Express slot, as long as it fits. When there is a bandwidth mismatch between the device and the slot, the device/slot will work at its lowest common bandwidth. So if you install a PCIe x1 network card in a PCIe x16 slot, the card and the slot will auto-negotiate the bandwidth to x1. Important: Read your motherboard's manual and double check how its PCI Express slots are designed. Just because a slot is 3.5" long doesn't mean it provides x16 bandwidth. Since a chipset can provide a limited number of PCIe lanes, it's up to motherboard manufacturers how to divide/configure them. For example, by using a certain PCIe slot you can end up reducing another slot's bandwidth.
Which motherboard chipsets support PCI Express Gen 2?
AMD : 7 Series chipsets and later
Intel : 4 series chipsets and later (note: X38 supports PCI Express 2.0)
NVIDIA : 7 Series chipsets and later
What about video cards?
ATI : Radeon HD 3000 Series and later cards are PCIe Gen 2 cards.
NVIDIA : GeForce 8800 GT (G92) and later cards are PCIe Gen 2 cards. (note: G80-based cards such as GeForce 8800 GTX are PCI Express Gen 1)
My motherboard only supports PCI Express 1.0. Can I use the latest PCI Express 2.0 graphics card?
Yes. PCI Express is forward AND backward compatible. You can plug in a PCI Express 2.0 device in a PCI Express 1.0 slot and vice versa. However, like any new technology, not everything is always 100% perfect. Some motherboards might require a BIOS update, and some motherboards may not be fully capable of handling different generation PCI Express devices. If you are experiencing an issue, ask fellow members here in AnandTech Forums or contact your board's manufacturer to ensure the compatibility.
I like to live on the (bleeding) edge, so I'm planning to daisy-chain as many video cards as possible. I hear there is a disadvantage of x8 lanes compared to x16 lanes.. Is that true?
A short answer is NO. On a properly designed and built motherboard, current generation GPUs are not saturating x8 bandwidth.
A long answer is more complicated. This is partially due to the fact that many motherboards are designed and built on the assumption that a user will install a GPU in the primary PCIe x16 slot. Plus, there is inherent issue of latency - the farther a slot is from the controller, the higher the latency is.
On most motherboards, the optimum GPU performance will be obtained from installing your primary GPU in the primary PCIe x16 slot. However, this doesn't mean that you shouldn't install your GPU in the secondary x16 slot (often providing x8 electrical bandwidth). The best way to determine its performance impact is to test it out yourself.
When it comes to dual-GPU configuration, the performance impact is arguably even smaller due to the existence of external bridges. Most of the time the inter-GPU communication occurs through the bridge, and thus the difference between x8/x8 configuration vs x16/x16 configuration is minimal, at most. Also consider that Intel's next generation CPU will incorporate x8/x8 for dual-GPU scenario.
Is it possible to show the performance difference between x8 bandwidth and x16 bandwidth? Certainly. There are syntheteic tools that are designed to do just that. It's also possible to show the performance difference using a GPU. However, those situations are either 1) academic, or 2) undesirable to begin with. It is possible to show the difference by artificially increasing CPU-GPU or system memory-GPU communication. Thankfully, todays graphics cards and games are designed to avoid such situations as much as possible.
What is the difference between PCI-X and PCI Express?
PCI-X stands for PCI-Extended instead of PCI Express. Before PCI Express' introduction, many workstation/server add-in cards realized the limit of legacy PCI protocol. While PCI-X shares same basics as PCI, its width (from 32-bit to 64-bit) as well as clock speed (from 33MHz to 66MHz) have been doubled. Typically used for high-bandwidth network interface or storage controllers in the past, these slots are now slowly replaced by more modern (i.e. PCI Express) interface.
Here is a quick run-down for a comparison.
- 33 MHz PCI : 133 MB/s (32-bit), 266 MB/s (64-bit)
100 MHz PCI-X : 800 MB/s (64-bit)
133 MHz PCI-X : 1.0 GB/s (64-bit)
AGP8X : 2.1 GB/s (32-bit)
Check out the following graph from PCI Express white-paper to see where PCI Express stands compared to past standards from electrical point of view.
http://img37.imageshack.us/img37/8738/pciexpress.jpg
The full white paper can be located here -> Creating PCI Express Interconnect (PDF)
Last edited: