CN100416610C - 图形处理系统、装置及其纹理数据的处理方法 - Google Patents
图形处理系统、装置及其纹理数据的处理方法 Download PDFInfo
- Publication number
- CN100416610C CN100416610C CNB200510116633XA CN200510116633A CN100416610C CN 100416610 C CN100416610 C CN 100416610C CN B200510116633X A CNB200510116633X A CN B200510116633XA CN 200510116633 A CN200510116633 A CN 200510116633A CN 100416610 C CN100416610 C CN 100416610C
- Authority
- CN
- China
- Prior art keywords
- data
- texture
- memory
- pixel
- subclass
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Abstract
本发明是有关于一种图形处理系统、装置及其纹理数据的处理方法,该图形系统包括:一第一缓存、一数据格式器、一第二缓存、一纹理过滤器先进先出内存、一纹理过滤器单元、一第一测试逻辑电路、以及一逻辑电路数据表。在多缓存架构中用自适应遗失数据表改进图形系统功能,这样,数据表大小随图形数据的完整性而定。
Description
技术领域
本发明涉及纹理(texture)缓存,特别是有关于在多缓存计算机图形环境中用适应遗失数据表进行纹理快速控制的图形处理系统、装置及其纹理数据的处理方法。
背景技术
如所周知,计算机图形处理系统要对大量的数据进行处理,其中包括纹理数据。所谓纹理是一种数字图像,往往为具有(u,v)坐标空间的矩形。纹理的最小寻址单元为质素(texel),这是一个根据其位置分配的特定(u,v)坐标空间。在纹理映射处理中,纹理被映射至图形模型的表面,再从该模型产生目标图像。在目标图像中,象素(pixel)位于(x,y)坐标系的特定的坐标中。
纹理数据经常留置于属于共享资源的系统内存中。在许多计算机系统中,其它装置可能试图获取图形处理系统所用的数据或使用共享系统总线,这两种情况都可能造成图形处理系统的数据采集时间增加。
另外,向系统内存要求获取数据可能因为其它原因会需要很长的时间。因此,从系统内存获取数据可能会影响图形处理系统的工作效率。
改进数据采集的技术之一是采用专用于储存纹理数据的纹理缓存(texture cache)。纹理数据在被处理之前,先被从系统内存中提供给纹理缓存,从而将纹理数据提供给图形系统,减少了存取系统内存的需要。因此这减少了内存的延误时间。
但是,纹理缓存一般缺乏储存全部纹理映射的能力。容量足以储存全部纹理映射的纹理缓存可能会使其功能下降,因为缓存的存取时间通常要随缓存大小的增加而增加。另外,增加缓存的大小需要更多价格不菲的芯片资源。
一种不降低缓存功能而增加缓存大小的普通方法是提供两级缓存。两级缓存中的第一级缓存用来存最可能立即需要的数据,而第二级缓存用来存很可能在最近的将来会用到的数据。从在不实质性降低缓存性能的前提下增加缓存大小的观点看,采用两级缓存的好处在于其能提高数据的可用性,同时减少了存取时间。但是,采用两级缓存产生了给缓存系统选择与传送数据以及从缓存系统删除数据的问题。因此,如果不能适当判定需要请求、传送与删除什么数据,两级缓存系统的好处就要减少。
换句话说,就是必须开发出一种有效的技术来分配缓存的容量与时间资源,以使缓存系统中保有完整的待处理纹理数据。例如,当所需的数据块在缓存中被找到时,这就是“命中(hit)”,所请求的数据被复制并传送至处理器。或者,如数据块未命中,这就是“遗失(miss)”,所请求的数据最终必须从系统内存中读出并传送至缓存与处理器。“遗失”的内存存取要化费额外的存取时间。若能发展出一种能对缓存系统进行高效控制的技术,将可满足在计算机图形环境中的图形数据快速处理的重要需求。
因此,在产业上存在着一个迄今为止尚未解决的需求,即要解决上述的缺陷与不足。
发明内容
本发明要解决的技术问题是提供一种在多缓存电脑图形环境用自适应遗失数据表进行纹理缓存的控制方法,系统与图形处理装置。
本发明的一实施例提供了一种处理装置,其包括一第一缓存,将纹理数据传送至一第二缓存,其中该数据为封包,封包可包括多个象素;一数据格式器,将第二缓存接收到的纹理数据转换成集关联(set-associative)纹理数据;一自适应遗失数据表,根据集关联纹理数据中的遗失数在第一维上增长;以及纹理缓存控制逻辑电路,使用自适应遗失数据表将象素纹理数据分成一个以上的周期,其中象素纹理数据是由纹理过滤单元接收到。
简单地说,在结构上,有某一个实施例可以作为能根据封包进行运行的图形处理系统来应用,其包括一封包,包括多个象素,该多个象素中的每一个象素相当于多个具有质素位置的质素;一第一缓存,从系统内存接收纹理数据,并被分成多个槽(slot);一数据格式器,将纹理数据转换成集关联纹理数据;一第二缓存,接收该集关联纹理数据;一纹理过滤器先进先出内存,用来储存集关联纹理数据;一纹理过滤器单元,从纹理过滤器先进先出内存接收集关联纹理数据并产生与多个象素相对应的多个纹理值,这样,纹理过滤器单元能得到的集关联纹理数据经过过滤产生多个象素的纹理值;一第一测试逻辑电路,先对第二缓存然后对第一缓存进行第二缓存遗失的数据命中测试;以及一逻辑电路数据表,位于第一测试逻辑电路中,储存相关于命中测试的多个状态旗标。
本发明实施例更提供了一种处理图形处理器中的纹理数据的处理方法,其包括如下步骤:将多个象素组织成封包;在第一缓存接收封包图形数据;将封包图形数据传送至第二缓存;将图形数据分类排序为数据表,其中分类排序依据图形数据的坐标向量进行,该数据表包括第一轴与第二轴;沿数据表第一轴产生用于标记有效条目(entry)的象素有效屏蔽;在数据表中进行有效数据条目测试;为多个子集中的一子集确定第一遗失纹理地址,其中该子集代表多个共享第二轴值中的一个值;沿具有共享第二轴值的第一轴产生附加条目;掩盖数据表中的该第一遗失地址与命中纹理地址;以及输入象素分割数据,包括将纹理地址纹理地址与第一遗失地址置入纹理过滤器先进先出内存,以从内存取出遗失数据。
本发明技术方案通过判定需要请求、传送与删除什么数据,来有效的分配缓存的容量与时间资源,所以使二级缓存的性能得到提高。
为让本发明的上述与其它特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1是计算机系统的简化方块图。
图2是表示进行本发明的纹理过滤处理的例示系统的方块图。
图3表示本发明的一实施例的某些基本组成部分。
图4是表示用本发明的技术进行纹理数据处理的逻辑电路组成部分的示范例。
图5是表示例示的L2缓存组织格式的方块图。
图6是表示例示的L1缓存组织格式的方块图。
图7是表示例示的、通过数据格式器,从L2的一个数据库到L1的相应集进行数据传输的方块图。
图8是表示例示的L1缓存中的集关联数据使用情况的方块图。
图9是表示例示的L1组织格式的另一种情况的方块图。
图10是表示参照图4讨论过的例示的纹理过滤器先进先出内存的格式的方块图。
图11是表示本发明所揭露的例示的自适应遗失数据表的图表。
图12是表示本发明所揭露的方法的实现方法的流程图。
图13是表示本发明的分割象素数据的实施例的流程图。
100:计算机系统
102:CPU
104:系统内存
106:纹理映射
108:系统接口
110:图形处理系统
112:前端处理器
114:L2缓存
116:L1缓存
118:纹理过滤器
120:框缓冲存储器
130:显示装置
200:系统
202:基本指令处理器
204:数据取样器
206:纹理过滤器
208:随机存取内存
210:象素处理器
212:渲染缓冲存储器
310:图形组成部分
312:纹理缓存控制逻辑电路
314:缓存测试逻辑电路
316:多缓存
318:自适应遗失数据表
402:纹理先进先出内存控制
404:L2缓存控制
406:系统内存/界面
410:纹理过滤器先进先出内存
420:L2缓存
430:数据格式器
440:L1缓存
450:过滤器MUX
460:纹理过滤器
470:过滤器
500:L2缓存
501:L2数据线
502:奇数块
504:偶数块
510:库
520:通道
600:L1缓存
602:L1数据线
610:集
620:子集
630:质素
702:L2缓存库
706:数据线
710:数据格式器
722:L1子集
720:L1集
802:子集
804:子集
810:集
812:集
902:集
904:子集
906:象素
1000:纹理过滤器先进先出内存
1010:纹理过滤器先进先出内存
1020:指向器先进先出内存
1022:指向器
1110:标记(tag)
1112:标记
1114:标记
1116:象素有效位
1118:标记
1122:标记
1130:第一遗失
1132:第二遗失
1134:遗失纹理数据地址
1210:将象素组织进封包
1212:接收封包图形数据至L2
1214:将封包图形数据传送至L1
1216:对图形数据分类排序进数据表
1218:产生象素有效屏蔽
1220:进行有效表条目测试
1222:确定遗失
1224:产生附加表条目
1226:掩盖数据表中的命中与遗失条目
1228:向先进先出内存输入象素分割数据
1310:第一阶段
1320:第二阶段
1330:第三阶段
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的图形处理系统,装置,及其纹理数据的处理方法其具体实施方式、结构、特征及其功效,详细说明如后。
如同下面将要进一步说明的那样,在图形系统中有若干部分可以实施本发明的特征与内容。同样地,从下面的说明中可以看到,除了计算机图形的领域外,还有别的系统与环境也可以应用本发明的概念。
请参照图1,其表示计算机系统100的简化方块图。该计算机系统100包括一CPU102,一系统内存104,以及一图形处理系统110。CPU102可执行各种功能,包括确定信息,例如视点位置,允许产生图形显示。系统内存104储存各种数据,包括图形显示数据,例如多个纹理映射106。图形处理系统110根据CPU102所确定的信息以及系统内存104中储存的数据,产生显示装置(例如监视器)的显示数据。
CPU102通过系统接口108向图形处理系统110提供请求,包括请求处理与显示图形信息。CPU102来的图形请求由图形处理系统110接收并提供给前端处理器112。前端处理器112产生包含与显示装置130一致的象素坐标的象素流。
前端处理器112产生的关于象素坐标的信息被提供至纹理过滤器118。纹理过滤器118用例如双线性过滤技术、三线性过滤技术或其组合对信息进行过滤,并对每个象素产生纹理数据。该纹理数据是传送至用来产生显示装置130的显示的框缓冲存储器120的最终彩色数据的组成部分。
图形处理系统110包括多个缓存。缓存包括一级(“L1”)缓存116与二级(“L2”)缓存114。L1与L2缓存储存部分图形处理时用的纹理映射106。纹理映射106包括几何图形对象的纹理信息。该纹理信息是储存为各别纹理元素,即所说的质素,其在图形处理中用来定义显示于象素坐标的彩色数据。显示数据从系统内存104流向L2缓存114,然后从L2缓存114流向L1缓存116。
请参照图2,该图是表示进行本发明的纹理过滤处理的例示系统200的方块图。该系统200一般是在计算机或类似的处理装置中的图形处理系统中工作的。系统200包括一基本指令处理器202,一数据取样器204,一纹理过滤器206,储存纹理用的随机存取内存(RAM)208,一象素处理器210,以及一渲染缓冲存储器(rendering buffer)212。
基本指令处理器202,可以是三角处理器,一般接收三维几何元素(例如三角或其它图形基本指令)并且对描述图形基本指令的大小、形状、位置以及其它相关特征的数据进行处理。有时,基本指令处理器202还能产生基本指令的边缘函数。这些基本指令可以用欧几理得(Euclidian)坐标系进行三维定义,或者用齐次(homogenous)坐标系进行四维定义,接着用习知算法投射到二维的平面上。
数据取样器204从基本指令处理器202接收到的多边形数据中选取有限值集。多边形数据的取样可以以不同的分辨率进行。例如,多边形的内部可以用产生目标屏幕分辨率所需的分辨率取样,而检测到的多边形的边缘可以用更高的分辨率进行更精细的取样。
纹理过滤器206进行过滤技术的一种技术(例如,二线性过滤,三线性过滤,箱状过滤(box filtering),与/或其组合)来计算新象素的彩色值(或其它特性),然后将其分配给特定的象素。纹理过滤器206可以根据从随机存取内存208接收到的数据产生经过过滤的质素值。另外,纹理过滤器206可以有各种各样的应用,例如渲染多分辨率数据取样(不同分辨率的多边形数据取样)。
象素处理器210进行渲染(rendering)处理。渲染处理可以按所选定的方式进行变化以产生各种不同效果,例如仿真光源与阴影。最后,渲染缓冲存储器212储存图像,图像可以在显示装置上显示或用来渲染另一个图像。
请参照图3,该图表示本发明实施例的某些基本组成部分。图3包括标示为“图形组成部分”310的组成部分,其可以指定或代表图形处理管线中的硬件组件。在该组成部分中,逻辑电路312可以由纹理缓存控制器提供,该控制器还在图形组成部分中提供与多个缓存316相应的数据与缓存控制功能。如同下面将要讨论的那样,多个缓存包括L1缓存(下称L1),以及L2缓存(下称L2)。纹理缓存控制逻辑电路312包括遗失数据表318,用来推进一个周期以上的象素数据的分割以改进纹理过滤资源的利用。同样地,缓存测试逻辑电路314可用来在纹理过滤前评估纹理数据的完整性以改进纹理过滤资源的利用。
下面请参照图4,该图是表示用本发明的技术进行纹理数据处理的逻辑电路组成部分的示范例。系统内存与内存接口406用来向纹理过滤系统提供储存在纹理映射中的纹理数据。在被请求时,该纹理数据可以用纹理地址数据的形式提供给L2 420。尽管纹理地址数据可以为物理地址数据的形式,但是有些实施例采用逻辑电路地址数据,这最终将分解成物理地址数据。系统内存406从L2缓存控制器404接收数据请求,在一些实施例中该控制器从纹理先进先出内存控制器402接收关于所需纹理数据的信息。纹理先进先出内存控制器402对纹理过滤器先进先出内存410进行管理,该过滤器的工作是对系统内存406至L2 420的遗失纹理数据存取延迟进行补偿。
L2 420中的纹理数据由数据格式器430重新格式化以产生供给L1 440的集关联数据。如同下面将要讨论的,L1 440被组织成质素的集与子集,其中集关联映射限制了L1中的子集到L2中的相应通道的存取。储存在L1 440中的数据可提供给过滤器MUX450继而传送给纹理过滤器460。过滤器MUX450还可以纹理过滤器先进先出内存410通讯,传送任何附加的数据需求。另外,如在L1 440与L2 420中留有部分需要完成管理处理的数据时,过滤器MUX450也可以通过数据格式器从L2 420直接接收纹理数据。过滤器MUX450用来将来自L1 440与L2 420中的多个数据位置的纹理数据导引至纹理过滤器460。因为纹理数据需要准备好让纹理过滤器460进行处理,因此过滤器MUX450可以选择一个已经准备好的纹理数据集供给纹理过滤器460,而将未准备好的数据取出进行后续的处理。纹理过滤器460可以分成各自独立的过滤器组件470,各过滤器组件470能各自独立地或组合起来进行过滤。
下面请参照图5,该图是表示本发明的例示的L2缓存组织格式的方块图。L2缓存500包括多条L2数据线501。各条L2数据线501被分为偶数块504与奇数块502。偶数块504用来处理来自偶数管线或缓存线的纹理数据,奇数块502则用来处理来自奇数管线或缓存线的纹理数据。在各块502,504中,L2被再分至库(bank)510中。尽管,如图所示,每个块包括两个库,但是熟悉此技艺者均知道或将知道具有包括两个以上的库的块或者根本不再分割的缓存也是在本发明的范围与精神之内的。每个库510再细分为多个通道520。尽管,如图所示,L2数据线501的结构包括两个块,四个库,十六个通道,但是熟悉此技艺者知道或将知道具有包括比图式所示的更多或更少细分的块、库与通道的缓存也是在本发明的范围与精神之内的。另外,L2 500为多条包括例如64,128,256或512位的L2数据线501。此外,各条L2数据线500可以为128,256,512,1024,或2048位宽。
下面请参照图6,该图是表示例示的L1缓存组织格式的方块图。图6所示的L1的实施例包括三条L1数据线602。熟悉此技艺者应当知道具有多于或少于三条L1数据线602的L1也是在本发明的范围与精神之内的。例示的L1数据线602被分为两个集610,每个集再被分为四个子集620。每个子集620包括四个质素630的纹理数据。熟悉此技艺者应当知道L1600所示的子集与质素的数目仅仅是例示性,在任何情况下均非对本发明范围的限制。另外,L1 600可以为128,256,512,1024或2048位宽。在一些实施例中,L1的宽度可以是L2的宽度的整数倍数,这样多条数据线501可以被装入一个L1数据线602。举例来说,L2可以是1024位宽,而L1可以是2048位宽,这样两条L2数据线501可以装入一条L1数据线602。
下面请参照图7,该图为举例说明,通过数据格式器,从L2的一个数据库到L1的相应集进行数据传输的方块图。与上面的讨论一样,例示的L2库702包括多条数据线706,组织成四个信道,这样一来,例如“CH0”为通道0中的的L2数据线之一的数据值。数据通过数据格式器710传送,格式器为相应的L1集720产生集关联数据。如上所述,L1集被再细分为L1子集722,这样一来“SS0”即是一个集中的子集0。集关联映射意味着只有来自信道0的数据才可以移入同一库/集的子集0。与前面的图6所示的实例一样,每个L1集内的每个2×2质素子集均是集关联映射的,而不是直接映射的,这样可以提供更大的灵活性,以用同样大小的L1覆盖更多的纹理空间中的稀疏区域。
集关联映射特征在以象素组合器为特征的架构中特别有效。下面请参照图8,该图是表示例示的L1中的集关联数据使用情况的方块图。例如,子集SS0 802与子集SS1 804是同一象素包的两个不同的L1纹理地址所需的。如果使用直接映射法,象素数据要分割成两条不同的通道,因为两个子集是在不同的集中,即在集0 810与集1 812中。使用集关联映射,两个子集可以存在于一个集内,这样便可以不必分割象素数据。
下面请参考图9,该图是表示例示的L1组织格式的另一种情况的方块图。图中表示了一条L1数据线900被分割成两个集902。每个集902再细分为四个子集904,每个子集904包括四个质素906的纹理数据。
下面请参照图10,该图是表示参照图4讨论过的例示的纹理过滤器先进先出内存1000的格式的方块图。纹理过滤器先进先出内存1000对系统内存与L2之间的遗失纹理数据延迟进行补偿。在一个实施例中,纹理过滤器先进先出内存1000是纹理缓存与纹理过滤器之间的主接口,从纹理缓存到纹理过滤单元的几乎所有必要信息均经由其通过。图10所示的纹理过滤器先进先出内存1000中的数据被格式化为两个主要组成部分。第一组成部分是纹理过滤器先进先出内存1010,储存纹理过滤器要用的所有象素有关数据。纹理过滤器先进先出内存的第二组成部分是指向器先进先出内存1020,储存写入纹理过滤器先进先出内存1010的数据的储存地址。指向器先进先出内存被分割成多个小指向器先进先出内存1022,这样当指向器先进先出内存1020准备好时,便可同时有多个地址存取。
上述的关于图4-10的讨论是概要性的说明,因为这些附图中所示的许多特征是熟悉此技艺者所能明白的。在这方面,所示的特征以及进行的说明只是用来对本发明的实施例的某些特征与概念进行的说明。
下面请参照图11,该图是表示本发明所揭露的例示的自适应遗失数据表的图表。在该例示的自适应遗失数据表中有两种主要的数据条目的类型。第一种是相关于每个过滤器组件的封包中的每个象素的命中/遗失旗标1118。该命中/遗失旗标1118为L1数据线的每个子集而产生。例如,首行标记“POF1”1112表示表中的该列的所有数据相对应于过滤器组件1中的象素0。同样地,标记“POF2”1114相对应于过滤器组件2中的象素0。首列1120列出了L1数据线中的集/子集组合。例如,标记“S1/SS3”1122代表命中/遗失旗标1118的行以及与集1的子集3相关联的遗失纹理数据地址1134。
第二种数据条目类型是L1命中测试后确定为遗失数据的纹理数据地址。标记为“1st MISS”的数据列1130为与位于该特定子集中的有效象素相关联的第一遗失数据储存纹理数据地址1134。标记为“2nd MISS”的数据列1132为与位于该特定子集中的有效象素相关联的第二遗失数据储存纹理数据地址1134。管理自适应遗失数据表的逻辑电路反复执行,直至所有的纹理数据都能提供给过滤器进行后续处理。如果逻辑电路确定有第三次遗失数据存在,则通过添加相对应于第三遗失数据的第三列来使表适应该情况。对于每个象素/过滤器条目,用一个位来表示该封包中的象素是否有效。象素有效位1116表示于表的第二行。如果象素无效,则不对该象素产生标记(tag)。在一些实施例中,自适应遗失数据表在处理过程中存在于逻辑电路中,且不占用物理内存地址。
下面请参照图12,该图是表示本发明所揭露的方法的实现方法的流程图。首先,步骤1210将一象素组组织至封包中以进行处理。该封包可以包括例如2、4、8或16个象素,由多种系统特性予以最佳化确定。在步骤1212,封包中与象素相关联的图形数据由L2接收,以给纹理过滤器提供纹理数据。图形数据在步骤1214中由L2传送至L1,这样,在L1中,数据以集关联的组织格式提供给过滤器。如前面对图4与7进行讨论时所述,集关联映射由L2与L1之间的数据格式器进行。
在步骤1216,如前面对图11进行讨论时所述,图形数据的组成部分被选进自适应遗失数据表,这样,该表具有储存封包中的每个象素的纹理地址数据的条目。象素有效位在步骤1218被送至自适应遗失数据表以隐蔽封包中的象素,从而对有效象素不产生纹理地址数据,使得最终纹理数据被忽视。在步骤1220,对有效象素的表中条目的行进行命中测试,在步骤1222确定该子集的数据中的第一遗失(first miss),如果有第一遗失的话。如果命中测试的结果是有遗失数据,则在步骤1224给表添加一个列以储存遗失数据的纹理地址数据。新添加的列将第一次进行的命中测试的遗失的纹理地址数据开列出来,也称为第一遗失。在步骤1226,表中的命中与遗失条目都被掩盖起来,不再在表内做进一步分析。将命中条目掩盖起来是因为任何其它具有与已命中的条目同样的纹理地址数据的条目不再需要做进一步的评估。将遗失数据掩盖起来是因为遗失纹理地址数据将被输入纹理过滤器先进先出内存供从系统内存检索用。遗失数据也可能根据L2命中测试确定在L2中。对各行再进行命中测试1220,然后再重复进行以发现第二遗失(second miss)1222。如果检测到第二遗失,在表1224中又添加一列,使得表的大小适应数据的要求。另外,在步骤1226命中与遗失数据被根据第二次命中测试掩盖起来,象素分割数据被输入纹理过滤器先进先出内存1228。步骤1220-1228的顺序不断反复进行,直至表中没有遗失条目。
为了用自适应遗失数据表最佳化向纹理过滤器的数据流,如果在任何一个子集中有超过一定数量的遗失数据,系统会将象素数据分割到一个以上的周期中。例如,如果在任何一个子集中有第二遗失,最佳化处理会指示象素分割状态存在,因为第二遗失可能表示数据覆盖了太多的映射空间或在映射空间中太分散,因此造成了L1不能储存封包中所有的有效数据所需的质素结果。在步骤1228,象素分割数据被输入纹理过滤器先进先出内存。处理象素数据的信道数与添加的遗失数据的列数一样。因为有些象素数据不管需要多少信道都是保持不变的,因此输入纹理过滤器先进先出内存的象素分割条目包括原始象素数据的一个条目以及象素分割数据所需的附加条目。
下面请参照图13,该图是表示本发明的分割象素数据的实施例的流程图。为了满足时间要求,象素分割按管线阶段进行。第一阶段1310根据坐标与纹理数据产生所有的L1纹理地址数据。例如,坐标数据可以为(u,v)数据,纹理数据可以为纹理辨识号。之后,L1纹理地址数据被按象素逐个分类,输入自适应遗失数据表。产生标记哪些象素有效的屏蔽,防止不必要的后续数据处理。然后将数据传送到第二阶段。
实现象素分割的第二阶段1320进行前面的L1纹理地址数据与自适应遗失数据表的各行之间的比较测试。这样做可防止不必要的评估,免得再请求已有的L1数据。对自适应遗失数据表中的有效象素进行测试,以确定各行中的第一遗失,在自适应遗失数据表中产生一个新列。各行的第一遗失的纹理地址数据储存于该行在新列中的条目中也被掩盖起来,因为该数据已被确定为遗失,将通过纹理过滤器先进先出内存请求获得或从L2查取。进行过测试后,将所有产生命中的有效象素掩盖起来,因为L1中已有命中数据供后续的纹理过滤器处理。数据随后被传送至第三阶段。
第三阶段1330以在第二阶段新产生的列与表的各行之间的L1测试开始。还进行一次测试以确定各行的第一遗失,并产生另一个新的列,以储存第一遗失的纹理地址数据。所有的第一遗失与命中的有效象素的纹理地址被掩盖起来。如果有效L1纹理地址被清除,则向第二阶段发出通知,以便可处理下一个数据。另外,命中数据与来自前面的新列中的数据一起产生纹理过滤器先进先出内存分割条目。
第三阶段1330反复进行,直至所有的L1纹理地址数据都可提供给纹理过滤器。
本发明的实施例可以用硬件、软件、韧体或其结合进行实施。在一些实施例中,本方法与系统是用储存在内存内、由合适的指令执行系统执行的软件或韧体实现的。如果用硬件来实现,如另一个实施例所示,本方法与系统可以用下列技术中的任何一种或其组合来实现,这些技术都是习知的:具有数据信号处理逻辑功能的逻辑门的离散逻辑电路,具有合适的组合逻辑门的专用集成电路(ASIC),可编程门阵列(PGA),场可编程门阵列(FPGA)等等。
应当将流程图中的任何流程说明或方块视为代表包括一个或多个在流程中实现专用逻辑功能或步骤的可执行指令的代码的模块、部分或一部分;本发明的实施例的范围内包含了各种可替换的实施方式:如根据相关功能的具体情况,用与上述说明不同的顺序,包括实质上同时进行或相反的顺序在内实现功能的方式等,这些都是熟习此技艺者所能了解的。
本方法与系统由实施逻辑功能的可执行指令的顺序表构成,可以用指令执行系统、装置或组件,例如计算机式系统、含处理器的系统或可以从指令执行系统、装置或组件获取指令并加以执行的其它系统所用的或与其一起使用的任何计算机可读媒体来实施。在本说明书中,“计算机可读媒体”可以是能包含、储存、交换、发送、或传输程序的、指令执行系统、装置或组件所用的或与其一起使用的任何手段。计算机可读媒体可以是,但是不限于,例如电式、磁式、光学式、电磁式、红外线式、或半导体式系统、装置、组件或传播媒体。计算机可读媒体的更具体的例子(非限制列表)包括:具有一条或多条线路的电性连接(电式),可移动计算机碟(磁式),随机存取内存(随机存取内存)(电式),只读存储器(ROM)(电式),可擦编程只读存储器(EPROM或闪存)(电式),光纤(光学式),只读光盘(CDROM)(光学式)。请注意计算机可读媒体甚至可以是纸本的或别的可以印程序的合适的媒体,因为程序可以通过例如对纸或其它媒体进行光扫描而进行电子获取,如有必要再加以编译,或以其它方式进行处理,然后储存在系统内存中。另外,本发明的范围还包括由硬件或配置软件的媒体中的逻辑电路来实现本发明的实施例的功能。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (18)
1. 一种图形处理系统,能对包括多个象素的封包进行处理,该多个象素中的每一个象素相关于多个具有质素位置的质素;其特征在于该图形系统包括:
一第一缓存,从系统内存接收纹理数据,并被分成多个槽;
一数据格式器,将纹理数据转换成集关联纹理数据;
一第二缓存,接收该集关联纹理数据,且第二缓存包括多个集,该多个集中的每个集包括多个子集,该多个子集中的每个子集包括多个具有多个质素的由旗标表示的子集;
一纹理过滤器先进先出内存,用来储存集关联纹理数据;
一纹理过滤器单元,从纹理过滤器先进先出内存接收集关联纹理数据并产生与多个象素相对应的多个纹理值,这样,纹理过滤器单元能得到的集关联纹理数据经过过滤产生多个象素的纹理值;
一第一测试逻辑电路,用来先在第二缓存,然后在第一缓存进行第二缓存遗失的数据命中测试;以及
一逻辑电路数据表,位于第一测试逻辑电路中,储存与命中测试有关的多个状态旗标,其中所述的多个象素构成逻辑电路数据表中的第一轴,该多个集中的多个子集构成逻辑电路数据表中的第二轴;该逻辑电路数据表包括与多个象素相对应的多个象素有效旗标。
2. 根据权利要求1所述的系统,其特征在于其中所述的纹理过滤单元包括多个纹理过滤器,这样,一个子集的多个象素由多个纹理过滤器中的一个过滤器进行处理。
3. 根据权利要求1所述的系统,其特征在于其更包括用来分析逻辑电路数据表的第二测试逻辑电路,其中在检测到相对应于多个子集中的一个子集的有效象素的第一遗失时,即在逻辑电路数据表中产生遗失条目位置,以便对遗失的第二缓存纹理数据进行分类,这样,该第二测试逻辑电路产生与多个子集相对应的第一遗失数据。
4. 根据权利要求3所述的系统,其特征在于其中所述的第二测试逻辑电路的构建使得相对应于遗失的第二缓存纹理地址的条目产生于纹理过滤器先进先出内存。
5. 根据权利要求3所述的系统,其特征在于其中所述的第二测试逻辑电路的构建使得相对应于与遗失的第二缓存纹理地址同样的地址的逻辑电路数据表条目被掩盖。
6. 根据权利要求3所述的系统,其特征在于其中所述的第二测试逻辑电路的建构,可以达成下列功能的至少一个:如果多个状态旗标中的一个被命中,则相应的第二缓存纹理地址被用命中旗标掩盖;如果多个状态旗标中的一个遗失,则相应的第二缓存纹理地址被用第一遗失旗标掩盖。
7. 根据权利要求6所述的系统,其特征在于其中所述的第二测试逻辑电路的构建使得该第二测试逻辑电路反复执行,直至多个第二纹理缓存地址中的每个地址均被命中。
8. 一种处理图形处理器中的纹理数据的处理方法,其特征在于其包括如下步骤:
将多个象素组织成封包;
在第一缓存接收封包的图形数据;
将图形数据传送至第二缓存,其中所述的第二缓存中的纹理数据是集关联数据,这样,第二缓存包括多个块,每个块包括多个集,每个集包括多个子集,每个子集包括多个质素;
将图形数据分类排序为数据表,该数据表包括第一轴与第二轴;
产生标记沿数据表第一轴的有效条目的象素有效屏蔽;
在数据表中进行有效数据条目测试;
为多个子集中的一个确定第一遗失纹理地址,其中该子集代表多个共享第二轴值中的一个值;
产生沿具有共享第二轴值的第一轴的附加条目;
掩盖该第一遗失纹理地址并在数据表中命中纹理地址;以及
输入象素分割数据,包括将纹理地址与第一遗失地址置入纹理过滤器先进先出内存,从内存取出遗失数据,其中所述的掩盖第一遗失纹理地址的步骤更包括掩盖与同样的纹理数据地址相对应的子集中的所有条目。
9. 根据权利要求8所述的方法,其特征在于其中所述的纹理过滤器先进先出内存更包括:
纹理过滤器先进先出内存,储存纹理数据条目;以及
指向器先进先出内存,储存与纹理过滤器先进先出内存中的纹理数据条目相对应的逻辑电路地址。
10. 根据权利要求9所述的方法,其特征在于其中储存于纹理过滤器先进先出内存的象素分割数据更包括原始象素纹理数据与至少一个包括象素分割纹理数据的条目。
11. 根据权利要求8所述的方法,其特征在于其中所述的确定第一遗失,产生附加条目,掩盖第一遗失纹理地址与命中纹理地址,以及输入分割数据的步骤系反复进行,直至数据表中没有遗失纹理地址为止。
12. 一种图形处理装置,其特征在于其包括:
一第一缓存,将纹理数据传送至一第二缓存,其中该数据为封包,该封包括多个象素;
一数据格式器,将第二缓存接收到的纹理数据转换成集关联纹理数据;
一自适应遗失数据表,根据集关联纹理数据中的遗失数在第一维上增长;以及
纹理缓存控制逻辑电路,使用自适应遗失数据表将象素纹理数据分成一个以上的周期,其中象素纹理数据是由纹理过滤单元接收到的,其中所述的自适应遗失数据表更包括多个象素有效旗标,辨识封包中的多个象素中的哪些象素是有效象素。
13. 根据权利要求12所述的图形处理装置,其特征在于其更包括下列的至少一个:
一第一纹理过滤器先进先出内存,以接收遗失纹理数据,这样,遗失的纹理数据可以从该第一纹理过滤器先进先出内存中取出;以及
一第二纹理过滤器先进先出内存,以接收相对应于集关联数据中的遗失的纹理地址数据,这样,遗失数据可以从该第二纹理过滤器先进先出内存中取出。
14. 根据权利要求13所述的图形处理装置,其特征在于其更包括提供与多个象素中的每个象素相对应的纹理值的过滤装置。
15. 根据权利要求12所述的图形处理装置,其特征在于其中所述的自适应遗失数据表更包括一状态旗标,该旗标与多个象素中的每个象素的多个纹理数据子集中的每个子集相关。
16. 根据权利要求12所述的图形处理装置,其特征在于其中所述的自适应遗失数据表添加一个列,以储存相对应于每行的第一遗失的纹理地址数据。
17. 根据权利要求12或16所述的图形处理装置,其特征在于其中所述的其中自适应遗失数据表为逻辑电路数据表。
18. 根据权利要求17所述的图形处理装置,其特征在于其中所述的逻辑电路反复执行,直至自适应遗失数据表解决所有的遗失,这样,每个具有遗失的信道在自适应遗失数据表中产生一个列,以储存纹理地址数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/123,786 | 2005-05-06 | ||
US11/123,786 US7348988B2 (en) | 2005-05-06 | 2005-05-06 | Texture cache control using an adaptive missing data table in a multiple cache computer graphics environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1753035A CN1753035A (zh) | 2006-03-29 |
CN100416610C true CN100416610C (zh) | 2008-09-03 |
Family
ID=36679865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200510116633XA Active CN100416610C (zh) | 2005-05-06 | 2005-10-26 | 图形处理系统、装置及其纹理数据的处理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7348988B2 (zh) |
CN (1) | CN100416610C (zh) |
TW (1) | TWI287756B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7483035B2 (en) * | 2005-07-07 | 2009-01-27 | Via Technologies, Inc. | Texture cache control using a data dependent slot selection scheme |
US7948498B1 (en) * | 2006-10-13 | 2011-05-24 | Nvidia Corporation | Efficient texture state cache |
US8508543B2 (en) * | 2008-06-18 | 2013-08-13 | Microsoft Corporation | Layered texture compression architecture |
CN103380417B (zh) * | 2011-02-18 | 2016-08-17 | 英特尔公司(特拉华州公司) | 用于从存储器请求所存储的数据的方法及系统 |
AT511286B1 (de) * | 2012-06-08 | 2018-07-15 | Avl List Gmbh | Verfahren zur Verarbeitung von Kalibrierdaten |
US9349210B2 (en) * | 2012-11-30 | 2016-05-24 | Arm Limited | Methods of and apparatus for using textures in graphics processing systems |
US9659401B2 (en) | 2012-11-30 | 2017-05-23 | Arm Limited | Methods of and apparatus for using textures in graphics processing systems |
JP6070524B2 (ja) * | 2013-12-04 | 2017-02-01 | ソニー株式会社 | 表示パネル、駆動方法、および電子機器 |
KR102100161B1 (ko) | 2014-02-04 | 2020-04-14 | 삼성전자주식회사 | Gpu 데이터 캐싱 방법 및 그에 따른 데이터 프로세싱 시스템 |
CN105511995B (zh) * | 2015-12-11 | 2018-04-17 | 中国航空工业集团公司西安航空计算技术研究所 | 一种图形处理器验证方法 |
GB2577619B (en) * | 2018-04-05 | 2021-01-06 | Imagination Tech Ltd | Texture filtering with dynamic scheduling |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6483516B1 (en) * | 1998-10-09 | 2002-11-19 | National Semiconductor Corporation | Hierarchical texture cache |
CN1099655C (zh) * | 1996-02-06 | 2003-01-22 | 索尼计算机娱乐公司 | 图像绘制装置及图像绘制方法 |
CN1466738A (zh) * | 2000-09-28 | 2004-01-07 | ض� | 用于实现全景图形保真过采样的方法和装置 |
US6825848B1 (en) * | 1999-09-17 | 2004-11-30 | S3 Graphics Co., Ltd. | Synchronized two-level graphics processing cache |
US20050007377A1 (en) * | 1999-09-17 | 2005-01-13 | S3 Graphics Co., Ltd. | Dynamic allocation of texture cache memory |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6437789B1 (en) * | 1999-02-19 | 2002-08-20 | Evans & Sutherland Computer Corporation | Multi-level cache controller |
US6629188B1 (en) * | 2000-11-13 | 2003-09-30 | Nvidia Corporation | Circuit and method for prefetching data for a texture cache |
-
2005
- 2005-05-06 US US11/123,786 patent/US7348988B2/en active Active
- 2005-08-11 TW TW094127282A patent/TWI287756B/zh active
- 2005-10-26 CN CNB200510116633XA patent/CN100416610C/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1099655C (zh) * | 1996-02-06 | 2003-01-22 | 索尼计算机娱乐公司 | 图像绘制装置及图像绘制方法 |
US6483516B1 (en) * | 1998-10-09 | 2002-11-19 | National Semiconductor Corporation | Hierarchical texture cache |
US6825848B1 (en) * | 1999-09-17 | 2004-11-30 | S3 Graphics Co., Ltd. | Synchronized two-level graphics processing cache |
US20050007377A1 (en) * | 1999-09-17 | 2005-01-13 | S3 Graphics Co., Ltd. | Dynamic allocation of texture cache memory |
CN1466738A (zh) * | 2000-09-28 | 2004-01-07 | ض� | 用于实现全景图形保真过采样的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US20060250408A1 (en) | 2006-11-09 |
TW200639738A (en) | 2006-11-16 |
TWI287756B (en) | 2007-10-01 |
US7348988B2 (en) | 2008-03-25 |
CN1753035A (zh) | 2006-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100416610C (zh) | 图形处理系统、装置及其纹理数据的处理方法 | |
US7898551B2 (en) | Systems and methods for performing a bank swizzle operation to reduce bank collisions | |
US7737985B2 (en) | Pixel cache for 3D graphics circuitry | |
US20170256024A1 (en) | Cache architecture for efficiently accessing texture data using buffers | |
CN101620724B (zh) | 图形处理系统 | |
US7483035B2 (en) | Texture cache control using a data dependent slot selection scheme | |
US10255718B2 (en) | Graphics processing | |
US10726519B2 (en) | Cache arrangement for graphics processing systems | |
US10388057B2 (en) | Graphics processing systems with efficient YUV format texturing | |
US6985150B2 (en) | Accelerator control unit configured to manage multiple hardware contexts | |
US7965296B2 (en) | Systems and methods for storing texture map data | |
US7109989B2 (en) | Imaging volume data | |
JP3086189B2 (ja) | テクスチャーマップパッキング | |
US6636227B1 (en) | Apparatus and method for grouping texture cache requests | |
US20080273031A1 (en) | Page based rendering in 3D graphics system | |
US10580198B2 (en) | System and method for optimized sparse volume rendering | |
CN112734897B (zh) | 一种图元光栅化触发的图形处理器深度数据预取方法 | |
KR20030005253A (ko) | 타일형 그래픽스 아키텍쳐 | |
CN104601950B (zh) | 一种视频监控方法 | |
US10271097B2 (en) | Dynamic resolution determination | |
US7605822B1 (en) | Method and system for performing texture mapping across adjacent texture maps | |
US20030011594A1 (en) | Method and apparatus for processing pixel rasterization in three-dimensional rendering processor | |
US6856703B1 (en) | Filtering a collection of samples | |
Shareef et al. | An Image-Based Modelling Approach To GPU-based Unstructured Grid Volume Rendering. | |
US20030063095A1 (en) | Statistic logic for collecting a histogram of pixel exponent values |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |