AGP

AGP，全称为-{zh-hans:加速图形接口; zh-hant:加速影像处理埠;}-（Accelerated Graphics Port），是电脑主机板上的一种高速点对点传输通道，供显示卡使用，主要应用在三维电脑图形的加速上。AGP是在1997年由Intel提出，是从PCI标准上建立起来，是一种显示卡专用接口。推出原因是为了消除PCI在处理3D图形时的瓶颈。AGP通常会被视为-{zh-hans:计算机总线; zh-hant:电脑汇流排;}-的一种，但这样的分法严格来说是错误的；因为一组-{zh-hans:总线; zh-hant:汇流排;}-可容许多个设备共用，而AGP却不是。AGP不能多个插槽共用一组-{zh-hans:总线; zh-hant:汇流排;}-。一些主机板设有多条独立的AGP-{zh-hans:插槽; zh-hant:埠;}-，-{zh-hans:现时; zh-hant:目前;}-AGP已基本被PCI Express所取代。

**历史**
AGP插槽首次在x86兼容系统出现，是在Socket 7 Pentium和Slot 1 Pentium II主机板上。1997年10月中旬，Intel于i440LX Slot 1晶片组上加入AGP的支持，其后主要主机板供应商也大量推出一系列相关的产品。
最早支持AGP的Socket 7晶片组是VIA Apollo VP3、SiS 5591/5592、以及ALi Aladdin V，而Intel从未发布配备AGP接口的Socket 7晶片组。1997年11月，大众电脑展示了首块使用VIA Apollo VP3晶片组的Socket 7 AGP主机板，名为FIC PA。1998年，磐英科技的主机板EPoX P55-VP3也使用VIA Apollo VP3晶片组，是第一块推出市场的相关主机板。
于早期支持AGP的视讯晶片包括Rendition Vérité V2200、3dfx Voodoo Banshee、Nvidia RIVA 128、3Dlabs PERMEDIA 2、Intel i740、ATI Rage系列、Matrox Millennium II、和S3 ViRGE GX/2。一些早期AGP显示卡使用PCI线路连接图形处理器然后再桥接到AGP，这导致新插槽对显示卡的得益减少，剩下只有66 MHz的前端总线时脉，以及相倍PCI传输频宽的改善。这些卡的例子有Voodoo Banshee、Vérité V2200、Millennium II和S3 ViRGE GX/2。不过，Intel的i740在设计上明确要使用新的AGP功能，因为它只能从AGP记忆体中处理纹理画面，使PCI版本的显示卡难以执行。
微软首次推出AGP支持是在Windows 95 OEM Service Release 2版（OSR2 version 1111或950B）上，透过USB补充OSR2修补程序更新。安装了该修补程序后，Windows 95系统会升级为Windows 95版本4.00.950。另外，首个支持AGP的Windows NT核心操作系统版本，是1997年发表的Windows NT 4.0 Service Pack 3。而Linux于1999年透过AGPgart内核模块加入对AGP高速数据传输的支持。

**相比起PCI的优势**
AGP可把帧缓冲记忆体更有效地使用，除3D绘图外，2D绘图的表现也得以加强。
随着计算机越来越多地以图形为导向，连续几代的图形适配器（graphics adapter）开始挑战PCI（一种共享频宽的汇流排）的极限。这导致了AGP的发展，这是一种专门用于图形适配器的 "汇流排"。
AGP在很大程度上是基于PCI的，实际上AGP汇流排是传统PCI汇流排的超集，AGP卡必须作为PCI卡。
与PCI相比，AGP的主要优势在于它提供了插槽和处理器之间的专用通道，而不是共享PCI汇流排。除了没有争夺汇流排之外，直接连接还可以获得更高的时钟速度。
第二大变化是AGP使用了分离式事务（split transactions），即PCI事务的地址和数据阶段是分开的。卡可以发送许多地址阶段，主机按顺序处理。这就避免了在读操作过程中，汇流排空闲的情况下，出现长时间的延迟。
第三，PCI汇流排交握（PCI bus handshaking ）被简化。与PCI汇流排事务的长度是利用FRAME#和STOP#信号逐周期协商（cycle-by-cycle basis ）的不同，AGP传输总是8位元组长度的倍数，总长度包含在请求中。此外，不是对每个字使用IRDY#和TRDY#信号，而是以4个时钟周期为单位的数据块进行传输（在AGP 8×速度下为32个字），并且只允许在数据块之间暂停。
最后，AGP允许边带定址（sideband addressing）（在AGP 1.0和2.0中是可选的，在AGP 3.0中是必须的），这意味着地址和数据汇流排是分开的，因此地址阶段根本不使用主地址/数据(AD)线。这是通过增加一个额外的8位 "边带地址 "（SideBand Address）汇流排来实现的，当其他AGP数据通过32条主地址/数据(AD)线流动时，图形控制器可以通过该汇流排发出新的AGP请求。这就提高了AGP数据的整体吞吐量。
这种对记忆体读取性能的极大改善，使得AGP卡直接从系统记忆体读取纹理贴图（texture）变得实用，而PCI显卡则必须从系统记忆体复制到显卡的显存。系统记忆体是通过图形地址重映射表(Graphics address remapping table，GART)来提供的，GART根据纹理存储的需要分配主内存，AGP可用的最大系统内存量被定义为AGP孔径（Aperture）。

**AGP的版本**
Mac版）显示卡
AGP Pro显示卡（ Geforce 256）

**标准版本**
1997年，英特尔推出了首个AGP版本，名为“AGP 1.0规格”，包括了1倍速（1x）和2倍速（2x）的速度。之后，又发布了2.0规格的4倍速（4x）和3.0规格的8倍速（8x）速度的AGP。其版本包括：- AGP 1x：使用32-bit传输通道，时脉66MHz，资料传输量为266MB/s，信号电压3.3V。- AGP 2x：使用32-bit传输通道，时脉66MHz，透过双泵增至133MHz，资料传输量为533MB/s，信号电压与AGP 1x相同。- AGP 4x：使用32-bit传输通道，时脉66MHz，透过四泵增至266MHz，资料传输量为1066MB/s，信号电压1.5V。- AGP 8x：使用32-bit传输通道，时脉66MHz，透过八泵增至533MHz，资料传输量为2133MB/s，信号电压0.8V。
AGP 3.5规格是指由微软所提及的＂通用加速影像处理埠＂（Universal AGP，UAGP），当中强制了要支援在AGP 3.0规格中部分原本被视为可选择性支援的暂存器。升级了的暂存器包括PCISTS、CAPPTR、NCAPID, AGPSTAT、AGPCMD、NISTAT、NICMD。而新増的暂存器包括APBASELO、APBASEHI、AGPCTRL、APSIZE、NEPG、GARTLO、GARTHI。

**非标准版本**
不少生产商也会制造一些非标准的AGP接口。- 64-bit AGP：使用64-bit传输通道，用在高端的专业显卡。它曾在AGP 3.0的规格定义方案中被提议成为AGP的一个选择性标准，但在最后议决中不受接纳。- Ultra-AGP、Ultra-AGPII：它是一种内部AGP接口标准，专用在SiS北桥控制器的集成图像晶片上。原始版本的资料传输速度和AGP 8X的相同，而Ultra-AGPII的最高速度更高达3.2GB/s。- AGP Pro：由于需要较多的电力，这是一种很少使用的插槽，而亦因此需要额外的针脚，令插槽长度增加。AGP Pro显示卡通常是用于工作站上，以为专业计算机辅助设计的程式加速，当中包括建筑、机械加工、工程设计、模拟、以及类似领域的电脑会使用。

**PCI修改成AGP**
 AGP Express：它不是真正的AGP接口，而是以一种方式让AGP显示卡透过传统的PCI总线连接拥有PCI Express的主机板。它是一种出现于ECS主机板的技术，及被用来作为卖点，以吸引想要更换新主机板，但又不愿意另外买一张PCI-E显示卡（因为新型号的主机板并没有提供AGP显示卡插槽，-{只}-有唯一的PCI-E插槽）的旧AGP显示卡使用者。AGP Express基本上是一条PCI插槽（不过用上双倍电力）。虽然它提供AGP显示卡向后兼容，但其缺点包括不完整的兼容性（某些AGP显示卡不能在AGP Express上运作）和会降低显示卡效能，因为显示卡要被迫使用频宽较低及共享的PCI总线，而不是使用较快的AGP插槽。- AGI：英文全名为ASRock Graphics Interface（AGI），是一种由华擎科技（ASRock）推出的专有AGP衍生标准。其被产生的目的是为缺乏原生AGP接口支持的ASRock主机板晶片组提供AGP的支持。然而，它的兼容性不是太高，有几款显示卡是已知的不支持它。- AGX: Advanced Graphics eXtended，也是一种专有的AGP衍生标准，由磐英科技（EPoX）所推出。它拥有和上述AGI接口一样的问题，用户手册甚至建议不要和ATI AGP 8X显示卡一同使用。- XGP: Biostar Xtreme Graphics Port（XGP）也是一种衍生AGP的标准，由映泰集团（Biostar）推出。它类似于上述两个标准，为不支持AGP显示卡的晶片组增加AGP支持，也同时存在许多兼容性的问题。

**PCI-E修改成AGP**
 AGR: Advanced Graphics Riser（AGR）是用于微星科技某些PCI-E主机板上的AGP衍生插槽。它是修改至PCI Express接口的，效能上可比拟4x/8x AGP插槽，不过仅支持有限的AGP显示卡，而制造商为此出版了不完整的显示卡和晶片组兼容性列表。

**兼容性**
AGP显示卡针脚的凹口及插槽的凸口
AGP显示卡是支援向上和向下相容的。不过，信号电压为1.5V的显示卡不能插入3.3V的插槽，反之亦然，只有“通用（Universal）”插槽才能同时支援两种类型的卡。AGP Pro显示卡不能装进标准AGP插槽，但标准的AGP显示卡却能工作于AGP Pro插槽上。有些显示卡，如大部分Nvidia的GeForce 6系列或ATI的Radeon X800系列，只有1.5V的凹口（key），以防止它们被安装在不支持1.5V的旧型号主机板上。而最后一代支持3.3V的显示卡有Nvidia的GeForce FX系列，GeForce 6系列（仅限NV44，NV44A）和ATI的Radeon R300系列（仅限R300，而不是R350，R360，RV350，RV360）。
安装显示卡前，检查电压兼容性是相当重要的，因为一些显示卡会错误地拥有双凹口和一些不正确的主机板会有全开放插槽。此外，一些设计不佳的旧式3.3V显示卡会不当地有1.5V的凹口，将这些卡插入不支持正确信号电压的插槽可能会造成损坏。
不过，也有一些独有的例外，例如苹果Macintosh电脑的Apple Display Connector（ADC）接口有一个额外的连接器可为连接的显示提供电源。此外，由于韧体上的问题，显示卡不能由一种CPU架构的电脑移动到另一种的电脑上。

**参见**
 PCI- PCI Express- 电脑装置频宽列表