AGP

来自Local Chinese Wikipedia
跳转到导航 跳转到搜索
AGP
File:AGP slot.jpg
AGP插槽(啡色)及兩條PCI插槽(白色)
英文全名Accelerated Graphics Port
中文全名加速图形接口
發明日期1996年,​29年前​(1996
發明者Intel
替代介面PCI Express
替代日期2004年
闊度32
最多連接1
带宽最高達 2133 MB/s
類別并行
熱插拔不支持
外置介面不支持

AGP,全稱為加速图形接口(英語:Accelerated Graphics Port),是電腦主機板上的一種高速點對點傳輸通道,供顯示卡使用,主要應用在三維電腦圖形的加速上。AGP在1997年由Intel提出,從PCI标准上建立起来。推出原因是为了消除PCI在处理3D图形时的瓶颈。AGP通常會被視為一种计算机总线,但這樣的分法嚴格來說是錯誤的,因為一組总线可容許多個設備共用,而AGP卻不是。AGP不能多個插槽共用一組总线。一些主機板設有多條獨立的AGP插槽。现时AGP已基本被PCI Express所取代。

歷史[编辑]

AGP 插槽首次出现在基于 Socket 7 Intel P5 Pentium 和 Slot 1 P6 Pentium II 处理器的 x86 兼容系统主板上。Intel 于 1997 年 8 月 26 日通过 i440LX Slot 1 芯片组引入了 AGP 支持,随后各大系统主板厂商纷纷推出相关产品[1]。AGP 由 Intel 独立开发,未经 PCI 特别兴趣小组审查或认可。

最早支持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。不過,Inteli740在設計上明確要使用新的AGP功能,因為它被设计为仅从 AGP 内存读取纹理数据,这使得基于 PCI 的主板版本难以实现(本地主板 RAM 必须模拟 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高速數據傳輸的支持。

后期使用情况[编辑]

随着 PCIe 的广泛采用,显卡制造商继续生产 AGP 卡,尽管该标准已逐渐被淘汰。由于 GPU 开始设计为连接至 PCIe,因此需要额外的 PCIe 到 AGP 桥接芯片来制造兼容 AGP 的显卡。桥接芯片的加入以及对独立 AGP 卡设计的需要导致了额外的主板成本增加。

GeForce 6600ATI Radeon X800 XL(发布于 2004–2005 年)是首批采用桥接技术的显卡。到 2009 年,Nvidia 的 AGP 卡最高仅支持 GeForce 7 系列。2011 年,AMD 厂商(包括 Club 3D、HIS、Sapphire、Jaton、Visiontek、Diamond 等)推出的支持 DirectX 10 的 AGP 显卡包括 Radeon HD 2400、3450、3650、3850、4350、4650 和 4670。AMD Catalyst 软件中提及的 HD 5000 AGP 系列从未上市。在 Windows 7 系统下,使用 AMD Catalyst 11.2–11.6 版本的 AGP 热修复驱动程序时,HD 4000 系列 AGP 显卡存在诸多问题;改用 10.12 或 11.1 版本的 AGP 热修复驱动程序可作为可能的解决方案。上述部分厂商仍提供过往版本的 AGP 驱动程序。

到 2010 年,已无新的主板芯片组支持 AGP,新主板上配备 AGP 插槽的也寥寥无几,但仍有部分产品继续使用旧款支持 AGP 的芯片组进行生产。

2016 年,Windows 10 版本 1607 停止了对 AGP 的支持。2020 年 Linux 也曾考虑过从开源内核驱动程序中移除对 AGP 的支持。

相比起PCI的優勢[编辑]

AGP 标准建立在 PCI 架构之上,实质上是传统 PCI 总线的超集,因此 AGP 显卡在电气特性上必须兼容 PCI 规范。然而,随着计算机图形界面和 3D 应用的普及,共享带宽的 PCI 总线逐渐成为性能瓶颈。为了克服这些局限,AGP 引入了多项关键性的技术改进,旨在大幅提升图形适配器与系统之间的数据传输效率。

专用的点对点连接[编辑]

AGP 最核心的优势在于其拓扑结构的改变。与 PCI 总线不同,AGP 并非由多个设备共享带宽的公共通道,而是为显卡提供了一条专用的点对点通路。这种直接连接不仅消除了与其他外设争夺总线带宽的竞争,还允许采用更激进的信号优化措施(如降低信号电压),从而支持更高的时钟频率和数据传输速率。

拆分事务与流水线操作[编辑]

AGP 采用了拆分事务机制(split transactions),将地址阶段(请求)与数据阶段(响应)分离开来。这意味着总线不必像处理 PCI 事务那样,在等待读取数据返回时处于空闲状态(即避免了等待状态)。AGP 允许在之前的请求尚未完成时就发送新的地址请求,使得多笔事务可以同时处于“飞行”状态。通过高优先级和低优先级队列的管理,AGP 实现了接近理论最大值的实际吞吐量,极大地改善了内存读取性能。

边带寻址[编辑]

为了进一步提升效率,AGP 引入了边带寻址技术(在 AGP 3.0 中为强制标准)(sideband addressing)。该技术增加了一条独立的 8 位“边带地址”总线,将地址信号与主 32 位数据/地址线分离。这使得图形控制器可以在主线路忙于传输数据的同时,通过边带线路并行发送新的请求指令。这种并行处理能力显著提高了总线的整体利用率和数据传输吞吐量。

简化的总线握手协议[编辑]

相比 PCI 复杂的握手机制,AGP 对总线握手过程进行了简化。PCI 事务的长度通常需要逐周期协商,而 AGP 传输总是以 8 字节为单位,且总长度包含在初始请求中。此外,AGP 不再对每个字使用就绪信号,而是以数据块(例如每 4 个时钟周期或 32 个字)为单位进行传输,暂停仅允许发生在数据块之间。这种机制减少了协议开销,提升了传输效率。

直接内存执行与纹理存储[编辑]

得益于上述对内存读取性能的极大改善,AGP 使得显卡直接从系统内存中读取纹理贴图成为可能,这一特性被称为直接内存执行。相比之下,PCI 显卡通常必须先将纹理数据从系统内存复制到显存中才能处理。AGP 通过图形地址重映射表按需分配主内存用于存储纹理,系统可供 AGP 使用的最大内存量被称为“AGP 孔径”。这种机制允许硬件制造商在显卡板载显存容量与总线带宽之间进行权衡,甚至支持极低显存或无显存的显卡设计。

AGP的版本[编辑]

File:NVIDIA GeForce4 Ti 4600 Mac.jpg
AGP(Mac版)顯示卡
File:Quadro ELSA GLoria II Pro.jpg
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傳輸通道,時脈66 MHz,資料傳輸量為266 MB/s,信號電壓3.3 V。
  • AGP 2x:使用32-bit傳輸通道,時脈66 MHz,透過雙泵增至133 MHz,資料傳輸量為533 MB/s,信號電壓與AGP 1x相同。
  • AGP 4x:使用32-bit傳輸通道,時脈66 MHz,透過四泵增至266 MHz,資料傳輸量為1066 MB/s,信號電壓1.5 V。
  • AGP 8x:使用32-bit傳輸通道,時脈66 MHz,透過八泵增至533 MHz,資料傳輸量為2133 MB/s,信號電壓0.8 V。
速度 規格 傳輸通道 有效時脈 資料傳輸速度 信號電壓 註釋
AGP 1x 1.0 32 bit 66 MHz 266 MB/s 3.3 V 雙倍於PCI的資料傳輸速度
AGP 2x 1.0 32 bit 133 MHz(雙泵) 533 MB/s 3.3 V 雙倍於AGP 1x的資料傳輸速度
AGP 4x 2.0 32 bit 266 MHz(四泵) 1066 MB/s (1 GB/s) 1.5 V 雙倍於AGP 2x的資料傳輸速度
AGP 8x 3.0 32 bit 533 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顯示卡,而製造商為此出版了不完整的顯示卡和晶片組兼容性列表。

兼容性[编辑]

File:AGP & AGP Pro Keying.svg
AGP顯示卡針腳的凹口及插槽的凸口

AGP 显卡在有限范围内具有向后和向前兼容性。不過,信號電壓為1.5V的顯示卡不能插入3.3V的插槽,反之亦然,只有“通用(Universal)”插槽才能同時支援兩種類型的卡。有些顯示卡,如大部分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的凹口,將這些卡插入不支持正確信號電壓的插槽可能會造成損壞。

AGP Pro顯示卡不能裝進標準AGP插槽,但標準的AGP顯示卡卻能工作於AGP Pro插槽上。配备通用 AGP Pro 插槽的主板可接受在 AGP Pro 或标准 AGP 配置下的 1.5 V 或 3.3 V 卡、通用 AGP 卡或通用 AGP Pro 卡。

不過,也有一些獨有的例外,例如蘋果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. MSI K8N Neo3-F Motherboard Review - What's an AGR video slot?. [2008-12-27]. (原始内容存档于2014-11-10).