【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及图形处理,且更具体地说,涉及用于以图形处理器执行存储器传送操作的技术。
技术介绍
图形处理单元(GPU)常常在计算装置中使用以处置和/或提供用于显示图形图像所需的操作中的一或多者的硬件加速。GPU通常处置的一类操作是存储器传送操作。存储器传送操作可包含存储器复制操作和组构操作。在一些实例中,存储器传送操作可被称为传图(blit)操作或BLT操作(即,位块传送操作)。执行这些存储器传送操作可涉及相对于存储用于存储器传送操作的源和目的地数据的芯片外存储器执行大量读取和写入操作。
技术实现思路
本专利技术描述用于基于可选存储器传送模式以图形处理单元(GPU)执行存储器传送操作的技术,以及用于选择用于以GPU执行存储器传送操作的全部或部分的存储器传送模式的技术。在一些实例中,用于执行存储器传送操作的技术可使用经配置以在使用交错存储器传送模式与顺序存储器传送模式之间选择性切换以用于执行存储器传送操作的全部或部分的GPU。交错存储器传送模式可致使GPU基于生产者-消费者范例执行存储器传送操作,其中读取请求和写入请求彼此交错。顺序存储器传送模式可致使GPU执行存储器传送操作以使得GPU在发出多个连续读取请求的群组与多个连续写入请求的群组之间交替。在额外实例中,用于选择存储器传送模式的技术可使用主机处理器(例如,CPU)和/或GPU来基于一或多个准则选择存储器传送模式以用于存储器传送操作的全部或部分。< ...
【技术保护点】
一种方法,其包括:以一或多个处理器选择用于执行存储器传送操作的至少部分的存储器传送模式,所述存储器传送模式选自包含交错存储器传送模式和顺序存储器传送模式的至少两个不同存储器传送模式的集合;以及以图形处理单元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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。