利用管线寄存器作为中间存储器制造技术

技术编号:14689134 阅读:61 留言:0更新日期:2017-02-23 11:33
在一个实例中,一种方法包含:响应于通过处理单元接收请求将第一值从第一通用寄存器GPR移动到第三GPR及将第二值从第二GPR移动到第四GPR的一或多个指令,通过初始逻辑单元且在第一时钟周期期间将所述第一值拷贝到初始管线寄存器,通过所述初始逻辑且在第二时钟周期期间将所述第二值拷贝到所述初始管线寄存器,通过最终逻辑单元且在第三时钟周期期间将所述第一值从最终管线寄存器拷贝到所述第三GPR,及通过所述最终逻辑单元且在第四时钟周期期间将所述第二值从所述最终管线寄存器拷贝到所述第四GPR。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及处理单元,且更特定来说,涉及在处理单元的通用寄存器之间移动多个值。
技术介绍
处理单元(例如,图形处理单元(GPU)及中央处理单元(CPU))可用于在计算装置内执行广泛各种操作。举例来说,GPU可为用于在显示器上操纵及显示计算机化图形的图形呈现装置。GPU是用高度平行结构构建,所述高度平行结构可针对复杂算法范围提供比典型、通用中央处理单元(CPU)更高效的处理。处理单元通常包含用于存储数据的多个通用寄存器(GPR)。在执行操作时,处理单元通常执行致使处理单元在GPR间移动值的指令。
技术实现思路
一般来说,本专利技术描述使用管线寄存器来在GPR之间移动值的处理单元。处理单元可经配置以根据指令集架构(ISA)操作,所述ISA可包含多个指令,每一指令规定可由所述处理单元执行的特定操作。作为一个实例,所述ISA中所包含的移动指令可规定将值从源GPR移动到目的地GPR。在一个实例中,方法包含:通过处理单元接收请求将第一值从多个GPR中的第一GPR移动到所述多个GPR中的第三GPR及将第二值从所述多个GPR中的第二GPR移动到所述多个GPR中的第四GPR的一或多个指令。在此实例中,所述方法还包含:响应于接收到一或多个指令,通过所述处理单元中的初始逻辑单元且在第一时钟周期期间,将所述第一值拷贝到管线的多个管线寄存器中的初始管线寄存器,其中所述多个管线寄存器不同于所述多个GPR;通过所述处理单元中的所述初始逻辑单元且在继所述第一时钟周期之后的第二时钟周期期间,将所述第二值拷贝至所述初始管线寄存器;通过所述处理单元中的最终逻辑单元且在继所述第二时钟周期之后的第三时钟周期期间将所述第一值从所述多个管线寄存器中的最终管线寄存器拷贝到所述第三GPR,其中经拷贝到所述第三GPR的所述第一值表示从所述第一GPR拷贝的所述相同第一值;及通过所述处理单元中的所述最终逻辑单元且在继所述第二时钟周期之后的第四时钟周期期间将所述第二值从所述最终管线寄存器拷贝到所述第四GPR,其中经拷贝到所述第四GPR的所述第二值表示从所述第二GPR拷贝的所述相同第二值。在另一实例中,处理单元包含多个GPR;包括多个管线寄存器的管线,其中所述多个管线寄存器不同于所述多个GPR;多个逻辑单元;及控制器。在此实例中,控制经配置以接收请求将第一值从所述多个GPR中的第一GPR移动到所述多个GPR中的第三GPR及将第二值从所述多个GPR中的第二GPR移动到所述多个GPR中的第四GPR的一或多个指令。在此实例中,响应于接收到所述一或多个指令,所述控制器经配置以致使所述多个逻辑单元中的初始逻辑单元在第一时钟周期期间将所述第一值拷贝到所述多个管线寄存器中的初始管线寄存器;致使所述初始逻辑单元在继所述第一时钟周期之后的第二时钟周期期间将所述第二值拷贝到所述初始管线寄存器;致使所述多个逻辑单元中的最终逻辑单元在继所述第二时钟周期之后的第三时钟周期期间将所述第一值从所述多个管线寄存器中的最终管线寄存器拷贝到所述第三GPR,其中经拷贝到所述第三GPR的所述第一值表示从所述第一GPR拷贝的所述相同第一值;及致使所述最终逻辑单元在继所述第二时钟周期之后的第四时钟周期期间将所述第二值从所述最终管线寄存器拷贝到所述第四GPR,其中经拷贝到所述第四GPR的所述第二值表示从所述第二GPR拷贝的所述相同第二值。在另一实例中,非暂时性计算机可读存储媒体存储供处理单元请求将第一值从多个GPR中的第一GPR移动到所述多个GPR中的第三GPR及将第二值从所述多个GPR中的第二GPR移动到所述多个GPR中的第四GPR的一或多个指令。在此实例中,在被执行时,所述一或多个指令致使所述处理单元进行以下操作:致使所述多个逻辑单元中的初始逻辑单元在第一时钟周期期间将所述第一值拷贝到管线的多个管线寄存器中的初始管线寄存器;致使所述初始逻辑单元在继所述第一时钟周期之后的第二时钟周期期间将所述第二值拷贝到所述初始管线寄存器;致使所述多个逻辑单元中的最终逻辑单元在继所述第二时钟周期之后的第三时钟周期期间将所述第一值从所述多个管线寄存器的最终管线寄存器拷贝到所述第三GPR,其中经拷贝到所述第三GPR的所述第一值表示从所述第一GPR拷贝的所述相同第一值;及致使所述最终逻辑单元在继所述第二时钟周期之后的第四时钟周期期间将所述第二值从所述最终管线寄存器拷贝到所述第四GPR,其中经拷贝到所述第四GPR的所述第二值表示从所述第二GPR拷贝的所述相同第二值。在另一实例中,方法包含:通过编译器模块接收代码,及响应于通过所述编译器模块确定可将由所述代码指示的多个操作可组合到组合移动指令中,产生所述组合移动指令。在此实例中,在由处理单元执行时,所述所产生的组合移动指令致使所述处理单元在将多个值从多个GPR中的多个源GPR移动到所述多个GPR中的多个目的地GPR时利用多个管线寄存器作为暂时存储器,且其中所述多个管线寄存器不同于所述多个GPR。下文的随附图式及描述中阐明一或多个实例的细节。根据所述描述及图式以及根据权利要求书将明了其它特征、目的及优点。附图说明图1为根据本专利技术的一或多种技术说明包含在执行组合移动指令时使用管线寄存器来在通用寄存器(GPR)之间移动值的实例处理单元的集成电路的框图。图2为根据本专利技术的一或多种技术说明包含在执行组合移动指令时使用管线寄存器来在GPR之间移动值的实例处理单元的集成电路的框图。图3A到3C为根据本专利技术的一或多种技术说明在执行组合移动指令时使用管线寄存器来在GPR之间移动值的处理单元内的实例数据流的时序图。图4为根据本专利技术的一或多种技术说明在执行组合移动指令时使用管线寄存器来在GPR之间移动值的处理单元的实例操作的流程图。图5为根据本专利技术的一或多种技术说明输出组合移动指令的实例编译器模块的框图。图6为根据本专利技术的一或多种技术说明输出组合移动指令的编译器模块的实例操作的流程图。图7为根据本专利技术的一或多种技术的说明包含图1的集成电路的实例装置100的框图。具体实施方式一般来说,本专利技术描述使用管线寄存器来在GPR之间移动值的处理单元。处理单元可经配置以根据指令集架构(ISA)操作,所述ISA可包含多个指令,每一指令规定可由所述处理单元执行的特定操作。作为一个实例,所述ISA中所包含的移动指令可规定将值从源GPR移动到目的地GPR。在一些实例中,例如当在寄存器之间移动多个值时,针对每一移动执行单独指令可较低效。根据本专利技术的一或多种技术,ISA中所包含的组合移动指令可规定将多个值从多个源GPR移动到多个目的地GPR。在一些实例中,特定GPR可被包含在多个源GPR及多个目的地GPR两者中。举例来说,组合移动指令,例如,对换指令,可规定将存储在第一GPR中的第一值移动到第二GPR且将存储在第二GPR中的第二值移动到第一GPR(例如,对换存储在第一GPR及第二GPR中的值)。在一些实例中,为了执行组合移动指令,处理单元可在执行期间利用第三GPR来暂时存储所述值中的一者。举例来说,处理单元可将第一值从第一GPR拷贝到第三GPR,将第二值从第二GPR拷贝到第一GPR,及将第一值从第三GPR拷贝到第二GPR。在一些实例中,处理单元可包含一或多个管线。管线中的每一者可包含多个阶段,至少包含可包含初始逻辑单元及本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201580024902.html" title="利用管线寄存器作为中间存储器原文来自X技术">利用管线寄存器作为中间存储器</a>

【技术保护点】
一种方法,其包括:通过处理单元接收请求将第一值从多个通用寄存器GPR中的第一GPR移动到所述多个GPR中的第三GPR及将第二值从所述多个GPR中的第二GPR移动到所述多个GPR中的第四GPR的一或多个指令;及响应于接收到所述一或多个指令:通过所述处理单元中的初始逻辑单元且在第一时钟周期期间,将所述第一值拷贝到管线的多个管线寄存器中的初始管线寄存器,其中所述多个管线寄存器不同于所述多个GPR;通过所述处理单元中的所述初始逻辑单元且在继所述第一时钟周期之后的第二时钟周期期间,将所述第二值拷贝到所述初始管线寄存器;通过所述处理单元中的最终逻辑单元且在继所述第二时钟周期之后的第三时钟周期期间,将所述第一值从所述多个管线寄存器中的最终管线寄存器拷贝到所述第三GPR,其中经拷贝到所述第三GPR的所述第一值表示从所述第一GPR拷贝的所述相同第一值;及通过所述处理单元中的所述最终逻辑单元且在继所述第二时钟周期之后的第四时钟周期期间,将所述第二值从所述最终管线寄存器拷贝到所述第四GPR,其中经拷贝到所述第四GPR的所述第二值表示从所述第二GPR拷贝的所述相同第二值。

【技术特征摘要】
【国外来华专利技术】2014.05.12 US 14/275,0471.一种方法,其包括:通过处理单元接收请求将第一值从多个通用寄存器GPR中的第一GPR移动到所述多个GPR中的第三GPR及将第二值从所述多个GPR中的第二GPR移动到所述多个GPR中的第四GPR的一或多个指令;及响应于接收到所述一或多个指令:通过所述处理单元中的初始逻辑单元且在第一时钟周期期间,将所述第一值拷贝到管线的多个管线寄存器中的初始管线寄存器,其中所述多个管线寄存器不同于所述多个GPR;通过所述处理单元中的所述初始逻辑单元且在继所述第一时钟周期之后的第二时钟周期期间,将所述第二值拷贝到所述初始管线寄存器;通过所述处理单元中的最终逻辑单元且在继所述第二时钟周期之后的第三时钟周期期间,将所述第一值从所述多个管线寄存器中的最终管线寄存器拷贝到所述第三GPR,其中经拷贝到所述第三GPR的所述第一值表示从所述第一GPR拷贝的所述相同第一值;及通过所述处理单元中的所述最终逻辑单元且在继所述第二时钟周期之后的第四时钟周期期间,将所述第二值从所述最终管线寄存器拷贝到所述第四GPR,其中经拷贝到所述第四GPR的所述第二值表示从所述第二GPR拷贝的所述相同第二值。2.根据权利要求1所述的方法,其中所述一或多个指令识别所述第一GPR、所述第二GPR、所述第三GPR及所述第四GPR,且其中所述一或多个指令不个别地识别所述管线寄存器中的任一者。3.根据权利要求1所述的方法,其中所述多个管线寄存器不可由指令个别地存取,且其中所述多个GPR可由指令个别地存取。4.根据权利要求1所述的方法,其中相较在存取所述多个GPR中的GPR时,所述处理单元在存取所述多个管线寄存器中的管线寄存器时消耗较少功率。5.根据权利要求1所述的方法,其中所述一或多个指令包括请求将所述第一值从所述第一GPR移动到所述第三GPR且将所述第二值从所述第二GPR移动到所述第四GPR的单个不间断指令。6.根据权利要求5所述的方法,其中所述指令选自由以下组成的群组:对换指令,其中所述第三GPR为所述第二GPR,且其中所述第四GPR为所述第一GPR,重排指令,其中所述多个GPR经任意定位,集中指令,其中所述第一GPR及所述第二GPR未经连续定位,且其中所述第三GPR及所述第四GPR经连续定位,及分散指令,其中所述第一GPR及所述第二GPR经连续定位,且其中所述第三GPR及所述第四GPR未经连续定位。7.根据权利要求1所述的方法,其中所述管线为包含一或多个算术逻辑单元ALU的多周期计算管线。8.根据权利要求1所述的方法,其进一步包括:通过中间逻辑单元,在所述第一时钟周期之后且在所述第三时钟周期之前,将所述第一值从所述初始管线寄存器拷贝到所述多个管线寄存器中的中间管线寄存器;及通过所述中间逻辑单元,在所述第二时钟周期之后且在所述第四时钟周期之前,将所述第二值从所述初始管线寄存器拷贝到所述中间管线寄存器。9.根据权利要求1所述的方法,其中所述处理单元是由中央处理单元CPU或图形处理单元GPU构成。10.根据权利要求1所述的方法,其中将所述第一值拷贝到所述初始管线寄存器包括以下操作中的任一者:将所述第一值从所述第一GPR拷贝到所述初始管线寄存器;或将所述第一值从所述多个管线寄存器中的管线寄存器拷贝到所述初始管线寄存器;且其中将所述第二值拷贝到所述初始管线寄存器包括以下操作中的任一者:将所述第二值从所述第二GPR拷贝到所述初始管线寄存器;或将所述第二值从所述多个管线寄存器中的管线寄存器拷贝到所述初始管线寄存器。11.一种处理单元,其包括:多个通用寄存器GPR;管线,其包括多个管线寄存器,其中所述多个管线寄存器不同于所述多个GPR;多个逻辑单元;及控制器,其经配置以接收请求将第一值从所述多个GPR中的第一GPR移动到所述多个GPR中的第三GPR及将第二值从所述多个GPR中的第二GPR移动到所述多个GPR中的第四GPR的一或多个指令,其中响应于接收到所述一或多个指令,所述控制器经配置以进行以下操作:致使所述多个逻辑单元中的初始逻辑单元在第一时钟周期期间将所述第一值拷贝到所述多个管线寄存器中的初始管线寄存器;致使所述初始逻辑单元在继所述第一时钟周期之后的第二时钟周期期间将所述第二值拷贝到所述初始管线寄存器;致使所述多个逻辑单元中的最终逻辑单元在继所述第二时钟周期之后的第三时钟周期期间,将所述第一值从所述多个管线寄存器中的最终管线寄存器拷贝到所述第三GPR,其中经拷贝到所述第三GPR的所述第一值表示从所述第一GPR拷贝的所述相同第一值;及致使所述最终逻辑单元且在继所述第二时钟周期之后的第四时钟周期期间,将所述第二值从所述最终管线寄存器拷贝到所述第四GPR,其中经拷贝到所述第四GPR的所述第二值表示从所述第二GPR拷贝的所述相同第二值。12.根据权利要求11所述的处理单元,其中所述一或多个指令识别所述第一GPR、所述第二GPR、所述第三GPR及所述第四GPR,且其中所述一或多个指令不个别地识别所述管线寄存器中的任一者。13.根据权利要求11所述的处理单元,其中所述多个管线寄存器不可由指令个别地存取,且其中所述多个GPR可由指令个别地存取。14.根据权利要求11所述的处理单元,其中相较在存取所述多个GPR中的GPR时,所述处理单元在存取所述多个管线寄存器中的管线寄存器时消耗较少功率。15.根据权利要求11所述的处理单元,其中所述一或多个指令包括请求将所述第一值从所述第一GPR移动到所述第三GPR且将所述第二值从所述第二GPR移动到所述第四GPR的单个不间断指令。16.根据权利要求15所述...

【专利技术属性】
技术研发人员:陈林杜云苏梅西·乌达亚库马兰张弛红安德鲁·埃文·格鲁贝尔
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国;US

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

1