PCI Express - Coming Soon to a PC Near You
Max Romantschuk writes "I've been following the emerging of PCI Express for some time now. PCI Express, previously known as "Third Generation I/O" or "3GIO", is the technology set to replace PCI. PCI has been with us for around ten years now, and is rapidly running out of bandwidth. Last week Anandtech ran an interresting story on PCI Express. The techology has previously been covered by Hexus and ExtremeTech aswell. I feel this technology looks all set to replace PCI, and we really do need some new bus technology to keep up with the bandwidth demands of today's applications. Or is this just yet another way to force us into a new upgrade cycle?"
Due to its high bandwidth, it's expected to replace AGP as well.
"Oooh, does that mean we get to kick some puffy white mad zionist butt?"
As I understand it, using serial there is no having to worry about whether all the bits arrive at the same time (as there obviously is with parallel), and so the speed of transmission can be dramatically increased past the point at which it becomes faster than the "equivalent" parallel technology... bits arrive in the order they were sent - guaranteed.
University - a box of academia nuts.
The limited number of IRQs hasn't been a problem since PCI 2.1 and APIC. It's a problem with Windows 9x and a few other operating systems, but those won't be able to use PCI Express anyhow.
The problem today is more with interrupt line sharing (#A, #B, #C, #D -- some motherboards add more, but four is the old spec), and cards sharing the actual interrupt and not the interrupt queue (IRQ), depending on how you place them.
But yes, to answer your question, there's less problems, due to the parallel serial nature (now is that an oxymoron?) of the controller interface, working somewhat like SCSI does.
At least until 4x, 8x and 16x PCI Express arrives in force, and cards starts competing and assuming that all the streams are available for THEIR card, much like some cards today think it's ok to bump up the PCI latency, cause the user SURELY must have some unpopulated slots we can steal time from...
Yeah, when that happens, it may be hell to troubleshoot, but we'll just wait and see...
RAID controllers? Graphics (how many times has AGP been bumped up now?)? And given how long it will take before this is actually implemented let alone becomes standard, there'll be plenty more things before then I'm sure.
With APIC onboard we have many more IRQ's to use. Many mobos support IO-APIC in BIOS, and with it enabled when you install WinXP+ or when you compile support for it in Linux you can get IRQ25 and higher :)
I agree, I haven't been forced into any upgrade cycle in the past 2 years. And the reason is because I stopped gaming. When I was a gamer I was always on the latest and greatest. But as soon as I stopped, I found my computer was fine for all other applications I could possibly want to run. Wow, that felt like I just introduced myself at an AA meeting.
âoeI feel this technology looks all set to replace PCI, and we really do need some new bus technology to keep up with the bandwidth demands of today's applications. Or is this just yet another way to force us into a new upgrade cycle? When I look back at the explosion of technology within the past decade and the ever-continuing attempts to eradicate the bottlenecks that computer systems have had PCI Express is a breath of fresh air. For example lets take a look at processors; within the past ten years processor speeds have doubled every eighteen months if we go by Moores Law. Itâ(TM)s hard to believe it was a little over ten years ago that Intel released the First Pentium Chips. HDD speeds (physical read) have also increased dramatically from about 2 MB/s for a 635MB HDD to over 45 MB/s for a modern HDD. Graphics were given a face lift with the introduction of the AGP bus pushing the speeds of transfer up from PCIâ(TM)s 133 MB/s to 2.1GB/s however many systems are used for a LOT more than video rendering capabilities and are geared more towards storage markets were data access speed is of the utmost importance. 64 bit PCI gave us a boost to 266 MB/s transfer speeds to be used in conjunction with high speed U320 SCSI but even then we cannot take full advantage of the capabilities offered. PCI express opens up the horizons for computers letting us transfer substantial amounts of data in less time. This can only be a good thing. More Information * Shorter Time = Greater Efficiency Therefore I donâ(TM)t see this as another way to force us into the upgrade cycle but a good solid advancement in computers. Also, the good thing is that it is coming wither we like or not.
- Sig
Now that's a no-brainer.
My computer is by far not a high-end box, but PCI is a (small) bottle-neck, even for me.
Let's see: 2 IDE channels, 2 disks, that's 50 MB/s each, 1 GBit network, that's peak 100MB/s. A U2W SCSI host adapter with 1 single, very fast disk is good for 70MB/s. Then there is USB2 (everything is USB2 now) and Firewire (each 50MB/s). Adds up to (peak) 370MB/s.
You and me and most people know, that a usual user and most unusual users like the ./ crows will never use all devices at once. But just copying data from disk to network saturates the bus.
A simple fix is 66MHz 64Bit PCI, but those are very rare in consumer machines. So while PCI-Express might be currently overkill, I doubt simple 33MHz 32Bit PCI will be sufficient even for consumer grade computers. Just imagine 10 years ago when PCI started: most were using ISA and that was enough for most usual users. 10MBit/s Ethernet cards used less than 1MB/s. Who needs a faster bus? Only servers needed PCI (or EISA).
Watching the long migration from ISA to PCI until ISA was (mostly) replaced, I don't expect PCI-Express to replace PCI within 5 years. And in 5 years I would bet, that PCI looks like ISA does now: slow and outdated.
using serial there is no having to worry about whether all the bits arrive at the same time (as there obviously is with parallel), and so the speed of transmission can be dramatically increased past the point at which it becomes faster than the "equivalent" parallel technology... bits arrive in the order they were sent - guaranteed.
:-l
I'm afraid this might add to the confusion about serial interfaces being 'faster' than parallel. While it is true that you don't have to worry about data/clock skew when using serial interfaces, enabling you to clock them faster, a parallel interface running at the same clock speed as a serial interface will always be faster in terms of data throughput. The reason for this is simple: serial == 1 bit per clock, parallel = > 1 bit per clock.
So, saying that serial is faster than the "equivalent" parallel interface is confusing, and incorrect, because one could be referring to equivalent clock rates being used for each interface, in which case parallel will provide at least twice the data throughput. On the other hand, "equivalent" could be referring to identical throughput rates, in which case the serial and parallel interfaces would provide, by definition, identical data rates.
The real advantage that PCI Express has over PCI/PCI-X is that it is a point-to-point, rather than a multi-drop, bus. This setup requires less time between pin transitions, meaning that it can be clock faster. Also, like Ethernet, a serial protocol can imbed the clock into the data stream so clock/data skew is no problem whatsoever.
Serial is not better than parallel anymore than digital is better than analog, there are just physical reasons why implementing point-to-point serial at significantly higher clock rates is easier than multi-drop parallel.
Anyone still awake?
Didn't think so
If it's not one thing, it's Steve's Mother
We realized PCI wasn't going to be fast enough years ago-- that's why pretty much every motherboard you can buy today has an AGP socket.
And even that wasn't fast enough, now we have AGP 8x.
But seriously, is PCI really not fast enough for the general consumer, once he's got an AGP socket? PCI that runs on a 66MHz bus that's 64 bits wide has existed and even been available in high-end PC class hardware for years, but few of even Slashdotters have anything other than 32 bit 33MHz PCI in our home machines. The only time I ever deal with the 64 bit PCI cards is for Sun Microsystems hardware at the office.
I don't think this is "forcing another upgrade cycle" at all-- upgrades already exist, and most of us don't have 'em.
I used to upgrade relatively often as the performance of parts increased significantly from month to month. Quick upgrade from 386 to 486 to pentium to celeron to AMD. After that last one, to a fast Athlon, then a faster Athlon, I just quit noticing any real benefit. Sure, my kernels would build faster but even with that I have slowed down as linux kernels have just gotten plain excellent.
I jumped up to 512MB Ram and got a big HDD and am set for quite a while, it would seem. No big performance gains from anything anymore so there is just no real need to go with the latest and greatest (and most expensive). A few years ago there would be a noticable performance gain from such upgrades but now... I have HDD space to burn, my memory is more than enough to handle my loads, my processor is overkill for virtually anything I ever do. The only thing I foresee changing in the near(ish) future is the video card and the only reason I will do that is to enjoy Doom III and Half-Life 2. I would say that the only thing in a PC that benefits anymore from relatively constant and repetitive upgrades is the video card. The return on everything else (the actual perceived bang) seems to be asymptotic.
In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
So get a high-speed parallel printer port card, a high-speed serial port card, or a USB microcontroller development board.
-- ;-)
Kuro5hin.org: where the good times never end.
Fortunatly PCI express will be a dropin replacement for PCI.
Only the electrical connection will actually change, the 'language' spoken over it will be no different than todays PCI, this way drivers will not need changed or upgraded to support the PCI-X version of the hardware.
Its just like how serial ATA is replacing our current ATA.
The standard they use to speak is not changing, only the electrical interface.
As a matter of fact, adding DRM (To PCI-X *OR* PCI) would indeed require driver changes, so you could easily tell and avoid that hardware just like you do right now.
Thinking PCI-X is the path to DRM is like refusing to upgrade to a 64 bit CPU because it will be more capable of running DRM as well.
Of course both technologys can be used for DRM, but so can the 32 bit CPUs and 32 bit 33mhz PCI buses we have right now.
The vast majority of users will not have any need for this kind of bandwidth for quite a while. People doing heavy graphics/video processing will like it but 99% of the public will yawn.
There are two major benefits, however.
Adoption will be fairly fast because so many facilities are built right on the motherboard today. Since much of the market never installs a PCI board, there is nothing preventing them from buying a PC based solely on this new technology, particularly since the new hardware won't be expensive.
And the economies of scale in sharing more hardware throughout the line from consumer PCs to high end servers will be good for everyone. Now we'll be able to steal more equipment from work (just kidding).
I'm watching to see when the processors start talking serial directly. Getting rid of the exotic seven thousand pin packages for processors (and their associated sockets) will be another great savings.
Realistically, this isn't targeted at the average joe (or even the average /. reader (well, not yet)). This is targeted at the HA cluster's we're spec-ing out at work:
3 gigabit interfaces (2 in redundant failover mode, one for backups), 6 fiber channel disks on 2 diskplanes, and 2 qlogic HBA's to our EMC array.
Each one of those cards has quite the ability to saturate a single PCI bus. Thankfully, the boxes we're putting them into have 4 different PCI busses, so we can put 1 fiber or 1 HBA onto each.
Zapman
This is a very cool feature in the new Intel 865 and 875 chipsets (the ones that support the 800Mhz front-side bus) -- the onboard gigabit LAN port is on the Northbridge, not the Southbridge, so it's not contending with PCI for bandwidth.
As far as I know, this is the only currently-shipping chipset that does this.
> I'm a bit concerned about the way the cards are mounted.
From the demo I saw about a year ago, the cards mount as-is and get power from the standard PCI bus, but that is all.
Then there is a small connector on the edge of the card oposit from the back panel (Some disk cards have LED header pins here, some cards have power connectors here where a floppy power jack like USB and FW cards)
This is where the serial PCI-X will connect, and have a thin cable connecting to whereever on the mobo it will go.
Later, cases can be redesigned to take advantage of better mounting options.
Also, one of the ideas suggested at the time, similar to how we can use empty slots now to hang panels for sound and serial and whatnot, and they just have cables that connect to onboard hardware, PCI-X cards can be made to do the same and not 'plug in' to the PCI bus at all.
Since power can be supplied elsewhere, the edge of the card that plugs into the current PCI slot can even just be PCboard/plastic with no traces, just used to hold it stable.
Additionally, since PCI-X cables can be longer, you can have an external enclosure for your cards and run the cable(s) over to it that way.
At that point whatever redesign is needed can be tested and a standard aggreed upon before ATX cases are redesigned to do the same internally.
The one consumer-level application where a better bus is vital is HDTV. Current buses are just barely able to handle uncompressed SDTV (20-30MB/sec). (in theory PCI gives you 133MB/sec and AGP more, but as they say, in theory there is no difference between theory and practice :).
PCI-X will finally bring HDTV (~200MB/sec) within reach. What this means is that you'll be able to have a software-only HDTV decoder - which will make it trivial to receive HDTV broadcasts on a PC, and make HD-DVD players possible.
At the pro level, this is just about the last thing that a $50K SGI system has over a cheap Linux PC - playback and maniupulation of uncompressed HDTV video. It's about time PCs finally caught up to "workstations" in the bus department...
IBM developed a work-around for ATA-66 and ATA-100 by using an 80-conductor cable with a 40-pin interface, by stringing a "ground" conductor between each "signal" conductor.
Not that this concept is anything new, half of the 40 pins from earlier versions of ATA were grounded. (every other one) Same thing with old parallel ports, the data lines have ground interleaved.
PCI Express gets rid of all of the sideband interrupt signals and only uses Message Signalled Interrupts (MSI). This gets rid of any need for IRQ sharing. The only limitation of MSI is the number of interrupt vectors available in the local APIC in the CPU (currently 256).
"The defense of freedom requires the advance of freedom" - George W Bush
Moderators on crack. This is just plain wrong. Firewire is 400 or 800 Mbits/s, while SCSI is up to 320 Mbyte/s, IDE is up to 133 MByte/s, and Fibre Channel is up to 250 Mbyte/s. These numbers are directly comparable, because different buses have different amounts of overhead, but for sure firewire is a slow also-ran when talking only about performance. (When talking about cost, flexibility, etc., firewire looks better, of course.) As far as PCI goes, the top end is over 1 Gbyte/s, which is a bottleneck for some applications, but not firewire. Also, in high-end servers you'll have a number of pci buses to improve performance.
PCI Express doesn't *only* use MSI. It has legacy support for the shared INTx lines (modeled as virtual wires, using assert/deassert INTx messages to change the state of the wire). MSI is different, using a memory-mapped messaging scheme developed for parallel PCI, rather than native PCI Express messages.
The legacy INTx support allows PCI Express hardware to maintain backward compatibility with existing drivers for PCI devices. I expect the legacy stuff will eventually get phased out of new designs.
Well, it's more than one ISA slot, but at least they're there...