From: daytripper on 8 Aug 2010 17:58 On Sun, 08 Aug 2010 09:25:35 -0400, Intel Guy <Intel(a)Guy.com> wrote: [...] >One of the needs that fostered the development of PCI-X seemed to be >giga-bit LAN cards. But there are plenty of conventional PCI giga-bit >lan cards these days, so why was PCI-X needed for that? It wasn't - and isn't - for a single channel. But that's just one perspective. PCI-X was developed primarily for servers - which is why you never saw much of it in the desktop/deskside space. The evolution of PCI-X - even if just considering Mode 1 - not only upped the bandwidth ante, it allowed for multiple devices - like quad enet devices - in a single slot, with multiple cards per bus, and not totally starve all of them for throughput. In the same vein, PCI-X made multi-function cards practical (eg: SCSI HA plus a couple of enet HAs) as total I/O solutions for thinner, slot-bound server models - like pizza boxen - a paradigm that wouldn't be very productive on PCI... Cheers /daytripper
From: Torbjorn Lindgren on 8 Aug 2010 18:04 Intel Guy <Intel(a)Guy.com> wrote: >One of the needs that fostered the development of PCI-X seemed to be >giga-bit LAN cards. But there are plenty of conventional PCI giga-bit >lan cards these days, so why was PCI-X needed for that? PCI is 133 MB/S *theoretical*, but in practice it's more like 90-100 MB/s on the BEST chipset on expensive servers, it was also usually shared between all at least several slots... Desktops was more likely shared between all slots and the PCI bus didn't go above 60-80 MB/s. A single gigabit ethernet maxes out at about 240 MB/s for full-duplex (125+125MB/s, minus overhead), and you have a big bandwidth shortfall (60-90 MB/s << 240+) even with gigabit network cards on a dedicated PCI bus. It's worth noting that this is actually noticeable enough that before PCI-e came out many onboard gigabit network cards used a local buss to avoid having to run over PCI... Likewise, the built-in P-ATA/S-ATA controller was directly on the Southbridge chip and thus also had faster connectivity. These aren't servers or high-end workstations I'm talking, this was run of the mill consumer desktops (all did it because all chipsets had versions of this). Nowadays either the CPU or Northbridge provides a signficant number of PCI-e "lanes" which are then handed out as needed. Even a single lane PCI-e 1.0 is much faster than gigabit ethernet, but for USB 3.0 or SATA 3.0 they may need more than that... There's many other sources of data that also easily overwhelms a PCI bus, there's single physical disks that does, never mind a bunch of them on a RAID controller or SSD disk(s). As an example a single 4-port SATA 3.0 controller would need 2400 MB/s of bandwidth (worst case, all in one direction) to guarantee not bottleneck something prematurely, that corresponds to 4.8 PCI-e 2.0 lanes, in practice 4 lanes is probably enough and I could see 2 being used in low-end configurations. Nowadays if you have PCI slots they're likely bridged from PCI-e, so it's both faster than old-style desktop PCI and not shared between slots.
From: Rick Jones on 9 Aug 2010 18:23 In comp.sys.intel Intel Guy <Intel(a)guy.com> wrote: > One of the needs that fostered the development of PCI-X seemed to be > giga-bit LAN cards. But there are plenty of conventional PCI giga-bit > lan cards these days, so why was PCI-X needed for that? Conventional PCI was insufficient for more than GbE. Dual-port just fit (handwaving) but once FC went 2Gbit, then 4 and once 10GbE appeared, PCI didn't have the bandwidth. PCI-X 133 was good to about 7 Gbit/s so more or less OK for a first generation 10GbE interface. PCI-X 266 could give you link-rate in one direction but would not give you link-rate in both directions, nor satisfy dual-port 10GbE (or 8Gbit FC). I've probably had a few handwaving math errors, but it should give a flavor. rick jones -- I don't interest myself in "why." I think more often in terms of "when," sometimes "where;" always "how much." - Joubert these opinions are mine, all mine; HP might not want them anyway... :) feel free to post, OR email to rick.jones2 in hp.com but NOT BOTH...
From: Mike Smith on 10 Aug 2010 00:27
On 8/8/2010 9:25 AM, Intel Guy wrote: > Joe Pfeiffer wrote: > >> I thought PC Card was PCI, ExpressCard (which I've never actually >> seen in real life) was PCIe? > > If you've handled a video card made during the past 3 or 4 years, you've > handled a PCIe card. > > http://en.wikipedia.org/wiki/PCIe > > Not to be confused with PCI-x > > http://en.wikipedia.org/wiki/PCI-X > > ExpressCard is a replacement for the PCMCIA or CardBus format: > > http://en.wikipedia.org/wiki/Express_card > > One of the needs that fostered the development of PCI-X seemed to be > giga-bit LAN cards. But there are plenty of conventional PCI giga-bit > lan cards these days, so why was PCI-X needed for that? Because PCI (32b/33MHz anyway) provides only enough bandwidth for a single GbE controller. PCI-X and PCIe made it possible to put multiple GbE controllers in a single machine with bandwidth to spare. Which, to name just one application, has made GbE into a practical medium for medium-high bandwidth digital imaging (aka GigE-Vision). -- Mike Smith |