AGP

AGP,全称为英语:),是电脑主板上的一种高速点对点传输信道,供显卡使用,主要应用在三维电脑图形的加速上。AGP是在1997年由Intel提出,是从PCI标准上创建起来,是一种显卡专用接口。推出原因是为了消除PCI在处理3D图形时的瓶颈。AGP通常会被视为的一种,但这样的分法严格来说是错误的;因为一组可容许多个设备共用,而AGP却不是。AGP不能多个插槽共用一组。一些主板设有多条独立的AGP,AGP已基本被PCI Express所取代。

AGP
AGP(啡色)及两条PCI(白色)
英文全名Accelerated Graphics Port
中文全名
发明日期1996年1996
发明者Intel
替代接口PCI Express
替代日期2004年
阔度32
最多连接1
带宽最高达 2133 MB/s
类别并行
热插拔不支持
外置接口不支持

历史

AGP插槽首次在x86兼容系统出现,是在Socket 7 PentiumSlot 1 Pentium II主板上。1997年10月中旬,Intel于i440LX Slot 1芯片组上加入AGP的支持,其后主要主板供应商也大量推出一系列相关的产品[1]

最早支持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芯片组,是第一块推出市场的相关主板[2]

于早期支持AGP的视频芯片包括Rendition Vérité V2200、3dfx Voodoo BansheeNvidia RIVA 1283Dlabs PERMEDIA 2、Intel i740ATI 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)[3]上,通过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的版本

AGP(Mac版)显卡
AGP Pro显卡( Geforce 256)

标准版本

1997年,英特尔推出了首个AGP版本,名为“AGP 1.0规格”[4],包括了1倍速(1x)和2倍速(2x)的速度。之后,又发布了2.0规格的4倍速(4x)和3.0规格的8倍速(8x)速度的AGP[5][6]。其版本包括:

  • 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 1x1.032 bit66 MHz266 MB/s3.3 V双倍于PCI的数据传输速度
AGP 2x1.032 bit133 MHz(双泵)533 MB/s3.3 V双倍于AGP 1x的数据传输速度
AGP 4x2.032 bit266 MHz(四泵)1066 MB/s (1 GB/s)1.5 V双倍于AGP 2x的数据传输速度
AGP 8x3.032 bit533 MHz(八泵)2133 MB/s (2 GB/s)0.8 V双倍于AGP 4x的数据传输速度

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插槽[7],不过仅支持有限的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架构的电脑移动到另一种的电脑上。

参见

参考数据

  1. Intel 440LX AGPset 页面存档备份,存于, Intel, accessed October 18, 2007.
  2. Lal Shimpi, Anand. Chipset Guide (Socket 7) 页面存档备份,存于, Anandtech, August 1, 1997.
  3. Which version of Windows 95 supports AGP? 页面存档备份,存于, ComputerHope, accessed October 18, 2007.
  4. Accelerated Graphics Port Interface Specification Rev. 1.0 页面存档备份,存于, Intel, accessed October 18, 2007.
  5. AGP 4X: Faster Data Transfer & Better-Quality Images 页面存档备份,存于, Smart Computing, January 2000.
  6. AGP 3.0 Specification 页面存档备份,存于, Intel, accessed October 18, 2007.
  7. . [2008-12-27]. (原始内容存档于2014-11-10).
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.