一问一答话AGP(二)
问题:AGP是UMA(Unified Memory Architecture)的新名称吗?
回答:不是。UMA的功用和AGP完全不同。当DRAM价格仍是天价的时候,某厂商试图推广UMA,将frame buffer从图形加速卡移到个人电脑的主内存上以降低成本。这个成本的权衡产生了严重的效能降低,而且目前这个DRAM成本的考虑也因为DRAM价格下降而变得微不足道。AGP的目的是要提供高效能的3D图形功能。在AGP的规格中,主内存专门用于高级的3D功能,例如texture、alpha buffer以及z-buffer。并且由系统晶片组的内存控制器统筹所有内存存取过程,内存在使用后可以由OS与应用程序重新定义。以此消除了UMA所产生的效能降低现象。AGP允许主内存的动态指位,使之更有弹性。
问题:AGP可相容于各种Pentium家族吗?
回答:Intel只推出支援Pentium Pro家族的AGP晶片组。VIA推出VP3晶片组让AGP可以用于Socket 7的Pentium处理器。VIA在1998年第一季推出的Pentium II晶片组Apollo Pro也会支援AGP。
问题:图形晶片由AGP内存存取资料比起由frame buffer存取资料时会增加多少Clocks和latency?
回答:AGP的存取延迟时间和技术有关,但是绝对大于图形加速卡的local内存。影响延迟时间的原因有内存控制器芯片组、内存种类(有EDO、FPM、SDRAM……)、图形芯片及CPU与内存及PCI体系同时交错来往的资料存取量。
问题:如何决定CPU、PCI、AGP之间存取主内存时的优先顺序?它们之间谁必须要等待?最坏的情况下要等待多久?
回答:这个问题依据不同的芯片组会有不同的做法。一种可能的方式为:CPU从内存外取得第一个可用的时脉,然后AGP与PCI使用剩余的时脉。然而高优先权的AGP命令会领先CPU的优先权。这些包括显示垂直空白的画面,这是无法等待CPU的。AGP对于最大量的产出可能会做出长串的burst的存取。最坏的情形会根据命令顺序、PCI设备的存取等待时间以及AGP产出量的大小而有所不同。
问题:是否系统中所有的设备都可以存取AGP内存?每一个设备所用来存取AGP内存的Address是否相同?
回答:让系统中所有的设备来存取AGP内存是设计时的选项。早先的系统可能允许所有设备连续地存取AGP内存,然而后来的系统不行,因为GART(Graphics Address Reallocation Table)可能无法由PCI设备来存取。虽然如此,这些设备仍然可以将AGP的内存当成非连续页来参考。因此,PCI影像撷取设备仍可以和AGP相容的设备共用记忆体。较早的设计方式,AGP内存映成完全的虚拟位址空间,所以任意的设备都能定址AGP内存,而且这些设备可以使用和AGP内存位址相同的内存。
问题:AGP如何影响3D软件?
回答:冲击来自于内存定址与管理。AGP新增一种内存。AGP内存 ,又称为NonLocal Video Memory,是所有应用程序所使用主机板内存的实体部份。它可以由OS来动态管理图形使用。一些新的旗标将会加入Microsoft的DirectDraw,OS也会支援。其它细节详见微软的AGP网页。如果需要,3D图像馆可能使用新的DirectDraw旗标来完全使用AGP内存。然而对于图形控制器需要更多的内存,也就需要一个更快的机制来存取内存。如果应用程序没有正式要求的话,DirectDraw会自动定址AGP内存给应用程式。
(未完待续)