Is USB faster than PCI ?

avimal
avimal used Ask the Experts™
on
In general, Parallel bus is faster than serial because more pins/lines are available for transfer of data. So Ideally speaking a 8 bit parallel bus will be 8 times faster than 1 bit serial. Then how come USB (serial bus) is faster than any of its counter part parallel buses. one wild guess : Speed may be limited by interference and time skews of lines in parallel bus. This will not be an issue in serial bus. What are other major reasons?

I am wandering if this is a generic case then why did parallel bus come in to this world at all. In old days, we had only serial port on PC which supported few Kbps bit rate. That rate was not sufficient hence we invented parallel buses like PCI. Now we are again going back to serial bus (USB) for much faster speed. Then what is the use of parallel bus. I guess serial buses will also be less complex (few pins) and less expensive than their parallel counterparts. On what point does parallel bus beat serial bus?
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Commented:
No, in fact it's not even CLOSE!  

USB 1.1 has a bandwidth of 12M BITS/SEC
USB 2.0 has a bandwidth of 480M BITS/SEC

PCI is a PARALLEL BUS and comes in several speeds/widths but generally you operate from about 132 M BYTES/SEC at the low end to 1064M BYTES/SEC.  In the BITS/SEC scale, that's about 1056M-8512M BITS/SEC.

Commented:
Generally speaking - only in external devices is serial (including USB) better than parallel.

A CPU organises its internal data architecture in parallel, and hence can communicate with memory and other devices easier using a parallel bus.

Remember that memory is addressed using a parallel bus.

In a controlled environment (such as that inside a pc) then parallel will always be quicker than serial, as there will not be a need to convert at either end (parallel/serial and in reverse).

Hope this helps

Stuart

Commented:
>>Generally speaking - only in external devices is serial (including USB) better than parallel.

What exactly does that mean?  "Better"??  What is that?  How do you define "better" in this context?

>>A CPU organises its internal data architecture in parallel,

Not true in general!  There are many examples of SERIAL data busses in CPU architectures.

>>In a controlled environment (such as that inside a pc) then parallel will always be quicker than serial,

That is a gross generalization and not true!

The speed of a bus is determined by its design parameters much more so than by its organization.  There are many examples of SERIAL busses being FASTER than PARALLEL busses.
Should you be charging more for IT Services?

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden using our free interactive tool and use it to determine the right price for your IT services. Start calculating Now!

Commented:
OK lets go through this

When I'm talking about external serial being "better", this is more to do with transmission lengths and susceptibility to interference than anything else. As always the cable is the weak point (hence the need for error checking protocols in data standards).

Sorry - but in general the internal data bus of a CPU is normally parallel - in fact the definition of an 8-bit, 16-bit, 32-bit processor is based on the width of the PARALLEL data bus.

Passing data directly from the CPU to I/O devices 16 or 32 bits at a time (as happens with PCI, AGP, ISA cards etc) will always be quicker than passing the same amount of data including error checking one bit at a time.

Stuart

Commented:
I take exception to your use of the word "always".  This (as I already said) is a gross generalization and needs only to be shown to be false in ONE instance to be false.

There ARE (many in fact) examples of PARALLEL interfaces which are SLOWER (much slower in fact) than SERIAL interfaces.

SLOW PARALLEL INTERFACES include:

Centronics (a.k.a. PC Parallel Port) interface
IEEE-488 (instrument interface)
SCSI I

SERIAL interfaces which are FASTER than any of these:

IEEE-1394 FIREWIRE
SATA
USB 2.0
100BaseT Ethernet
GigaBit Ethernet

See the problem with your proposition.  There are MANY exceptions to your "always" qualifier....

You added another issue which is also false:

>>As always the cable is the weak point

In fact the cable is NOT always the weak point.  Often it's NOT the weak point.
Glen A.IT Project Manager
Commented:
as a clarification:  do you mean Parallel PORT vs. Serial PORT (not bus?) that you find on the back of your PC??   Talking in generalizations with parallel / serial technology is VERY generalized.  So I wondered if you're simply talking about the ports on your PC . . .

If so . . .

Yes, parallel port has more pins, serial less (unless you're dealing with 25pin serial).  Let me know if that's what you're talking about . . .

Parallel ports differ depending on older ISA bus or the PCI bus . . .  and differed depending on whether centronics or IEEE 1284 standards.  

Prior to the 1284 standard the PC parallel port was mapped into the ISA bus I/O space, and the fastest the driver could access the port was 1Mb per second.  with an overhead of 4 port accesses per data transfer this put a limit of 250Kbytes per second as the fastest the PC could transfer data using the Centronics printer protocol, and it required nearly 100% cpu utilization in order to achieve this rate, so in order to keep the PC responsive actual data rates were usually on the order of 50Kb/S (receive) 150KB/S (send).  the 1284 standard provided new enhanced data transfer protocols.   with IEEE1284, the ISA parallel data transfer rates wer eover 1Mb / S and over 3Mb/s on PCI parallel.

Serial Ports, on the other hand can be configured to handle up to 115.2Kbps - meaning Kilo BITS (not bytes) per second.  as 8 bits = 1 byte, this works out to 14.4KB/second (Kilobytes per second).  and, as serial communication usually loses 20% of it's bandwidth due to the need for stop/start bits, this means it's even slower than that . . .

So . . .  the throughput of ports on your standard PC, from fastest to slowest:

                                    USB2 - 480Mbps
IEEE1394 Firewire                   400Mbps
                                    USB1 -   12Mbps
IEEE1284 Parallel EPP/ECP upto 3Mbps
Centronics Parallel up to          150KBps
Serial Ports                               115Kbps (actual about 12KBps with start/stop bits enabled)

If I haven't calculated anything wrong, anyhoo. . .  I'm sure jhance will correct me if I'm mistaken.  speed calculations here are more his field than mine.
Glen A.IT Project Manager

Commented:
Regaring the usb / pci question:

64-bit PCI and PCI-X add to PCI's bandwidth:

32bit PCI / 33MHz  133Mb/s
64bit PCI / 33MHz  266Mb/s
64bit PCI / 66MHz  533Mb/s

PCI-X standard:   1066Mb/s

So is USB faster than PCI??  Depends on which version of PCI you're using. . .
Glen A.IT Project Manager

Commented:
Or even faster:  

PCI-X 2.0 is a new, higher speed version of the conventional PCI standard, which supported signaling speeds up to 533 megatransfers per second (MTS). Revision 1.0 of the PCI-X specification defined PCI-X 66 and PCI-X 133 devices that transferred data up to 133 MTS, or over 1Gbyte per second for a 64-bit device. The present revision adds two new speed grades: PCI-X 266 and PCI-X 533, offering up to 4.3 gigabytes per second of bandwidth, 32 times faster than the first generation of PCI.

Taken from http://www.pcisig.com/specifications/

Commented:
I just love it when you two guys, Albertabeef and jhance, get into a post together. They are always fun and educational to read.

Author

Commented:
I understand that different flavours of PCI and USB support different bit rates. There is no hardware limit for 1 type of bus to be faster than other (atleast physical properties are not major factors). Then what is the basis for selection of bus for a product if both serial and parallel buses are available in the required bit rates? I am wandering if the software design or protocol on cable will play an important role in deciding the speed.
correct me if I am wrong anywhere in my understanding.

Hope I am not diverting much from my origional question.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial