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

矢量处理制造技术

技术编号:37765297 阅读:14 留言:0更新日期:2023-06-06 13:24
本公开提供了一种装置,该装置包括:指令解码器,用于对处理指令进行解码;一个或多个第一寄存器;第一处理电路,用于在第一处理模式下执行经解码处理指令,其中第一处理电路被配置为使用一个或多个第一寄存器来执行经解码处理指令;以及控制电路,用于选择性地启动经解码处理指令在第二处理模式下的执行,其中使用一个或多个第二寄存器来选择性地执行经解码处理指令;指令解码器被配置为:在第一处理模式下对选自第一指令集的处理指令进行解码并且在第二处理模式下对选自第二指令集的处理指令进行解码,其中第一指令集和第二指令集中的一者或两者包括在第一指令集和第二指令集中的另一者中不可用的至少一个指令;指令解码器被配置为对用于在第一处理模式与第二处理模式之间进行改变的一个或多个模式改变指令进行解码;并且第一处理电路被配置为响应于模式改变指令的执行,在第一处理模式与第二处理模式之间改变当前处理模式。处理模式之间改变当前处理模式。处理模式之间改变当前处理模式。

【技术实现步骤摘要】
【国外来华专利技术】矢量处理

技术介绍

[0001]本公开涉及矢量处理。
[0002]一些数据处理布置允许进行矢量处理操作,涉及将单个矢量处理指令应用于数据矢量的数据项,该数据矢量在数据矢量中的相应位置处具有多个数据项。相反,标量处理有效地对单个数据项而非数据矢量进行操作。
[0003]矢量处理在以下情况下有用:对要处理的数据的许多不同实例进行处理操作。在矢量处理布置中,可将单个指令同时应用于(数据矢量的)多个数据项。与标量处理相比,这可以提高数据处理的效率和吞吐量。
[0004]已经提议提供一种矢量处理指令集,其相对于由硬件提供的物理矢量长度是“不可知的”,由该硬件执行包含来自该指令集的指令的代码。一个示例为由所谓的“可伸缩矢量扩展”(SVE)或源自Arm Ltd.的SVE2架构定义的指令集。然而,此类指令集的至少一些指令的解码和/或执行需要了解与由实际硬件提供的矢量长度相容的可用矢量长度。

技术实现思路

[0005]在一个示例性布置中,提供了一种装置,该装置包括:
[0006]指令解码器,用于对处理指令进行解码;
[0007]一个或多个第一寄存器;
[0008]第一处理电路,用于在第一处理模式下执行经解码处理指令,其中第一处理电路被配置为使用一个或多个第一寄存器来执行经解码处理指令;以及
[0009]控制电路,用于选择性地启动经解码处理指令在第二处理模式下的执行,其中使用一个或多个第二寄存器来选择性地执行经解码处理指令;
[0010]指令解码器被配置为:在第一处理模式下对选自第一指令集的处理指令进行解码并且在第二处理模式下对选自第二指令集的处理指令进行解码,其中第一指令集和第二指令集中的一者或两者包括在第一指令集和第二指令集中的另一者中不可用的至少一个指令;
[0011]指令解码器被配置为对用于在第一处理模式与第二处理模式之间进行改变的一个或多个模式改变指令进行解码;并且
[0012]第一处理电路被配置为响应于模式改变指令的执行,在第一处理模式与第二处理模式之间改变当前处理模式。
[0013]在另一个示例性布置中,提供了一种方法,该方法包括:
[0014]对处理指令进行解码;
[0015]在第一处理模式下执行经解码处理指令,其中处理电路被配置为使用一个或多个第一寄存器来执行经解码处理指令;以及
[0016]选择性地启动经解码处理指令在第二处理模式下的执行,其中使用一个或多个第二寄存器来选择性地执行经解码处理指令;
[0017]解码步骤包括:在第一处理模式下对选自第一指令集的处理指令进行解码并且在
第二处理模式下对选自第二指令集的处理指令进行解码,其中第一指令集和第二指令集中的一者或两者包括在第一指令集和第二指令集中的另一者中不可用的至少一个指令;
[0018]解码步骤包括对用于在第一处理模式与第二处理模式之间进行改变的一个或多个模式改变指令进行解码;并且
[0019]执行步骤包括:响应于模式改变指令的执行,在第一处理模式与第二处理模式之间改变当前处理模式。
[0020]在另一个示例性布置中,提供了一种计算机程序,该计算机程序用于控制主机数据处理装置来提供指令执行环境,并且包括:
[0021]指令解码器,用于对处理指令进行解码;
[0022]一个或多个第一寄存器;
[0023]第一处理电路,用于在第一处理模式下执行经解码处理指令,其中第一处理电路被配置为使用一个或多个第一寄存器来执行经解码处理指令;以及
[0024]控制电路,用于选择性地启动经解码处理指令在第二处理模式下的执行,其中使用一个或多个第二寄存器来选择性地执行经解码处理指令;
[0025]指令解码器被配置为:在第一处理模式下对选自第一指令集的处理指令进行解码并且在第二处理模式下对选自第二指令集的处理指令进行解码,其中第一指令集和第二指令集中的一者或两者包括在第一指令集和第二指令集中的另一者中不可用的至少一个指令;
[0026]指令解码器被配置为对用于在第一处理模式与第二处理模式之间进行改变的一个或多个模式改变指令进行解码;并且
[0027]第一处理电路被配置为响应于模式改变指令的执行,在第一处理模式与第二处理模式之间改变当前处理模式。
[0028]本技术的另外的相应方面和特征由所附权利要求限定。
附图说明
[0029]将参考如附图所示的本专利技术的实施方案,仅以举例的方式进一步描述本技术,其中:
[0030]图1示意性地示出了数据处理装置;
[0031]图2示意性地示出了具有专用存储器管理单元的设备的使用;
[0032]图3示意性地示出了数据处理设备;
[0033]图4和图5示意性地示出了矢量长度寄存器的存储装置;
[0034]图6是示出方法的示意性流程图;
[0035]图7示意性地示出了数据处理设备;
[0036]图8至图10是示出相应方法的示意性流程图;
[0037]图11示意性地示出了复合装置;并且
[0038]图12示意性地示出了模拟器实施方案。
具体实施方式
[0039]在参考附图讨论实施方案之前,提供了对实施方案的以下描述。
[0040]示例性实施方案提供了装置,该装置包括:
[0041]指令解码器,用于对处理指令进行解码;
[0042]一个或多个第一寄存器;
[0043]第一处理电路,用于在第一处理模式下执行经解码处理指令,其中第一处理电路被配置为使用一个或多个第一寄存器来执行经解码处理指令;以及
[0044]控制电路,用于选择性地启动经解码处理指令在第二处理模式下的执行,其中使用一个或多个第二寄存器来选择性地执行经解码处理指令;
[0045]指令解码器被配置为:在第一处理模式下对选自第一指令集的处理指令进行解码并且在第二处理模式下对选自第二指令集的处理指令进行解码,其中第一指令集和第二指令集中的一者或两者包括在第一指令集和第二指令集中的另一者中不可用的至少一个指令;
[0046]指令解码器被配置为对用于在第一处理模式与第二处理模式之间进行改变的一个或多个模式改变指令进行解码;并且
[0047]第一处理电路被配置为响应于模式改变指令的执行,在第一处理模式与第二处理模式之间改变当前处理模式。
[0048]本公开的实施方案可以提供第一模式与第二模式之间的由处理指令的执行发起的模式改变,该第一模式和该第二模式具有至少不完全重叠的相应指令集并且使用相应的第一组寄存器和第二组寄存器(需要说明的是,第一寄存器和第二寄存器可以为不同的寄存器,可能具有不同的大小和/或能力,例如其中一些充当矩阵寄存器和/或其中第一寄存器和第二寄存器中的至少一些可能为具有可能不同的物理矢量长度的矢量寄存器)。
[0049]指令解码器被配置为在第一处理模式下对选自第一指令集的处理指令以及在第二处理模式下对选自第二指令集的处理指令进行解码;并且第一指令本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种装置,所述装置包括:指令解码器,所述指令解码器用于对处理指令进行解码;一个或多个第一寄存器;第一处理电路,所述第一处理电路用于在第一处理模式下执行经解码处理指令,其中所述第一处理电路被配置为使用所述一个或多个第一寄存器来执行所述经解码处理指令;和控制电路,所述控制电路用于选择性地启动所述经解码处理指令在第二处理模式下的执行,其中使用一个或多个第二寄存器来选择性地执行所述经解码处理指令;所述指令解码器被配置为:在所述第一处理模式下对选自第一指令集的处理指令进行解码并且在所述第二处理模式下对选自第二指令集的处理指令进行解码,其中所述第一指令集和所述第二指令集中的一者或两者包括在所述第一指令集和所述第二指令集中的另一者中不可用的至少一个指令;所述指令解码器被配置为对用于在所述第一处理模式与所述第二处理模式之间进行改变的一个或多个模式改变指令进行解码;并且所述第一处理电路被配置为响应于模式改变指令的执行,在所述第一处理模式与所述第二处理模式之间改变当前处理模式。2.根据权利要求1所述的装置,其中:所述处理指令包括矢量处理指令;所述一个或多个第一寄存器包括具有第一矢量长度的一个或多个第一矢量寄存器;在所述第一处理模式下,所述第一处理电路被配置为:根据不大于所述第一矢量长度的矢量长度,使用所述一个或多个第一矢量寄存器来执行所述经解码处理指令;并且在所述第二处理模式下,其中根据不大于第二矢量长度的矢量长度,使用具有所述第二矢量长度的一个或多个第二矢量寄存器来选择性地执行所述经解码处理指令。3.根据权利要求2所述的装置,其中所述第一处理电路可操作为在异常级别分级结构的主要异常级别处执行处理指令,所述异常级别各自具有访问所述装置的处理资源的相应特权级别。4.根据权利要求3所述的装置,其中所述第一处理电路被配置为:通过执行矢量长度检测处理指令,检测用于在所述第一处理模式下执行指令的矢量长度和用于在所述第二处理模式下执行指令的矢量长度。5.根据权利要求3或权利要求4所述的装置,其中所述第一处理电路被配置为:在除了最低异常级别之外的异常级别处执行矢量长度设定处理指令,以设定适用于所述异常级别和至少一个较低异常级别的最大矢量长度。6.根据权利要求5所述的装置,其中所述第一处理电路被配置为:执行所述矢量长度设定处理指令,以将在所述第一处理模式下使用的矢量长度设定为不高于所述第一矢量长度,并且将在所述第二处理模式下使用的矢量长度设定为不高于所述第二矢量长度。7.根据权利要求6所述的装置,其中所述第一处理电路被配置为:在给定异常级别处执行所述矢量长度设定处理指令,以将在给定处理模式下使用的矢量长度设定为不高于针对所述给定处理模式的所述最大矢量长度,所述最大矢量长度是通过在高于所述给定异常级别的异常级别处执行所述矢量长度设定处理指令而设定的。
8.根据权利要求3至7中任一项所述的装置,其中所述第一处理电路被配置为在所述异常级别分级结构的任何异常级别处执行所述模式改变指令。9.根据权利要求2至8中任一项所述的装置,所述装置包括:一个或多个第二矢量寄存器,所述一个或多个第二矢量寄存器具有所述第二矢量长度;和第二处理电路,所述第二处理电路被配置为根据不大于所述第二矢量长度的矢量长度来执行所述经解码矢量处理指令。10.根据权利要求2至9中任一项所述的装置,其中所述矢量处理指令相对于由所述当前处理模式定义的所述矢量长度是不可知的。11.根据权利要求2至10中任一项所述的装置,所述装置包括矢量长度寄存器存储装置,所述矢量长度寄存器存储装置被配置为:存储不大于所述第一矢...

【专利技术属性】
技术研发人员:奈杰尔
申请(专利权)人:ARM有限公司
类型:发明
国别省市:

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

1