Windows.  Viruses.  Notebooks.  Internet.  office.  Utilities.  Drivers

All good things come to an end sometime. It's embarrassing - but true. How many have written about the fact that the PCI bus has finally eliminated the "bottleneck" of the PC - the exchange with video cards - but no such luck! Progress, as you know, does not stand still. The appearance of various 3D accelerators there led to the fact that the question arose: what to do? Either increase the amount of expensive memory directly on the video card, or store some of the information in a cheap system memory, but at the same time somehow organize quick access to it.

As is almost always the case in the computer industry, the issue was not resolved. It would seem that here is the simplest solution for you: switch to a 66 MHz 64-bit PCI bus with a huge bandwidth, but no. Based on the same PCI R2.1 standard, Intel is developing a new bus - AGP (R1.0, then 2.0), which differs from its "parent" in the following:

  1. the bus is capable of transmitting two blocks of data in one 66 MHz cycle (AGP 2x);
  2. the multiplexing of the address and data lines has been eliminated (let me remind you that in PCI, to reduce the cost of the design, the address and data were transmitted over the same lines);
  3. Further pipelining of read/write operations, according to the developers, will eliminate the effect of delays in memory modules on the speed of these operations.

As a result throughput the bus was rated at 500 MB / s, and it was intended for video cards to store textures in system memory, respectively, have less memory on the board, and, accordingly, become cheaper.

The paradox is that video cards still prefer to have MORE memory, and ALMOST NO ONE stores textures in system memory, since there are practically no textures of such a volume yet (I emphasize - yet). At the same time, due to the reduction in the cost of memory in general, the cards do not particularly rise in price. However, almost everyone believes that the future belongs to AGP, and the rapid development of multimedia applications (especially games) may soon lead to the fact that textures will no longer fit into system memory. Therefore, it makes sense, without particularly going into technical details, to tell how it all works.

So, let's start from the beginning, that is, with AGP 1.0. The bus has two main modes of operation: Execute and DMA. In DMA mode, the main memory is the card memory. Textures are stored in system memory, but before use (the same execute) they are copied to the local memory of the map. Thus, AGP acts as a "rear structure" providing timely "delivery of cartridges" (textures) to the front end (into local memory). The exchange is carried out in large consecutive packets.

In Execute mode, local and system memory for the video card are logically equal. Textures are not copied to local memory, but are selected directly from system memory. Thus, relatively small randomly located pieces have to be selected from memory. Since system memory is allocated dynamically, in 4K blocks, in this mode, in order to ensure acceptable performance, it is necessary to provide a mechanism that maps sequential addresses to real addresses of 4-kilobyte blocks in system memory. This difficult task is performed using a special table (Graphic Address Re-mapping Table or GART) located in memory.

In this case, addresses that do not fall within the GART range (GART range) are not changed and are directly mapped to system memory or device specific range memory. The figure shows the local frame buffer of the map (Local Frame Buffer or LFB) as such an area. The exact look and feel of the GART is not defined and depends on the control logic of the card.

The AGP bus fully supports PCI bus operations, so AGP traffic can be a mixture of interleaved AGP and PCI read/write operations. The AGP bus operations are split. This means that the request for an operation is separated from the actual data transfer.

This approach allows the AGP device to generate a request queue without waiting for the completion of the current operation, which also increases the speed of the bus.

In 1998, the AGP bus specification was further developed - Revision 2.0 was released. As a result of the use of new low voltage electrical specifications, it is possible to perform 4 transactions (data block transfers) in one 66 MHz cycle (AGP 4x), which means a bus throughput of 1GB / sec! The only thing missing for complete happiness is that the device can dynamically switch between 1x, 2x and 4x modes, but on the other hand, nobody needs it.

However, video processing needs and demands are increasing, and Intel is preparing a new specification - AGP Pro (currently available Revision 0.9) - aimed at meeting the needs of high-performance graphics stations. The new standard does not change the AGP bus. The main direction is to increase energy supply graphic cards. To this end, new power lines have been added to the AGP Pro connector.

It is assumed that there will be two types of AGP Pro cards - High Power and Low Power. High Power cards can consume from 50 to 110W. Naturally, such cards need good cooling. To this end, the specification requires two free PCI slots with component side (the side on which the main chips are placed) of the card.

At the same time, these slots can be used by the card as additional fasteners, for supplying additional food and even for exchange via the PCI bus! At the same time, only minor restrictions are imposed on the use of these slots.

When using slots for supplying additional power:

  • Do not use to power the V I/O lines;
  • Do not set the M66EN line (pin 49V) to GND (which is quite natural, since this puts the PCI bus in 33 MHz mode).

When using the bus exchange slot:

  • The PCI I/O subsystem must be designed for 3.3V and capable of operating at 5V.

Support for 64-bit or 66 MHz modes is not required.

Low Power cards can consume 25-50W, so the specification requires one free PCI slot to provide cooling.

At the same time, all AGP Pro retail-cards should have a special overlay with a width of 3 or 2 slots, respectively, while the card takes on a rather intimidating look.

At the same time, AGP cards can also be installed in the AGP Pro slot.

In general, how can I imagine a graphics station with two Xeon processors and an AGP Pro High Power video card… You can save a lot on heating… The seditious thought creeps in, what is in the PC 200 specification? will be liquid cooled. Again, let's wait and see.

PC interfaces

Firm Intel, noting that a further increase overall performance of a personal computer “rests” on the video subsystem, at one time it proposed to allocate a separate AGP (Accelerated Graphics Port) interface bus for transmitting a video data stream. This standard quickly supplanted the earlier interfaces used by video cards: ISA, VLB and PCI.
The main advantage of the AGP bus was its high throughput. If the ISA bus allowed to transfer up to 5.5 MB / s, VLB - up to 130 MB / s, and PCI - up to 133 MB / s, then the AGP bus theoretically has a peak bandwidth of up to 1066 MB / s (in the transfer mode of four 32-bit words).
Intel developed the AGP interface to solve two main problems associated with the processing of 3D graphics on a personal computer. First, 3D graphics require you to allocate as much memory as possible to store texture data and the Z-buffer. The more texture maps available for 3D applications, the better the picture looks on the monitor screen. Usually, the same memory is used for the Z-buffer as for textures. Video controller developers used to be able to use ordinary RAM to store information about textures and the Z-buffer, but the bandwidth of the PCI bus was a serious limitation here. The PCI bandwidth was too small for real-time graphics processing. Intel solved this problem by introducing the AGP bus standard. Secondly, the AGP interface provides a direct connection between the graphics subsystem and RAM. Thus, the requirements of real-time 3D graphics output are met and, in addition, the frame buffer memory is used more efficiently, thereby increasing the processing speed of 2D graphics.
In effect, the AGP bus connects the graphics subsystem to the system memory management unit, sharing access with central processing unit computer. Through AGP, it is possible to connect the only type of device - graphics cards. At the same time, video controllers built into the motherboard and using the AGP interface cannot be upgraded.

For an AGP controller, the specific physical address where information is stored in random access memory, doesn't matter. This is a key decision new technology, providing access to graphic data as a single block, regardless of the physical "scattering" of information across memory blocks. In addition, AGP operates at a frequency system bus up to 133 MHz.
The AGP specification is actually based on the PCI version 2.1 standard, but differs from it in the following key ways:
the bus is capable of transmitting two (AGP 2x), four (AGP 4x) or eight (AGP 8x) data blocks in one cycle;
eliminated multiplexing of address and data lines;
pipelining of read/write operations eliminates the impact of delays in memory modules on the speed of operations.

The AGP bus operates in two main modes: DIME (Direct Memory Execute) and DMA (Direct memory access). In DMA mode, the main memory is the memory on the card. Textures can be stored in system memory, but are copied to the graphics card's local memory before use. Thus, the AGP interface acts as a "cartridge carrier" (texture) to a "firing position" (local memory). The exchange is carried out in large sequential data packets. In Execute mode, local and system memory for the video card are logically equal. Textures are not copied to local memory, but are selected directly from system memory. Thus, it is necessary to transfer relatively small randomly located pieces. Since system memory is also required by other devices, it is allocated dynamically, in blocks of 4 KB. Therefore, to ensure acceptable performance, a special mechanism is provided that maps sequential addresses to real block addresses in system memory. This task is performed using a special table (Graphic Address Re-mapping Table or GART) located in memory. Addresses outside the GART range are not changed and are directly mapped to system memory or device specific range. The exact specification for the rules of operation of GART is not defined, and the specific solution depends on the control electronics of the video card.
The AGP bus operations are split. This means that the request for an operation is separated from the actual data transfer. This approach allows the AGP device to generate a request queue without waiting for the completion of the current operation, which also increases the speed of the bus.
Version AGP 2.0, due to the use of low-voltage electrical specifications, provides for the implementation of four transactions (data block transfers) per cycle (AGP 4x mode - quadruple multiplication). In 2003, video cards with the AGP version 3.0 interface (often referred to as AGP 8x) went into mass production. A twofold increase in throughput was achieved by increasing the bus clock frequency to 66 MHz and using a new signal level of 0.8V (AGP 2.0 used a level of 1.5V). Thus, while maintaining the basic parameters of the interface, it was possible to increase the bus throughput to approximately 2132 MB / s. Although the connector remains mechanically compatible with AGP 2.0, its electrical characteristics have changed due to the reduction in voltage on the signal lines. The AGP bus is now being replaced by a serial bus on modern platforms. PCI Express.

The advent of the PCI bus did not remove all the problems related to the quality output of visual information for 3D images, "live" video. Here, speeds of hundreds of MB / s were already required, and the load on the PCI from different devices: hard drives, network cards and other high-speed devices have led to the fact that the bandwidth of the local PCI bus to meet all these requirements is clearly not enough.

In 1996 Intel has developed a new AGP bus (Accelerated Graphics Port - accelerated graphics port), designed only to connect the RAM and processor with the monitor's video card. This bus provides hundreds of MB/sec throughput. It directly connects the video card with the RAM bypassing the PCI bus (Fig. 2)

Tire specificationsAGP

Year of establishment: 1996

Bit width of the data bus: 32;

Bus frequency: 66 MHz;

Separate address and data lines (unlike PCI);

Pipelining of memory access operations;

Maximum throughput: 532MB/s;

Specifications AGP 2x, AGP4x, AGP8x - the ability to send multiple data blocks per bus cycle. Maximum Bandwidth AGP8x: 2 GB/s;

An important feature of the AGP bus is the pipelining of memory access operations. In conventional non-pipelined buses (for example, in the PCI bus), when a request is made to read/write RAM cells, the bus is idle, waiting for this operation to complete. AGP pipelined access allows the next requests to be transmitted at that time, and then to receive responses to these requests in the form of a continuous stream of data.

The AGP bus can combine up to 256 read / write requests of RAM cells into one packet and receive responses to them, combined into a packet of up to 256 32-bit data words.

Graphics subsystem

AGP was designed so that graphics cards could store the data (textures) they needed not only in their expensive local memory installed on board, but also in the computer's cheap system memory. At the same time, they (cards) could have a smaller amount of this same local memory and, accordingly, cost less.

The Accelerated Graphics Port (AGP) is an extension of the PCI bus whose purpose is to handle large amounts of 3D graphics data. Intel designed AGP to solve two problems before introducing 3D graphics to PCI. First, 3D graphics need as much memory as possible of texture map information and a z-buffer, which contains information related to the image's depth representation.

PC designers were previously able to use system memory to store texture and z-buffer information, but the limitation in this approach was the transfer of such information via the PCI bus. The performance of the graphics subsystem and system memory is limited by the physical characteristics of the PCI bus. Also, the PCI bandwidth, or capacity, is not sufficient for real-time graphics processing. To solve these problems, Intel developed AGP.

In short, what AGP is, it is a direct connection between the graphics subsystem and system memory. This solution allows for significantly better data transfer performance than the PCI bus and is clearly designed to meet the demands of real-time 3D graphics output.

Only one type of device can be connected through AGP - this is graphics card. Graphics systems built into the motherboard and using AGP cannot be upgraded.

The speed at which we receive information on our screens, and the amount of information that comes out of the video adapter and is transmitted to the screen - it all depends on three factors:

Resolution of your monitor

Number of colors

How often the screen is updated

A modern video card is, in fact, a second independent computer inside a personal computer. Moreover, when the user is playing a 3-D game, the video card processor actually does most of the work, and the central processor recedes into the background. A more powerful GPU creates a more realistic image.

To increase the performance of the graphics subsystem as much as possible, it is necessary to reduce to a minimum all obstacles along the way. The graphics controller handles computationally intensive graphics functions, which offloads the system's CPU. It follows that the graphics controller must operate on its own, one might even say private, local memory. The type of memory that stores graphics data is called a frame buffer. In systems focused on processing 3D applications, a special memory is also required, called a z-buffer (z-buffer), which stores information about the depth of the imaged scene. Also, some systems may have their own texture memory, ie. memory for storing the elements from which the surfaces of the object are formed. The presence of texture maps in a key way affects the realism of the image of three-dimensional scenes.

In principle, 8 MB of video memory for a resolution of 800x600 or 16 MB for a resolution of 1024x768 is enough for running modern office applications and watching videos. The rest of the memory, above this, which is available today in modern video adapters, is spent on third-party needs, in particular, to support on-screen graphics. operating system Windows (especially on Windows Vista).

The use of 64, 128, 256 and 512 MB of video memory is connected, first of all, with the interests of "gamers". It should be said that the rapid increase in the amount of video memory is currently not associated with the same progress in increasing the resolution of the image on the screen. The ceiling for traditional video information display systems has almost already been reached. The main reason for the increasing increase in the RAM of the video adapter is that the video adapter board now has a video processor that can independently, according to the control commands of the central processor, build three-dimensional images (they are also 3D), and this requires an unusually large amount of resources to store intermediate results of calculations and texture samples that fill the conditional planes of the simulated figures.

However, even for office applications, today, if the Windows operating system uses the DirectX9 or 10 interface, the video card memory must be at least 128 MB.

Initially, video cards were built according to the following principles. Everything that is written by the central processor to the video memory is converted into an analog video signal, which is fed to the monitor, according to strictly defined algorithms. Thus, the central processor itself needs to calculate the parameters of all points that should be displayed on the screen at the moment, and load all the data into the video memory. Any change on the screen, even if it is a mouse trace, is the result of the work of the central processor. Accordingly, the greater the resolution and the number of colors used, the more time the processor spends on calculating all the points of the generated raster.

Since the personal computer over time has become inextricably linked with the Windows graphical interface and various three-dimensional games, the hardware developers have taken a number of steps to improve the standard video card in order to save the central processor from unnecessary work on drawing elementary images. Such devices are called graphics accelerators, or otherwise graphics accelerators (they are also video or graphics processors).

AGP modifications

First version (AGP 1.0 specification) AGP1x rarely used, since it does not provide the necessary speed of working with memory in DME mode, the ability to send 2 data blocks per cycle was immediately added during the design, this AGP2x. IN 1998 released the second version (AGP 2.0 specification) - AGP4x, which could already send 4 blocks per cycle and had a throughput of about 1 GB / s. The voltage level has been lowered to 1.5 V instead of the usual 3.3 V. Bus AGP 8x(AGP 3.0 specification) already transfers 8 blocks per cycle, so the bus throughput reaches 2 GB / s. Also, the standard included the possibility of using two video cards (similarly ATI CrossFire, SLI), but this feature was not used by manufacturers. Modern video cards require a lot of power, more than 40 W, which the AGP bus cannot provide, so the AGP Pro specification with additional power connectors appeared.

Memory access

  • DMA(Direct Memory Access) - access to memory, in this mode the main memory is considered to be the built-in video memory on the card, textures are copied there before being used from the computer's system memory. This mode of operation was not new, the same principle works sound cards, some controllers, etc.
  • DME(Direct in Memory Execute) - in this mode, the main and video memory are, as it were, in a common address space. Shared space is emulated using an address mapping table GART(Graphic Address Remapping Table) in blocks of 4 KB. Thus, copying data from the main memory to the video memory is no longer required, this process is called AGP texturing.

Request Queue

The transfer of data from the main memory to the video memory of the card is carried out in two stages, first a 64-bit address is transferred, from where the data should be read, then the data itself goes. The AGP bus provides two transmission options,

  • the first one is compatible with the PCI bus - data and address requests occur on the same channel;
  • the second is in SBA (Sideband Addressing) mode, on a separate side bus, so you can send requests for new data without waiting for the previous ones to be received.

Development

On this moment motherboards with AGP slots are almost never produced; the AGP standard has been universally supplanted in the market by the faster PCI Express. Video cards of the AGP standard are produced, but mainly in the Low-End segment, in small quantities and are more expensive than similar PCI-E cards (due to the fact that PCI-E → AGP adapter chips are used).

Links

  • AGP 2.0 specification
  • AGP Card and Slot Compatibility

see also

  • HyperTransport

Wikimedia Foundation. 2010 .

See what "AGP Bus" is in other dictionaries:

    Accelerated Graphics Port AGP slot (purple) and two PCI slots (white) Opened: 1996 Developer: Intel ... Wikipedia

    A data bus is a bus designed to transfer information. In computer technology, it is customary to distinguish between device outputs according to their purpose: some for transmitting information (for example, in the form of low or high level signals), others for reporting ... ... Wikipedia

    A computer bus through which signals are transmitted that determine the nature of the exchange of information along the highway. Control signals determine which operation (reading or writing information from memory) needs to be performed, synchronize the exchange ... ... Wikipedia

    Address bus computer bus used by the CPU or devices capable of initiating DMA sessions to indicate the physical address of a RAM word (or the beginning of a block of words) that the device can access to ... ... Wikipedia

    Expansion bus A computer bus that is used on the system card of computers or industrial controllers to add devices (boards) to a computer. There are several types: Personal computers ISA 8 and 16 bit, ... ... Wikipedia

    PCI Express bus connectors (from top to bottom: x4, x16, x1 and x16). Below is a regular 32 bit PCI bus connector. This term has other meanings, see Tire. Computer bus (from ... Wikipedia

    PCI Express bus connectors (from top to bottom: x4, x16, x1 and x16), compared with a conventional 32-bit bus connector Computer bus (from the English computer bus, bidirectional universal switch bidirectional universal switch) in computer architecture ... ... Wikipedia

    AGP (accelerated graphics port)- Extended bus for connecting graphics cards. IN modern computers the following variants of this bus are distinguished: AGP 4X and AGP 8X. In the near future, it will be replaced by the PCI Express 16x bus ... Glossary of Samsung Home and Computer Terms

    There are 4 PCI Express slots in the photo: x4, x16, x1, x16 again, at the bottom there is a standard 32-bit PCI slot, on motherboard DFI LanParty nForce4 SLI DR PCI Express or PCIe or PCI E, (also known as 3GIO for 3rd Generation I/O; not to be confused with PCI ... Wikipedia

If you notice an error, select a piece of text and press Ctrl + Enter
SHARE: