Why did USB win out over parallel interfaces?

At face value sending 8 bits at once seems faster than sending just one at a time. In reality, there are other factors that affect parallel transfers.

The Achilles heel of parallel is the wait time between bytes. When the transmitter places a set of 8 bits on 8 lines it takes those bits a non zero amount of time to arrive at the receiver. Furthermore, those bits do not arrive at the same time. There is a spread between the fastest bit and the slowest bit. This spread requires that there is a blanking time between when the bits are asserted and when the bits are read.

At slow speeds this blanking time is irrelevant. As the speeds increase this blanking time becomes significant. The blanking time has to account for the worst-case scenario. This includes the cable, connectors, circuit board traces, etc... As speeds increase the blanking time will become the limiting factor.

With serial, all the bits come down the line back to back and require no blanking time. A speed increase only really requires the ability to cram the bits down the line faster. I'm glossing over that with serial signal integrity still needs to be maintained. Serial is also less sensitive to cabling abnormalities.


At the time of its introduction, USB was quite slow by today's standards. Operating at 1.5 Mb/s it was designed to replace even slower serial, parallel, and other low-speed interfaces that were used to connect things like printers, modems, scanners, and the like.

As USB became more popular, its capabilities were enhanced to what we now have today with USB 3.0 operating at 5-20 Gb/s.

It won out for several reasons:

  1. It was one interface for PC makers to support. So rather than having to figure out what interfaces customers needed they could simply include some USB ports and be done with it.

  2. It worked really well for customers since plugging and unplugging USB is easy. If you have ever struggled with those silly screws on serial and parallel ports you know what I mean.

  3. It could handle almost any type of peripheral imaginable with only software drivers needed. This was a HUGE deal and it allowed all sorts of things to work on USB that its original designers never imagined.

  4. It was fast enough, faster than any other interface on PCs of the day and it also was able to be extended to be fast enough even to support storage that could boot and run a PC.


jwh20 has already given a number of reasons. I would also add that parallel cables can be annoyingly fat when compared with USB3.

Parallel cables can be problematic at very high speeds. Unless every wire pair in the cable is perfectly matched, the speed of propagation can be different between them. This leads to "skew", where the signal arrives at different times on each pair, totally confusing the receiver. That results in parallel connections using wider and wider cables, rather than increasing the clock rate.

Switch to serial, and the skew problem goes away.

Tags:

Interface

Usb