The Road to USB: Tracking the Next Peripheral Communications Channel

Archived content. No warranty is made as to technical accuracy. Content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Inside Microsoft Windows 95

A Publication of The Cobb Group
Published November 1997

As you know, advancement in computer hardware is a never-ending process. In just the last few months, we've seen great leaps in the speed and power of the micro processor as it has jumped from the 100MHz range to the 300MHz range. While such leaps are widely acclaimed, there's a new, lesser-known technology on the horizon that's poised to dramatically increase the speed with which peripheral devices communicate with the PC. This new technology is called the Universal Serial Bus (USB) communications channel.

Many of the new systems arriving on the market today feature USB ports. In addition, Microsoft's newest Windows operating system, Windows 98, will provide direct support for the USB communications channel. In the coming months, you'll also begin to see USB devices on the market. Once this hardware and the new operating system take hold, the possibilities are limitless.

To better understand the significance of USB, let's first take a look at the current communications channels that USB is ready to replace—the parallel and serial communications channels. Then, we'll discuss the future of PC USB communications channels.

On This Page

The parallel channel
The serial channel
What's FIFO?
The USB channel
Conclusion

The parallel channel

Most of us rely on the parallel channel for fast access to printers and other devices, such as external tape and CD-ROM drives. As you probably know, a standard parallel cable consists of 25 wires that transfer information one byte at a time. Each wire terminates in a connector called a pin, so we often refer to a standard parallel cable as a 25-pin connector. The 8 bits that make up each byte travel in parallel across 8 of the 25 wires. The parallel channel is fast and reliable and has long been the preferred way to connect printers and other external devices to a computer.

One limitation of the standard parallel channel is the distance you should place between the device and the computer. The parallel channel is best suited for distances of 15 feet or less. Longer parallel cables are available, but the extra length may corrupt the data unless the signal is amplified.

The vehicle of this channel, the parallel port, has undergone many transformations since the first IBM PC hit the market. We've summarized the evolution of parallel ports in Table A.

Table A: Parallel port evolution

Port type

Used with

Unidirectional 4-bit

Original IBM PCs and compatibles

Bidirectional 8-bit

IBM PS/2s and compatibles

Type 3 direct memory access (DMA)

Later PS/2s and compatibles

Enhanced parallel port (EPP)

386-based computers

Enhanced capabilities port (ECP)

Pentium-based computers

The original IBM PC incorporated a unidirectional parallel port, which as the name implies, can send information in only one direction. In the late 1980s, IBM and other computer manufacturers quietly introduced bidirectional parallel ports. These new ports simply used an additional 8 of the 25 wires in the parallel cable for data traveling in the other direction. For instance, bidirectional ports enabled your printers to send status messages about print jobs back to the computer.

The next step in the parallel port's evolution—Type 3 direct memory access (DMA) ports—allowed much faster bidirectional performance. This technology relied on the computer setting aside a block of memory to hold or cache data heading for the parallel port. Type 3 DMA ports improved performance dramatically, since the CPU no longer needed to regulate the flow of information.

Later, Intel, Xircom, and Zenith joined forces to develop the next generation of parallel port technology. Their standard, the enhanced parallel port specification (commonly referred to as EPP, or fast mode port), depends on intelligent peripheral devices that can dynamically manage the information traveling across the cable. The current EPP standard is also commonly referred to as IEEE 1284.

The newest addition to the world of parallel ports is the enhanced capabilities port (ECP). Parallel ports using this technology surpass the performance of EPP ports, but to do so, they require software designed to take advantage of ECP's direct memory access and data compression capabilities.

The serial channel

The serial channel is the primary means for connecting modems and mice to the serial port in your system. The word serial refers to the fact that the data is sent in series, one bit at a time, over a single wire. This design is significantly slower than sending 8 bits at a time via a parallel channel, but serial signals can travel much farther without degradation.

Serial ports are only as good as their universal asynchronous receiver-transmitter (UART) chips. These chips are the core of a serial port's operation. Basically, this chip's job is to convert data heading out through the serial port from the computer's native parallel format into a serial stream of information. The UART is also responsible for reassembling data coming in through the serial port and converting it back into the parallel format expected by your computer's data bus. Since the UART chip holds the key to determining serial communications' performance, let's take a look at the various UARTs you're likely to encounter. Table B summarizes the evolution of the UART chip.

Table B: UART evolution

UART

Systems

8250

PC, XT, and AT

16450

80386

16550

80486 and Pentium

The older PC- and XT-class systems and some inexpensive serial cards use the 8250 UART, which is reliable, but it doesn't support connections of 9,600 or more bits per second (bps). The 8250 chip has a number of known bugs, but many computers were designed to anticipate these flaws and can compensate for them.

A number of 80386-based computers use the 16450 UART. Because this chip had a larger data buffer than its predecessor, it both improved overall performance and fixed several bugs. Ironically, serial ports relying on the 16450 UART aren't reliable in PC- or XT-class systems, since those computers expect to find the 8250 bugs.

The next UART chip to hit the market was the 16550. One of the major new features of the 16550 is that it has a 16-byte buffer and uses the first in, first out (FIFO) buffering technique. This means that the 16550 can continue to receive incoming characters and store them in the buffer while the CPU is busy handling other tasks. Then, when the CPU turns its attention back to the UART, it can pass on the entire contents of its buffer to the CPU for processing. Since it can continue to work while the CPU is busy, the 16550 has brought major performance gains in serial communications.

While this chip was an improvement over the 16450, the early 16550 has various limitations and bugs that can choke the performance of serial devices. Over time, the 16550 was improved upon and reincarnated as the 16550A, 16550AN, and then the 16550AFN.

What's FIFO?

First in, first out (FIFO) is a method of processing a queue in which items are removed from the queue in the same order in which they were added. Thus, the first item in the queue is the first item to come out. For example, your printer uses a FIFO queue. If you send a group of documents to the printer, the first document that you send is the first document to be printed.

The USB channel

Now that we've taken a look at the parallel and serial channels and have a basic understanding of how they work, let's examine the future of PC communications channels—the Universal Serial Bus. This communications channel represents a new connection standard championed by Microsoft, Intel, Compaq, and other prominent industry players. As we mentioned, the next version of the Windows operating system will support the USB channel.

A USB port will functionally replace all the ports now found on the back of your computer. Using a single cable, a USB port will allow you to connect keyboards, mice, joysticks, scanners, printers, monitors, telephones, modems, ISDN modems, and an assortment of other devices to your computer. In fact, you can daisy-chain up to 127 devices from a single port, since each length of USB cable can be as long as 5 meters (more than 15 feet).

The USB channel pumps a lot more information through the cable than just data; it also supplies a 5-volt power line to the peripherals connected to it. This means that not only will USB do away with the many cables used to connect peripheral devices to the system but it will also eliminate the multitude of power cables dangling from the back of your desk to the power supply on the floor.

When compared to parallel and serial ports, USB ports are incredibly fast. In fact, USB has two data speeds: 1.5Mb per second (Mbps) for lower-end devices (such as keyboards, mice, and joysticks) and 12Mbps for higher-end devices (such as scanners, printers, monitors, and modems). To help you put this into perspective, 12Mbps is comparable to a 10BaseT Ethernet network's speed.

Best of all, when using an operating system that supports it, USB works very much like the current Plug-and-Play system now found in Windows 95, allowing you to add and remove devices without powering down or reconfiguring the computer. When a new device is added or removed, the system automatically detects the change and then loads or unloads the appropriate driver.

Conclusion

You can clearly see the significance of USB when you consider the many benefits we've outlined along with its improved performance. Expect your next computer to offer a USB port—and keep an eye out for modems, printers, and many other devices that let you take advantage of the USB interface.

The article entitled "The Road to USB: Tracking the Next Peripheral Communications Channel was originally published in Inside Microsoft Windows 95, November 1997. Copyright © 1997, The Cobb Group, 9420 Bunson Parkway, Louisville, KY 40220. All rights reserved. For subscription information, call the Cobb Group at 1-800-223-8720.

We at Microsoft Corporation hope that the information in this work is valuable to you. Your use of the information contained in this work, however, is at your sole risk. All information in this work is provided "as is," without any warranty, whether express or implied, of its accuracy, completeness, fitness for a particular purpose, title or non-infringement , and none of the third-party products or information mentioned in the work are authored, recommended, supported or guaranteed by Microsoft Corporation. Microsoft Corporation shall not be liable for any damages you may sustain by using this information, whether direct, indirect, special, incidental or consequential, even if it has been advised of the possibility of such damages.