CN100568276C - 与数据相关的槽位选择机制的纹理快取储存器控制 - Google Patents

与数据相关的槽位选择机制的纹理快取储存器控制 Download PDF

Info

Publication number
CN100568276C
CN100568276C CNB2006100907989A CN200610090798A CN100568276C CN 100568276 C CN100568276 C CN 100568276C CN B2006100907989 A CNB2006100907989 A CN B2006100907989A CN 200610090798 A CN200610090798 A CN 200610090798A CN 100568276 C CN100568276 C CN 100568276C
Authority
CN
China
Prior art keywords
texture
data
mentioned
data texturing
cache
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
Application number
CNB2006100907989A
Other languages
English (en)
Other versions
CN1866293A (zh
Inventor
徐建明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Via Technologies Inc filed Critical Via Technologies Inc
Publication of CN1866293A publication Critical patent/CN1866293A/zh
Application granted granted Critical
Publication of CN100568276C publication Critical patent/CN100568276C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/121Frame memory handling using a cache memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Image Generation (AREA)

Abstract

本发明所提供的图形处理方法、系统与装置是使用与数据相关的槽位与组选择机制以将所接收的纹理数据加载一第二阶快取储存器,进而于一多变的纹理处理环境中提供系统资源的高利用率。

Description

与数据相关的槽位选择机制的纹理快取储存器控制
技术领域
本发明涉及一种纹理快取储存器,尤其是利用一种与数据相关的槽位选择机制的纹理快取储存器控制系统与方法。
背景技术
计算机图形处理系统处理包含纹理(texture)在内的大量数据。一纹理为一数字影像,其经常为长方形并且具有一坐标为(U,V)的坐标空间。一纹理中的最小可寻址(addressable)单元称为一纹素(texel),可根据其位置分配至一坐标值(U,V)。于一纹理映射运算(mapping operation)中,当对一图形模型进行着色(render)以产生一目的影像时,一纹理将被映像至此模型的表面上。在上述目的影像中,像素是位于XY坐标系统的特定坐标上。
纹理数据通常存放于共享的系统内存内。在许多计算机系统中,其它装置可能会试图存取上述计算机图形处理系统的数据或利用同一共享的数据总线,这两种可能皆会增加计算机图形处理系统的数据存取时间。再者,自系统内存索取数据尚可能因为其它原因而花费额外的时间。据此,存取系统内存可能对计算机图形处理系统的性能表现具有负面影响。
有一种技术是由一专门储存图形数据的图形快取储存器,用以增进数据的存取速度。于图形处理提出数据要求之前,上述图形快取储存器即自系统内存取得图形数据,以供图形处理系统后的需求并且减少对系统内存的存取需求。此种技术更能减少因内存延迟所造成的问题。
然而,图形快取储存器通常都缺乏足够的容量以储放全部纹理。而且,能够储放全部纹理的图形快取储存器应该也会产生性能降低的问题,因为快取储存器存取时间亦会随着快取储存器容量变大而变长。此外,变大的图形快取储存器需要更多高价的芯片资源。
欲增加快取储存器容量而不明显降低快取储存器性能的一种通常作法即提供两阶快取储存器。两阶快取储存器的第一阶是用以提供最可能立即使用的数据,其第二阶快取储存器则是储存近来可能使用的数据。两阶快取储存器通过提高数据供应率与减少内存存取时间的方式,增加了快取储存器容量而不会显著地降低快取储存器性能。然而使用两阶快取储存器却产生选择、搬运与删除快取储存器数据的相关议题;意即若无一种适当决定如何选择、搬运与删除快取储存器数据的方法,则两阶快取储存器所提供的利益将会减少。
换言之,必须建立一种有效率的技术,以时间与空间轴为考虑,进而分配快取储存器系统内的资源。例如于快取储存器系统内的欲进行处理的纹理数据,如一纹理滤镜(filter)等存在并且完整。举例而言,自系统内存所取得的纹理数据可能具有不同格式与尺寸,若不考虑数据的尺寸与设定(configuration),将会缺乏效率地浪费快取储存器系统资源。无效率的来源之一发生于当加载数据进入快取储存器的逻辑并未针对数据的尺寸与设定进行最佳化,进而导致有效数据的覆写(over-writing)或无效化。一种分配读取数据位置的有效率方法,将可满足于一计算机图形环境中对图形数据进行快速处理的需求。
据此,产业界亟须新发明以解决前述的无效率与不当处理的情况。
发明内容
本发明的目的在于提供一种与数据相关的槽位选择机制的纹理快取储存器控制。
为实现上述目的,本发明提供的一种图形处理系统,包含:
一快取储存器以自一系统内存接收纹理数据,其中上述的纹理数据被分配至一特定快取储存器位置;
复数个纹理属性单元,从接收的纹理数据中读取复数个纹理属性,该复数个纹理属性包含该纹理数据的一部份;
一选择逻辑电路,分析该复数个纹理属性来判定快取储存器地址数据来源的复数个数据域位;以及
一读取装置以读取于该复数个数据域位中的复数个纹理数据值,该复数个纹理数据值用于判定该特定快取储存器位置。
所述的图形处理系统,其中上述快取储存器包含复数个组,该复数个组的每一组包含复数个槽位,并且该特定快取储存器位置包含组数据与槽位数据。
所述的图形处理系统,其中上述选择逻辑电路用于分析复数个第一纹理属性以判定复数个槽位选择数据域位。
所述的图形处理系统,其中上述复数个第一纹理属性其中之一包含下列可能变化的某一种或其任意组合:
一关于每一纹素内的纹理数量的值;
一纹理型态;以及
一纹理维度属性。
所述的图形处理系统,其中上述纹理型态包含一滤镜模式。
所述的图形处理系统,其中上述滤镜模式尚包含下列可能变化:
三线性;
双线性;以及
盒状。
所述的图形处理系统,其中上述纹理维度属性尚包含下列可能变化:
二维;以及
三维。
所述的图形处理系统,其中上述复数个槽位选择数据域位尚包含下列可能变化的某一种或其任意组合:
一第一纹素位置坐标;
一第二纹素位置坐标;
一纹理型态;
一细节偏移程度值;以及
一纹素体积值。
所述的图形处理系统,其中于每一该复数个槽位选择数据域位中的特定位位置由该纹理型态所决定。
所述的图形处理系统,其中上述选择逻辑电路用于分析复数个第二纹理属性以判定复数个组选择数据域位。
所述的图形处理系统,其中上述复数个第二纹理属性其中之一包含一纹理维度属性。
所述的图形处理系统,其中上述的纹理维度属性尚包含下列可能变化:
二维;以及
三维。
所述的图形处理系统,其中上述复数个组选择数据域位中的特定位位置由一纹理分辨率决定。
所述的图形处理系统,其中上述纹理分辨率以每纹素具有多少位为单位来表示。
本发明提供的于一图形处理器中处理纹理数据的方法,包含:
储存纹理数据于一内存;
自该纹理数据中读取复数个第一纹理属性;
分析该复数个第一纹理属性;
判定用以选择一快取储存器槽位地址数据来源的复数个第一数据域位,其中上述的复数个第一数据域位系相关于该复数个第一纹理属性;
自该纹理数据中读取复数个第二纹理属性;
分析该复数个第二纹理属性;以及
判定用以选择一快取储存器组地址数据来源的复数个第二数据域位,其中上述的复数个第二数据域位系相关于该复数个第二纹理属性。
所述的处理纹理数据的方法,其中上述复数个第一纹理属性其中之一包含下列可能变化的某一种或其任意组合:
一关于每一纹素内的纹理数量的值;
一纹理型态;以及
一纹理维度属性。
所述的处理纹理数据的方法,其中上述纹理型态包含一滤镜模式。
所述的处理纹理数据的方法,其中上述滤镜模式包含三线性滤镜模式。
所述的处理纹理数据的方法,其中上述纹理维度属性尚包含下列可能变化:
二维;以及
三维。
所述的处理纹理数据的方法,其中上述复数个第一数据域位尚包含下列可能变化的某一种或其任意组合:
一第一纹素位置坐标;
一第二纹素位置坐标;
一纹理型态;
一细节偏移程度值;以及
一纹素体积值。
所述的处理纹理数据的方法,其中于每一该复数个第一数据域位中的特定位位置由该纹理型态所决定。
所述的处理纹理数据的方法,其中上述复数个第二纹理属性其中之一包含一纹理型态。
所述的处理纹理数据的方法,其中上述纹理型态包含一纹理维度属性。
所述的处理纹理数据的方法,其中上述纹理维度属性尚包含下列可能变化:
二维;以及
三维。
所述的处理纹理数据的方法,其中于每一该复数个第二数据域位中的一特定位由每组件具有多少位所决定。
本发明提供的一图形处理装置,包含:
一用于接收纹理数据的装置,其中上述纹理数据暂时被储存以供一纹理滤镜的处理;
一用于分析复数个与纹理数据相关的纹理属性的装置,以供判定该复数个纹理属性中的哪些可用于建立一纹理数据接收地址;以及
一装置以判定该复数个纹理属性中的哪些位可用于建立一纹理数据接收地址。
附图说明
图1为一计算机系统的一简化方块示意图;
图2为描绘根据本发明执行纹理过滤运算的一范例系统的一方块示意图;
图3为描绘本发明一实施例的特定基本组件的一方块示意图;
图4为描述本发明一实施例中用于处理纹理数据的一逻辑电路的一方块示意图;
图5为一第二阶快取储存器范例的一方块示意图;
图6为一第二阶快取储存器结构格式的另一表示方式的一方块示意图;
图7为一第二阶快取储存器结构格式的一数据结构范例的一方块示意图;
图8为描绘于一第二阶快取储存器地址的槽位与组的一方块示意图;
图9为描绘用于选择第二阶快取储存器中槽位与组地址的数据域位的纹理数据属性范例的一方块示意图;
图10为描绘用于选择图9所示数据域位内部位位置的纹理数据属性范例的一方块示意图;
图11为本发明一实施例的纹理数据域位的一方块示意图;
图12为决定用于组地址选择的数据域位的一流程示意图;
图13为择定用于槽位地址选择的数据域位的一流程示意图;
图14为判定用于组地址选择的数据域位内位的逻辑方法的一方块示意图;
图15为判定用于槽位地址选择的数据域位内位的逻辑方法的一方块示意图;
图16为根据本发明一实施例的一实作方法的一流程示意图;以及
图17为根据本发明一实施例的一实作方法的一流程示意图。
具体实施方式
本发明在此所探讨的方向为一种快取储存器系统。为了能彻底地了解本发明,将在下列的描述中提出详尽的步骤及其组成。显然地,本发明的施行并未限定于快取储存器系统的技艺者所熟习的特殊细节。另一方面,众所周知的组成或步骤并未描述于细节中,以避免造成本发明不必要的限制。本发明的较佳实施例会详细描述如下,然而除了这些详细描述外,本发明还可以广泛地施行在其它的实施例中,且本发明的范围不受限定,其以之后的专利范围为准。
本发明所描述的是于纹理数据具有多种格式与尺寸的一环境下,有效率地使用快取储存器时空资源的技术。上述分配资源的技术是根据数据大小与设定,通过一改良的纹理快取储存器控制方法以达到最佳化,此纹理快取储存器控制方法包括一种独特槽位(slot)的选择方法以组织快取储存器内的数据。
参考图1所示,其为一计算机系统100的一简化方块示意图。此计算机系统100包含一中央处理器102、一系统储存器104与一图形处理系统110。上述中央处理器102具有多重功能,包含判定(determining)如一视点位置的信息以及产生图形显示等。此系统储存器104储存包含图形显示数据在内的多种数据,如纹理映图106等。上述图形处理系统110根据由中央处理器102所判定的信息以及由系统储存器104所储存的数据,产生由一显示装置130所输出的显示数据,例如一监视器。
此中央处理器102通过一系统接口108送出要求至上述的图形处理系统110,这些要求包含要求处理与显示图形信息在内。由此中央处理器102所发出的要求被图形处理系统110接收后,再被提供至一前端处理器112,其产生供应上述显示装置130的一包含像素坐标的像素串流。
由此前端处理器112所产生关于像素坐标的信息被提供至一纹理滤镜118,其滤过信息的作法包含如双线性(bi-linear)过滤、三线性(tri-linear)过滤或其混合,用以产生每一像素的纹理数据。此纹理数据为送至一帧缓冲区(frame buffer)120的最终颜色数据的一部分,其用于产生上述显示装置130的一显示数据。
上述图形处理系统110包含多阶快取储存器,其包含一第一阶快取储存器116与一第二阶快取储存器114。此两阶快取储存器储存于图形处理中所使用的部份纹理映图106数据,其包含几何对象的纹理信息。此纹理信息是以个别纹理组件(即纹素)的形式储存。于图形处理过程中,上述纹素是定义像素坐标中显示的颜色数据。这些纹理信息通常自系统内存流入上述的第二阶快取储存器114,再由第二阶快取储存器114再流入第一阶快取储存器116。
具有如上所述的组件结构的一计算机系统可用以执行本发明所描述的系统、方法与装置。请参考图2所示,其为描绘根据本发明执行纹理过滤运算的一范例系统200的一方块示意图。与图1所示的计算机系统100不同之处在于,图2标出的系统200是以逻辑功能方块来表示。此系统200通常是实作于一计算机或类似处理装置内的一图形处理系统。上述系统200包含一指令(primitive)处理器202、一数据选样器(data sampler)204、一纹理滤镜206、储存纹理的随机存取储存器208、一像素处理器210与一着色缓冲区212。
与图1相较,由上述指令处理器202与像素处理器210所提供的某些或全部功能可由图1标出的前端处理器112提供。同样地,由上述数据选样器204所提供的某些或全部功能可由图1标的前端处理器112、第二阶快取储存器114与第一阶快取储存器116的组合运作提供的。再者,上述着色缓冲区212所提供的某些或全部功能可由帧缓冲区120提供。此随机存取储存器208的储存功能可由系统储存器104提供,而上述纹理滤镜206则对应至纹理滤镜118。以上关于图1与图2之间关连的讨论是用以增进关于本发明的主题而非用以限缩本发明的范围。
可为一三角形处理器的指令处理器202,通常用于接收三维几何组件(如三角形或其它几何形状)并且处理有关于此几何形状的大小、形状、位置与其它信息。于某些情况下,此指令处理器202一样可产生几何形状的边缘(edge)函数。上述的几何形状可为欧几里得(Euclidean)坐标空间中的三维组件或为同质(homogeneous)坐标空间的四维组件,其可利用一已知算法将其投影至一个二维的平面上。
上述指令处理器202所接收的多边形数据由此数据选样器204选出一有限集合,所述的多边形数据选样(sampling)过程可能发生于不同分辨率(resolution)下。例如,一多边形的内部可于产生目的画面分辨率的一速率下进行选样,而另一多边形的已侦测边缘可能以一较高速率进行选样。
此纹理滤镜206执行以下几种过滤技术,如双线性、三线性、盒状过滤或其混合,以计算出一新纹素的颜色值或其它属性,而上述纹素将被指定至某一特定像素上。上述纹理滤镜206可根据由随机存取储存器208所接收数据进而产生过滤后且被指定纹理的像素值。此外,上述纹理滤镜206还具有多利用途,如对多重速率(于不同分辨率下对多边形数据进行选样)数据样本进行着色。
上述像素处理器210负责着色运算,其可能具有不同变化以产生不同视效,诸如仿真光源与阴影等。最后,上述着色缓冲区212储存影像,其可能为一显示装置所输出的影像或用于对其他影像着色的影像。
请参考图3所示,其描绘本发明一实施例特定基本组件的一方块示意图。图3包含一图形组件310,其可用以代表一图形管线作业中的硬件组件。于此组件内,一逻辑电路312可用于纹理快取储存器控制,其用以提供同样于此图形组件310内的多阶快取储存器316数据及快取储存器控制机能。于某些实施例中,上述纹理快取储存器控制逻辑电路312、一选择逻辑电路314与多阶快取储存器316可对应于图2标的数据选样器204的功能。于以下的讨论中,上述多阶快取储存器316如图1所述,其包含第一阶与第二阶快取储存器。包含于上述纹理快取储存器控制逻辑电路312内的选择逻辑电路314用于执行一槽位选择程序,此程序适用于将加载第一阶快取储存器数据的格式与型态。此纹理快取储存器控制逻辑电路312可还包含复数个纹理属性单元以提供复数个纹理属性,其为纹里数据的一部分。上述选择逻辑电路314所执行的槽位选择程序是根据复数个纹理属性以判定复数个数据域位。故此纹理快取储存器控制逻辑电路312可还包含一读取装置以读取于上述复数个数据域位中的复数个纹理数据值,该复数个纹理数据值可用于判定纹理数据于快取储存器中的位置。
请参考图4所示,其为描述本发明一实施例中用于处理纹理数据的一逻辑电路的一方块示意图。图4所示是将图1、2与3标出的系统与组件更进一步抽象化而成的一实施例。例如,一系统储存器/储存器接口406、一第二阶快取储存器420、一第一阶快取储存器440与一纹理滤镜460可对应至图1所示的类似组件。同样地,一第二阶快取储存器控制电路404、一纹理滤镜队列(FIFO,First-In First-Out)410,一纹理队列控制电路402可对应至图2标出的数据选样器204、图3标出的纹理快取储存器控制逻辑电路312或其组合。
上述系统储存器/储存器接口406是用于提供储存于纹理映图中的纹理数据给此纹理滤镜。当需要此纹理数据时,其会以纹理地址数据的形式供给上述的第二阶快取储存器420。虽然此纹理数据可能是实体地址数据,但于某些实施例中,可能为其后能解析为实体地址数据的逻辑地址数据。上述系统储存器/储存器接口406自第二阶快取储存器控制电路404接收需求后,于某些实施例中,可从纹理队列控制电路402取得关于被需求纹理数据的相关信息。此纹理队列控制电路402可与上述纹理滤镜队列410通讯,此纹理滤镜队列410用于补偿系统储存器406与第二阶快取储存器420中因纹理数据快取失败而产生的延迟时间。而上述纹理队列控制电路402则负责与第二阶快取储存器控制电路404进行协调以确认被需求纹理数据的状态。
储存于第一阶快取储存器440的数据可用于上述纹理滤镜460的后续要求。再者,当同时存在于第一阶快取储存器440与第二阶快取储存器460的一过滤运算需要上述数据的一部分时,此纹理滤镜460也可能自第二阶快取储存器460取得纹理数据。
请参考图5所示,其为图1与图2所特定指涉以及图3与图4所泛称的一第二阶快取储存器范例的一方块示意图。此实施例的一第二阶快取储存器500中的每一第二阶数据线(line)501被分成多个槽位502,每个槽位502将再细分为组(set)504。于槽位502内的组504可提供此第二阶快取储存器500内的组与槽位地址,其可用以表示数据于此第二阶快取储存器500内的位置。虽然于图5中,此第二阶快取储存器500仅示出四个槽位,每个槽位仅有四组,然而本领域技术人员均了解本发明的精神并不限定一数据线内仅能具有四个槽位与四组。其次,如图5所示,具有多重第二阶数据线501的第二阶快取储存器500可能包含64、128、256或512条数据线。再者,每一条数据线亦可能具有128、256、512、1024或2048个位。
请参考图6所示,其为一第二阶快取储存器结构格式的另一表示方式的一方块示意图。如同图5说明,一数据线包含四个槽位602,依其顺序命名为第零槽位至第三槽位。每一槽位可再细分为四组604,依其顺序命名为第零组至第三组。虽然图标中此第二阶快取储存器的实体位置为正方形,然而其也可不以正方形的形式,事实上也不太可能以正方形来摆设,但利用正方形来解说第二阶快取储存器的数据安排较易于了解。一般而言,第二阶快取储存器包含一纹理映图的一部分,此第二阶快取储存器的水平轴代表U方向而垂直轴则表示V方向。当一纹理映图部份转移至此第二阶快取储存器时,其被加载槽位内组的关系将根据一第二阶快取储存器卷标地址所包含的映像数据来对应。
请参考图7所示,其为一第二阶快取储存器结构格式的一数据结构范例的一方块示意图。虽然图6标出的第二阶快取储存器系以单一平面来表示,然而其四个槽位可被组织为一堆栈型态结构704来视的。于此堆栈型态结构704中,第零至第三槽位的每一群组代表多重方向W0至WN之一。上述多重方向堆栈为N层高度。槽位中每一组的堆栈次序决定于其相关数据的一新旧状态;换言之,于一数据转移中最近被使用的数据将被视为「最年轻」(youngest),并且将会堆栈至相关槽位的相关组的最底层。于此组当中,最不常用的数据,意即「最老旧」的数据会被放在堆栈的最顶层,其将首先被覆写以空出位置储存所接收的部份纹理内存。于此情况下,于上述槽位组中的最不常用数据将总是首先被覆写。
请参考图8所示,其为描绘于一第二阶快取储存器地址的槽位与组的一方块示意图。此第二阶快取储存器地址800包含多个字段,其中具有一槽位代号810与一组代号820。若等同于前述的四槽位与四组的结构中,每个槽位代号810与组代号820均需占用两个位的数据。本领域技术人员可理解具有不同槽位与组数的第二阶快取储存器地址可能使用其它不是两位长度的代号字段。
请参考图9所示,其为描绘用于选择第二阶快取储存器中槽位与组地址的数据域位的纹理数据属性范例的一方块示意图。于此描述的数据相依槽位选择方式是依赖复数个纹理数据属性910以标示槽位与组地址的来源。此范例中的纹理数据属性910包含一滤镜模式912、一纹理数量914、一纹理数据维度916与一纹理分辨率918。上述几个纹理数据属性910皆有关于纹理形态,其以滤镜模式912、纹理数据维度916与一纹理分辨率918加以界定。滤镜模式912可包含双线性、三线性、盒状过滤或其混合。然而,用于选择槽位地址的逻辑可分为三线性与非三线性过滤等两类。可以一缩小贴图(mipmap)致能位加以启动三线性过滤逻辑,此缩小贴图致能位用于表示在快取储存器过程中所使用的纹理表面的细节偏移(detail bias)程度。
上述纹理数量914可分为两个或两个以上的等级,例如单一纹理,双重纹理与多重纹理等。单一纹理表示于整个纹理要求过程中仅用到一个纹理表面;双重纹理代表同时使用两个纹理表面的状态;而多重纹理意味着于快取储存器中具有两个以上的纹理表面。上述纹理数据维度916可描述纹理数据为二维或三维。再者,上述纹理分辨率918通常叙明每一纹理元素的数据量,每一纹理元素所具有的数据量范围可从一位至六十四位之多。当应用于纹理数据时,此纹理分辨率918亦可表示为纹素(texel)的位数,因为纹素是纹理数据的主要单位。本领域技术人员可理解上述关于纹理数据属性的范围与分类仅用于说明范例的缘故,而不意欲对本发明做任何的限缩。
于一实施例中,用于槽位选择方式的数据域位代号902是使用包含滤镜模式912、纹理数量914、纹理数据维度916与纹理分辨率918的纹理数据属性910。用于选择组的数据域位代号904则包含纹理数据维度916与纹理分辨率918。请注意,于图9中用于指示槽位及组地址的数据域位代号是用于指定数据域位,其仅作为槽位及组地址的来源,而并非此数据域位中之位。由于数据区块大小取决于上述纹理数据属性910,还因为第二阶快取储存器线的平衡分布以及相同纹理表面的群聚而避免不必要的复写,据此可利用此纹理数据属性910以选择槽位及组的结合,进而增加更高的第二阶快取储存器命中率。
请参考图10所示,其描绘用于选择图9所示数据域位内部位位置的纹理数据属性范例的一方块示意图。槽位及组地址内位位置的选择是依赖纹理数据属性1010,其包含纹理数据维度1016与纹理分辨率1018。如同图9与图10所示,数据相依槽位选择依赖纹理数据属性以同时选择数据域位及其内部之位,以供识别槽位及组地址数据的位置。
请参考图11所示,其为本发明一实施例的纹理数据域位的一方块示意图。此纹理数据包含复数个纹理数据域位1100,其包含具有U及V坐标值的纹理位置坐标1110。此U、V坐标值为类似于像素坐标系统的X及Y坐标值的纹理位置坐标值。此复数个纹理数据域位1100亦包含一纹理辨识号码1120。另一个字段包含于纹理数据域位1100的是一细节偏移(detail bias)程度1130,其用于描述缩小贴图技术的细节程度。此外,上述纹理数据尚包含一纹理体积(volume)值1140,其可能用于如聚光灯之类的特殊效果上。如同图9与图10所示,一个或一个以上的纹理数据域位1100作为槽位选择中槽位及组地址的来源。
请参考图12所示,其为决定用于组地址选择的数据域位的一流程示意图。一组数据域位选择逻辑流程1200首先决定步骤1210内纹理数据的维度属性,若此纹理数据是二维,则选择组的数据域位为U、V,如同上述关于图11所提及的纹理位置坐标。换言之,组地址的第一位定义于V数据域位,组地址的第二位则定义于U数据域位。反之,若此纹理数据是三维,则用于选择组的二个位数据域位为Q,如步骤1230所示。
请参考图13所示,其为择定用于槽位地址选择的数据域位的一流程示意图。用于槽位地址选择来源的数据域位的择定逻辑流程,首先于步骤1310中判定过滤模式是否为三线性。若过滤模式为三线性,则此逻辑流程接着于步骤1320中判定此纹理数据的维度属性。例如当此纹理数据为二维时,则此逻辑流程于步骤1340中判定需处理多少纹理。若仅具有单一纹理时,将可于步骤1342中,自D与U数据域位或D与V数据域位得出槽位地址数据。欲选择U或V数据域位决定于纹理的分辨率,其细节将于图15中讨论。换言之,用于决定槽位地址的两位值将来自于D数据域位中的一个位,以及U或V数据域位中的一个位。反之,若纹理数据包含两个纹理时,则于步骤1344中自D与T数据域位来决定槽位地址。当发生第三种情况,即纹理数据具有两个以上纹理时,则于步骤1346中自D与T数据域位来决定槽位地址。本领域技术人员可理解上述逻辑流程可应用于不同的纹理数据,例如具有两个纹理的非线性三维纹理数据将使用不同的数据域位以决定槽位地址。
请参考图14所示,其为判定用于组地址选择的数据域位内位的逻辑方法的一方块示意图。虽然图标的组地址特定位判定逻辑方块1400为表列的形式,本领域技术人员可理解上述逻辑方块仅为范例之一,并不用于限缩本发明的适用范围与发明精神。此组地址特定位判定逻辑方块1400为参考纹理分辨率1410与维度属性1420的各式组合。如前所述,维度属性1420包含二维与三维的纹理数据。当纹理分辨率1410改变时,二维数据域位位1422以及三维数据域位位1424皆随之改变。例如于每组件具有32位分辨率1412的三维纹理数据,将自方块1426中得知由第1与0位判定组地址。本领域技术人员可理解上述纹理分辨率与特定数据域位仅作为范例用,不应用于限缩本发明的适用范围与发明精神。
请参考图15所示,其为判定用于槽位地址选择的数据域位内位的逻辑方法的一方块示意图。虽然图标的槽位地址特定位判定逻辑方块1500为表列的形式,本领域技术人员可理解上述逻辑方块仅为范例之一,并不用于限缩本发明的适用范围与发明精神。此槽位地址特定位判定逻辑方块1500是根据纹理数据属性的维度属性1510、纹理分辨率1520以及数据域位的组合1530而判定。如前所述,维度属性1510可为二维维度1512或三维维度1514。再者,上述纹理分辨率1520亦可以每组件具有多少位来定义,例如每组件具有32位的分辨率1522。本领域技术人员可理解大于每组件32位的纹理分辨率亦符合本发明的适用范围与精神,其可通过增加额外相关信息至图14与图15标的逻辑方法而达成实作。例如,更高的分辨率可包含但不限定于每组件64、128与256位等,其皆符合本发明的适用范围与精神。
上述数据域位的组合1530可由如图13所示的字段选择逻辑方法所定义,其中上述数据域位选择逻辑方法包含多个数据域位的组合,如DV/DU等,而上述纹理分辨率1520则决定使用那一个数据域位组合。结合图13所示的字段选择逻辑方法以及图15所示的判定用于槽位地址选择的数据域位内位的逻辑方法,接着考虑一非三线性的三维纹理数据,其具有多重纹理并且具有每组件32位的纹理分辨率。图13所示的逻辑方法利用数据域位TT,如图示的方块1376,以判定槽位地址数据的来源。
现在请参看图15,其中于数据域位TT 1532下且具有每组件32位的三维纹理分辨率的方块1534使用第1与0位的值。故于此范例中,未来纹理数据的槽位地址将由纹理代号的第1与0位值来判定。
延续上述范例,请参看图12及图14以便接着判定组地址数据域位。如图12所示,三维数据所使用的数据域位为方块1230所指示的QQ。又回到图14所示,相关于每组件32位分辨率的三维纹理数据域位为方块1426,其显示利用第1与0位的值。据此,参考图8所示,将可自第二级快取纹理地址数据的T(1)、T(0)、Q(1)与Q(0)位置中取得槽位识别与组识别字段。
请参考图16所示,其为根据本发明一实施例的一实作方法的一流程示意图。首先于步骤1610中,以纹理映像的形式将纹理数据储存于储存器内。于步骤1620中读取关于一槽位地址的纹理属性,并且于步骤1630中选择上述纹理数据中的数据域位以作为此槽位地址数据的来源。于步骤1640中中读取关于一组地址的纹理属性,并且于步骤1650中选择上述纹理数据中的数据域位以作为此组地址数据的来源。图标的步骤顺序仅作为范例用,而不意欲限缩本发明的适用范围与精神。例如,上述与槽位地址选择功能相关的步骤1620与1630可于另一实施例中合并成同一步骤。同样地,上述与组地址选择功能相关的步骤1640与1650可于另一实施例中合并成同一步骤。再者,本领域技术人员可理解与槽位地址或组地址选择相关的步骤顺序可在符合本发明范围与精神的情况下加以变化。
请参考图17所示,其为根据本发明一实施例的一实作方法的一流程示意图。此实施例的步骤1710为接收纹理数据至暂时储存器,其中上述纹理数据包含纹理属性,其可于步骤1720中分析后建立一数据接收地址字段。接着于步骤1730中再进一步分析上述数据接收地址字段中之位,以便找出实际的数据接收地址。
虽然本发明所描述的实施例是以一快取储存器线具有四槽位、每槽位具有四组,并且使用两位的槽位地址字段与组地址字段为范例,但上述实施例仅作为范例用,而不意欲限缩本发明的适用范围与精神。此外,虽然上述纹理数据具有某些特定属性,包含滤镜模式、纹理数量、纹理数据维度以及纹理分辨率等,但本领域技术人员应可理解本发明亦可适用其它纹理数据属性。再者,除纹理数据处理以外,根据应用程序中数据内容以判定一数据目的地的观念亦符合本发明的适用范围与精神。
显然地,依照上面实施例中的描述,本发明可能有许多的修正与差异。因此需要在其附加的权利要求范围内加以理解,除了上述详细描述外,本发明还可以广泛地在其它的实施例中施行。上述仅为本发明的较佳实施例而已,并非用以限定本发明的申请专利范围;凡其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在本发明申请专利范围内容。

Claims (26)

1、一种图形处理系统,包含:
一快取储存器,自一系统内存接收纹理数据,其中上述的纹理数据被分配至一特定快取储存器位置;
复数个纹理属性单元,从接收的纹理数据中读取复数个纹理属性,该复数个纹理属性包含该纹理数据的一部份;
一选择逻辑电路,分析该复数个纹理属性来判定快取储存器地址数据来源的复数个数据域位;以及
一读取装置,读取于该复数个数据域位中的复数个纹理数据值,该复数个纹理数据值用于判定该特定快取储存器位置。
2、根据权利要求1的图形处理系统,其中上述快取储存器包含复数个组,该复数个组的每一组包含复数个槽位,并且该特定快取储存器位置包含组数据与槽位数据。
3、根据权利要求2的图形处理系统,其中上述选择逻辑电路用于分析复数个第一纹理属性以判定复数个槽位选择数据域位。
4、根据权利要求3的图形处理系统,其中上述复数个第一纹理属性其中之一包含下列可能变化的某一种或其任意组合:
一关于每一纹素内的纹理数量的值;
一纹理型态;以及
一纹理维度属性。
5、根据权利要求4的图形处理系统,其中上述纹理型态包含一滤镜模式。
6、根据权利要求5的图形处理系统,其中上述滤镜模式尚包含下列可能变化:
三线性;
双线性;以及
盒状。
7、根据权利要求4的图形处理系统,其中上述纹理维度属性尚包含下列可能变化:
二维;以及
三维。
8.根据权利要求3的图形处理系统,其中上述复数个槽位选择数据域位尚包含下列可能变化的某一种或其任意组合:
一第一纹素位置坐标;
一第二纹素位置坐标;
一纹理型态;
一细节偏移程度值;以及
一纹素体积值。
9、根据权利要求8的图形处理系统,其中于每一该复数个槽位选择数据域位中的特定位位置由该纹理型态所决定。
10、根据权利要求2的图形处理系统,其中上述选择逻辑电路用于分析复数个第二纹理属性以判定复数个组选择数据域位。
11、根据权利要求10的图形处理系统,其中上述复数个第二纹理属性其中之一包含一纹理维度属性。
12、根据权利要求11的图形处理系统,其中上述的纹理维度属性尚包含下列可能变化:
二维;以及
三维。
13、根据权利要求9的图形处理系统,其中上述复数个组选择数据域位中的特定位位置由一纹理分辨率决定。
14、根据权利要求13的图形处理系统,其中上述纹理分辨率以每纹素具有多少位为单位来表示。
15、于一图形处理器中处理纹理数据的方法,包含:
储存纹理数据于一内存;
自该纹理数据中读取复数个第一纹理属性;
分析该复数个第一纹理属性;
判定用以选择一快取储存器槽位地址数据来源的复数个第一数据域位,其中上述的复数个第一数据域位系相关于该复数个第一纹理属性;
自该纹理数据中读取复数个第二纹理属性;
分析该复数个第二纹理属性;以及
判定用以选择一快取储存器组地址数据来源的复数个第二数据域位,其中上述的复数个第二数据域位系相关于该复数个第二纹理属性。
16、根据权利要求15的处理纹理数据的方法,其中上述复数个第一纹理属性其中之一包含下列可能变化的某一种或其任意组合:
一关于每一纹素内的纹理数量的值;
一纹理型态;以及
一纹理维度属性。
17、根据权利要求16的处理纹理数据的方法,其中上述纹理型态包含一滤镜模式。
18、根据权利要求17的处理纹理数据的方法,其中上述滤镜模式包含三线性滤镜模式。
19、根据权利要求16的处理纹理数据的方法,其中上述纹理维度属性尚包含下列可能变化:
二维;以及
三维。
20、根据权利要求15的处理纹理数据的方法,其中上述复数个第一数据域位尚包含下列可能变化的某一种或其任意组合:
一第一纹素位置坐标;
一第二纹素位置坐标;
一纹理型态;
一细节偏移程度值;以及
一纹素体积值。
21、根据权利要求20的处理纹理数据的方法,其中于每一该复数个第一数据域位中的特定位位置由该纹理型态所决定。
22、根据权利要求15的处理纹理数据的方法,其中上述复数个第二纹理属性其中之一包含一纹理型态。
23、根据权利要求22的处理纹理数据的方法,其中上述纹理型态包含一纹理维度属性。
24、根据权利要求23的处理纹理数据的方法,其中上述纹理维度属性尚包含下列可能变化:
二维;以及
三维。
25、根据权利要求22的处理纹理数据的方法,其中于每一该复数个第二数据域位中的一特定位由每组件具有多少位所决定。
26、一图形处理装置,包含:
一用于接收纹理数据的装置,其中上述纹理数据暂时被储存以供一纹理滤镜的处理;
一用于分析复数个与纹理数据相关的纹理属性的装置,以供判定该复数个纹理属性中的哪些可用于建立一纹理数据接收地址;以及
一装置以判定该复数个纹理属性中的哪些位可用于建立一纹理数据接收地址。
CNB2006100907989A 2005-07-07 2006-06-30 与数据相关的槽位选择机制的纹理快取储存器控制 Active CN100568276C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/176,461 US7483035B2 (en) 2005-07-07 2005-07-07 Texture cache control using a data dependent slot selection scheme
US11/176,461 2005-07-07

Publications (2)

Publication Number Publication Date
CN1866293A CN1866293A (zh) 2006-11-22
CN100568276C true CN100568276C (zh) 2009-12-09

Family

ID=37425308

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100907989A Active CN100568276C (zh) 2005-07-07 2006-06-30 与数据相关的槽位选择机制的纹理快取储存器控制

Country Status (3)

Country Link
US (1) US7483035B2 (zh)
CN (1) CN100568276C (zh)
TW (1) TWI315502B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8022960B2 (en) 2007-02-22 2011-09-20 Qualcomm Incorporated Dynamic configurable texture cache for multi-texturing
US7996622B1 (en) 2007-08-07 2011-08-09 Nvidia Corporation Detecting unused cache lines
US9176883B2 (en) 2009-04-30 2015-11-03 HGST Netherlands B.V. Storage of data reference blocks and deltas in different storage devices
US9582222B2 (en) 2009-04-30 2017-02-28 Western Digital Technologies, Inc. Pre-cache similarity-based delta compression for use in a data storage system
US9413527B2 (en) 2009-04-30 2016-08-09 HGST Netherlands B.V. Optimizing signature computation and sampling for fast adaptive similarity detection based on algorithm-specific performance
US9582919B2 (en) * 2009-10-09 2017-02-28 Microsoft Technology Licensing, Llc Automatic run-time identification of textures
US8872823B2 (en) * 2009-10-09 2014-10-28 Microsoft Corporation Automatic real-time shader modification for texture fetch instrumentation
WO2012109145A2 (en) * 2011-02-11 2012-08-16 Velobit, Inc. Pre-cache similarity-based delta compression for use in a data storage system
DE102015115605A1 (de) * 2014-09-16 2016-03-17 Jeffrey A. Bolz Techniken zur Weiterleitung von Abhängigkeiten in einer API
US20160316450A1 (en) * 2015-04-22 2016-10-27 Pebble Technology Corp. Living notifications
US10523956B2 (en) * 2016-11-16 2019-12-31 Citrix Systems, Inc. Multi-pixel caching scheme for lossless encoding
US11948479B2 (en) * 2020-03-18 2024-04-02 Nec Corporation Of America Tampering detection based on non-reproducible marks in a tampering evident element

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100247276B1 (ko) * 1997-10-23 2000-03-15 윤종용 기록매체의 수납이 가능한 표시장치
US6002407A (en) * 1997-12-16 1999-12-14 Oak Technology, Inc. Cache memory and method for use in generating computer graphics texture
US7136068B1 (en) * 1998-04-07 2006-11-14 Nvidia Corporation Texture cache for a computer graphics accelerator
US6801207B1 (en) * 1998-10-09 2004-10-05 Advanced Micro Devices, Inc. Multimedia processor employing a shared CPU-graphics cache
US6919895B1 (en) * 1999-03-22 2005-07-19 Nvidia Corporation Texture caching arrangement for a computer graphics accelerator
US6825848B1 (en) * 1999-09-17 2004-11-30 S3 Graphics Co., Ltd. Synchronized two-level graphics processing cache
US6363747B1 (en) * 2000-05-12 2002-04-02 Eastman Kodak Company Glass mold material for precision glass molding
US6924811B1 (en) * 2000-11-13 2005-08-02 Nvidia Corporation Circuit and method for addressing a texture cache
US6604175B2 (en) * 2001-03-01 2003-08-05 Sony Corporation Data cache and method of storing data by assigning each independently cached area in the cache to store data associated with one item type
JP3703754B2 (ja) * 2001-10-23 2005-10-05 富士通株式会社 描画装置および情報処理装置
US6862027B2 (en) * 2003-06-30 2005-03-01 Microsoft Corp. System and method for parallel execution of data generation tasks
US7348988B2 (en) * 2005-05-06 2008-03-25 Via Technologies, Inc. Texture cache control using an adaptive missing data table in a multiple cache computer graphics environment

Also Published As

Publication number Publication date
US7483035B2 (en) 2009-01-27
TW200703145A (en) 2007-01-16
CN1866293A (zh) 2006-11-22
TWI315502B (en) 2009-10-01
US20070008330A1 (en) 2007-01-11

Similar Documents

Publication Publication Date Title
CN100568276C (zh) 与数据相关的槽位选择机制的纹理快取储存器控制
US7928990B2 (en) Graphics processing unit with unified vertex cache and shader register file
US10055810B2 (en) Cache architecture for efficiently accessing texture data using buffers
US9122646B2 (en) Graphics processing systems
US20090189909A1 (en) Graphics Processor having Unified Cache System
US6738069B2 (en) Efficient graphics state management for zone rendering
US7999819B2 (en) Systems and methods for managing texture descriptors in a shared texture engine
CN101057261B (zh) 三维图形处理
US6985150B2 (en) Accelerator control unit configured to manage multiple hardware contexts
US9965886B2 (en) Method of and apparatus for processing graphics
US20100091028A1 (en) Texture Level Tracking, Feedback, and Clamping System for Graphics Processors
US20100164983A1 (en) Leveraging graphics processors to optimize rendering 2-d objects
US7348988B2 (en) Texture cache control using an adaptive missing data table in a multiple cache computer graphics environment
KR20040072696A (ko) 지리적 프리미티브를 포함하는 장면을 묘사하는 장치,메모리 자동 관리 방법 및 머신 판독가능 매체
US20100231600A1 (en) High bandwidth, efficient graphics hardware architecture
US6456291B1 (en) Method and apparatus for multi-pass texture mapping
CN105122310A (zh) 用于基于瓦片的渲染的帧内时戳
US5781197A (en) Method for maintaining contiguous texture memory for cache coherency
KR20140035522A (ko) 그래픽 프로세싱 유닛에서의 명령 선별
US5973701A (en) Dynamic switching of texture mip-maps based on pixel depth value
US20010043227A1 (en) Priority methods for texture map storage
CN101183459B (zh) 于计算机环境中共享缓冲器的系统及方法
US6348917B1 (en) Dynamic switching of texture mip-maps based on depth
CN117194055B (zh) Gpu显存申请及释放的方法、装置及存储介质
CN116152039B (zh) 图像渲染的方法

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