Clarifying PCI Express
DavidCar said:
The above article notes that "The bottom line is that the real benefit [of PCI Express] will present itself to applications that require communication with the rest of the system, like video streaming and editing, or offloading some other type of work from the CPU onto the graphics card."
So probably CoreImage and CoreVideo would benefit the most from a move to PCI Express over AGP.
It is obvious you don't understand what PCI Express is. PCI Express is (AFAIK) a 4-wire RX/TX pair capable of pushing in serial more bandwidth than a normal PCI slot, and if I remember correctly it is a jump from 133MB/sec to 150MB. Someone can correct me on that if I'm wrong. That may not seem significant to you, however:
On standard PCI, ALL SLOTS SHARE the 133MB/sec bus! Thats right, you can only have so many signals on the board running in parallel, and PCI has nasty timing issues because all those slots must be kept properly sync'd with each other and properly terminated at the end of the bus.
In PCI Express, the slots are not tied together, the PCI Express chipset acts as a switch. If two cards are talking together instead of basically shutting down the whole PCI bus, the switch just relays the serial PCI data back and forth between the two pairs of RX/TX lines, effectively forming a private network between the two.
Similarly, the PCI Express spec specifies PCI-E x1, PCI-E x2, PCI-E x4, and PCI-E x16. PCI-E x1 is a small slot and is what you are referring to. The x1 is number of RX/TX pairs. PCI Express x16 was designed for graphics cards, and has 8x the bandwidth of AGP. That means the PCI Express x16 slot is longer and has 16 PCI-Express interfaces to the slot, its kind of like if you ever saw the quad ethernet cards that were out when gigabit was really expensive. You could setup 4 100BaseT connections to act like one and run in parallel, effectively giving you a 400BaseT link with inexpensive technology.
PCI Express is a far supperior technology to PCI, yet it remains software compatible. Infact, PCI Express's serial and switching technologies are not even visible from the OS side of things, all PCI devices are configured the exact same way.
And of course, may PCI Express chipsets have PCI Express to PCI bridges, built in, allowing both PCI, PCI Express, and PCI Express x16 slots on the same machine.
As it is right now, PCI is overwealmed with data. Look at the XServe. 3 Serial ATA controllers running at 150MB/sec. 2 Gigabit ethernet controllers. An optional Fibre Channel card...lets not forget USB2 and FireWire 800. All of this is funnelled into the SAME PCI BUS. There is no way you can throttle all these devices at the same time. Now, what happens with PCI Express? You are now limited to the bottle necks in other parts of the system....... memory throughput to the chipset.... and CPU speed / front side bus speed....... both of which the PPC G5 platform are doing very well at.
I for one, am under strong beleif, that a new XServe will be announced in the August / September time frame with PCI Express, as it can take advantage of the PCI Express throughput the most with all the integrated devices in the server.