- Parallel: several bits sent at once on separate wires. Fast over very short distances, but suffers from skew and cost.
- Serial: bits sent one after another on one channel. Used for almost all long-distance and modern links (USB, SATA, Ethernet).
- Synchronous transmission uses a shared clock and sends blocks of data; asynchronous transmission sends characters framed by start and stop bits.
Why serial won
At first, parallel looks faster: eight wires carry eight bits at once. The problem is skew: over a long cable, the bits on different wires arrive at slightly different times, so the receiver mixes up bits from neighbouring bytes. The wires also interfere with each other (crosstalk), and a cable with many wires is thick and expensive. Engineers therefore had to keep parallel links short and slow.
Serial links avoid both problems. With only one data path (or one pair per direction), there is nothing to get out of step, so the clock rate can be pushed very high. Modern serial links send billions of bits per second. That is why old parallel printer ports and parallel IDE disk cables have been replaced by USB and SATA, which are both serial. Inside a chip, where distances are tiny, parallel buses are still used.
| Feature | Parallel | Serial |
|---|---|---|
| Bits at a time | Several (often 8, 16 or 32) | One per channel |
| Cable | Many wires, thick, expensive | Few wires, thin, cheap |
| Distance | Very short | Short to very long |
| Problems | Skew, crosstalk | Needs a fast clock and careful timing |
| Examples today | Buses inside chips and memory | USB, SATA, PCI Express, Ethernet |
Asynchronous and synchronous transmission
The receiver must know exactly when each bit starts. There are two ways to keep it in step:
- Asynchronous: each character is sent on its own, with a start bit before it and a stop bit after it. The gap between characters can be any length. It is simple and cheap, but the extra start and stop bits waste capacity: 8 data bits need 10 bits on the line, so 20% is overhead. Used by old serial ports, and the console port you will use on a switch in 3.2.1 (9600 baud, 8 data bits, no parity, 1 stop bit).
- Synchronous: data is sent in large blocks (frames), and the sender and receiver keep their clocks aligned, often using timing information carried inside the signal itself. There is no start and stop bit per character, so it is much more efficient. Ethernet, Wi-Fi and almost all modern high-speed links are synchronous.
Remember
- Parallel: many bits at once, but only over short distances because of skew and crosstalk.
- Serial: one bit after another; used for almost every modern link.
- Asynchronous framing uses start and stop bits per character; synchronous sends large clocked blocks.