
ISA bus
The ISA bus is the standard (slow) I/O bus still used since a few years ago in virtually all PCs for low-bandwidth peripherals such as modems. Older PCs, typically those from before 1993, used ISA-based video cards as well.
ISA video cards are totally obsolete. Due to the limitations of the ISA bus, they are extremely slow by today's standards, and not suited to the use of a graphical operating system like Windows. They also, due to their age, tend to be more limited in terms of acceleration functions, and have less memory on board as well. While it is possible that a high-end ISA card can be a decent performer if it has an advanced set of on-board acceleration features, in practice even a cheap PCI or AGP video card will generally outperform even a good ISA card, and by a lot. They are adequate for many DOS uses, character-based applications, and some very old games, but even there you're really stretching it.
ISA video cards still have one important use even today - they can be helpful if a serious system error occurs, like a corrupted BIOS. In fact, a wrong BIOS is flashed on the motherboard, or a power failure occurs during the flash operation, the system cannot even boot up. In some cases an emergency mini-BIOS is loaded, but it supports, for all I/O related operations, only the old ISA bus. So, if the motherboard supports it and an ISA video card is available, it can be used to boot the PC and flash the correct BIOS. If not, all this must be done without seeing anything.
top
| Note: VESA Local Bus video is generally limited to 486 PCs (or other motherboards that use a fourth-generation processor). The vast majority of Pentiums and later PCs use PCI (or AGP) and do not support VLB at all, although there are some very old Pentium systems that are VLB-based. |
PCI local bus
The most popular I/O interface used in current motherboards is the Peripheral Component Interconnect (PCI) bus, although in recent years the AGP port replaced it for video I/O. Developed by Intel and introduced in 1993, PCI became popular as the Pentium came to dominate the market, and is now the standard of choice in most systems.
Like the VESA Local Bus, PCI is a 32-bit bus that normally runs at a maximum of 33 MHz, but it provides superior performance to the VLB; in fact, PCI is the highest performance general I/O bus currently used on PCs. This is due to several factors:
top
Much as was the case with the ISA bus before it, during 1997 traffic on the PCI bus started to become heavy on high-end PCs, with video, hard disk and peripheral data all competing for the same I/O bandwidth. To combat the eventual saturation of the PCI bus with video information, a new interface has been pioneered by Intel, designed specifically for the video subsystem. It is called the Accelerated Graphics Port or AGP. The idea behind AGP is simple: create a faster, dedicated interface between the video chipset and the system processor. The interface is only between these two devices; this has three major advantages: it makes it easier to implement the port, makes it easier to increase AGP in speed, and makes it possible to put enhancements into the design that are specific to video. The AGP bus is 32 bits wide, just the same as PCI is, but runs at doubled speed. This of course immediately doubles the bandwidth of the port; instead of the limit of 133 MB/s as with PCI, AGP in its lowest speed mode has a bandwidth of 266 MB/s. Plus of course the benefits of not having to share bandwidth with other PCI devices.
This is certainly very interesting, but there's only one problem: this can be more than the bandwidth of the entire system bus of a modern PC! In this table there is a summary of the system bandwith for PCs sold in the next 5 years:
AGP
Why a new standard?
AGP was developed in response to the trend towards greater and greater performance requirements for video. As software evolves and computer use continues into previously unexplored areas such as 3D acceleration and full-motion video playback, both the processor and the video chipset need to process more and more information. The PCI bus is reaching its performance limits in these applications, especially with hard disks and other peripherals also in there fighting for the same bandwidth.
Another issue has been the increasing demands for video memory. As 3D computing becomes more mainstream, much larger amounts of memory become required, not just for the screen image but also for doing the 3D calculations. This traditionally has meant putting more memory on the video card for doing this work. There are two problems with this:
AGP gets around these problems by allowing the video processor to access the main system memory for doing its calculations. This is more efficient because this memory can be shared dynamically between the system processor and the video processor, depending on the needs of the system.
What AGP is?
AGP is considered a port, and not a bus, because it only involves two devices (the processor and video card) and is not expandable. One of the great advantages of AGP is that it isolates the video subsystem from the rest of the PC so there isn't nearly as much contention over I/O bandwidth as there is with PCI. With the video card removed from the PCI bus, other PCI devices will also benefit from improved bandwidth.
AGP performances:
In addition to doubling the speed of the bus, AGP has defined a 2X mode, which uses special signaling to allow twice as much data to be sent over the port at the same clock speed. What the hardware does is to send information on both the rising and falling edges of the clock signal. Each cycle, the clock signal transitions from "0", to "1" ("rising edge"), and back to "0" ("falling edge"). While PCI for example only transfers data on one of these transitions each cycle, AGP transfers data on both. The result is that the performance doubles again, to 533 MB/s theoretical bandwidth. Nowadays a further implementation is used, the 4X mode, which performs four transfers per clock cycle and grants 1,066 MB/s of bandwidth, while the recently introducted AGP 8x allows to reach 2,133 MB/s.
But how can AGP sustain and achieve such high transfer rates? This is possible because AGP fully supports pipelining operations. For this reason, it can process data much faster and in a much more efficient manner than PCI can, in addition to that AGP also incorporates a special organization process for all pending and processing requests. For example, you have a request being processed, lets call it request x, and the following requests x + 1 and x + 2 are currently pending in memory. AGP allows you to complete request x while receiving and transmitting data necessary to complete requests x + 1 and x + 2 which allows much more to be accomplished in a shorter amount of time, this is a HUGE advantage over the standard PCI architecture and is exactly why AGP is being implemented mainly as a 3D solution.
As mentioned before AGP allows the graphics card to access your system's main memory, therefore AGP memory is simply dynamically-allocated portions of your system's main memory. Meaning that AGP provides a fast access path to your system memory which is provided by some integrated functions in the chipset which allows the AGP card and the software using AGP to access the same memory addresses. This process allows the graphics hardware to address large texture maps as single data objects. The hardware that provides this support is referred to as the Graphics Address Remapping Table, or GART for short.
Problems:
| CPU | Intel PentiumII / PentiumIII | Intel Pentium 4 | AMD K6-2 / K6-III | AMD Athlon |
|---|---|---|---|---|
| Bus width | 64 bits | 64 bits | 64 bits | 64 bits |
| Bus Frequency | 66 / 100 / 133 MHz | 400 / 533 MHz (800 MHz upcoming) | 66 / 100 MHz | 200 / 266 / 333 MHz (400 MHz upcoming?) |
| Bus bandwidth | 533 / 800 / 1,066 MB/s | 3,200 / 4,266 MB/s (6,400) | 533 / 800 MB/s | 1,600 / 2,133 / 2700 MB/s (3,200?) |
XXXX: like AGP 2x or better
XXXX: like AGP 4x or better
XXXX: like AGP 8x or better
As we can see, only the most recent PCs have a system bandwidth equal or higher than the AGP one; also worth remembering is that the CPU also needs to have access to the system memory, not just the video subsystem. If all of system bandwidth is taken up by video over AGP, what is the processor going to do? Again here, going to higher system speed helps immensely. In practical terms, the jury is still out on AGP and will be for a while, though there can be no denying its tremendous promise.
Another big problem dealing with AGP is that, although AGP bus is very fast (as fast as the system bus, in some cases), the RAM - usually DDR-SDRAM - used in recent video cards is even faster, much more than system RAM is: in recent boards, it can reach frequencies of 300 MHz and more (that become 600, thanks to DDR technology), with a 128 or even 256 bits-wide bus, while the RAM bus is only 64 bits wide! Moreover, today's 3D video cards are sold with huge quantities of memory on board, usually from 32 to 128 MB (but even 256, on high-end professional cards). This means two things: