CN110223214B - 一种降低纹理单元访问量的方法、装置及计算机存储介质 - Google Patents

一种降低纹理单元访问量的方法、装置及计算机存储介质 Download PDF

Info

Publication number
CN110223214B
CN110223214B CN201910497753.0A CN201910497753A CN110223214B CN 110223214 B CN110223214 B CN 110223214B CN 201910497753 A CN201910497753 A CN 201910497753A CN 110223214 B CN110223214 B CN 110223214B
Authority
CN
China
Prior art keywords
texture
data sampling
texture data
request
sampling request
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
CN201910497753.0A
Other languages
English (en)
Other versions
CN110223214A (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.)
Xi'an Xintong Semiconductor Technology Co ltd
Original Assignee
Xi'an Xintong Semiconductor Technology Co ltd
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 Xi'an Xintong Semiconductor Technology Co ltd filed Critical Xi'an Xintong Semiconductor Technology Co ltd
Priority to CN201910497753.0A priority Critical patent/CN110223214B/zh
Publication of CN110223214A publication Critical patent/CN110223214A/zh
Application granted granted Critical
Publication of CN110223214B publication Critical patent/CN110223214B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明实施例公开了一种降低纹理单元访问量的方法、装置及计算机存储介质;该装置在GPU中与纹理单元对应设置,该装置包括:仲裁模块、请求缓存以及数据缓存。本发明实施例根据纹理坐标相同与否从所有纹理数据采样请求中确定第一纹理数据采样请求,并通过纹理单元针对该第一纹理数据采样请求进行响应,所得到的纹理数据同样能够作为与第一纹理数据采样请求所对应的第二纹理数据采样请求的响应。通过上述技术方案,避免出现纹理单元处理内容的冗余,降低纹理单元的处理功耗以及针对相同纹理坐标的纹理数据采样请求的响应时间。

Description

一种降低纹理单元访问量的方法、装置及计算机存储介质
技术领域
本发明实施例涉及计算机图形技术领域,尤其涉及一种降低纹理单元访问量的方法、装置及计算机存储介质。
背景技术
图形处理器(GPU,Graphics Processing Unit)产生用于显示的视觉内容,例如,用于图形用户接口和视频游戏的内容。GPU可将二维或三维(3D)对象转换成可显示的二维(2D)像素表示。将关于3D对象的信息转换为可显示的位图被称为像素渲染,且要求相当大的存储器和处理电力。在一些示例中,GPU可以包括一或多个纹理单元(TexUnit,TextureUnit)以及一或多个着色器处理器;具体来说,着色器处理器通常采用单指令多线程处理器(SP,Single-Instruction Multiple-Thread),在基于图块渲染的GPU中,多个SP并行渲染各个图块内的场景。纹理单元可以用于进行纹理数据的寻址和滤波处理。着色器处理器可以接收来自纹理单元的滤波后的纹理并且实施图形渲染管线的着色器级以执行像素渲染。
在常规的纹理单元访问方案中,当多个SP对同一纹理单元进行访问的情况下,即使多个SP访问相同的纹理坐标,纹理仍旧会对每个SP的纹理数据采样请求进行处理,从而造成了纹理单元处理内容的冗余,增加了纹理单元的处理功耗,延长了针对相同纹理坐标的纹理数据采样请求的响应时间。
发明内容
有鉴于此,本发明实施例期望提供一种降低纹理单元访问量的方法、装置及计算机存储介质;避免产生纹理单元处理内容的冗余,降低纹理单元的处理功耗以及针对相同纹理坐标的纹理数据采样请求的响应时间。
本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供了一种降低纹理单元访问量的装置,所述装置在GPU中与纹理单元对应设置,所述装置包括:
仲裁模块、请求缓存以及数据缓存;其中,
所述仲裁模块,经配置为:在当前节拍内,接收由多个SP向纹理单元发送的纹理数据采样请求;其中,所述纹理数据采样请求包括SP标识以及纹理坐标;
将所述当前节拍内所接收到的所有纹理数据采样请求根据所述纹理坐标的相同与否划分为第一纹理数据采样请求和第二纹理数据采样请求;并将所述第一纹理数据采样请求传输至所述请求缓存32;其中,每个第一纹理数据采样请求均对应0个或至少一个第二纹理数据采样请求,且每个第二纹理数据采样请求均存在一个第一纹理数据采样请求与之对应;
所述请求缓存,经配置为:向所述纹理单元发送所述第一纹理数据采样请求,以使得所述纹理单元生成与所述第一纹理数据采样请求对应的纹理数据;
所述数据缓存,经配置为:接收所述纹理单元所生成的与所述第一纹理数据采样请求对应的纹理数据,并将与所述第一纹理数据采样请求对应的纹理数据反馈至所述仲裁模块;
所述仲裁模块,还经配置为:将所述纹理数据按照纹理坐标返回至第一纹理数据采样请求以及第二纹理数据采样请求对应的SP标识所指示的SP。
第二方面,本发明实施例提供了一种降低纹理单元访问量的方法,所述方法应用于第一方面所述的降低纹理单元访问量的装置,所述方法包括:
在当前节拍内,仲裁模块接收由多个SP向纹理单元发送的纹理数据采样请求;其中,所述纹理数据采样请求包括SP标识以及纹理坐标;
仲裁模块将所述当前节拍内所接收到的所有纹理数据采样请求根据所述纹理坐标的相同与否划分为第一纹理数据采样请求和第二纹理数据采样请求;并将所述第一纹理数据采样请求传输至所述请求缓存;其中,每个第一纹理数据采样请求均对应0个或至少一个第二纹理数据采样请求,且每个第二纹理数据采样请求均存在一个第一纹理数据采样请求与之对应;
请求缓存向纹理单元发送所述第一纹理数据采样请求,以使得所述纹理单元生成与所述第一纹理数据采样请求对应的纹理数据;
数据缓存接收所述纹理单元所生成的与所述第一纹理数据采样请求对应的纹理数据,并将与所述第一纹理数据采样请求对应的纹理数据反馈至所述仲裁模块;
仲裁模块将所述纹理数据按照纹理坐标返回至第一纹理数据采样请求以及第二纹理数据采样请求对应的SP标识所指示的SP。
第三方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有降低纹理单元访问量的程序,所述降低纹理单元访问量的程序被至少一个处理器执行时实现第二方面所述的降低纹理单元访问量的方法的步骤。
本发明实施例提供了一种降低纹理单元访问量的方法、装置及计算机存储介质;关于同一拍内针对纹理单元的纹理数据采样请求,如果纹理坐标相同,那么说明在同一拍内,不同的SP有着相同的访问需求。基于此,根据纹理坐标相同与否从所有纹理数据采样请求中确定第一纹理数据采样请求,并通过纹理单元针对该第一纹理数据采样请求进行响应,所得到的纹理数据同样能够作为与第一纹理数据采样请求所对应的第二纹理数据采样请求的响应。通过上述技术方案,避免出现纹理单元处理内容的冗余,降低纹理单元的处理功耗以及针对相同纹理坐标的纹理数据采样请求的响应时间。
附图说明
图1为本发明实施例提供的一种纹理单元内部处理流水线示意图;
图2A为常规方案中纹理单元的处理流程示意图;
图2B为本发明实施例提供的一种重复贴图的图像示意图;
图3为本发明实施例提供的一种降低纹理单元访问量的装置组成示意图;
图4为本发明实施例提供的一种示例性的架构示意图;
图5为本发明实施例提供的一种仲裁模块进行比较的处理流程示意图;
图6为本发明实施例提供的一种请求缓存的缓存行组成示意图;
图7为本发明实施例提供的一种数据缓存的缓存行组成示意图;
图8为本发明实施例提供的一种请求缓存进行比较的处理流程示意图;
图9为本发明实施例提供的一种请求缓存进行缓存替换的示意图;
图10为本发明实施例提供的一种降低纹理单元访问量的方法流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
当前,在常规方案中,纹理单元自身的内部处理流水线如图1所示,接收SP(SIMTProcessor)向纹理单元发送纹理数据采样请求,本发明实施例中以纹理数据采样请求为例,纹理单元根据纹理数据采样请求中所携带的纹理像素坐标通过地址计算模块(Address_cal)计算出纹理数据在纹理数据缓存(Tex_cache)中的地址,最后根据纹理采样方式通过纹理滤波器(Tex_filter)对该地址中的纹理数据进行过滤处理,从而获得滤波后的纹理数据。在一些示例中,纹理单元可以是硬件单元的专用集合,其专用于在纹理数据上操作,例如,专用于对纹理数据进行寻址,以及在纹理数据上执行纹理滤波,或经配置以计算纹理数据的点积及类似者。因此,纹理单元可以包含纹理数据高速缓冲存储器和运算逻辑器件(例如,加法器、乘法器和/或其它数字电路),以用于在纹理数据上执行寻址或运算。
当多个SP对同一纹理单元进行访问的情况下,依然以纹理数据采样请求为例。在常规方案中,纹理单元的处理模式示意如图2A所示,纹理单元TexUnit在接收到多个SP,例如SP0至SP7,发送的纹理数据采样请求后,会对每一个纹理数据采样请求均按照图1所示的流水线进行处理。值得注意的是,对于多个SP访问相同纹理坐标的情形,即如图2B所示的示例图像,图像存在多个图块中有相同的椅子、灯台和柱子等纹理图像,在这些图块内会出现相同的纹理坐标。在如此单帧重复贴图基数大的模型场景中,纹理单元会针对相同的纹理坐标进行多次重复处理,结合上述针对纹理单元的描述,那么就会存在针对相同的纹理坐标多次重复调用纹理单元中的运算逻辑器件,从而造成了纹理单元处理内容的冗余,增加了纹理单元的处理功耗,并且还延长了针对相同纹理坐标的纹理数据采样请求的响应时间。
针对上述常规方案中所出现的问题,本发明实施例期望能够针对多个SP关于纹理单元的纹理数据采样请求进行预处理后,再调用纹理单元针对纹理数据采样请求进行响应,从而避免产生纹理单元处理内容的冗余,降低纹理单元的处理功耗以及针对相同纹理坐标的纹理数据采样请求的响应时间,提升了GPU的处理速度。
基于此,参见图3,其示出了本发明实施例提供的一种降低纹理单元访问量的装置3,该装置3在GPU中与纹理单元对应设置,在具体实施设置的过程中,该装置3可以单独地设置于其所对应的纹理单元和SP之间,也可以作为附加于其所对应的纹理单元内的逻辑电路,本发明实施例对此不做限定。如图3所示,该装置3可以包括:仲裁模块31、请求缓存32以及数据缓存33;其中,
所述仲裁模块31,经配置为:在当前节拍内,接收由多个SP向纹理单元发送的纹理数据采样请求;其中,所述纹理数据采样请求包括SP标识以及纹理坐标;
将所述当前节拍内所接收到的所有纹理数据采样请求根据所述纹理坐标的相同与否划分为第一纹理数据采样请求和第二纹理数据采样请求;并将所述第一纹理数据采样请求传输至所述请求缓存32;其中,每个第一纹理数据采样请求均对应0个或至少一个第二纹理数据采样请求,且每个第二纹理数据采样请求均存在一个第一纹理数据采样请求与之对应;
所述请求缓存32,经配置为:向所述纹理单元发送所述第一纹理数据采样请求,以使得所述纹理单元生成与所述第一纹理数据采样请求对应的纹理数据;
所述数据缓存33,经配置为:接收所述纹理单元所生成的与所述第一纹理数据采样请求对应的纹理数据,并将与所述第一纹理数据采样请求对应的纹理数据反馈至所述仲裁模块31;
所述仲裁模块31,还经配置为:将所述纹理数据按照纹理坐标返回至第一纹理数据采样请求以及第二纹理数据采样请求对应的SP标识所指示的SP。
通过图3所示的技术方案,可以看出,关于同一拍内针对纹理单元的纹理数据采样请求,如果纹理坐标相同,那么说明在同一拍内,不同的SP有着相同的访问需求。基于此,根据纹理坐标相同与否从所有纹理数据采样请求中确定第一纹理数据采样请求,并通过纹理单元针对该第一纹理数据采样请求进行响应,所得到的纹理数据同样能够作为与第一纹理数据采样请求所对应的第二纹理数据采样请求的响应。通过上述技术方案,避免出现纹理单元处理内容的冗余,降低纹理单元的处理功耗以及针对相同纹理坐标的纹理数据采样请求的响应时间。
结合图3所示的装置3,参见图4,其示出了装置3应用于GPU内的架构示例,本发明实施例的技术方案可以基于图4所示的架构示例进行详细阐述,可以理解地,图4所示的架构示例仅用于阐述本发明实施例的技术方案,并不对本发明实施例的技术方案进行任何限定。在该示例中,设定SP的数量为8,其对应的标识或者ID分别为SP0、SP1、SP2、SP3、SP4、SP5、SP6和SP7。而纹理单元TexUnit设置于请求缓存32以及数据缓存33之间,从而能够从请求缓存32接收纹理数据采样请求,并根据接收到的纹理数据采样请求生成纹理数据并发送至数据缓存33。
在一种可能的实现方式中,所述仲裁模块31内可以包括一队列Queue,所述队列Queue,经配置为:按照SP标识顺序存储当前节拍内所接收到的由多个SP向纹理单元发送的纹理数据采样请求;需要说明的是,纹理数据采样请求中可以包括关于纹理映射的状态信息,例如纹理坐标以及SP的ID,甚至还可以包括纹理图片大小、纹理数组使能、阴影贴图使能等。本发明实施例对此不做赘述。
相应来说,所述仲裁模块31,经配置为:将所述当前节拍内所接收到的所有纹理数据采样请求按照优先级顺序对Queue内存储的纹理数据采样请求进行轮询;
针对每个被轮询的纹理数据采样请求,若被轮询的纹理数据采样请求未被划分为第二纹理数据采样请求,则将所述被轮询的纹理数据采样请求划分为第一纹理数据采样请求,并将所述第一纹理数据采样请求中的纹理坐标与Queue内存储的纹理数据采样请求中的纹理坐标进行比较,获取与所述第一纹理数据采样请求具有相同纹理坐标的第二纹理数据采样请求;以及,将所述第一纹理数据采样请求传输至所述请求缓存32;
针对每个被轮询的纹理数据采样请求,若被轮询的纹理数据采样请求被划分为第二纹理数据采样请求,则按照优先级顺序轮询下一个纹理数据采样请求。
针对上述实现方式,举例来说,参见图5所示,仲裁模块31在当前节拍内分别从SP0至SP7处接收到纹理数据采样请求,并将接收到的纹理数据采样请求存于Queue中,如图5所示,纹理坐标请求在Queue中按照SP标识顺序进行存储,由顶至低依次保存有SP0、SP1、SP2、SP3、SP4、SP5、SP6和SP7发送的纹理数据采样请求,在图5的Queue中,以SP标识对纹理数据采样请求进行表示,并且括号内为纹理数据采样请求所包括的纹理坐标。
接着,仲裁模块31可以根据自适应的轮询调度(round robin)算法得到当前节拍内优先级最高的纹理数据采样请求,设为SP1发送的纹理数据采样请求,并将该纹理数据采样请求划分为第一纹理数据采样请求并发送至请求缓存32;
然后,在一方面,仲裁模块31将Queue中存储的纹理数据采样请求依次与优先级最高的纹理数据采样请求,即SP1发送的纹理数据采样请求进行比较。如果纹理坐标相等,说明当前拍内不同SP发送了纹理坐标相同的纹理数据采样请求,本实施例将与SP1发送的纹理数据采样请求具有相同纹理坐标的其他纹理数据采样请求划分为第二纹理坐标请求。在本具体示例中,设SP6发送的纹理数据采样请求与SP1发送的纹理数据采样请求具有相同的纹理坐标,也就是说,相应于SP1发送的纹理数据采样请求被划分为第一纹理数据采样请求,那么SP6发送的纹理数据采样请求可以被认为是该第一纹理数据采样请求的副本请求,从而将SP6发送的纹理数据采样请求划分为该第一纹理数据采样请求对应的第二纹理数据采样请求。
而在另一方面,请求缓存32在接收到SP1发送的纹理数据采样请求后,将该请求传输至纹理单元TexUnit,并且数据缓存32会接收TexUnit针对SP1发送的纹理数据采样请求所发送的纹理数据Tex_Data(SP1),并将该Tex_Data(SP1)反馈至仲裁模块31。仲裁模块31在接收到Tex_Data(SP1)后,将该纹理数据Tex_Data发送至SP1和SP6,从而纹理单元TexUnit仅需要进行一次处理就能够向两个SP提供纹理数据。
可以理解地,当优先级最高的纹理数据采样请求按照上述示例处理完毕之后,仲裁模块31可以按照优先级顺序对剩余的纹理数据采样请求进行轮询,并按照上述示例进行处理,需要说明的是,当轮询到的纹理数据采样请求已被划分为第二纹理坐标请求,那么跳过该纹理数据采样请求并轮询下一个纹理数据采样请求。
上述示例描述了仲裁模块31通过Queue机制,对同一节拍内多个SP发送的纹理坐标相同的纹理数据采样请求进行合并处理,并将纹理数据返回给所有发出相同纹理坐标的纹理数据采样请求的SP,避免了纹理单元对于同一节拍内处理内容的冗余,降低纹理单元的处理功耗以及针对相同纹理坐标的纹理数据采样请求的响应时间。
对于请求缓存32来说,在一种可能的实现方式中,所述请求缓存32为深度为n且符合先进先出策略的全相连结构,参见图6,请求缓存32内的每行缓存数据包括SP标识(ID)以及该SP标识指示的SP所发送的纹理数据采样请求中的纹理坐标。基于上述请求缓存32的结构,请求缓存32能够接收由仲裁模块31发送的第一纹理数据采样请求,并缓存最近n次由仲裁模块31发送的第一纹理数据采样请求的纹理坐标。
相应来说,数据缓存33同样可以为深度为n且符合先进先出策略的全相连结构,参见图7,数据缓存33内的每行缓存数据包括SP标识(ID)以及相应于该SP标识指示的SP所发送的纹理数据采样请求的纹理数据。基于上述数据缓存33的结构,可以将纹理单元接收到的纹理数据按照缓存行进行存储,并将接收到的纹理数据发送到仲裁模块31。此外,数据缓存33会与请求缓存32发送的SP标识(ID)进行匹配,将存储于相应缓存cache的纹理数据发送至仲裁模块31。
基于上述实现方式所描述的请求缓存32以及数据缓存33的结构,具体来说,所述请求缓存32,还经配置为:
当接收到新的第一纹理数据采样请求后,按照纹理坐标将所述新的第一纹理数据采样请求与已缓存的第一纹理数据采样请求进行比较:
相应于所述新的第一纹理数据采样请求与所述已缓存的第一纹理数据采样请求均不具有相同的纹理坐标,则按照FIFO策略缓存所述新的第一纹理数据采样请求;
相应于所述已缓存的第一纹理数据采样请求中的一个与所述新的第一纹理数据采样请求具有相同的纹理坐标,则将与所述新的第一纹理数据采样请求具有相同的纹理坐标的已缓存的第一纹理数据采样请求对应的SP标识发送至数据缓存33;
相应地,所述数据缓存33,还经配置为:
接收请求缓存32发送的SP标识,并将缓存的与所述SP标识对应的纹理数据反馈至仲裁模块31。
对于上述实现方式,举例来说,请求缓存32会因为下一节拍的到来不断地从仲裁模块31接收新的第一纹理数据采样请求,基于此,参见图8,请求缓存32每接收到一个新请求,例如SPx请求,都会与其内部已缓存的请求进行纹理坐标比较,如图8中黑色箭头所示,如果新请求的纹理坐标和请求缓存32所有缓存cache行所存储的纹理坐标不相同,则缓存本次新请求,并且将新请求发送给纹理单元进行纹理数据采样。如果新请求和请求缓存32某缓存cache行所存储的纹理坐标相同,说明针对之前的已缓存的请求,已经抓取了该纹理坐标对应的纹理数据,那么新请求就无需发送给纹理单元进行处理,请求缓存32就可以读取与新请求具有相同纹理坐标的已缓存请求中的SP标识(ID),并将该SP标识直接发送到数据缓存33中,从而数据缓存33可以直接读取接收到的SP标识对应的纹理数据并反馈至仲裁模块31。
需要说明的是,由于请求缓存32以及数据缓存33均符合FIFO策略,那么对于请求缓存32来说,当请求缓存32充满且接收到的新请求与已缓存的请求均不具有相同的纹理坐标时,将新请求所包括SP标识以及纹理坐标替换最先存入请求缓存32的SP标识以及纹理坐标,具体过程参见图9,设定请求缓存的深度n=3,当请求缓存32为空时,最先接收SP2发送的纹理数据采样请求,则将SP2以及对应的纹理坐标存入缓存首行;接着,当接收到SP3发送的纹理数据采样请求时,由于请求缓存32内还有存储空间,则将SP3以及对应的纹理坐标存入缓存次行;然后,当接收到SP6发送的纹理数据采样请求时,由于请求缓存32内还有存储空间,则将SP6以及对应的纹理坐标存入缓存末行;最后,当接收到SP1发送的纹理数据采样请求时,由于请求缓存32已满,没有剩余的存储空间,则将SP1以及对应的纹理坐标存入缓存首行已替换SP2及对应的纹理坐标。
可以理解地,当数据缓存33充满且有新的纹理数据需要存入时,将新的SP标识及对应的纹理数据替换最先存入数据缓存33的SP标识以及纹理坐标。本实施例对此不再赘述。
基于上述实现方式,由于请求缓存32能够将接收到新的第一纹理数据采样请求与已缓存的第一纹理数据采样请求进行比较,从而避免了纹理单元在一段时间内处理内容的冗余,降低纹理单元的处理功耗以及针对相同纹理坐标的纹理数据采样请求的响应时间。可以理解地,上述效果所能持续的时间取决于请求缓存32的深度。
对于上述方案,纹理单元TexUnit可以优选为全流水线结构,它接收请求缓存32发送的纹理数据采样请求,在经过纹理地址计算、纹理数据抓取、纹理数据过滤后得到采样点处的纹理数据,最终将采样点处的纹理数据发送至数据缓存33。
结合前述技术方案相同的技术构思,参见图10,其示出了本发明实施例提供的一种降低纹理单元访问量的方法,该方法可以应用于前述技术方案所示的降低纹理单元访问量的装置3,该方法可以包括:
S1001:在当前节拍内,仲裁模块接收由多个SP向纹理单元发送的纹理数据采样请求;其中,所述纹理数据采样请求包括SP标识以及纹理坐标;
S1002:仲裁模块将所述当前节拍内所接收到的所有纹理数据采样请求根据所述纹理坐标的相同与否划分为第一纹理数据采样请求和第二纹理数据采样请求;并将所述第一纹理数据采样请求传输至所述请求缓存;其中,每个第一纹理数据采样请求均对应0个或至少一个第二纹理数据采样请求,且每个第二纹理数据采样请求均存在一个第一纹理数据采样请求与之对应;
S1003:请求缓存向纹理单元发送所述第一纹理数据采样请求,以使得所述纹理单元生成与所述第一纹理数据采样请求对应的纹理数据;
S1004:数据缓存接收所述纹理单元所生成的与所述第一纹理数据采样请求对应的纹理数据,并将与所述第一纹理数据采样请求对应的纹理数据反馈至所述仲裁模块;
S1005:仲裁模块将所述纹理数据按照纹理坐标返回至第一纹理数据采样请求以及第二纹理数据采样请求对应的SP标识所指示的SP。
通过图10所示的技术方案,可以看出,关于同一拍内针对纹理单元的纹理数据采样请求,如果纹理数据的状态信息相同,那么说明在同一拍内,不同的SP有着相同的访问需求。基于此,根据状态信息相同与否从所有纹理数据采样请求中确定第一纹理数据采样请求,并通过纹理单元针对该第一纹理数据采样请求进行响应,所得到的纹理数据同样能够作为与第一纹理数据采样请求所对应的第二纹理数据采样请求的响应。通过上述技术方案,避免出现纹理单元处理内容的冗余,降低纹理单元的处理功耗以及针对相同纹理坐标的纹理数据采样请求的响应时间。
针对图10所示的技术方案,在一种可能的实现方式中,所述仲裁模块将所述当前节拍内所接收到的所有纹理数据采样请求根据所述纹理坐标的相同与否划分为第一纹理数据采样请求和第二纹理数据采样请求,包括:
所述仲裁模块按照SP标识顺序将当前节拍内所接收到的由多个SP向纹理单元发送的纹理数据采样请求存储于一队列Queue内,
所述仲裁模块将所述当前节拍内所接收到的所有纹理数据采样请求按照优先级顺序对Queue内存储的纹理数据采样请求进行轮询;
针对每个被轮询的纹理数据采样请求,若被轮询的纹理数据采样请求未被划分为第二纹理数据采样请求,则所述仲裁模块将所述被轮询的纹理数据采样请求划分为第一纹理数据采样请求,并将所述第一纹理数据采样请求中的纹理坐标与Queue内存储的纹理数据采样请求中的纹理坐标进行比较,获取与所述第一纹理数据采样请求具有相同纹理坐标的第二纹理数据采样请求;以及,所述仲裁模块将所述第一纹理数据采样请求传输至所述请求缓存;
针对每个被轮询的纹理数据采样请求,若被轮询的纹理数据采样请求被划分为第二纹理数据采样请求,则所述仲裁模块按照优先级顺序轮询下一个纹理数据采样请求。
针对图10所示的技术方案,在一种可能的实现方式中,所述方法还包括:
当所述请求缓存接收到新的第一纹理数据采样请求后,按照纹理坐标将所述新的第一纹理数据采样请求与已缓存的第一纹理数据采样请求进行比较:
相应于所述新的第一纹理数据采样请求与所述已缓存的第一纹理数据采样请求均不具有相同的纹理坐标,则所述请求缓存按照FIFO策略缓存所述新的第一纹理数据采样请求;
相应于所述已缓存的第一纹理数据采样请求中的一个与所述新的第一纹理数据采样请求具有相同的纹理坐标,则所述请求缓存将与所述新的第一纹理数据采样请求具有相同的纹理坐标的已缓存的第一纹理数据采样请求对应的SP标识发送至数据缓存;
所述数据缓存接收请求缓存发送的SP标识之后,将缓存的与所述SP标识对应的纹理数据反馈至仲裁模块。
需要说明的是,对于图10所示的技术方案,各步骤、各步骤的实现方式以及各步骤的具体示例,可由降低纹理单元访问量的装置3中的各部件的配置阐述进行具体说明,在此不再赘述。
可以理解地,上述技术方案中降低纹理单元访问量的装置3中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,本实施例提供了一种计算机存储介质,所述计算机存储介质存储有降低纹理单元访问量的程序,所述降低纹理单元访问量的程序被至少一个处理器执行时实现图10所示的降低纹理单元访问量的方法的步骤。
需要说明的是:本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种降低纹理单元访问量的装置,其特征在于,所述装置在GPU中与纹理单元对应设置,所述装置包括:
仲裁模块、请求缓存以及数据缓存;其中,
所述仲裁模块,经配置为:在当前节拍内,接收由多个SP向纹理单元发送的纹理数据采样请求;其中,所述纹理数据采样请求包括SP标识以及纹理坐标;
将所述当前节拍内所接收到的所有纹理数据采样请求根据所述纹理坐标的相同与否划分为第一纹理数据采样请求和第二纹理数据采样请求;并将所述第一纹理数据采样请求传输至所述请求缓存;其中,每个第一纹理数据采样请求均对应0个或至少一个第二纹理数据采样请求,且每个第二纹理数据采样请求均存在一个第一纹理数据采样请求与之对应;
所述请求缓存,经配置为:向所述纹理单元发送所述第一纹理数据采样请求,以使得所述纹理单元生成与所述第一纹理数据采样请求对应的纹理数据;
所述数据缓存,经配置为:接收所述纹理单元所生成的与所述第一纹理数据采样请求对应的纹理数据,并将与所述第一纹理数据采样请求对应的纹理数据反馈至所述仲裁模块;
所述仲裁模块,还经配置为:将所述纹理数据按照纹理坐标返回至第一纹理数据采样请求以及第二纹理数据采样请求对应的SP标识所指示的SP。
2.根据权利要求1所述的装置,其特征在于,所述仲裁模块包括一队列,所述队列,经配置为:按照SP标识顺序存储当前节拍内所接收到的由多个SP向纹理单元发送的纹理数据采样请求。
3.根据权利要求2所述的装置,其特征在于,所述仲裁模块,经配置为:将所述当前节拍内所接收到的所有纹理数据采样请求按照优先级顺序对Queue内存储的纹理数据采样请求进行轮询;
针对每个被轮询的纹理数据采样请求,若被轮询的纹理数据采样请求未被划分为第二纹理数据采样请求,则将所述被轮询的纹理数据采样请求划分为第一纹理数据采样请求,并将所述第一纹理数据采样请求中的纹理坐标与Queue内存储的纹理数据采样请求中的纹理坐标进行比较,获取与所述第一纹理数据采样请求具有相同纹理坐标的第二纹理数据采样请求;以及,将所述第一纹理数据采样请求传输至所述请求缓存;
针对每个被轮询的纹理数据采样请求,若被轮询的纹理数据采样请求被划分为第二纹理数据采样请求,则按照优先级顺序轮询下一个纹理数据采样请求。
4.根据权利要求1所述的装置,其特征在于,所述请求缓存为深度为n且符合先进先出策略的全相连结构,且所述请求缓存内的每行缓存数据包括SP标识以及所述SP标识指示的SP所发送的纹理数据采样请求中的纹理坐标;
相应地,所述数据缓存为深度为n且符合先进先出策略的全相连结构,且所述数据缓存内的每行缓存数据包括SP标识以及相应于所述SP标识指示的SP所发送的纹理数据采样请求的纹理数据。
5.根据权利要求4所述的装置,其特征在于,所述请求缓存,还经配置为:
当接收到新的第一纹理数据采样请求后,按照纹理坐标将所述新的第一纹理数据采样请求与已缓存的第一纹理数据采样请求进行比较:
相应于所述新的第一纹理数据采样请求与所述已缓存的第一纹理数据采样请求均不具有相同的纹理坐标,则按照FIFO策略缓存所述新的第一纹理数据采样请求;
相应于所述已缓存的第一纹理数据采样请求中的一个与所述新的第一纹理数据采样请求具有相同的纹理坐标,则将与所述新的第一纹理数据采样请求具有相同的纹理坐标的已缓存的第一纹理数据采样请求对应的SP标识发送至数据缓存;
相应地,所述数据缓存,还经配置为:
接收请求缓存发送的SP标识,并将缓存的与所述SP标识对应的纹理数据反馈至仲裁模块。
6.一种降低纹理单元访问量的方法,其特征在于,所述方法应用于权利要求1至5任一项所述的降低纹理单元访问量的装置,所述方法包括:
在当前节拍内,仲裁模块接收由多个SP向纹理单元发送的纹理数据采样请求;其中,所述纹理数据采样请求包括SP标识以及纹理坐标;
仲裁模块将所述当前节拍内所接收到的所有纹理数据采样请求根据所述纹理坐标的相同与否划分为第一纹理数据采样请求和第二纹理数据采样请求;并将所述第一纹理数据采样请求传输至所述请求缓存;其中,每个第一纹理数据采样请求均对应0个或至少一个第二纹理数据采样请求,且每个第二纹理数据采样请求均存在一个第一纹理数据采样请求与之对应;
请求缓存向纹理单元发送所述第一纹理数据采样请求,以使得所述纹理单元生成与所述第一纹理数据采样请求对应的纹理数据;
数据缓存接收所述纹理单元所生成的与所述第一纹理数据采样请求对应的纹理数据,并将与所述第一纹理数据采样请求对应的纹理数据反馈至所述仲裁模块;
仲裁模块将所述纹理数据按照纹理坐标返回至第一纹理数据采样请求以及第二纹理数据采样请求对应的SP标识所指示的SP。
7.根据权利要求6所述的方法,其特征在于,所述仲裁模块将所述当前节拍内所接收到的所有纹理数据采样请求根据所述纹理坐标的相同与否划分为第一纹理数据采样请求和第二纹理数据采样请求,包括:
所述仲裁模块按照SP标识顺序将当前节拍内所接收到的由多个SP向纹理单元发送的纹理数据采样请求存储于一队列Queue内,
所述仲裁模块将所述当前节拍内所接收到的所有纹理数据采样请求按照优先级顺序对Queue内存储的纹理数据采样请求进行轮询;
针对每个被轮询的纹理数据采样请求,若被轮询的纹理数据采样请求未被划分为第二纹理数据采样请求,则所述仲裁模块将所述被轮询的纹理数据采样请求划分为第一纹理数据采样请求,并将所述第一纹理数据采样请求中的纹理坐标与Queue内存储的纹理数据采样请求中的纹理坐标进行比较,获取与所述第一纹理数据采样请求具有相同纹理坐标的第二纹理数据采样请求;以及,所述仲裁模块将所述第一纹理数据采样请求传输至所述请求缓存;
针对每个被轮询的纹理数据采样请求,若被轮询的纹理数据采样请求被划分为第二纹理数据采样请求,则所述仲裁模块按照优先级顺序轮询下一个纹理数据采样请求。
8.根据权利要求6所述的方法,其特征在于,所述请求缓存为深度为n且符合先进先出策略的全相连结构,且所述请求缓存内的每行缓存数据包括SP标识以及所述SP标识指示的SP所发送的纹理数据采样请求中的纹理坐标;
相应地,所述数据缓存为深度为n且符合先进先出策略的全相连结构,且所述数据缓存内的每行缓存数据包括SP标识以及相应于所述SP标识指示的SP所发送的纹理数据采样请求的纹理数据。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
当所述请求缓存接收到新的第一纹理数据采样请求后,按照纹理坐标将所述新的第一纹理数据采样请求与已缓存的第一纹理数据采样请求进行比较:
相应于所述新的第一纹理数据采样请求与所述已缓存的第一纹理数据采样请求均不具有相同的纹理坐标,则所述请求缓存按照FIFO策略缓存所述新的第一纹理数据采样请求;
相应于所述已缓存的第一纹理数据采样请求中的一个与所述新的第一纹理数据采样请求具有相同的纹理坐标,则所述请求缓存将与所述新的第一纹理数据采样请求具有相同的纹理坐标的已缓存的第一纹理数据采样请求对应的SP标识发送至数据缓存;
所述数据缓存接收请求缓存发送的SP标识之后,将缓存的与所述SP标识对应的纹理数据反馈至仲裁模块。
10.一种计算机存储介质,所述计算机存储介质存储有降低纹理单元访问量的程序,所述降低纹理单元访问量的程序被至少一个处理器执行时实现权利要求6至9任一项所述的降低纹理单元访问量的方法的步骤。
CN201910497753.0A 2019-06-10 2019-06-10 一种降低纹理单元访问量的方法、装置及计算机存储介质 Active CN110223214B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910497753.0A CN110223214B (zh) 2019-06-10 2019-06-10 一种降低纹理单元访问量的方法、装置及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910497753.0A CN110223214B (zh) 2019-06-10 2019-06-10 一种降低纹理单元访问量的方法、装置及计算机存储介质

Publications (2)

Publication Number Publication Date
CN110223214A CN110223214A (zh) 2019-09-10
CN110223214B true CN110223214B (zh) 2023-04-11

Family

ID=67815982

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910497753.0A Active CN110223214B (zh) 2019-06-10 2019-06-10 一种降低纹理单元访问量的方法、装置及计算机存储介质

Country Status (1)

Country Link
CN (1) CN110223214B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114742691B (zh) * 2022-05-19 2023-08-18 支付宝(杭州)信息技术有限公司 一种图数据采样方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012147364A1 (en) * 2011-04-28 2012-11-01 Digital Media Professionals Inc. Heterogeneous graphics processor and configuration method thereof
WO2014179059A1 (en) * 2013-05-01 2014-11-06 Qualcomm Incorporated System and method of arbitrating cache requests
CN105550126A (zh) * 2014-10-22 2016-05-04 三星电子株式会社 高速缓冲存储器系统和操作高速缓冲存储器系统的方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6781588B2 (en) * 2001-09-28 2004-08-24 Intel Corporation Texture engine memory access synchronizer
US7876329B2 (en) * 2007-09-10 2011-01-25 Via Technologies, Inc. Systems and methods for managing texture data in a computer
US8174534B2 (en) * 2007-12-06 2012-05-08 Via Technologies, Inc. Shader processing systems and methods
CN103927277B (zh) * 2014-04-14 2017-01-04 中国人民解放军国防科学技术大学 Cpu和gpu共享片上高速缓存的方法及装置
CN105243033B (zh) * 2015-09-28 2018-05-25 北京联想核芯科技有限公司 数据处理方法及电子设备
US10198789B2 (en) * 2016-12-13 2019-02-05 Advanced Micro Devices, Inc. Out-of-order cache returns

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012147364A1 (en) * 2011-04-28 2012-11-01 Digital Media Professionals Inc. Heterogeneous graphics processor and configuration method thereof
WO2014179059A1 (en) * 2013-05-01 2014-11-06 Qualcomm Incorporated System and method of arbitrating cache requests
CN105550126A (zh) * 2014-10-22 2016-05-04 三星电子株式会社 高速缓冲存储器系统和操作高速缓冲存储器系统的方法

Also Published As

Publication number Publication date
CN110223214A (zh) 2019-09-10

Similar Documents

Publication Publication Date Title
US7456835B2 (en) Register based queuing for texture requests
US10055810B2 (en) Cache architecture for efficiently accessing texture data using buffers
US20200143516A1 (en) Data processing systems
US10922868B2 (en) Split frame rendering
EP1994506B1 (en) Texture unit for multi processor environment
US6115793A (en) Mapping logical cache indexes to physical cache indexes to reduce thrashing and increase cache size
US8363059B2 (en) Rendering processing apparatus, parallel processing apparatus, and exclusive control method
US7760205B2 (en) Information processing apparatus for efficient image processing
CN104981838B (zh) 优化图像存储器访问
CN110223214B (zh) 一种降低纹理单元访问量的方法、装置及计算机存储介质
CN117058288A (zh) 图形处理器及方法、多核图形处理系统、电子装置及设备
US20060061579A1 (en) Information processing apparatus for efficient image processing
US8223159B1 (en) System and method for transferring data between unrelated API contexts on one or more GPUs
US11935153B2 (en) Data compression support for accelerated processor
US20180095929A1 (en) Scratchpad memory with bank tiling for localized and random data access
GB2506727A (en) Server-rendering of graphics for remote client
US9489707B2 (en) Sampler load balancing
US10395424B2 (en) Method and apparatus of copying data to remote memory
CN117742863B (zh) 一种基于Qt和GStreamer结合的多媒体处理方法、系统
CN108696670A (zh) 在成像时进行瓦片重用
US8417063B2 (en) Image processing apparatus and image processing system
US20060152513A1 (en) Information processing device, data transmission method, and electronic apparatus
US11605364B2 (en) Line-based rendering for graphics rendering systems, methods, and devices
US20240037835A1 (en) Complex rendering using tile buffers
CN116860782A (zh) 图形处理器、系统、装置、设备及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Li Yang

Inventor after: Liu Shihao

Inventor before: Liu Shihao

Inventor before: Huang Hucai

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200226

Address after: 710065 room 21101, floor 11, unit 2, building 1, Wangdu, No. 3, zhangbayi Road, Zhangba Street office, hi tech Zone, Xi'an City, Shaanxi Province

Applicant after: Xi'an Xintong Semiconductor Technology Co.,Ltd.

Address before: 710077 D605, Main R&D Building of ZTE Industrial Park, No. 10 Tangyannan Road, Xi'an High-tech Zone, Shaanxi Province

Applicant before: Xi'an Botuxi Electronic Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 301, Building D, Yeda Science and Technology Park, No. 300 Changjiang Road, Yantai Area, China (Shandong) Pilot Free Trade Zone, Yantai City, Shandong Province

Patentee after: Xi'an Xintong Semiconductor Technology Co.,Ltd.

Address before: Room 21101, 11 / F, unit 2, building 1, Wangdu, No. 3, zhangbayi Road, Zhangba Street office, hi tech Zone, Xi'an City, Shaanxi Province

Patentee before: Xi'an Xintong Semiconductor Technology Co.,Ltd.