用于执行基于图形处理单元的存储器传送操作的多模式存储器存取技术制造技术

技术编号:11947856 阅读:112 留言:0更新日期:2015-08-26 17:38
本发明专利技术描述用于基于可选存储器传送模式以图形处理单元GPU执行存储器传送操作的技术,以及用于选择用于以GPU执行存储器传送操作的全部或部分的存储器传送模式的技术。在一些实例中,本发明专利技术的技术可包含选择用于执行存储器传送操作的至少部分的存储器传送模式,且以GPU基于所述选定存储器传送模式执行所述存储器传送操作。所述存储器传送模式可选自包含交错存储器传送模式和顺序存储器传送模式的至少两个不同存储器传送模式的集合。本发明专利技术的技术可用以改善GPU辅助的存储器传送操作的性能。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及图形处理,且更具体地说,涉及用于以图形处理器执行存储器传送操作的技术。
技术介绍
图形处理单元(GPU)常常在计算装置中使用以处置和/或提供用于显示图形图像所需的操作中的一或多者的硬件加速。GPU通常处置的一类操作是存储器传送操作。存储器传送操作可包含存储器复制操作和组构操作。在一些实例中,存储器传送操作可被称为传图(blit)操作或BLT操作(即,位块传送操作)。执行这些存储器传送操作可涉及相对于存储用于存储器传送操作的源和目的地数据的芯片外存储器执行大量读取和写入操作。
技术实现思路
本专利技术描述用于基于可选存储器传送模式以图形处理单元(GPU)执行存储器传送操作的技术,以及用于选择用于以GPU执行存储器传送操作的全部或部分的存储器传送模式的技术。在一些实例中,用于执行存储器传送操作的技术可使用经配置以在使用交错存储器传送模式与顺序存储器传送模式之间选择性切换以用于执行存储器传送操作的全部或部分的GPU。交错存储器传送模式可致使GPU基于生产者-消费者范例执行存储器传送操作,其中读取请求和写入请求彼此交错。顺序存储器传送模式可致使GPU执行存储器传送操作以使得GPU在发出多个连续读取请求的群组与多个连续写入请求的群组之间交替。在额外实例中,用于选择存储器传送模式的技术可使用主机处理器(例如,CPU)和/或GPU来基于一或多个准则选择存储器传送模式以用于存储器传送操作的全部或部分。<br>在一个实例中,本专利技术描述一种方法,其包含以一或多个处理器选择用于执行存储器传送操作的至少部分的存储器传送模式。所述存储器传送模式可选自包含交错存储器传送模式和顺序存储器传送模式的至少两个不同存储器传送模式的集合。所述方法进一步包含以GPU基于所述选定存储器传送模式执行所述存储器传送操作。在另一个实例中,本专利技术描述一种装置,其包含经配置以选择用于执行存储器传送操作的至少部分的存储器传送模式的一或多个处理器。所述存储器传送模式可选自包含交错存储器传送模式和顺序存储器传送模式的至少两个不同存储器传送模式的集合。所述装置进一步包含经配置以基于所述选定存储器传送模式执行所述存储器传送操作的GPU。在另一个实例中,本专利技术描述一种设备,其包含用于选择用于执行存储器传送操作的至少部分的存储器传送模式的装置。所述存储器传送模式可选自包含交错存储器传送模式和顺序存储器传送模式的至少两个不同存储器传送模式的集合。所述设备进一步包含用于基于所述选定存储器传送模式执行所述存储器传送操作的装置。在另一个实例中,本专利技术描述一种计算机可读存储媒体,其存储当被执行时致使一或多个处理器选择用于执行存储器传送操作的至少部分的存储器传送模式的指令。所述存储器传送模式可选自包含交错存储器传送模式和顺序存储器传送模式的至少两个不同存储器传送模式的集合。所述计算机可读存储媒体进一步存储当被执行时致使一或多个处理器基于所述选定存储器传送模式执行所述存储器传送操作的指令。在附图和下文描述中阐述本专利技术的一或多个实例的细节。本专利技术的其它特征、目标和优点将从所述描述和图式以及权利要求书而显而易见。附图说明图1是说明可用以实施本专利技术的多模式存储器传送技术和本专利技术的存储器传送模式选择技术的实例计算装置的框图。图2是进一步详细说明图1中的计算装置的CPU、GPU和存储器子系统的框图。图3是说明图2中所示的实例配置中可使用的实例存储器子系统的框图。图4是说明图2中所示的实例配置中可使用的另一实例存储器子系统的框图。图5是说明根据本专利技术的实例单个源存储器传送操作的概念图。图6是说明根据本专利技术的实例多源存储器传送操作的概念图。图7是说明根据本专利技术的实例GPU辅助的单个源存储器传送操作的概念图。图8是说明根据本专利技术的实例GPU辅助的多源存储器传送操作的概念图。图9A和9B是说明根据本专利技术的交错存储器传送模式执行的单个源存储器传送操作的实例时序特性的时序图。图10是说明根据本专利技术的顺序存储器传送模式执行的单个源存储器传送操作的实例时序特性的时序图。图11A和11B是说明根据本专利技术的交错存储器传送模式执行的多源存储器传送操作的实例时序特性的时序图。图12是说明根据本专利技术的顺序存储器传送模式执行的多源存储器传送操作的实例时序特性的时序图。图13是说明用于根据本专利技术的交错存储器传送技术执行存储器传送操作的实例技术的流程图。图14是说明用于根据本专利技术的交错同步模式发出读取请求的实例技术的流程图。图15是说明用于根据本专利技术的交错同步模式发出写入请求的实例技术的流程图。图16是说明用于根据本专利技术的顺序存储器传送技术执行存储器传送操作的实例技术的流程图。图17是说明用于根据本专利技术的顺序同步模式发出读取请求的实例技术的流程图。图18是说明用于根据本专利技术的顺序同步模式发出写入请求的实例技术的流程图。图19是说明用于根据本专利技术的顺序存储器传送模式执行存储器传送操作的实例技术的流程图。图20是说明根据本专利技术的用于执行存储器传送操作的实例技术的流程图。图21和22是说明根据本专利技术的用于选择用于执行存储器传送操作的存储器传送模式的实例技术的流程图。图23是说明根据本专利技术的具有多个屏幕对准缓冲区和一目的地表面的屏幕的概念图。图24到26是说明根据本专利技术的用于选择用于执行存储器传送操作的存储器传送模式的实例技术的流程图。图27是说明根据本专利技术的用于执行存储器传送操作的实例技术的流程图。具体实施方式本专利技术描述用于基于可选存储器传送模式以图形处理单元(GPU)执行存储器传送操作的技术,以及用于选择用于以GPU执行存储器传送操作的全部或部分的存储器传送模式的技术。在一些实例中,用于执行存储器传送操作的技术可使用经配置以在使用交错存储器传送模式与顺序存储器传送模式之间选择性切换以用于执行存储器传送操作的全部或部分的GPU。交错存储器传送模式可致使GPU基于生产者-消费者范例执行存储器传送操作,其中读取请求和写入请求彼此交错。顺序存储器传送模式可致使GPU执行存储器传送操作以使得GPU在发出多个连续读取请求的群组与多个连续写入请求的群组之间交替。在额外实例中,用于选择存储器传送模式的技术可使用主机处理器(例如,CPU)和/或GPU来基于一或多个准则选择存储器传送模式以用于存储器传送操作的全部或部分。不同存储器传送模式对于不同类型的存储器传送操作可比其它存储器传送模式更有效。举例来说,顺序存储器本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/58/201380066624.html" title="用于执行基于图形处理单元的存储器传送操作的多模式存储器存取技术原文来自X技术">用于执行基于图形处理单元的存储器传送操作的多模式存储器存取技术</a>

【技术保护点】
一种方法,其包括:以一或多个处理器选择用于执行存储器传送操作的至少部分的存储器传送模式,所述存储器传送模式选自包含交错存储器传送模式和顺序存储器传送模式的至少两个不同存储器传送模式的集合;以及以图形处理单元GPU基于所述选定存储器传送模式执行所述存储器传送操作。

【技术特征摘要】
【国外来华专利技术】2012.12.21 US 13/725,3931.一种方法,其包括:
以一或多个处理器选择用于执行存储器传送操作的至少部分的存储器传送模式,
所述存储器传送模式选自包含交错存储器传送模式和顺序存储器传送模式的至少
两个不同存储器传送模式的集合;以及
以图形处理单元GPU基于所述选定存储器传送模式执行所述存储器传送操作。
2.根据权利要求1所述的方法,其中以所述一或多个处理器选择所述存储器传送模式
包括:
以所述一或多个处理器基于所述存储器传送操作将传送的数据量选择所述存储
器传送模式。
3.根据权利要求2所述的方法,其中以所述一或多个处理器基于所述存储器传送操作
将传送的所述数据量选择所述存储器传送模式包括:
以所述一或多个处理器在所述存储器传送操作将传送的所述数据量大于阈值的
情况下将所述顺序存储器传送模式选择为所述存储器传送模式;以及
以所述一或多个处理器在所述存储器传送操作将传送的所述数据量不大于所述
阈值的情况下将所述交错存储器传送模式选择为所述存储器传送模式。
4.根据权利要求1所述的方法,其中以所述一或多个处理器选择所述存储器传送模式
包括:
以所述一或多个处理器基于所述存储器传送操作的目的地区与固定屏幕对准缓
冲区具有的重叠量而选择用于相对于所述固定屏幕对准缓冲区执行存储器传送操
作的存储器传送模式。
5.根据权利要求4所述的方法,其中以所述一或多个处理器基于所述存储器传送操作
的所述目的地区与所述固定屏幕对准缓冲区具有的重叠量而选择所述存储器传送
模式包括:
在所述目的地区完全覆盖所述固定屏幕对准缓冲区的情况下将所述顺序存储器
传送模式选择为所述存储器传送模式;以及
在所述目的地区并不完全覆盖所述固定屏幕对准缓冲区的情况下将所述交错存
储器传送模式选择为所述存储器传送模式。
6.根据权利要求1所述的方法,
其中执行所述存储器传送操作包括执行着色器程序,且
其中以所述一或多个处理器选择所述存储器传送模式包括基于所述着色器程序
的执行是否可能为所述存储器传送操作的性能瓶颈的确定而选择所述存储器传送
模式。
7.根据权利要求6所述的方法,其中以所述一或多个处理器基于所述着色器程序的所
述执行是否可能为所述存储器传送操作的所述性能瓶颈的所述确定而选择所述存
储器传送模式包括:
响应于确定所述着色器程序的所述执行不大可能为所述存储器传送操作的所述
性能瓶颈而将所述顺序存储器传送模式选择为所述存储器传送模式;以及
响应于确定所述着色器程序的所述执行可能为所述存储器传送操作的所述性能
瓶颈而将所述交错存储器传送模式选择为所述存储器传送模式。
8.根据权利要求1所述的方法,
其中执行所述存储器传送操作包括执行着色器程序,且
其中以所述一或多个处理器选择所述存储器传送模式包括基于用于执行所述存
储器传送操作的着色器程序的大小和用于执行所述存储器传送操作的所述着色器
程序的复杂性中的至少一者而选择所述存储器传送模式。
9.根据权利要求8所述的方法,其中以所述一或多个处理器基于用于执行所述存储器
传送操作的所述着色器程序的所述大小和用于执行所述存储器传送操作的所述着
色器程序的所述复杂性中的所述至少一者而选择所述存储器传送模式包括:
以所述一或多个处理器在所述着色器程序的所述大小和所述着色器程序的所述
复杂性中的所述至少一者小于阈值的情况下将所述顺序存储器传送模式选择为所
述存储器传送模式;以及
以所述一或多个处理器在所述着色器程序的所述大小和所述着色器程序的所述
复杂性中的所述至少一者不小于所述阈值的情况下将所述交错存储器传送模式选

\t择为所述存储器传送模式。
10.根据权利要求1所述的方法,其中以所述GPU执行所述存储器传送操作包括:
以所述GPU响应于交错存储器传送模式被选择为用于执行所述存储器传送操作
的所述存储器传送模式而基于所述交错存储器传送模式执行所述存储器传送操作;
以及
以所述GPU响应于顺序存储器传送模式被选择为用于执行所述存储器传送操作
的所述存储器传送模式而基于所述顺序存储器传送模式执行所述存储器传送操作。
11.根据权利要求10所述的方法,
其中以所述GPU基于所述交错存储器传送模式执行所述存储器传送操作包括基
于生产者-消费者范例致使读取引擎发出读取请求且致使写入引擎发出写入请求,

其中以所述GPU基于所述顺序存储器传送模式执行所述存储器传送操作包括基
于相互排斥范例致使所述读取引擎发出读取请求且致使所述写入引擎发出写入请
求。
12.根据权利要求10所述的方法,
其中以所述GPU基于所述交错存储器传送模式执行所述存储器传送操作包括响
应于所述GPU从存储器接收到足以用于发出写入请求的源数据而致使所述写入引
擎发出所述写入请求且响应于所述写入引擎消耗足以用于发出所述写入请求的所
述源数据而致使所述读取引擎发出读取请求,且
其中以所述GPU基于所述顺序存储器传送模式执行所述存储器传送操作包括致
使所述读取引擎和所述写入引擎在单独的时间间隔期间交替发出多个连续读取请
求的群组和多个连续写入请求的群组。
13.根据权利要求10所述的方法,
其中以所述GPU基于所述交错存储器传送模式执行所述存储器传送操作包括每
次由所述GPU从存储器接收到足以发出用于所述存储器传送操作的写入请求的源
数据时,以所述写入引擎消耗相应源数据而无需等待针对至少一个其它写入请求随
后接收额外源数据,且
其中以所述GPU基于所述顺序存储器传送模式执行所述存储器传送操作包括针
对所述存储器传送操作的至少部分,响应于所述GPU从所述存储器接收到足以发
出用于所述存储器传送操作的写入请求的源数据而以所述写入引擎推迟所述源数
据的消耗直到随后接收到足以发出至少一个其它写入请求的额外源数据。
14.根据权利要求10所述的方法,
其中以所述GPU基于所述交错存储器传送模式执行所述存储器传送操作包括每
次写入引擎消耗足以发出用于所述存储器传送操作的写入请求的源数据时,以读取
引擎发出读取请求而无需等待由所述写入引擎随后消耗用于至少一个其它写入请
求的额外源数据,且
其中以所述GPU基于所述顺序存储器传送模式执行所述存储器传送操作包括针
对所述存储器传送操作的至少部分,响应于所述写入引擎消耗足以发出用于所述存
储器传送操作的写入请求的源数据,以读取引擎推迟后续读取请求的发出直到所述
写入引擎随后消耗足以发出至少一个其它写入请求的额外源数据。
15.根据权利要求1所述的方法,
其中所述GPU包括缓冲器,所述缓冲器经配置以存储响应于由所述GPU向所述
存储器发出的读取请求而接收的源数据,
其中以所述GPU基于所述交错存储器传送模式执行所述存储器传送操作包括:
发出一或多个读取请求;
将响应于所述多个读取请求从所述存储器接收的源数据放置到所述缓冲器中;
针对所述多个读取请求中的每一者,响应于针对所述多个读取请求中的相应一
者的所述源数据被放置于所述缓冲器中,消耗放置于所述缓冲器中的所述源数据
且基于所述消耗的源数据发出写入请求;以及
针对多个写入请求中的每一者,响应于从所述缓冲器消耗针对所述写入请求中
的相应一者的源数据而发出后续读取请求,且
其中以所述GPU基于所述顺序存储器传送模式执行所述存储器传送操作包括:
发出多个读取请求;
将响应于所述多个读取请求从所述存储器接收的源数据放置到所述缓冲器中;
响应于检测到已经发出足够读取请求来填充所述缓冲器而停止发出读取请求;
响应于检测到所述缓冲器是满的而消耗所述缓冲器中的源数据且基于所述消

\t耗的源数据发出多个写入请求;
响应于检测到所述缓冲器是空的而停止消耗所述缓冲器中的源数据且停止发
出写入请求;以及
响应于检测到所述缓冲器是空的而恢复读取请求的发出。
16.根据权利要求1所述的方法,其进一步包括:
使用选自至少两个不同存储器传送模式的所述集合的第一存储器传送模式执行
所述存储器传送操作的第一部分;以及
使用选自至少两个不同存储器传送模式的所述集合的第二存储器传送模式执行
所述存储器传送操作的第二部分。
17.根据权利要求1所述的方法,其中以所述GPU执行所述存储器传送操作包括:
选择用于缓冲在基于所述选定存储器传送模式的所述存储器传送操作期间从存
储器检索的源数据的高速缓冲存储器的高速缓存行大小;以及
基于所述选定高速缓存行大小配置用于所述存储器传送操作的所述高速缓冲存
储器。
18.根据权利要求17所述的方法,其中选择所述高速缓存行大小包括:
响应于所述顺序存储器传送模式被选择为用于执行所述存储器传送操作的所述
存储器传送模式而选择等于所述高速缓冲存储器的整个容量的高速缓存行大小;以

响应于所述交错存储器传送模式被选择为用于执行所述存储器传送操作的所述
存储器传送模式而选择小于所述高速缓冲存储器的所述整个容量的高速缓存行大
小。
19.根据权利要求1所述的方法,其中所述一或多个处理器包括所述GPU,且其中以
所述一或多个处理器选择所述存储器传送模式包括以所述GPU选择用于执行所述
存储器传送操作的所述至少部分的所述存储器传送模式。
20.根据权利要求1所述的方法,其中所述一或多个处理器包括CPU,其中以所述一
或多个处理器选择所述存储器传送模式包括以所述CPU选择用于执行存储器传送

\t操作的所述至少部分的所述存储器传送模式,且其中所述方法进一步包括致使所述
GPU基于所述选定存储器传送模式执行所述存储器传送操作。
21.一种装置,其包括:
一或多个处理器,其经配置以选择用于执行存储器传送操作的至少部分的存储器
传送模式,所述存储器传送模式选自包含交错存储器传送模式和顺序存储器传送模
式的至少两个不同存储器传送模式的集合;以及
图形处理单元GPU,其经配置以基于所述选定存储器传送模式执行所述存储器
传送操作。
22.根据权利要求21所述的装置,其中所述一或多个处理器进一步经配置以基于所述
存储器传送操作将传送的数据量选择所述存储器传送模式。
23.根据权利要求22所述的装置,其中所述一或多个处理器进一步经配置以在所述存
储器传送操作将传送的所述数据量大于阈值的情况下将所述顺序存储器传送模式
选择为所述存储器传送模式,且在所述存储器传送操作将传送的所述数据量不大于
所述阈值的情况下将所述交错存储器传送模式选择为所述存储器传送模式。
24.根据权利要求21所述的装置,其中所述一或多个处理器进一步经配置以基于所述
存储器传送操作的目的地区与固定屏幕对准缓冲区具有的重叠量而选择用于相对
于所述固定...

【专利技术属性】
技术研发人员:A·E·格鲁贝尔汪涛沙姆巴富·坎德瓦勒
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1