Sponsored Content
Full Discussion: Could USB ever take over PCI
Special Forums Hardware Could USB ever take over PCI Post 302866215 by lupin..the..3rd on Monday 21st of October 2013 01:44:50 PM
Old 10-21-2013
Quote:
Originally Posted by Lost in Cyberia
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?
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.

Last edited by lupin..the..3rd; 10-21-2013 at 04:15 PM..
 

9 More Discussions You Might Find Interesting

1. BSD

WLAN PCI Cards

Hi! I just wanted to know what network cards are supported in FreeBSD. I have looked at the list of supported cards but I can't find any of them in the stores. Is the list not updated, I would really preciate info about where (in EU, Sweden) I can buy them. /Peter (2 Replies)
Discussion started by: Barfly.se
2 Replies

2. Solaris

Pci Id

How do I get the PCI ID for my Realtek adapter? It's a Solaris x86 installation. (5 Replies)
Discussion started by: kuultak
5 Replies

3. UNIX for Dummies Questions & Answers

bad pci slot?

Hi, im having a problem installing my pci wireless card. Im using knoppix, but my problem is with the mobo i think. im using an older laptop, toshiba satellite 2540 and when i plug in the card i get lights on sometimes. this means its getting power right. so then to install the card into the... (0 Replies)
Discussion started by: jestra
0 Replies

4. UNIX for Dummies Questions & Answers

sun blade 100 test-all frozen at pci@1f,0/usb/c,3

platform: sunblade 100 Solaris 10. When running a test-all from the ok prompt on this new (to me) system, it locks up at pci@1f,0/usb/c,3. It's been there for about 25 minutes. I do have a usb keyboard and mouse attached, both are known good. There is no flash stick/ thumb drive... (0 Replies)
Discussion started by: montana77
0 Replies

5. Linux

PCI Card recognized

I installed PCI Card HP SC44Ge - SAS1068E on my linux CentOS 5.4 is there a way to find out if the PCI is properly installed and recognized by linux. lspci is enough? just to add that PCI card is connected to a tape... also how can I find out driver and firmware version? thanks a... (1 Reply)
Discussion started by: karlochacon
1 Replies

6. UNIX for Dummies Questions & Answers

USB-USB cable between linux and windows computers

Is there an easy way to setup a cross-over cable (USB-USB) between a linux box and a windows PC? My 2 machines are next to each other but I really do not want to keep transfering my files using my USB drive. Thanks! (4 Replies)
Discussion started by: Xterra
4 Replies

7. Programming

help writing pci firmware

For a project that I'm working on I want to write a low level PCI driver, but I can't seem to find any free/cheap documentation on PCI firmware specifications. I came across the "pci firmware specification 3.0" manual but this costs USD $1000 :eek:. I am not developing a commercial product... (13 Replies)
Discussion started by: neur0n
13 Replies

8. Solaris

available PCI slots on v440

How do I find any available PCI slots on a v440? When I run prtconf, I get the following output? But I am not able to make out whether all the PCI slots are used. ================================= IO Devices ================================= Bus Freq Brd Type MHz Slot ... (1 Reply)
Discussion started by: jtamminen
1 Replies

9. Slackware

converting mouse to pci

Need to free up a usb port for webcam. What does xorg.conf look like in order to work if I move mouse to PCI port via a converter plug? (1 Reply)
Discussion started by: slak0
1 Replies
usb_as(7D)							      Devices								usb_as(7D)

NAME
usb_as - USB audio streaming driver SYNOPSIS
sound@unit-address DESCRIPTION
The usb_as driver is a USBA (Solaris USB Architecture) compliant client driver that supports the USB Audio Class 1.0 specification. The usb_as driver processes audio data messages during play and record and sets sample frequency, precision, encoding and other functions on request from the USB audio control driver. See usb_ac(7D). This driver is plumbed under the USB audio control driver and does not directly interface with the user application. FILES
/kernel/drv/usb_as 32-bit x86 ELF kernel module /kernel/drv/amd64/usb_as 64-bit x86 ELF kernel module /kernel/drv/sparcv9/usb_as 64-bit SPARC ELF kernel module ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+------------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+------------------------------+ |Architecture |SPARC, x86, PCI-based systems | +-----------------------------+------------------------------+ |Availability |SUNWusb | +-----------------------------+------------------------------+ |Stability level |Evolving | +-----------------------------+------------------------------+ SEE ALSO
mixerctl(1), attributes(5), usba(7D), usb_ac(7D), audio(7I), mixer(7I), streamio(7I) Writing Device Drivers Universal Serial Bus Specification 1.0 and 1.1 System Administration Guide: Basic Administration http://www.sun.com/io DIAGNOSTICS
In addition to being logged, the following messages may appear on the system console. All messages are formatted in the following manner: Warning: <device path> (usb_as<instance num>): Error Message... where <device path> is the physical path to the device in /devices directory. No bandwidth available. There is no bandwidth available for the isochronous pipe. As a result, no data will be transferred during play and record. Operating a full/high speed audio device on a high speed port is not supported. The USB software does not currently support full or high speed audio devices connected to an external USB 2.0 hub that is linked to a port of a USB 2.0 host controller. Audio devices must be connected directly to a port of a USB 2.0 controller or to any USB 1.1 port. Cannot access device. Please reconnect <name>. There was an error in accessing the device during reconnect. Please reconnect the device. Device is not identical to the previous one on this port. Please disconnect and reconnect. A USB audio streaming interface was hot-removed while open. A new device was hot-inserted which is not identical to the original USB audio device. Please disconnect the USB device and reconnect the device to the same port. NOTES
The USB audio streaming interface will be power managed if the device is idle. SunOS 5.10 9 Oct 2004 usb_as(7D)
All times are GMT -4. The time now is 01:35 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy