当前位置: 首页 > 专利查询>ARM有限公司专利>正文

程序循环控制制造技术

技术编号:19396718 阅读:19 留言:0更新日期:2018-11-10 05:02
一种数据处理系统支持预测循环指令,该预测循环指令控制关于多个向量元素的程序循环体的向量化执行。当待处理的元件的数量不是支持该元件大小的处理通道的数量的整数倍时,则该预测循环指令控制在一或多个通道中不需要处理的抑制。

【技术实现步骤摘要】
【国外来华专利技术】程序循环控制
本公开关于数据处理系统。更具体地,本公开关于在数据处理系统中的程序循环控制。
技术介绍
已知提供具有程序指令的数据处理系统以支持程序循环执行。例如,已知提供支持重复程序指令的数据处理系统。该重复程序指令用来指定应多次被执行/遍历的一个或多个指令的后续序列,随后程序的执行进行到超过那个序列外。这提供循环表现。
技术实现思路
本公开的至少一些示例实施例提供用于处理数据的装置,包括:处理电路,以执行由程序指令指定的处理操作,该程序指令包括支持与相应向量处理通道相关联的多达Nmax个向量元素的处理的至少一个向量处理程序指令;指令解码器,以解码所述程序指令以生成控制信号来控制所述处理电路执行所述处理操作;其中所述指令解码器包括预测循环指令解码器电路,以在待执行的程序循环体的多次迭代期间解码具有与其相关联的待处理的多个向量元素Nve的预测循环指令;以及所述处理电路包括预测循环控制电路以当Nve/Nmax不等于整数时操作,以在一个或多个所述迭代期间至少部分抑制在一个或多个所述向量处理通道中的处理,使得在所述迭代期间处理的向量元素的总数是Nve。本公开的至少一些示例实施例提供用于处理数据的装置,包括:处理装置,用于执行由程序指令指定的处理操作,该程序指令包括支持与相应向量处理通道相关联的多达Nmax个向量元素的处理的至少一个向量处理程序指令;指令解码装置,用于解码所述程序指令以生成控制信号来控制所述处理装置执行所述处理操作;其中所述指令解码装置包括预测循环指令解码装置,用于在待执行的程序循环体的多次迭代期间解码具有与其相关联的待处理的多个向量元素Nve的预测循环指令;以及所述处理装置包括预测循环控制装置,用于当Nve/Nmax不等于整数时操作,以在一个或多个所述迭代期间至少部分抑制在一个或多个所述向量处理通道中的处理,使得在所述迭代期间处理的向量元素的总数是Nve。本公开的至少一些示例实施例提供一种处理数据的方法,包括:执行由程序指令指定的处理操作,该程序指令包括支持与相应向量处理通道相关联的多达Nmax个向量元素的处理的至少一个向量处理程序指令;解码所述程序指令以生成控制信号来控制所述处理操作的所述执行;其中所述指令解码器的所述解码包括,在待执行的程序循环体的多次迭代期间解码具有与其相关联的待处理的多个向量元素Nve的预测循环指令;以及当Nve/Nmax不等于整数时,在一个或多个所述迭代期间至少部分抑制在一个或多个所述向量处理通道中的处理,使得在所述迭代期间被处理的向量元素的总数是Nve。附图说明示例的实施例现将参考附图以通过仅示例的方式描述,其中:图1示意地示出数据处理装置;图2A示意地示出分支未来指令;图2B示意地示出包括分支未来指令的程序指令序列;图2C示意地示出具有指示预定指令的可编程参数的不同实施方式的多个分支未来指令;图2D示意地示出具有可编程分支目标地址的不同实施方式的多个分支未来指令;图3A示意地示出包括通过处理管线进行的分支未来指令的程序指令序列;图3B示意地示出包括分支未来指令的指令序列的程序流;图3C示意地示出包括分支未来和链路指令的指令序列的程序流;图4示意地示出分支未来处理的方法;图5示意地示出包括用于响应于数据失效的过程的分支未来处理的另一方法;图5A示出处理条件分支未来指令的示例;图5B示出处理对应于相反条件的一对条件分支未来指令的示例;图6示意地示出零开销循环表现;图7示意地示出当执行图6的零开销循环表现之后的指令时的处理管线阶段内容;图8示意地示出包括循环/分支控制电路以控制零开销循环表现和分支未来指令表现的处理管线;图9示出如何在程序计数器值与循环控制数据字段之间进行比较以标识在程序执行中的点,分支到循环开始位置应该在该点执行;图10A是示意地示出循环开始程序指令的表现的流程图;图10B示意地示出循环开始指令的实施方式;图11是示意地示出循环结束程序指令的表现的流程图;图12是示意地示出当执行作为零开销循环表现的部分的程序循环体时,循环控制电路的动作的流程图;图13是示意地示出在程序循环体中控制指令执行以提供预测的流程图,其中向量指令可以在被预测控制的该程序循环体的给定迭代期间,在具有特定的活动向量元素的多个向量元素上操作;图14A至图14E示出非预测和预测循环的执行的示例;以及图15示意地示出虚拟机器实施方式。具体实施方式本公开意识到,分支指令可以导致降低性能的处理延迟。为解决此问题,本公开提供了分支未来指令解码电路以解码分支未来指令。该分支未来指令包括与分支目标地址相关联的可编程参数。该分支目标地址对应于分支后的可以由处理电路处理的程序指令。该分支未来指令还包括另一可编程分支点数据参数,该参数指示在程序指令序列中该分支未来指令之后的预定指令。通过在分支未来指令中包括另一可编程分支点数据参数,该处理电路可以在该分支点之前准备分支到分支目标地址。因此,当到达分支点时,可以避免或减少处理延迟。图1示意地示出耦接到存储器102的数据处理装置100的示例。存储器102储存程序指令和运算元数据。指令通过提取单元104提取,并通过指令解码器106解码以生成控制信号120来控制处理电路。处理电路可以包括用于在从存储器102接收的或储存到存储器102的浮点运算元上执行数据处理操作的浮点处理电路108和浮点寄存器110。处理电路还包括用于在从存储器102接收的或储存到存储器102的整数运算元上执行数据处理操作的乘法器112、移位器114、加法器116及整数寄存器117。由提取单元提取的一些指令可以是分支指令,该分支指令将处理从当前的程序指令序列进行分支到储存在从分支目标地址开始的存储器地址位置的程序指令。为了调节分支指令,数据处理装置100包括可以将程序流重定向到分支目标地址的分支单元119。为加速分支指令的处理,数据处理装置100可以包括分支预测器118。分支预测器118储存状态数据,并且基于该状态数据预测是否将采取分支指令。分支单元119还可以由循环控制数据控制以支持/提供零开销循环表现(替代或附加到其他循环控制电路),如本文将进一步描述的。分支预测器118还可以填充有循环控制,如本文将进一步描述。第2A图示意地示出分支未来指令BF200的示例。分支未来指令200包括指示分支目标地址254的可编程参数、提供可编程分支点数据252的可编程参数、以及将该指令标识为分支未来指令的编码位258。分支点数据252指示在由数据处理装置待处理的程序指令序列中分支未来指令BF之后的预定指令。分支目标地址254指示当该程序流到达预定指令时处理应该分支到的指令的位置。可保留位数量(x256)用于其他参数。返回图1,该数据处理装置包括分支未来指令解码电路122,用于响应于通过匹配分支未来编码位258而将指令标识为分支未来以(诸如第2A图所示的)解码分支未来指令。一旦解码该分支未来指令,该分支未来指令解码电路122控制该处理电路以将分支目标地址数据和指示该预定指令的分支点数据储存在分支控制数据缓存器130中。通过此方式储存数据,数据处理装置100可以被提供有从处理程序指令的正常序列分支可以发生时提前的指示、以及该分支将该程序执行点导向至的目标地址。因此,当该程序流到达由分支未来指令指示的预定本文档来自技高网...

【技术保护点】
1.一种用于处理数据的装置,其包括:处理电路,以执行由程序指令指定的处理操作,该程序指令包括支持与相应向量处理通道相关联的多达Nmax个向量元素的处理的至少一个向量处理程序指令;指令解码器,以解码所述程序指令以生成控制信号来控制所述处理电路执行所述处理操作;其中所述指令解码器包括预测循环指令解码器电路,以在待执行的程序循环体的多次迭代期间解码具有与其相关联的待处理的多个向量元素Nve的预测循环指令;以及所述处理电路包括预测循环控制电路以当Nve/Nmax不等于整数时操作,以在一个或多个所述迭代期间至少部分抑制在一个或多个所述向量处理通道中的处理,使得在所述迭代期间处理的向量元素的总数是Nve。

【技术特征摘要】
【国外来华专利技术】2016.03.23 GB 1604945.41.一种用于处理数据的装置,其包括:处理电路,以执行由程序指令指定的处理操作,该程序指令包括支持与相应向量处理通道相关联的多达Nmax个向量元素的处理的至少一个向量处理程序指令;指令解码器,以解码所述程序指令以生成控制信号来控制所述处理电路执行所述处理操作;其中所述指令解码器包括预测循环指令解码器电路,以在待执行的程序循环体的多次迭代期间解码具有与其相关联的待处理的多个向量元素Nve的预测循环指令;以及所述处理电路包括预测循环控制电路以当Nve/Nmax不等于整数时操作,以在一个或多个所述迭代期间至少部分抑制在一个或多个所述向量处理通道中的处理,使得在所述迭代期间处理的向量元素的总数是Nve。2.根据权利要求1所述的装置,其中,Nmax是独立于在所述程序循环体中的所述程序指令的恒定值。3.根据权利要求1所述的装置,其中,所述处理电路包括向量寄存器,该向量寄存器的每一个具有预定的位数量的VR宽度并且能够储存多个所述向量元素,该向量元素的每一个具有位数量VE宽度,其中Nmax是由(VR宽度/VE宽度)的整数部分给出。4.根据权利要求3所述的装置,其中,所述预测循环指令指定指示VE宽度的值。5.根据前述权利要求中任一项所述的装置,其中,所述预测循环指令通过以下中的一项指定Nve:将Nve编码为在所述预测循环指令中的立即值;以及编码包含指示Nve的数据的寄存器的标识符。6.根据前述权利要求中任一项所述的装置,其中,所述预测循环指令指定指示所述程序循环体的大小的值。7.根据权利要求6所述的装置,其中,在所述预测循环指令的处理时,如果所述处理电路确定不需要循环迭代,则所述处理电路通过以下中的一项来抑制所述程序循环体:抑制至少一些指令的执行直到指示所述程序循环体的大小的所述值指示所述程序循环体的结束处已经被到达;或者抑制至少一些指令的结果寄存器更新直到指示所述程序循环体的大小的所述值指示所述程序循环体的结束处已经被到达;或者触发到所述程序循环体之后的指令的分支。8.根据权利要求6所述的装置,其中,所述预测循环指令是预测零开销循环指令,并且所述处理电路包括循环控制电路以控制所述处理电路来执行由在所述预测循环开始指令之后且不包括所述预测循环开始指令的所述程序循环体的程序指令所指定的处理操作。9.根据前述权利要求中任一项所述的装置,其中,所述指令解码器包括循环结束指令解码电路以在所述程序循环体的结束时解码循环结束指令,以生成控制信号以控制所述处理电路来储存循环控制数据,确定是否需要另一循环迭代,并且如果需要另一循环迭代,则分支到所述程序循环体的开始指令;以及在至少部分执行所述程序循环体的最后程序指令之后,所述循环控制电路确定是否需要另一循环迭代,并且如果需要另一循环迭代,则在所述循环控制数据的控制下,控制所述处理电路以执行由在所述循环结束指令之前且不包括所述循环结束指令的所述程序循环体的程序指令所指定的处理操作。10.根据权利要求9所述的装置,其中,在处理所述预测循环指令时,如果所述处理电路确定不需要循环迭代,则所述处理电路通过以下中的一项来抑制所述程序循环体:抑制至少一些指令的执行直到所述循环结束指令到达;或者抑制至少一些指令的结果寄存器更新直到所述循环结束指令到达。11.根据权利要求3和权利要求9所述的装置,其中,所述循环控制数据包括指示VE宽度的数据。12.根据权利要求9所述的装置,其中,所述循环控制数据包括以下中的一项或多项:循环开始数据,指示所述开始指令的地址;循环开始偏移数据,指示在紧接所述循环结束指令之前的所述程序循环体的最后指令与所述程序循环体的所述开始指令之间的距离;循环结束数据,指示紧接所述循环结束指令之前的所述程序循...

【专利技术属性】
技术研发人员:托马斯·克里斯多夫·格鲁卡特
申请(专利权)人:ARM有限公司
类型:发明
国别省市:英国,GB

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

1