Expansion card

The expansion card (also expansion board, adapter card or accessory card) in computing is a printed circuit board that can be inserted into an electrical connector, or expansion slot on a computer motherboard, backplane or riser card to add functionality to a computer system via the expansion bus.

An expansion bus is a computer bus which moves information between the internal hardware of a computer system (including the CPU and RAM) and peripheral devices. It is a collection of wires and protocols that allows for the expansion of a computer.

Applications
The primary purpose of an expansion card is to provide or expand on features not offered by the motherboard. For example, the original IBM PC did not have on-board graphics or hard drive capability. In that case, a graphics card and an ST-506 hard disk controller card provided graphics capability and hard drive interface respectively. Some single-board computers made no provision for expansion cards, and may only have provided IC sockets on the board for limited changes or customization. Since reliable multi-pin connectors are relatively costly, some mass-market systems such as home computers had no expansion slots and instead used a card-edge connector at the edge of the main board, putting the costly matching socket into the cost of the peripheral device.

In the case of expansion of on-board capability, a motherboard may provide a single serial RS232 port or Ethernet port. An expansion card can be installed to offer multiple RS232 ports or multiple and higher bandwidth Ethernet ports. In this case, the motherboard provides basic functionality but the expansion card offers additional or enhanced ports.

Physical construction
One edge of the expansion card holds the contacts (the edge connector or pin header) that fit into the slot. They establish the electrical contact between the electronics on the card and on the motherboard. Peripheral expansion cards generally have connectors for external cables. In the PC-compatible personal computer, these were located in the support bracket at the back of the cabinet. Industrial backplane systems had connectors mounted on the top edge of the card, opposite to the backplane pins.

Depending on the form factor of the motherboard and case, around one to seven expansion cards can be added to a computer system. 19 or more expansion cards can be installed in backplane systems. When many expansion cards are added to a system, total power consumption and heat dissipation become limiting factors. Some expansion cards take up more than one slot space. For example, many graphics cards on the market as of 2010 are dual slot graphics cards, using the second slot as a place to put an active heat sink with a fan.

Some cards are "low-profile" cards, meaning that they are shorter than standard cards and will fit in a lower height computer chassis. (There is a "low profile PCI card" standard that specifies a much smaller bracket and board area). The group of expansion cards that are used for external connectivity, such as network, SAN or modem cards, are commonly referred to as input/output cards (or I/O cards).

Electrical properties
Originally, the computer controlled the transfer of data, its efforts included interpreting, receiving, and sending out the data. Later on, a bus mastering device was created. It essentially has the capability of controlling its own transfer of data to another device, allowing the computer to focus on other tasks. In essence this device freed up the computer, allowing for more efficiency.

History
Even vacuum-tube based computers had modular construction, but individual functions for peripheral devices filled a cabinet, not just a printed circuit board. Processor, memory and I/O cards became feasible with the development of integrated circuits. Expansion cards allowed a processor system to be adapted to the needs of the user, allowing variations in the type of devices connected, additions to memory, or optional features to the central processor (such as a floating point unit). Minicomputers, starting with the PDP-8, were made of multiple cards, all powered by and communicating through a passive backplane.

The first commercial microcomputer to feature expansion slots was the Micral N, in 1973. The first to establish a de facto standard was the Altair 8800, developed 1974-1975, which later became a multi-manufacturer standard, the S-100 bus.Many of these computers were also passive backplane designs, where all elements of the computer, (processor, memory, and I/O) plugged into a card carge which passively distributed signals and power between the cards.

Proprietary bus implementations  for systems such as the Apple II co-existed with multi-manufacturer standards.

IBM PC and descendants
IBM introduced what would retroactively be called the Industry Standard Architecture (ISA) bus with the IBM PC in 1981; it was then called the PC bus. The IBM XT, introduced in 1983, used the same bus (with slight exception). The 8-bit PC and XT bus was extended with the introduction of the IBM AT, in 1984. This used a second connector for extending the address and data bus over the XT, but was backward compatible; 8-bit cards were still usable in the AT 16-bit slots. Industry Standard Architecture (ISA) became the designation for the IBM AT bus after other types were developed. Users of the ISA bus had to have in depth knowledge of the hardware they were adding to properly connect the devices, since memory addresses, I/O port addresses, and DMA channels had to be configirued by switches or jumpers on the card to match the settings in driver software.

IBM's MCA bus, developed for the PS/2 in 1987, was a competitor to ISA, also their design, but fell out of favor due to the ISA's industry-wide acceptance and IBM's licensing of MCA. EISA, the 32-bit extended version of ISA championed by Compaq, was used on some PC motherboards until 1997, when Microsoft declared it a "legacy" subsystem in the PC 97 industry white-paper. Proprietary local buses (q.v. Compaq) and then the VESA Local Bus Standard, were late 1980s expansion buses that were tied but not exclusive  to the 80386 and 80486 CPU bus. The PC/104 bus is an embedded bus that copies the ISA bus.

Intel launched their PCI bus chipsets along with the P5-based Pentium CPUs in 1993. The PCI bus was introduced in 1991 as replacement for ISA. The standard (now at version 3.0) is found on PC motherboards to this day. The PCI standard supports bus bridging: as many as ten daisy chained PCI buses have been tested. Cardbus, using the PCMCIA connector, is a PCI format that attaches peripherals to the Host PCI Bus via PCI to PCI Bridge. Cardbus is being supplanted by ExpressCard format.

Intel introduced the AGP bus in 1997 as a dedicated video acceleration solution. AGP devices are logically attached to the PCI bus over a PCI-to-PCI bridge. Though termed a bus, AGP usually supports only a single card at a time (Legacy BIOS support issues). From 2005 PCI-Express has been replacing both PCI and AGP. This standard, approved in 2004, implements the logical PCI protocol over a serial communication interface. PC/104(-Plus) or Mini PCI are often added for expansion on small form factor boards such as Mini-ITX.

For their 1000 EX and 1000 HX models, Tandy Computer designed the PLUS expansion interface, an adaptation of the XT-bus supporting cards of a smaller form factor. Because it is electrically compatible with the XT bus (a.k.a. 8-bit ISA or XT-ISA), a passive adapter can be made to connect XT cards to a PLUS expansion connector. Another feature of PLUS cards is that they are stackable. Another bus that offered stackable expansion modules was the "sidecar" bus used by the IBM PCjr. This may have been electrically the same as or similar to the XT bus; it most certainly had some similarities since both essentially exposed the 8088 CPU's address and data buses, with some buffering and latching, the addition of interrupts and DMA provided by Intel add-on chips, and a few system fault detection lines (Power Good, Memory Check, I/O Channel Check). Again, PCjr sidecars are not technically expansion cards, but expansion modules, with the only difference being that the sidecar is an expansion card enclosed in a plastic box (with holes exposing the connectors).

Other families
Most other computer lines, including those from Apple Inc. (Apple II, Macintosh), Tandy, Commodore, Amiga, and Atari, offered their own expansion buses. The Amiga used Zorro II. Apple used a proprietary system with seven 50-pin-slots for Apple II peripheral cards, then later used the NuBus for its Macintosh series until 1995, at which time they switched to a PCI Bus. Generally PCI expansion cards will function on any CPU platform if there is a software driver for that type. PCI video cards and other cards that contain a BIOS are problematic, although video cards conforming to VESA Standards may be used for secondary monitors. DEC Alpha, IBM PowerPC, and NEC MIPS workstations used PCI bus connectors. Both Zorro II and NuBus were plug and play, requiring no hardware configuration by the user.

Even many video game consoles, such as the Sega Genesis, included expansion buses; at least in the case of the Genesis, the expansion bus was proprietary, and in fact the cartridge slots of many cartridge based consoles (not including the Atari 2600) would qualify as expansion buses, as they exposed both read and write capabilities of the system's internal bus. However, the expansion modules attached to these interfaces, though functionally the same as expansion cards, are not technically expansion cards, due to their physical form.

Other computer buses were used for industrial control, instruments, and scientific systems. Some of these standadards were VMEbus, STD Bus, and others.

External expansion buses
The USB format has become a de facto expansion bus standard especially for laptop computers. All the functions of add-in card slots can currently be duplicated by USB, including video, networking, storage and audio. USB 2.0 is currently part of the ExpressCard interface and USB 3.0 is part of the ExpressCard 2.0 standard.

FireWire or IEEE 1394 is a serial expansion bus originally promoted by Apple Inc. Often used for storage and video cameras, it has application for networking, video, and audio. It has seen some adoption amongst PC manufacturers also. Unfortunately, it leaves computers vulnerable to DMA attacks unless an IOMMU is present and configured to be active.

Laptops generally are unable to accept most expansion cards. Several compact expansion standards were developed. The original PC Card expansion card standard is essentially a compact version of the ISA bus. The CardBus expansion card standard is an evolution of the PC card standard to make it into a compact version of the PCI bus. The original ExpressCard standard acts like it is either a USB 2.0 peripheral or a PCI Express 1.x x1 device. ExpressCard 2.0 adds SuperSpeed USB as another type of interface the card can use. Unfortunately, CardBus and ExpressCard are vulnerable to DMA attacks unless the laptop has an IOMMU that is configured to thwart these attacks.

Expansion slot standards

 * PCI Express
 * AGP
 * PCI
 * ISA
 * MCA
 * VLB
 * CardBus/PC card/PCMCIA (for notebook computers)
 * ExpressCard (for notebook computers)
 * CompactFlash (for handheld computers and high speed cameras and camcorders)
 * SBus (1990s SPARC-based Sun computers)
 * Zorro (Commodore Amiga)
 * NuBus (Apple Macintosh)

Expansion card types

 * Video cards
 * AMR Advanced Multi Rate Codec
 * Sound cards
 * Network cards
 * TV tuner cards
 * Modems
 * Host adapters such as SCSI and RAID controllers.
 * POST cards
 * BIOS Expansion ROM cards
 * Compatibility card (legacy)
 * Physics cards. (becoming obsolete as they are integrated into video cards)
 * Disk controller cards (for fixed- or removable-media drives)
 * Interface adapter cards, including parallel port cards, serial port cards, multi-I/O cards, USB port cards, and proprietary interface cards.
 * RAM disks, e.g. i-RAM
 * Solid-state drive
 * Memory expansion cards (legacy)
 * Hard disk cards (legacy)
 * Clock/calendar cards (legacy)
 * Security device cards
 * Radio tuner cards