- 振金
-
我转的啊。。。。。很详细
AGP PCIE AGP
关于AGP,当前最先进的图形系统接口(相对与几年前是这样的,不过现在基本上被PCI-E取代了,要知道详情请仔细往下看),我想没必要再作过多的解释了。这项技术始于三年以前,那时3D图形加速技术开始流行并且迅速普及,新兴的3D加速卡需要从CPU和系统内存获得的数据比它们仅仅具有“2D加速”功能的前辈们所需要的多得多。为了使系统和图形加速卡之间的数据传输获得比PCI总线更高的带宽,AGP便应运而生。
为什么需要AGP?
刚开始的时候,AGP的高带宽被用来将3D物体的纹理数据传送给3D加速卡。一些3D加速卡仅仅是把AGP当作更快的PCI总线来使用,另外一些3D加速芯片则用到了“AGP纹理”,也就是说把大纹理储存在系统主存中,需要时直接从那里而不是本地显存里调用。当然,这在今天仍然是AGP的用途之一,但是对AGP4X的需求则是来自3D渲染过程的另一个环节——复杂3D物体的三角形数据。在一个3D场景进行转换和光照处理之前,场景中所包含的物体应当被确定,物体的细节越清晰,需要传输的三维像素就越多。比如NVidia的GeForce,作为第一个集成了转换与光照引擎的3D加速芯片,能够处理的三角形数量是惊人的,但是在这一切开始之前,所需要的数据必须被传送给它,毫无疑问,这就只有通过AGP来进行。
评测AGP
这个事实在对AGP进行测试时同样需要考虑到。几年以前的AGP测试仅仅是通过显示需要大量纹理的3D场景,试图用大量的纹理数据流来使AGP接口达到饱和,这样的测试几乎没有显示出AGP1X和2X之间到底有什么区别,它们当然同样也不能体现出AGP4X带来的性能提升。这就是为什么我们需要用另外的方法来使AGP接口饱和。目前测试AGP性能的最好方法无疑是通过显示包含大量极其复杂的3D物体的场景,来让AGP传送极其大量的三角形数据。在后面你们将看到测试结果。无论如何,现在的3D游戏所用到的多边形还远没有达到AGP4X的极限,所以我们不得不再次等待“将来的话题”。眼下真正用到极其复杂的3D物体的软件主要是专业的OpenGL软件,所以用它们来做测试应该是再合适不过的了。
有关AGP的其他方面
在以前的文章里面,我曾经提到100MHz的内存总线是AGP和其他一些内存相关的系统所必需的。在今天,这样的需求有增无减,只有当系统有了足够的内存带宽AGP的超高带宽才会得到充分利用。内存永远是要被许多系统设备同时共享的:CPU、PCI总线、DMA设备,还有AGP。在大多数情况下,内存是AGP设备的数据来源,所以如果AGP用到了它的全部带宽,内存就至少应当能够提供同样高的带宽。这样的话,相应于AGP4X的1066MB/s带宽,内存就至少要是PC133的才行:64位的数据宽度和133MHz的工作频率提供的带宽恰恰是1066MB/s。但是AGP不可能独占内存带宽,它必须和其他设备共享,于是只有当系统使用了RDRAM或DDR-SDRAM时AGP4X才能完全发挥。Intel的820芯片组支持的单条PC800 RDRAM通道提供了1.6GB/s的带宽,相当于PC200 DDR-SDRAM,PC266 DDR-SDRAM则提供了2.1GB/s的带宽,而Intel 840芯片组上的双PC800 RDRAM通道最终将提供3.2GB/s的带宽。当软件开始利用AGP4X时,上述平台的表现将会优于目前的PC100或PC133平台。
快写——GeForce独一无二的特性
NVidia的GeForce256 3D图形加速芯片的特性之一就是它对“快写”模式的独一无二的支持。这个概念意味着直接从CPU到图形芯片之间的数据传输,显然与“AGP纹理”之类的概念无关。运用极其复杂的3D物体的3D软件需要CPU把极其大量的三角形数据传送给图形芯片,这里“快写”模式的运用就避免了数据从CPU到内存再从内存到图形芯片这样一个缓慢曲折的过程。“快写”的概念就是把CPU和图形芯片直接联系起来。关于“快写”的更多细节请看NVidia的白皮书。目前这项技术只有在Intel的820和840芯片组上才能实现,其他的支持AGP4X的芯片组比如VIA的Apollo Pro 133和Apollo KX133没有得到GeForce驱动的支持。在下面的章节里,你们将会发现这其实是一件好事,因为支持“快写”的驱动似乎还存在一些问题,而这些问题导致了820和840系统性能的明显下降。
AGP和Windows NT
在描述了AGP硬件方面的一些特性之后,我们还应当明白AGP同样需要软件的支持。正如前面已经提到过的,AGP为图形芯片提供了快速访问主内存的通道以满足各种需要,AGP纹理即是其中之一。对此操作系统必须加以支持并且应当能够在适当的时候把内存资源分配给显示驱动调用。图形地址重映射表(GART—— graphics address remapping table)就是这些内存资源的清单而GART驱动就是负责这一切的软件。今天,所有的AGP显卡都已经在针对Windows9x的驱动中包含了Intel平台上的名为“vgart.vxd”GART驱动,而其他的芯片组厂商就不得不为相应的主板提供他们自己的GART驱动软件。比如Athlon系统,在没有安装驱动时就根本认不出AGP显卡,只有安装了相应的驱动,对于AMD750芯片组是“amdmp.sys”,VIA Apollo KX-133则是“viagart.vxd”,才能正常地工作。
至于微软的Windows NT操作系统则根本没有打算提供AGP支持。在迄今为止所有的NT补丁包里面都没有包含GART驱动,以至于图形芯片厂商不得不独立提供NT下的AGP支持,这种支持也许会包含在显卡的NT驱动里面,也许不会,你只有通过一些特殊的侦测软件或者在NT下进行测试才能判断出来。目前我只对NVidia的芯片进行了NT下的测试,发现TNT、TNT2和GeForce都具有AGP支持,但仅仅是在Intel平台上。基于其他芯片组的平台只能通过所谓的“PCI66”模式获得一些补偿,这种模式提供了略低于AGP1X的带宽。目前最新的但不是正式的例外只有VIA的Athlon芯片组KX-133,即使在NT下它也能使GeForce256芯片运行AGP4X。这一点希望能够在即将发布的Windows2000中得到纠正。
AGP标准分为AGP1.0(AGP 1X和AGP 2X),AGP2.0(AGP 4X),AGP3.0(AGP 8X)。
1996年7月AGP 1.0 图形标准问世,分为1X和2X两种模式,数据传输带宽分别达到了266MB/s和533MB/s。这种图形接口规范是在66MHz PCI2.1规范基础上经过扩充和加强而形成的,其工作频率为66MHz,工作电压为3.3v,在一段时间内基本满足了显示设备与系统交换数据的需要。这种规范中的AGP带宽很小,现在已经被淘汰了,只有在前几年的老主板上还见得到。
近几年显示芯片的发展实在是太快了,图形卡单位时间内所能处理的数据呈几何级数成倍增长,AGP 1.0 图形标准越来越难以满足技术的进步了,由此AGP 2.0便应运而生了。1998年5月份,AGP 2.0 规范正式发布,工作频率依然是66MHz,但工作电压降低到了1.5v,并且增加了4x模式,这样它的数据传输带宽达到了1066MB/sec,数据传输能力大大地增强了。
AGP Pro接口与AGP 2.0同时推出,这是一种为了满足显示设备功耗日益加大的现实而研发的图形接口标准,应用该技术的图形接口主要的特点是比AGP 4x略长一些,其加长部分可容纳更多的电源引脚,使得这种接口可以驱动功耗更大(25-110w)或者处理能力更强大的AGP显卡。这种标准其实是专为高端图形工作站而设计的,完全兼容AGP 4x规范,使得AGP 4x的显卡也可以插在这种插槽中正常使用。AGP Pro在原有AGP插槽的两侧进行延伸,提供额外的电能。它是用来增强,而不是取代现有AGP插槽的功能。根据所能提供能量的不同,可以把AGP Pro细分为AGP Pro110和AGP Pro50。在某些高档台式机主板上也能见到AGP Pro插槽。
2000年8月,Intel推出AGP3.0规范,工作电压降到0.8V,并增加了8X模式,这样它的数据传输带宽达到了2133MB/sec,数据传输能力相对于AGP 4X成倍增长,能较好的满足当前显示设备的带宽需求。
Accelerated Graphics Port的缩写,即“加速图形端口”,是英特尔开发的新一代局部图形总线技术。AGP技术的两个核心内容是:一、使用PC的主内存作为显存的扩展延伸,这样就大大增加了显存的潜在容量;二、使用更高的总线频率66MHz、133HZ甚至266MHz,极大地提高数据传输率。AGP总线是一种专用的显示总线,并且将显示卡从POI:上独立出去,使得PCI声卡、SCSI设备、网络设备、I/S设备等的工作效率随之得到提高。从AGP中受益最大的是以3D游戏为主的一些3D程序。 其发展已经经历了AGP 1×,AGP 2×,AGP 4×,AGP 8×几个阶段。
PCI-Express是最新的总线和接口标准,它原来的名称为“3GIO”,是由英特尔提出的,很明显英特尔的意思是它代表着下一代I/O接口标准。交由PCI-SIG(PCI特殊兴趣组织)认证发布后才改名为“PCI-Express”。这个新标准将全面取代现行的PCI和AGP,最终实现总线标准的统一。它的主要优势就是数据传输速率高,目前最高可达到10GB/s以上,而且还有相当大的发展潜力。PCI Express也有多种规格,从PCI Express 1X到PCI Express 16X,能满足现在和将来一定时间内出现的低速设备和高速设备的需求。能支持PCI Express的主要是英特尔的i915和i925系列芯片组。当然要实现全面取代PCI和AGP也需要一个相当长的过程,就象当初PCI取代ISA一样,都会有个过渡的过程。
PCI Express(以下简称PCI-E)采用了目前业内流行的点对点串行连接,比起PCI以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到PCI所不能提供的高带宽。相对于传统PCI总线在单一时间周期内只能实现单向传输,PCI-E的双单工连接能提供更高的传输速率和质量,它们之间的差异跟半双工和全双工类似。
PCI-E的接口根据总线位宽不同而有所差异,包括X1、X4、X8以及X16,而X2模式将用于内部接口而非插槽模式。PCI-E规格从1条通道连接到32条通道连接,有非常强的伸缩性,以满足不同系统设备对数据传输带宽不同的需求。此外,较短的PCI-E卡可以插入较长的PCI-E插槽中使用,PCI-E接口还能够支持热拔插,这也是个不小的飞跃。PCI-E X1的250MB/秒传输速度已经可以满足主流声效芯片、网卡芯片和存储设备对数据传输带宽的需求,但是远远无法满足图形芯片对数据传输带宽的需求。 因此,用于取代AGP接口的PCI-E接口位宽为X16,能够提供5GB/s的带宽,即便有编码上的损耗但仍能够提供约为4GB/s左右的实际带宽,远远超过AGP 8X的2.1GB/s的带宽。
尽管PCI-E技术规格允许实现X1(250MB/秒),X2,X4,X8,X12,X16和X32通道规格,但是依目前形式来看,PCI-E X1和PCI-E X16已成为PCI-E主流规格,同时很多芯片组厂商在南桥芯片当中添加对PCI-E X1的支持,在北桥芯片当中添加对PCI-E X16的支持。除去提供极高数据传输带宽之外,PCI-E因为采用串行数据包方式传递数据,所以PCI-E接口每个针脚可以获得比传统I/O标准更多的带宽,这样就可以降低PCI-E设备生产成本和体积。另外,PCI-E也支持高阶电源管理,支持热插拔,支持数据同步传输,为优先传输数据进行带宽优化 。
AGP vs PCI——理论上的较量
AGP和PCI根本上的区别在于AGP是一个“端口”,这意味着它只能接驳一个终端而这个终端又必须是图形加速卡。PCI则是一条总线,它可以连接许多不同种类的终端,可以是显卡,也可以是网卡或者SCSI卡,还有声卡,等等等等。所有这些不同的终端都必须共享这条PCI总线和它的带宽,而AGP则为图形加速卡提供了直接通向芯片组的专线,从那里它又可以通向CPU、系统内存或者PCI总线。
普通的PCI总线数据宽度为32位(bit),以33MHz的速度运行,这样它能提供的最大带宽就是4byte/sX33MHz=133MB/s。尽管新的PCI64/66规范提供了64位的数据宽度和66MHz的工作频率,带宽相应达到了533MB/s,但它面向的是需要极高数据带宽的I/O控制器,比如IEEE1394或者千兆位的网卡,目前几乎没有得到任何支持。AGP同样是32位的数据宽度,但它的工作频率从66MHz开始,这样,按常规方法利用每个时钟周期的下降沿传输数据的AGP1X规范就能提供266MB/s的带宽,而AGP2X,通过同时利用时钟周期的上升和下降沿传输数据,可以达到533MB/s的带宽,最新的AGP4X更是把带宽提高到了1066MB/s。
- nicf
-
AGP接口数据传输速度慢,PCI-E比AGP快,所以很多PCI-E的独立显卡性能都比AGP显卡强,况且AGP显卡几年前就停产了
- tt白
-
AGP8X是2.1G的而PCIE每1X是单向250MB,双向500MB,PCIE16X就是惊人的4/8GB传输率
另外PCIE的供电要比AGP大,能提供最大75W的
现阶段来看6600以下的显卡,AGP8X和PCIE速度相差不大,6600以上特别是SLI应用PCI-E比较多。最关键的是AGP已经被PCIE取代了,PCI-E是主流