Vocademy

The Expansion Bus

ISA

The original IBM PC had few input and output functions implemented on the motherboard. Only the keyboard had a connector on the motherboard. Every other input or output device resided on a plug-in expansion board connected to the expansion bus. The expansion bus had eight connectors/slots for such boards. These slots were identical; you could plug any device into any slot.

 

A telephone modem that fits into the original 8-bit expansion bus.

The original expansion bus had a 20-bit address bus and an 8-bit data bus to match the 8088 CPU that drove the IBM PC. When the PC-AT was developed, it had a new expansion bus with a 24-bit address bus and a 16-bit data bus to match the 80286 CPU. The 16-bit AT bus was backward-compatible with the 8-bit expansion bus. The connectors were simply made longer to accommodate the extra connectors. 8-bit or 16-bit expansion boards could be plugged into the slots.


A sound card that fits into the original 16-bit AT bus.

EISA

Early high-performance motherboards for the 80386 CPU had an expanded version of the AT bus called the Enhanced Industry Standard Architecture (EISA) bus. This had a 32-bit address bus and a 32-bit data bus to match the 80386 CPU. The EISA slots had two rows of connectors to maintain backward compatibility with the original expansion bus and the AT bus. 8-bit and 16-bit cards connect only with the top row of connectors. 32-bit EISA cards had two rows of connectors to match the two rows of the slots. Around the time the EISA bus was developed, the original expansion bus was back-named to the 8-bit ISA (Industry Standard Architecture) bus, and the AT bus was back-named to the 16-bit ISA bus.


An EISA card showing the two rows of connectors.

The ISA and EISA buses operated at a maximum clock speed of 8 MHz. This became a serious bottleneck as the CPU reached speeds of 32 MHz with the 80386. Newer architectures were developed to address this problem.

MCA

IBM developed a new bus architecture for its PS/2 line of computers called Micro-Channel Architecture (MCA). This was a 32-bit bus that ran at 10 MHz with a throughput of up to 66 Mbps. IBM charged high license fees for the MCA bus, so it was not widely adopted.

VLB

The Video Electronics Standards Association (VESA) answered the bus speed problem with the VESA Local Bus architecture (VLB). This was reminiscent of the AT bus as an extension of the PC bus. The local bus connection was an extension of the AT bus connection.

A motherboard with three VLB slots. Each VLB card plugs into both the brown slot and the black slot that aligns with it.

 The VLB card connected to both the ISA bus and the local bus.


A VLB card (a multi-I/O card as described below). Notice the two sets of edge connectors for the two slots.

PCI

PCI is the oldest expansion bus architecture still in common use.


A Mini-ITX motherboard with a single 32-bit, 5V PCI slot (circled).

PCI is a 32-bit bus designed for Intel's family of Pentium CPUs. Like previous bus architectures, all slots of the same voltage and bus width are identical, so that you can plug any compatible PCI card into any slot. For example, if your computer has several 5V 32-bit slots, it doesn't matter which slot you plug a 5V 32-bit device into.


Various PCI slots

The most common PCI slot is the 5V 32-bit slot. However, others were available but uncommon. The slots were keyed, so you could not plug in an incorrect card. Some PCI cards were universal, being compatible with either 5V or 3.3V slots, and 32-bit PCI cards would usually operate in a 64-bit PCI slot. The 64-bit PCI slot was also known as PCI-X. This is not to be confused with PCI Express.

AGP

The Accelerated Graphics Port (AGP) was a complete redesign of the PCI architecture designed for video cards. The AGP port was a separate 'bus' from PCI, so graphics cards didn't have to compete with other PCI devices.


Two PCI slots (bottom) and an AGP slot (top).

An AGP card. Notice the two rows of connectors in the inset.

 PCI-Express

In 2004, AGP and PCI were replaced by PCI-Express (abbreviated PCIe). Despite the name, PCIe is an entirely new bus design unrelated to PCI, although the concept is similar and is a serial bus rather than parallel. PCIe introduces 'lanes' to transfer data through the bus, with a maximum of 32 lanes available. A lane can simultaneously transport 8-bit 'byte' packets in both directions.



PCI slot (bottom) and four PCIe slots, x4, x16, x1, and x16, top to bottom.

Devices on the PCIe bus can take a maximum of 32 lanes. However, the most common maximum is 16 lanes (the x16 slot), and all devices take at least one lane (the x1 slot), with the in-between slots using powers of 2 (the more lanes a PCIe device uses, the faster its' connection is). x32 slots exist but are generally not on motherboards meant for home use. The speed of each lane varies according to the revision of PCIe, with 1.0 having a maximum of 250 MB/s, 2.0 a maximum of 500 MB/s, 3.0 a maximum of 985 MB/s, and 4.0 a proposed 1969 GB/s (PCIe 4.0 specifications have not yet been released as of January 2013).

As a serial bus, PCIe supports one device on each endpoint of each connection; however, switches can be deployed to allow multiple devices on one endpoint. The serial configuration also eliminates the problem of Timing Skew, where bits arrive at different times on a parallel bus, requiring a waiting period for all bits to arrive. This allows frequencies into the gigahertz range.

PCIe cards run at 3.3 or 12 volts, depending on the card type. Regular cards have a maximum of 25 watts of power draw (or 10 watts for low-profile cards), but graphics cards can draw up to 75 watts on PCIe 1.0. PCIe 2.1 increased the maximum power output of an x16 slot to 150 watts so that more graphics cards could be run from the port alone. However, most high-end graphics cards still use power connectors from the power supply in 6-pin (75 watts) and 8-pin (150 watts) designs, up to a maximum of 300 watts.

PCIe's signals are self-clocking. This is done by embedding synchronization information in the signal and means that the signal can be decoded without a separate clock signal or need for other synchronization.

Mini PCIe (MiniCard)

A variant on PCIe for use in mobile devices utilizing an x1 slot (though with a different connector), allowing many different kinds of devices to be connected using only one adapter. Some SSDs and HDDs for laptops use a Mini PCIe port but are electrically SATA (see hard disks) due to the Mini PCIe port being cheaper to implement and smaller.


 

mSATA

Mini-SATA is not electronically related to PCI but is historically related. It is a serial ATA (SATA) interface for internal solid-state drives with a small footprint. It uses the same socket as the PCIe-Mini connector but is electronically incompatible. The M.2 specification superseded Mini-SATA.


An mSATA SSD

M.2

M.2 (pronounced M dot two) is a development of the Mini PCIe specification. It is used for several device types but commonly for solid-state drives in notebook computers and some desktop systems. For SSDs, it is a replacement for mSATA.


An M.2 solid-state drive with a type M connector.

There are several incompatible M.2 specifications with associated sockets. Therefore, technicians must be sure to match devices to the correct socket. The available socket types are A, B, E, and M, with other types reserved for future use. Some modules are keyed to fit either type B or Type M sockets.


Type B and M sockets and connectors
Vocademy