Your computer's chipset supplies instructions and image data to the graphics controller through a dedicated AGP or PCI Express socket or one of the PCI sockets on the motherboard, or through.
Just about all recent motherboards include a video socket which can be either AGP or PCI Express, along with up to five PCI sockets. On almost all new motherboards, the video socket (AGP or PCI Express) is at the left of the PCI sockets as you face the back of the computer.
The latest computers, motherboards, and graphics controllers use the PCI Express interface, but the older AGP interface is still widely used. PCI graphics controllers (without the "Express" in the name) are much less common, but they are still available for users who want to add extra monitors to their systems. When you buy a new video card to support Windows Vista or some new and more demanding games, or because you want to use it with a new monitor with a very large screen, the new card must use the same kind of interface type as the one you want to replace, or it won't fit into the socket on your computer's motherboard.
For more information about the chipset, see Chapter 6.
The PCI (Peripheral Component Interconnect) interface was created by Intel to define the system that connects expansion cards through sockets on the motherboard and a PCI controller to the computer's Southbridge chipset. The PCI bus can also support other devices and functions that are permanently attached to the motherboard, such as a USB controller or an on-board network interface. Data transfer between the chipset and the disk drives also moves through that same link from the Northbridge, so the link between Southbridge and Northbridge can become a major bottleneck in the computer's overall performance.
PCI cards and sockets have a total of 94 electrical contacts or pins (47 on each side of the card) on both sides of the plug-in circuit board, as shown in Figure 10.2. The locations of the key in the socket and the slots in the card edge identify the voltage used by each card.
Figure 10.2: A PCI expansion card has 47 electrical contacts on each side of the circuit board, and one or two positioning slots.
By design, a video controller plugged into a PCI socket operates relatively slowly. The PCI bus moves 64 bits at a time between the expansion card and the motherboard, at speeds of 33 MHz, 66 MHz, or 133 MHz, depending on the device. This allows a maximum data transfer rate of up to 1GB per second, but of course, that's shared among all the devices connected to the PCI bus. In practice, the maximum sustained data transfer rate is less than 70MB per second. For typical home and office computing, that's fast enough to provide an excellent image, but it can be too slow to display images from video-intensive programs like games and high-definition movies on DVDs.
PCI video cards are also limited by the fact that the frame buffer ties up a substantial amount of the RAM on the card. This is not as big a problem today as it was ten years ago, when the maximum amount of RAM that could fit on a video card was about 8MB, of which at least 4MB would be used for the frame buffer. The remaining 4MB wasn't enough for complex 3-D moving images. Modern PCI video cards can hold as much as 256MB of RAM, so high-quality PCI video cards are widely available, but that data bottleneck to and from the Northbridge is still a potential problem.
The Accelerated Graphics Port (AGP) specification was introduced in 1996 to overcome many of the limitations of using the PCI bus for a computer's video display. As Figure 10.3 shows, graphics controllers that use AGP sockets can operate more efficiently than PCI cards; this is because the AGP interface exchanges data with the Northbridge chipset, which is more than three times faster than the PCI interface, and because the interface doesn't have to share that data bus with other devices. AGP can also use part of the computer's system memory for processing video.
Figure 10.3: The chipset sends data to an AGP card much more quickly than it sends data to a PCI card.
The AGP 1X specification moved data between the Northbridge and the video card at a maximum of 266MB per second. A year later, AGP 2X increased the maximum to 533MB per second. The current crop of AGP video cards support 4X and 8X, which kick the theoretical bandwidth up to more than 1GB per second and 2GB per second respectively. In practice, these numbers are somewhat greater than the actual performance of AGP 4X and 8X cards, but the actual number of bits moving through those cards is still extremely impressive.
AGP video cards are designed to be backward compatible, so an AGP 4X or 8X card works when you plug it into a motherboard with an AGP2 socket. The bandwidth is limited to the limits of the motherboard's AGP specification, but it will produce an image on your monitor.
AGP cards and sockets have 132 pins, with a key gap between pins 21 and 26 that makes it easier to insert a card into a socket properly. A plastic latch on the end of the socket opposite the back of the computer holds an AGP card securely in place. Figure 10.4 shows an AGP video card.
Figure 10.4: AGP cards use a 132-pin edge-card connector.
PCI Express is another, more recent approach to solving the I/O data bottleneck; PCI Express replaces the old shared parallel data bus (see Figure 10.5) with a set of dedicated serial, point-to-point lanes that can move data between a switch in the chipset and each PCI card, as shown in Figure 10.6. Because each PCI card has a direct connection to the chipset, the bandwidth isn't limited by the number of devices connected to a common connection.
Figure 10.5: Traditional PCI uses a shared parallel bus to transfer data.
Figure 10.6: Each PCI Express lane can support 500MB per second, so an X16 video card can exchange 4GB per second in each direction.
Eventually, PCI Express cards will replace both PCI expansion cards and AGP video cards. Just as USB and FireWire connectors can replace many different external connectors on your computer, PCI Express may ultimately replace most of the internal I/O connectors on your motherboard.
The number of lanes serving each PCI Express card is dictated by the amount of bandwidth it requires. So a device that doesn't need a fast connection (such as a 56 Kbps modem) might have only one lane in each direction (X1) for a maximum bandwidth of 250MB per second, while a video card would use many more lanes. PCI Express X16 video cards use 16 lanes to produce a useful bandwidth around 4GB per second.
As Figure 10.7 shows, PCI Express X16 video cards use 164-pin edge-card connectors and sockets. PCI Express cards with fewer lanes have fewer pins in their connectors.
Figure 10.7: PCI Express X16 cards have 164-pin card-edge connectors.
As this is written, PCI Express video cards are the latest and greatest type of graphics controllers. They're faster than comparable AGP 8X cards, and they are the native design for most new high-end graphics controller cards. However, the difference between an AGP 8X card and a PCI Express X16 card may not make much difference when they're installed in today's motherboards (although any particular motherboard accepts only one type or the other). Both can be extremely fast and both work very well with anything short of a cutting-edge game or a very large monitor screen, but you may not notice the difference between one really fast video card and another card that's even faster than that. On the other hand, if you build your own computers and you expect to move the video card you buy today to a new motherboard two or three years from now, a PCI Express socket and card are the obvious choices.