【技术实现步骤摘要】
【国外来华专利技术】针对通用寄存器(GPR)的寄存器溢出管理
本专利技术涉及数据存储,且更确切地说,涉及通用寄存器(GPR)中的数据存储技术。
技术介绍
例如图形处理单元(GPU)的处理单元包含具有通用寄存器(GPR)的处理核心,所述通用寄存器存储从指令的执行而产生的数据或执行指令所需的数据。举例来说,所述处理核心的处理元件可包含算术逻辑单元(ALU),其执行多个算术运算。所述GPR可存储所述算术运算的结果和/或存储所述算术运算的运算元。
技术实现思路
一般来说,本专利技术描述用于在较低优先权指令集在处理单元上的执行期间管理当较高优先权指令集将在处理单元上执行时的寄存器溢出的技术。处理单元包含一或多个通用寄存器(GPR),其存储对于较低优先权指令集的执行所需的数据。在本专利技术中描述的技术中,一或多个GPR包含存储器位置的静态集区和存储器位置的动态集区。处理单元可将只存储在存储器位置的动态集区中的低优先级指令集的数据复制到与一或多个GPR分开的存储器单元内,且从所述一或多个GPR删除复制的数据(例如,只从存储器位置的动态集区删除溢出)。以此方式,处理单元可创造足够的存储区域用于执行高优先 ...
【技术保护点】
一种在图形处理单元GPU上执行指令的方法,所述方法包括:用所述GPU的一或多个核心的一或多个处理元件执行第一指令集;用所述GPU确定对待在所述GPU上执行的第二指令集给予比在所述GPU上执行的所述第一指令集高的优先权;响应于确定对所述第二指令集给予较高优先权,用所述GPU将存储于分配给所述第一指令集的一或多个通用寄存器GPR的子集而非全部中的数据复制到另一存储器单元,所述一或多个GPR可由上面执行所述第一和第二指令集的所述GPU的所述一或多个核心存取;以及用所述一或多个处理元件且在所述复制后,利用所述一或多个GPR的所述子集执行所述第二指令集。
【技术特征摘要】
【国外来华专利技术】2015.08.17 US 14/828,2151.一种在图形处理单元GPU上执行指令的方法,所述方法包括:用所述GPU的一或多个核心的一或多个处理元件执行第一指令集;用所述GPU确定对待在所述GPU上执行的第二指令集给予比在所述GPU上执行的所述第一指令集高的优先权;响应于确定对所述第二指令集给予较高优先权,用所述GPU将存储于分配给所述第一指令集的一或多个通用寄存器GPR的子集而非全部中的数据复制到另一存储器单元,所述一或多个GPR可由上面执行所述第一和第二指令集的所述GPU的所述一或多个核心存取;以及用所述一或多个处理元件且在所述复制后,利用所述一或多个GPR的所述子集执行所述第二指令集。2.根据权利要求1所述的方法,进一步包括:在确定对待在所述GPU上执行的所述第二指令集给予较高优先权前,接收分配用于所述第一指令集的所述一或多个GPR中的静态存储器位置的集合的信息,其中所述静态存储器位置的集合包括贯穿所述第一指令集的所述执行仅分配给所述第一指令集的所述一或多个GPR中的存储器位置;以及在确定对待在所述GPU上执行的所述第二指令集给予较高优先权前,确定用于所述第一指令集的所述一或多个GPR中的动态存储器位置的集合,其中所述动态存储器位置的集合中的所述动态存储器位置中的至少一个包括在所述第一指令集的所述执行期间分配给所述第一指令集且接着分配给一或多个其它指令集的存储器位置。3.根据权利要求2所述的方法,其中复制存储于所述一或多个GPR的所述子集而非全部中的数据包括:将存储于分配给所述第一指令集的所述一或多个GPR中的所述动态存储器位置中的一或多个中的数据复制到另一存储器单元;以及避免将存储于分配给所述第一指令集的所述一或多个GPR中的所述静态存储器位置中的任一个中的数据复制到任一其它存储器单元。4.根据权利要求2所述的方法,进一步包括:将分配给所述第一指令集的所述一或多个GPR中的所述一或多个动态存储器位置分配给所述第二指令集,其中执行所述第二指令集包括利用分配给所述第二指令集的所述一或多个GPR中的所述一或多个动态存储器位置执行所述第二指令集。5.根据权利要求2所述的方法,其中确定所述动态存储器位置的集合包括在所述第一指令集的执行期间响应于接收到对所述一或多个GPR中的存储器位置的请求,确定所述动态存储器位置的集合。6.根据权利要求1所述的方法,其中所述第一指令集和所述第二指令集是针对不同程序,且其中确定对所述第二指令集给予较高优先权包括响应于接收到指示所述GPU执行所述第二指令集而非所述第一指令集的命令,对所述第二指令集给予较高优先权。7.根据权利要求1所述的方法,其中所述第一指令集和所述第二指令集是针对同一程序,且其中确定对所述第二指令集给予较高优先权包括:确定所述第一指令集的多个指令已完成到块点的执行;以及响应于确定所述第一指令集的所述多个指令已完成到块点的执行而确定应在执行所述第一指令集的剩余指令前执行所述第二指令集的多个指令。8.一种用于执行指令的装置,所述装置包括:一或多个通用寄存器GPR;以及图形处理单元GPU,其被配置以:用所述GPU的一或多个核心的一或多个处理元件执行第一指令集;确定对待在所述GPU上执行的第二指令集给予比在所述GPU上执行的所述第一指令集高的优先权;响应于确定对所述第二指令集给予较高优先权,将存储于分配给所述第一指令集的所述一或多个GPR的子集而非全部中的数据复制到另一存储器单元,其中所述一或多个GPR可由上面执行所述第一和第二指令集的所述GPU的所述一或多个核心存取;以及用所述一或多个处理元件且在所述复制后,利用所述一或多个GPR的所述子集执行所述第二指令集。9.根据权利要求8所述的装置,其中所述GPU包括所述一或多个GPR。10.根据权利要求8所述的装置,其中所述GPU被配置以:在确定对待在所述GPU上执行的所述第二指令集给予较高优先权前,接收分配用于所述第一指令集的所述一或多个GPR中的静态存储器位置的集合的信息,其中所述静态存储器位置的集合包括贯穿所述第一指令集的所述执行仅分配给所述第一指令集的所述一或多个GPR中的存储器位置;在确定对待在所述GPU上执行的所述第二指令集给予较高优先权前,确定用于所述第一指令集的所述一或多个GPR中的动态存储器位置的集合,其中所述动态存储器位置的集合中的所述动态存储器位置中的至少一个包括在所述第一指令集的所述执行期间分配给所述第一指令集且接着分配给一或多个其它指令集的存储器位置。11.根据权利要求10所述的装置,其中为了复制存储于所述一或多个GPR的所述子集而非全部中的数据,所述GPU被配置以:将存储于分配给所述第一指令集的所述一或多个GPR中的所述动态存储器位置中的一或多个中的数据复制到另一存储器单元;以及避免将存储于分配给所述第一指令集的所述一或多个GPR中的所述静态存储器位置中的任一个中的数据复制到任一其它存储器单元。12.根据权利要求10所述的装置,其中所述GPU被配置以:将分配给所述第一指令集的所述一或多个GPR中的所述一或多个动态存储器位置分配给所述第二指令集,其中为了执行所述第二指令集,所述GPU被配置以利用分配给所述第二指令集的所述一或多个GPR中的所述一或多个动态存储器位置执行所述第二指令集。13.根据权利要求10所述的装置,其中为了确定所述动态存储器位置的集合,所述GPU被配置以在所述第一指令集的执行期间响应于接收到对所述一或多个GPR中的存储器位置的请求,确定所述动态存储器位置的集合。14.根据权利要求8所述的装置,其中所述第一指令集和所述第二指令集是针对不同程序,且其中为了确定对所述第二指令集给予较高优先权,所述GPU被配置以响应于接收到指示所述GPU执行所述第二指令集而非所述第一指令集的命令,确定对所述第二指令集给予较高优先权。15.根据权利要求8所述的装置,其中所述第一指令集和所述第二指令集是针对同一程序,且其中为了确定对所述第二指令集给予较高优先权,所述GPU被配置以:确定所述第一指令集的多个指令已完成到块点的执行;以及响应于确定所述第一指令集的所述多个指令已完成到...
【专利技术属性】
技术研发人员:李·豪斯,马克西姆·卡扎科夫,
申请(专利权)人:高通股份有限公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。