Could USB ever take over PCI

Internally speaking, for your motherboard bus. Would it be possible for a usb standard to be used in place of the PCI or PCIe bus that is now nearly standard on all PC's? If not, why wouldn't this work?

Hardly -- For instance, PCI can transfer up to 16 GB/s whereas the most recent USB devices are peaking at 4-5 Gbps (~600 MB/s).

Nowadays most commercial PCI cards use 16 transfer lanes (known as PCI 16x) whereas USB has only two.

This also means that PCI buses are much larger than a USB slot. PCI is great for performance-critical scenarios while USB is great for portability.

It would definitely work, but there's no benefit from doing it that way other than 'for the sake of science'. :slight_smile:

It would not work for several reasons.

Firstly USB does not support DMA transfer modes. USB operates only in PIO mode, which is crufty and old and slow. PATA, SATA, Firewire, SCSI all operate in DMA mode, which is the biggest factor for why they are so much faster interfaces for attaching hard drives than USB.

Secondly USB has very high protocol overhead and poor performance with bulk data transfers. For example, USB 2.0 has a raw bitrate of 480 Mbits/s. That is 60 MB/s. Yet anyone who's used a USB hard drive knows that even on the newest fastest computers, real world USB 2.0 transfer rates are barely over 30 MB/s. I.e. USB can barely achieve 50% efficiency. Firewire, SCSI, SATA/PATA, on the other hand, achieve 90%+ of their raw bitrate in real world performance.

Another point worth mentioning is the abysmal bus power provided by USB. Only 500 mW. It's the worst of all external peripheral busses. Firewire has been providing 3x the bus power for many years now as compared with USB. And since you're evaluating it as a replacement for PCI-E, which carries 75w, you can see that you'd need about 150 USB ports to provide the bus power of a single PCI-E slot.

Lastly USB performs very poorly at isochronous transfers. Isochronous transfers are critical for audio and video work, where precise timing is key. This is why all Pro Audio/Video gear has been on Firewire for many years, instead of USB, because even though the USB standard includes isochronous support, it's a hack, and doesn't work very well in the real world.

USB was originally designed as a replacement for the RS232 serial port, PS/2 keyboard and mouse port, and the joystick port. All very low speed serial devices. And USB works quite well for these devices. For high bitrate bulk data transfers, low latency, etc. USB is a real turd.

As for one replacing the other, if anything, its the other way round. Look at Thunderbolt. It's essentially an external PCI-E, and as you might expect, it performs leagues ahead of USB for bandwidth intensive devices like hard disks or VGA displays.

Leaving aside the performance problems, there's a bigger fundamental difference between the two. There's things PCI can do and USB just can't. DMA as mentioned above is one of them.

This is because the PCI bus is an extension of the CPU's own hardwired bus, essentially. It has most of the same features as the CPU's own bus, and communication is extremely direct, to the point all hardware on PCI as well as system memory in general ends up inhabiting the same memory map. (More or less. It's gotten more complicated with each revision, but once configured, still handles itself in a manner like this.) Use one address and you're talking to system memory. Use another address and you're talking to video RAM. Use another address and you're talking to your network card's boot ROM. And such.

This turns out to be vital for things your computer absolutely needs to boot, like video. They can include little bits of machine code on the cards which give the BIOS a very basic ability to use them. The BIOS doesn't have to load a driver to see it, the code just kind of appears in memory where it needs to be thanks to the memory map. This is also why mac's require different kinds of video cards than PC's -- different kind of BIOS.

USB is extremely in-direct; it takes tons of messages back and forth to do anything, and wasn't designed as a CPU bus anyway. Things PCI does with one pulse would have to be emulated in software. Rigidly standard things like USB keyboards are handled in BIOS these days, USB media as well (though often badly). But you couldn't replace a PCI video card with a USB one and have your computer boot. The BIOS by nature is too dumb to load a driver, and sees no video as a result, and cannot boot.

As others have said, apple vs. orange.

Both have their place. So while the argument has been on what PCIe can do vs USB, certainly USB has strengths for certain cases.

So.. the answer is "no", but iMHO, it's because one is an apple and the other is an orange.

If you think differently, go and get on of those high speed USB 3.0 docking solutions that do displaylink to handle multiple monitors over your USB 3.0... and when that fails (and eventually it will), you will have a better understanding for why this just doesn't work.

So if USB is such a mediocre protocol for electricity, transfer rates, and lack of DMA, why/how is it the most universal and popular? Why isn't firewire, or thunderbolt made standard? Proprietary reasons?

Please understand that we're not saying USB is bad. I like it, it has a lot of things going for it.

USB and Firewire have these handy features:

  • They're electrically simple. Power, ground, a shielded pair for data -- that's it. That lets them use simple connectors and work well on long thin cheap cables. They can be protected from static well enough to be handled by humans without special precautions.
  • Very isolated and robust. It won't cause things to crash or explode if you unplug it by accident. If an error happens, the computer can retry.
  • They have appealing plug-and-play features. It's convenient for a hardware manufacturer to make custom devices for them.

These features are a trade-off. PCIE is fast, but a 12-foot PCIE cable would need to be as thick as your fist. PCIE is direct, meaning, if you unplugged it while your computer was on, your computer would either crash or become a smoking wreck! And the same features which make USB handy make it less efficient.

Firewire is a standard, and if you really want it you can get it. It's not popular, though.

I think USB became more popular because it entered the market as a cheap keyboard connector. Everyone had it. Not everyone had firewire, since that was higher-end -- if you didn't have a digital video camera, you had no use for it. Its faster speed made its cables more expensive too (inevitable). When USB started getting used for disks and things they made it faster.

People use USB because it's reliable, available, and good enough. (Also, a firewire video card is just as silly as a USB one.)

Thunderbolt is something new.

Mainly, it's politics.

Yes, Firewire is superior to USB1/2 in every metric; throughput, latency, bus power, number of devices, etc. Plus Firewire is more reliable and compatible than USB, since Firewire devices do not require any drivers to be installed in your OS - USB on the other hand requires drivers for every single USB device.

USB and firewire both came about in the mid 1990's. USB was developed by a consortium led by intel. Firewire was developed by Apple.

For the first iteration of each, they did not compete. USB was only 1.5 Mbits, and Firewire was 400 Mbits. No comparison. USB was purely for keyboards, mice, joysticks, and other low speed devices.

The next iteration of USB, version 2.0, brought a large speed increase, from 1.5 Mbits to 480 Mbits. At first glance, one might think that USB2's 480 Mbits is faster than Firewire's 400 Mbits. Not in the real world however, where Firewire would deliver a sustained 38 MB/s while USB2 could barely manage 30 MB/s.

But back to the reason that USB became ubiquitous, while Firewire was more of a niche product: Politics.

Intel, having played a lead role in the development of USB, had a vested interest in USB's success. So they integrated a USB host controller into every single motherboard chipset. This gave every motherboard out there USB ports as standard, built-in with the motherboard. Firewire on the other hand, required the consumer to add a PCI card to their machine to gain Firewire ports. This immediately gives USB a market penetration advantage.

The second prong of intel's attack was on laptops. Intel added Firewire to laptop chip sets, but did so in a very crippled manner. Instead of using a standard firewire host port, they used a power-less device port. So the mini firewire port you find on many laptops does not provide ANY bus power at all - you're required to use a separete power adapter. Imagine if laptop makers put micro-USB device ports on laptops, and removed the bus power, requiring to plug in a separate A/C adapter to use even a thumb drive! It would be absurd, right? Well that's what they did to cripple Firewire.

So while Firewire is technically superior to USB in every way, intel's politics drove it into a niche role, while the inferior USB became ubiquitous.

Firewire 400 beat USB2 by a large performance margin. Firewire 800 was faster still, delivering triple the real-world performance of USB2. The newly released USB3 however ups the ante. Originally there was talk of Firewire 1600 or Firewire 3200, but that has apparently been scrapped in favor of Thunderbolt.

Personally, the only things I use USB for is keyboard, mouse, and joystick. Everything else is on Firewire 800: DVD burner, hard drives, flat bed scanner, HD Audio mixer, and HD video camera.

Another thing to keep in mind -- every time they make an interface faster or better, it either needs more expensive cables, or shorter cables. This is because, the faster the signal, the more it reduces with distance. Look what increasing the speed of Ethernet did to its maximum lengths:

Interface   Speed       Max-length
  10base5    10  Mbit   500 meters on coax
  10baseT    10  Mbit   185 meters on two pairs
 100baseT    100 Mbit   100 meters on two pairs
1000baseT   1000 MBit  	100 meters on FOUR pairs with error-correction

They're trying to make Thunderbolt via viber optic popular, which can avoid this to a degree.