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

矢量预测指令制造技术

技术编号:19396712 阅读:18 留言:0更新日期:2018-11-10 05:02
一种装置包括处理电路4及指令解码器6,指令解码器6支持对矢量值的相应数据元素执行处理的多个路径的矢量指令。响应于矢量预测指令,指令解码器6控制处理电路4基于每个用于确定对应元素通过还是未通过测试条件的多个元素比较运算的结果而设置控制信息。该控制信息控制在矢量预测指令之后的预定数量之后续矢量指令的处理。通过矢量预测指令硬连接或识别该预定数量。对于该等后续矢量指令中的一个,基于通过对应数据元素的控制信息指示的结果掩码矢量处理的给定路径的给定部分的操作。

【技术实现步骤摘要】
【国外来华专利技术】矢量预测指令
本技术涉及数据处理领域。更具体地,本技术涉及矢量指令的处理。
技术介绍
一些数据处理系统支持矢量指令的处理,针对这样的矢量指令,指令的源操作数或结果值为包括多个数据元素的矢量。通过响应于单指令来支持多个不同数据元素的处理,可改进代码密度并减小指令的撷取及解码的负担。通过将数据值加载矢量操作数的各个元素中及使用单个矢量指令一次处理数据值的若干元素,可更有效地处理要处理的数据值数组。
技术实现思路
至少一些示例提供一种装置,该装置包括:处理电路,用于执行数据处理;以及指令解码器,用于解码矢量指令以控制处理电路执行对应于矢量值的相应数据元素的矢量处理的多个路径;其中响应于矢量预测指令,该指令解码器被配置为控制该处理电路根据每个用于确定目标矢量值的对应数据元素通过还是未通过测试条件的多个元素比较运算而设置控制信息,该控制信息用于控制在待处理的指令序列内的该矢量预测指令后的预定数量的后续矢量指令的处理,其中该预定数量通过该矢量预测指令硬连接或识别;以及响应于该预定数量的后续矢量指令中的一个,该指令解码器被配置为控制该处理电路根据该元素比较运算的结果确定是否掩码与矢量处理的给定路径的给定部分关联的操作,该元素比较运算通过对应于该给定部分的该目标矢量值的数据元素的控制信息来指示;其中响应于至少一种类型的矢量指令,该指令解码器被配置为控制该处理电路独立于矢量处理的该多个路径执行额外操作;以及该处理电路被配置为当该预定数量的后续矢量指令中的一个为至少一种类型的矢量指令中的一个时独立于该控制信息执行该额外操作。至少一些示例提供一种设备,该设备包括:用于执行数据处理的装置;以及用于解码矢量指令的装置以控制处理电路执行对应于矢量值的相应数据元素的矢量处理的多个路径;其中响应于矢量预测指令,该用于解码的装置被配置为控制该用于执行数据处理的装置根据每个用于确定目标矢量值的对应数据元素通过还是未通过测试条件的多个元素比较运算而设置控制信息,该控制信息用于控制在要处理中的指令序列内的该矢量预测指令后的预定数量的后续矢量指令的处理,其中该预定数量通过该矢量预测指令硬连接或识别;以及响应于该预定数量的后续矢量指令中的一个,该用于解码的装置被配置为控制该用于处理的装置根据该元素比较运算的结果确定是否掩码与矢量处理的给定路径的给定部分关联的操作,该元素比较运算通过对应于该给定部分的该目标矢量值的数据元素的控制信息来指示;其中响应于至少一种类型的矢量指令,该用于解码的装置被配置为控制该用于执行数据处理的装置独立于矢量处理的多个路径执行额外操作;以及该用于执行数据处理的装置被配置为当该预定数量的后续矢量指令中的一个为至少一种类型的矢量指令中的一个时独立于该控制信息执行额外操作。至少一些示例提供一种用于处理矢量指令的数据处理方法,该等矢量指令用于控制处理电路执行对应于矢量值的相应数据元素的矢量处理的多个路径,该方法包括以下步骤:解码矢量预测指令以控制处理电路根据每个用于确定目标矢量值的对应数据元素通过还是未通过测试条件的多个元素比较运算而设置控制信息,该控制信息用于控制在要处理中的指令序列内的该矢量预测指令后的预定数量的后续矢量指令的处理,其中该预定数量通过该矢量预测指令硬连接或识别;以及响应于该预定数量的后续矢量指令中的一个,解码该后续矢量指令以控制该处理电路根据该元素比较运算的结果确定是否掩码与矢量处理的给定路径的给定部分关联的操作,该元素比较运算通过对应于该给定部分的该目标矢量值的数据元素的控制信息来指示;其中当该预定数量的后续矢量指令中的一个为该处理电路独立于矢量处理的该多个路径执行额外操作中的一个种类型的矢量指令时,控制该处理电路独立于该控制信息来执行该额外操作。至少一些示例提供包括程序指令的虚拟机计算机程序以控制主机数据处理装置以提供对应于上文论述的装置的指令执行环境。也可提供储存虚拟机计算机程序的计算机可读存储介质。存储介质可为非暂态存储介质。附图说明从以下结合附图阅读的示例的描述中,本技术的另外的方面、特征及优点将显而易见,其中:图1示意地图示了支持矢量指令执行的数据处理装置的示例;图2图示矢量预测指令的编码的示例;图3图示使用矢量预测指令以控制响应于后续矢量指令而执行的处理的路径的部分的掩码的示例;图4图示独立于矢量预测指令的结果响应后续矢量指令而执行更新地址指针的额外操作的示例;图5至图7图示在执行矢量预测指令后掩码后续矢量指令的矢量操作的部分的示例;图8图示响应于控制预定数量的后续指令的操作的矢量预测指令而设置的控制信息的示例;图9为图示用于控制多少后续矢量指令由预测指令影响的掩码字段的不同编码的表格;图10至图12图示使用多个掩码字段以支持连续矢量指令执行之间的不同数量的重叠的三个示例;图13图示基于涉及多次比较的更复杂条件的评估来预测的示例;图14图示根据在矢量指令的循环中处理的数据元素的数目来掩码矢量处理的路径的示例;图15图示处理矢量预测指令的方法;以及图16图示可使用的虚拟机实施方式。具体实施方式将在下文论述一些特定示例。应理解,本专利技术不限于该等精确示例。在一些程序应用中,可能需要矢量处理的数据依赖控制流程,其中根据对应于彼等路径的目标矢量的元素值将某些矢量操作仅应用至矢量处理的选定路径。因此,提供用于比较目标矢量的元素与测试条件的指令支持,且选择是否基于目标矢量的对应元素的比较结果来掩码与矢量中的一个些部分关联的操作可能很有用。这么做的一个方法为,在硬件中提供多个述词缓存器的组,可通过比较指令将元素比较的结果写入其中,在可通过后续指令引用其以控制用于后续指令的矢量处理中的一个路径的预测。然而,此方法的问题是,述词缓存器组增加电路面积及缓存器档案的功耗,其对功率效率为最重要准则中的一个的相对简单的处理器至关重要,以及此也增加当处理异常时保存或恢复的缓存器状态的数目,从而可增加处理器的复杂性。此外,指令集中的编码空间可能非常宝贵,且此方法大体需要将预测缓存器字段增加至每种类型的矢量指令,所以将会增加所需的指令编码宽度,从而增加快取、撷取、解码及处理指令时功耗。相反,处理电路可具备支持矢量预测指令的解码的指令解码器,该矢量预测指令专用于控制许多后续矢量指令的预测。响应于矢量预测指令,解码器控制处理电路根据每个用于确定目标矢量值的对应数据元素通过还是未通过测试条件的许多元素比较运算而设置控制信息,该控制信息用于控制在要处理中的指令序列内的矢量预测指令后的预定数量的后续矢量指令的处理。响应于后续矢量指令中的一个,指令解码器控制处理电路以基于处理电路响应于矢量预测指令设置的控制信息来确定是否掩码与矢量处理的给定路径的给定部分关联的操作。掩码给定路径的给定部分系根据元素比较运算的结果来确定,该元素比较运算通过对应于该给定部分的目标矢量值的数据元素的控制信息来指示。因此,通过提供专用矢量预测指令,该专用矢量预测指令基于元素比较运算设置控制信息并控制用于预定数量的后续矢量指令的矢量处理的部分的选择性掩码,后续指令不一定在其等编码中指定述词缓存器说明符。后续矢量指令的编码可完全相同,犹如并未预测后续矢量指令一样。因此,完全相同指令若在矢量预测指令之后,则可触发不同于相同指令不在矢量预测指令之后的行为的处理器行本文档来自技高网...

【技术保护点】
1.一种装置,包括:处理电路,用于执行数据处理;以及指令解码器,用于解码矢量指令以控制所述处理电路执行对应于矢量值的相应数据元素的矢量处理的多个路径;其中响应于矢量预测指令,所述指令解码器被配置为控制所述处理电路根据多个元素比较运算来设置控制信息,所述多个元素比较运算中的每个用于确定目标矢量值的对应数据元素通过还是未通过测试条件,所述控制信息用于控制在待处理的指令序列内的所述矢量预测指令后的预定数量的后续矢量指令的处理,其中所述预定数量由所述矢量预测指令硬连接或识别;以及响应于所述预定数量的后续矢量指令中的一个,所述指令解码器被配置为控制所述处理电路根据所述元素比较运算的结果确定是否掩码与矢量处理中的给定路径的给定部分关联的操作,所述元素比较运算通过对应于所述给定部分的所述目标矢量值的数据元素的所述控制信息来指示;其中响应于至少一种类型的矢量指令,所述指令解码器被配置为控制所述处理电路独立于矢量处理的所述多个路径执行额外操作;以及所述处理电路被配置为当所述预定数量的后续矢量指令中的一个为所述至少一种类型的矢量指令中的一个时独立于所述控制信息执行所述额外操作。

【技术特征摘要】
【国外来华专利技术】2016.03.23 GB 1604943.91.一种装置,包括:处理电路,用于执行数据处理;以及指令解码器,用于解码矢量指令以控制所述处理电路执行对应于矢量值的相应数据元素的矢量处理的多个路径;其中响应于矢量预测指令,所述指令解码器被配置为控制所述处理电路根据多个元素比较运算来设置控制信息,所述多个元素比较运算中的每个用于确定目标矢量值的对应数据元素通过还是未通过测试条件,所述控制信息用于控制在待处理的指令序列内的所述矢量预测指令后的预定数量的后续矢量指令的处理,其中所述预定数量由所述矢量预测指令硬连接或识别;以及响应于所述预定数量的后续矢量指令中的一个,所述指令解码器被配置为控制所述处理电路根据所述元素比较运算的结果确定是否掩码与矢量处理中的给定路径的给定部分关联的操作,所述元素比较运算通过对应于所述给定部分的所述目标矢量值的数据元素的所述控制信息来指示;其中响应于至少一种类型的矢量指令,所述指令解码器被配置为控制所述处理电路独立于矢量处理的所述多个路径执行额外操作;以及所述处理电路被配置为当所述预定数量的后续矢量指令中的一个为所述至少一种类型的矢量指令中的一个时独立于所述控制信息执行所述额外操作。2.如权利要求1所述的装置,其中响应于所述矢量预测指令,所述指令解码器被配置为控制所述处理电路执行所述多个元素比较运算。3.如权利要求2所述的装置,其中所述指令解码器被配置为支持以下各项中的至少一个:矢量比较矢量预测指令,针对所述指令,每个元素比较运算依赖于所述目标矢量值的所述对应数据元素与另一矢量值中的对应元素中的比较,所述另一矢量值保存在由所述矢量预测指令指定的缓存器中;标量比较矢量预测指令,针对所述指令,每个元素比较运算依赖于所述目标矢量值的所述对应数据元素与标量值中的一个比较,所述标量值保存在由所述标量预测指令指定的缓存器中;以及常数比较矢量预测指令,针对所述指令,每一个元素比较运算依赖于所述目标矢量值的所述对应数据元素与预定常数的比较。4.如任意前述权利要求所述的装置,其中对于所述预定数量的后续矢量指令的至少一个,所述矢量预测指令识别后续矢量指令为then条件矢量指令还是else条件矢量指令;对于识别为then条件矢量指令的所述后续矢量指令中的一个,所述处理电路被配置为当对应于所述给定部分的所述目标矢量值的所述数据元素未通过所述测试条件时掩码与矢量处理的所述给定路径的所述给定部分关联的所述操作;以及对于识别为else条件矢量指令的所述后续矢量指令中的一个,所述处理电路被配置为当对应于所述给定部分的所述目标矢量值的所述数据元素通过所述测试条件时掩码与矢量处理的所述给定路径的所述给定部分关联的所述操作。5.如任意前述权利要求所述的装置,包括用于储存所述控制信息中的一个述词缓存器,其中响应于根据所述控制信息来控制的处理的所述预定数量的后续矢量指令中的一个,对于至少一些类型的后续矢量指令,所述处理电路被配置为自所述相同述词缓存器读取所述控制信息而无论所述后续矢量指令的编码如何。6.如任意前述权利要求所述的装置,其中所述控制信息包括多个位旗标,每个位旗标对应于所述目标矢量值中的相应部分并指示包括所述目标矢量值的所述部分的数据元素通过还是未通过所述测试条件。7.如任意前述权利要求所述的装置,其中所述控制信息包括:述词字段,指示所述多个元素比较运算的结果;以及掩码字段,用于根据所述述词字段来控制要处理的后续矢量指令。8.如权利要求7所述的装置,其中响应于所述矢量预测指令,所述指令解码器被配置为控制所述处理电路将所述掩码字段设置为初值,其中所述预定数量通过离所述掩码字段的给定端的最远位的所述位位置来表示,所述最远位具有预定位值。9.如权利要求8所述的装置,其中在所述初值中,在所述掩码字段的所述最远位与所述给定端之间的位具有指示所述后续矢量指令是否为以下项的位值:then条件矢量指令,针对所述指令,所述处理电路被配置为当对应于所述给定部分的所述目标矢量值的所述数据元素未通过所述测试条件时掩码与矢量处理的所述给定路径的所述给定部分关联的所述操作;或else条件矢量指令,针对所述指令,所述处理电路被配置为当对应于所述给定部分的所述目标矢量值的所述数据元素通过所述测试条件时掩码与矢量处理的所述给定路径的所述给定部分关联的所述操作。10.如权利要求8和9中的任一项所述的装置,其中响应于所述预定数量的后续矢量指令中的一个,所述处理电路被配置为将所述掩码字段向所述掩码字段的所述给定端移动一个位位置。11.如权利要求10所述的装置,其中所述处理电路被配置为当移出所述掩码字段中的位具有预定位值时转变所述述词字段的至少一部分的位。12.如权利要求7-11中的任一项所述的装置,其中响应于给定矢量指令,所述处理电路被配置为执行每个对应于矢量值中的区段的多个处理节拍;以及所述控制信息包括每个对应于所述预定数量的后续矢量指令的处理中的一个相应节拍的多个掩码字段。13.如权利要求12所述的装置,其中所述处理电路被配置为支持第一矢量指令与第二矢量指令的重叠执行,其中所述第二矢量指令的节拍中的第一子集与所述第一矢量指令的节拍中的一个第二子集并行执行。14.如权利要求13所述的装置,其中当处理所述矢量预测指令的节拍的所述第一子集或所述预定数量的后续矢量指令中的一个时,所述处理电路被配置为使用所述多个掩码字段中的第一掩码字段;以及当处理所述矢量预测指令的节拍的所述第二...

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

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

1