Bus Standards
PCI, USB, ISA historical view.
Every computing system needs a mechanism for its internal components to communicate data with each other. This communication backbone is defined by bus standards, which specify the electrical signals, timing, physical connectors, and protocols used between components like the CPU, memory, storage devices, and peripheral cards. Understanding the evolution of bus standards gives insight into how performance bottlenecks are identified and solved in computer architecture.
Core Concept Explanation
A bus in computer architecture is a shared communication pathway that carries data, address, and control signals between components. Every bus standard defines several parameters: the width of the data lines (number of bits transferred per cycle), the clock frequency, the transfer protocol (synchronous or asynchronous), and the physical connector and pinout. Together these parameters determine the maximum theoretical bandwidth.
The ISA (Industry Standard Architecture) bus was introduced with the original IBM PC in 1981 as an 8-bit bus and later extended to 16-bit. Running at 8 MHz with a 16-bit data path, ISA provided a maximum bandwidth of just 16 MB/s. While sufficient for early expansion cards like sound cards and modems, ISA became a severe bottleneck as graphics cards and storage devices demanded much higher data rates in the late 1980s and 1990s.
The PCI (Peripheral Component Interconnect) bus, introduced by Intel in 1992, replaced ISA on modern systems. PCI operated as a parallel bus with a 32-bit or 64-bit data path at 33 MHz or 66 MHz. This gave bandwidths ranging from 133 MB/s to 533 MB/s. PCI also introduced bus mastering, allowing peripherals to transfer data to memory without constantly involving the CPU, significantly improving efficiency. However, PCI remained a shared bus, meaning multiple cards on the same PCI bus had to compete for bandwidth.
The PCIe (PCI Express) standard, introduced in 2003, represented a fundamental architectural shift from a parallel shared bus to a serial point-to-point switched fabric. Each PCIe device has its own dedicated lane or set of lanes connecting directly to the Root Complex (essentially the CPU/chipset). A single PCIe lane in generation 5.0 transfers at 32 GT/s (gigatransfers per second) and with x16 link width the total bandwidth reaches approximately 128 GB/s bidirectionally. This is sufficient for high-end GPUs and NVMe SSDs.
Mathematical Expression
Bus bandwidth (theoretical maximum) is calculated as:
Bandwidth = Bus Width (bytes) x Clock Frequency x Transfers per Clock
For parallel buses like PCI, transfers per clock is typically 1. For serial buses like PCIe, the 8b/10b or 128b/130b encoding is used, meaning not all transmitted bits are data bits. PCIe Gen 3 and above use 128b/130b encoding, so approximately 98.5% of raw transfer rate is effective data. The effective bandwidth must account for this encoding overhead.
USB Standard Details
USB (Universal Serial Bus) was introduced in 1996 to consolidate the then-fragmented peripheral connection landscape. Before USB, a PC might have separate connectors for keyboard (PS/2), mouse (serial), printer (parallel), joystick (game port), and modem (serial RS-232). USB replaced all of these with a single standardized hot-pluggable connector.
USB has evolved through several generations. USB 1.1 offered 12 Mbps full-speed mode. USB 2.0 (2000) jumped to 480 Mbps high-speed. USB 3.0/3.1/3.2 added SuperSpeed modes reaching 5, 10, and 20 Gbps respectively. USB4, based on Thunderbolt 3 technology, achieves 40 Gbps. Modern USB-C connectors are physically reversible and can carry USB, DisplayPort, HDMI, and PCIe signals simultaneously, making them a universal interface.
Given:
PCI bus: 32-bit wide, running at 33 MHz, 1 transfer per clock.
PCIe Gen 3 x4 link: 4 lanes, each lane at 8 GT/s, 128b/130b encoding.
Why this formula applies:
Bandwidth = Bus Width x Frequency x Transfers per Clock
For PCIe: BW = Lanes x GT/s x (128/130)
Formula:
PCI BW = (32/8) bytes x 33 x 10^6 = 4 x 33 x 10^6
PCIe BW = Lanes x (GT/s x 128/130) / 8 bits per byte
Substitution (PCI):
BW_PCI = 4 bytes x 33 MHz = 132 MB/s
Substitution (PCIe Gen3 x4):
BW = 4 lanes x 8 Gbps x (128/130) / 8
BW = 4 x 8 x 0.985 / 8 GB/s
BW = 4 x 0.985 = 3.94 GB/s
Final Answer:
PCI = 132 MB/s, PCIe Gen3 x4 = ~3.94 GB/s.
PCIe provides approximately 30x more bandwidth than PCI in this comparison.Exam Tip: When asked about bus bandwidth, always check whether the bus width is given in bits or bytes and convert correctly. PCI is 32-bit = 4 bytes wide. Also remember PCIe is serial and point-to-point, NOT shared like PCI. This distinction appears in GATE questions on bus arbitration.
ISA vs PCI vs PCIe Structural Differences
- ISA was a parallel shared bus at 8 MHz, 16-bit wide, giving maximum 16 MB/s. Its main limitation was the fixed, slow clock frequency and inability to support bus mastering efficiently.
- PCI improved bandwidth to 133-533 MB/s with 32/64-bit data paths and bus mastering support, but all cards shared the same bus bandwidth.
- PCIe uses serial point-to-point links where each device gets dedicated bandwidth, eliminating contention and the need for bus arbitration.
- PCIe bandwidth scales linearly with lane count. x1 link gives 1x bandwidth, x4 gives 4x, x16 gives 16x of the single-lane rate.
- USB was designed for peripheral connectivity and hot-plug support, not for high-bandwidth internal interconnects. USB 4 reaches 40 Gbps but PCIe remains the primary high-bandwidth internal bus.
Quick Revision
- ISA: 8/16-bit parallel shared bus, 8 MHz, max 16 MB/s. Used in early IBM PCs.
- PCI: 32/64-bit parallel shared bus, 33/66 MHz, up to 533 MB/s. Introduced bus mastering.
- PCIe: Serial point-to-point switched, Gen 5 x16 = 128 GB/s. No bus arbitration.
- USB: Serial peripheral bus with hot-plug. USB4 = 40 Gbps. Not used for internal interconnects.
- Bandwidth formula: BW = Bus Width (bytes) x Clock x Transfers per Clock.
- Exam trap: PCI cards share total bandwidth. PCIe cards each get full dedicated bandwidth. This difference is critical for bus contention questions.
- PCIe uses 128b/130b encoding from Gen 3 onward, so effective data rate is 98.5% of raw transfer rate.
Computer Bus Standards
Assess your knowledge of internal and external communication interfaces.
Q1.Which physical data transmission paradigm is utilized by the Universal Serial Bus?
Related Articles
RISC vs CISC
Comparison of architectures, ARM vs x86 philosophy.
12 min read
Demultiplexing Bus
Latch connection for address/data.
7 min read
Bootloader
Startup code, firmware update process.
8 min read
PCB Design Basics
Schematic to layout, layers, EMI rules.
5 min read
Low Power Design
Sleep modes, clock gating.
4 min read