From: daytripper on
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
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
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
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