Slashdot Mirror


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?"

27 of 359 comments (clear)

  1. It will not just replace PCI by motown · · Score: 5, Informative

    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?"
  2. Re:Speed by ViXX0r · · Score: 5, Informative

    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.
  3. Re:Speed by KrishnaACD · · Score: 5, Informative
    I wondered this too, so went digging. the most concise and, to me, most credible answer was the following (Credit to K. Adam's at Geek.com)
    Serial Faster than Parallel... (5:41pm EST Wed Jul 25 2001) The problem with parallel (ribbon) data transfer cables is the crosstalk that occurs between adjacent conductors at very high clock/transfer speeds. 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. Capacitance issues, "standing waves," and impedance (electrical resistance as relates to rapidly-changing voltages) matching problems become more evident in parallel (ribbon) cables as you crank up the clock/transfer speeds, also. It's a lot easier to match the impedance of a few conductors in a serial cable to its interface, than trying to match impedance for 40 conductors. Parallel schemes actually have a lot less "processing" overhead than serial schemes, but you're ultimately limited by physics a lot more quickly than with serial... - by K. Adams
    Kacd.
  4. Re:Does PCI Express solve the shared IRQ problem? by arth1 · · Score: 4, Informative

    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...

  5. Re:PCI doesn't need to be replaced by Anonymous Coward · · Score: 1, Informative

    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.

  6. Re:Does PCI Express solve the shared IRQ problem? by Anonymous Coward · · Score: 0, Informative

    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 :)

  7. Re:What upgrade cycle? by ZaDeaux · · Score: 2, Informative

    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.

  8. This is long overdue. by thriemus · · Score: 3, Informative

    â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
  9. Re:Rapidly running out of bandwidth? by hbackert · · Score: 4, Informative

    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.

  10. Parallel faster than Serial by gorjusborg · · Score: 5, Informative

    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.

    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 :-l

    --
    If it's not one thing, it's Steve's Mother
    1. Re:Parallel faster than Serial by jmichaelg · · Score: 4, Informative

      Which is why PCI Express is specified as a scaleable technology. You can get single pin X1, dual pin X2, quad pin X4, and so on.

      Need more bandwidith - add more pins. With each pin delivering 100 megabytes, there's lots of room to grow.

    2. Re:Parallel faster than Serial by Anonymous Coward · · Score: 1, Informative

      a parallel interface running at the same clock speed as a serial interface will always be faster in terms of data throughput

      Good luck, getting your parallel interface to run at PCI Express's 2.5 GHz.

      Let's be realistic. PCI-X (the parallel bus) may get to 533 MHz, tops, in the next two or three years. Since it is 8 bytes wide, that translates to about 4.3 GB/s. PCI Express 1st generation runs at 2.5 Gb/s per lane, per direction, or 250 MB/s for a single lane. Even discounting simultaneous downstream and upstream transactions (which PCI-X can't do), an x16 PCI Express link (requiring only 64 pins, compared to 90 or so for PCI-X) will achieve about the same (4 GB/s). If the application is able to use bidirectional transfers efficiently, then it only takes an x8 link (or the x16 link will achieve 8 GB/s). 2nd generation PCI Express will at least double that rate.

      Usable performance will be somewhat lower than the above numbers due to overhead, but PCI-X and PCI Express overheads will both be on the order of 10%.

    3. Re:Parallel faster than Serial by taniwha · · Score: 3, Informative
      (puts on chip designer hat) this has long been a problem - even at the on-die level (that's what he ment by "worrying about data/clock skew").

      Look on any mother board of the past 5-10 years - you'll see bunches of wiggly traces deliberatly lengthened to deal with just these problems.

      I think that this thread has however become rather confused - parallel/serial vs. point-to-point/multidrop

      On a multidrop bus you mjust meet setup.hold at every slot on the bus, you get nasty reflections that make this even harder to implement (look at the PCI spec for an example of wrestling with these problems) - point-to-point signals can be cleanly terminated and only have to be correct at one place - the other end of the bus the amount of skew can be greatly reduced

      Inter-bit skew on a parallel bus has its own problems you have to meet setup/hold on every bit wrt the clock - that's a hard layout problem. You can solve this a lot of ways - bundling (ala EV6/AMD slot2k) where bits are bundled into smaller chunks with their own locks, or even at the extreme run a clock per bit, or use self-clocking protocols on each bit (wastes a little bandwidth). These techniques cost more gates and latency than the traditional methods - parallel isn't impossible, it's just a little harder

  11. Well, of course. PCI isn't fast enough. Or is it? by foxtrot · · Score: 4, Informative

    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.

  12. Re:What upgrade cycle? by praedor · · Score: 2, Informative

    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.
  13. Re:Somewhat depressing for hobbyists by sigwinch · · Score: 2, Informative

    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. ;-)

  14. Re:Hmmm by dissy · · Score: 2, Informative

    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.

  15. Re:Is this really needed??? by RevMike · · Score: 2, Informative
    The short answer is "yes and no".

    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.

    1. Ease of Manufacture - it is easier and cheaper to manufacture systems that use serial protocols. Cables are cheaper. There are fewer traces on the circuit boards. The chips themselves may be more complex but once the chip fab process is tooled, who cares. This means that Dell and HP and all can shave a few more bucks off a mother board. That is a "Good Thing".
    2. Close the I/O Gap - Server systems, including mainframes, are often not distinguished from PCs and Workstations by the speed of their processors, but by the capacity of their I/O buses. I/O is the limiting factor in many commercial applications. Faster I/O means that cheaper commodity systems can host bigger databases or more heavily used web servers. In some ways this is an Intel attack on exotic equipment such as Sun's fiber based disk arrays.

    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.

  16. Re:What upgrade cycle? by Zapman · · Score: 2, Informative

    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
  17. Re:PCI doesn't need to be replaced by Malor · · Score: 2, Informative

    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.

  18. Re:Physical Connector by dissy · · Score: 2, Informative

    > 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.

  19. Re:Rapidly running out of bandwidth? by captaineo · · Score: 4, Informative

    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...

  20. Re:Speed by rabidcow · · Score: 2, Informative

    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.

  21. Re:Does PCI Express solve the shared IRQ problem? by cheezedawg · · Score: 3, Informative

    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
  22. Re:Is this what the consumers want or... by virtual_mps · · Score: 4, Informative
    Go out and get a firewire controller.
    Right there you have almost 3 times the bandwidth of a SCSI controller, and 4 times the bandwidth of an ata100 IDE controller.

    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.
  23. Re:Does PCI Express solve the shared IRQ problem? by Anonymous Coward · · Score: 1, Informative

    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.

  24. Re:More confusion? by tigris · · Score: 2, Informative


    Well, it's more than one ISA slot, but at least they're there...