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

向量带进位加法指令制造技术

技术编号:24949765 阅读:24 留言:0更新日期:2020-07-18 00:01
本公开描述了向量带进位加法指令,其使用目标向量寄存器的一些元素或谓词寄存器的对应字段,以提供对应于带进位加法运算结果的进位信息。这有助于加速涉及长整数值乘法的计算。

【技术实现步骤摘要】
【国外来华专利技术】向量带进位加法指令
本技术涉及数据处理领域。
技术介绍
一些数据处理系统支持向量指令的处理,向量指令作用于或生成包含多个数据元素的向量操作数。通过支持响应于单一指令而处理多个不同的数据元素,相较于使用标量指令执行相同的操作,可以提高代码密度并可减少获取与解码指令的开销。
技术实现思路
至少一些示例提供一种设备,包括:处理电路,用于执行数据处理;指令解码电路,用于解码指令以控制处理电路执行数据处理;以及多个向量寄存器,用于存储向量操作数,这些向量操作数包括多个数据元素;其中:该指令解码电路响应于指定目标向量寄存器、第一数据源向量寄存器、第二数据源向量寄存器和进位源向量寄存器的向量带进位加法指令,针对该目标向量寄存器的每个数据元素对控制该处理电路,至少目标向量寄存器和进位源向量寄存器均指定包括至少一个数据元素对的操作数,每个数据元素对包括第一数据元素和第二数据元素:利用对应于第一源数据值、第二源数据值和进位值的加法的结果的值来更新该目标向量寄存器的该数据元素对的第一数据元素,该第一源数据值获得自第一数据源向量寄存器的选定数据元素,该第二源数据值获得自该第二数据源向量寄存器的选定数据元素,该进位值获得自进位源向量寄存器的对应数据元素对的第二数据元素;以及利用对应于该加法的进位输出的值来更新该目标向量寄存器的该数据元素对的第二数据元素。至少一些示例提供一种计算机,用于控制主机处理设备以提供指令执行环境以执行目标程序代码指令,该计算机程序包括:指令解码程序逻辑,用于解码该目标程序代码指令以控制处理程序逻辑执行数据处理;以及向量寄存器数据结构,用于存储数据,数据代表用于存储向量操作数的多个向量寄存器,这些向量操作数包括多个数据元素;其中:该指令解码程序逻辑响应于指定目标向量寄存器、第一数据源向量寄存器、第二数据源向量寄存器和进位源向量寄存器的向量带进位加法指令,针对该目标向量寄存器的每个数据元素对控制该处理程序逻辑以更新该向量寄存器数据结构,至少该目标向量寄存器和该进位源向量寄存器均指定包括至少一个数据元素对的操作数,每个数据元素对包括第一数据元素和第二数据元素:利用对应于第一源数据值、第二源数据值和进位值的加法的结果的值来更新该目标向量寄存器的该数据元素对的第一数据元素,该第一源数据值获得自该第一数据源向量寄存器的选定数据元素,该第二源数据值获得自该第二数据源向量寄存器的选定数据元素,该进位值获得自该进位源向量寄存器的对应数据元素对的第二数据元素;以及利用对应于该加法的进位输出的值来更新该目标向量寄存器的该数据元素对的第二数据元素。至少一些示例提供一种数据处理方法,包括以下步骤:解码指定目标向量寄存器、第一数据源向量寄存器、第二数据源向量寄存器、以及进位源向量寄存器的向量带进位加法指令,至少该目标向量寄存器和该进位源向量寄存器均指定包括至少一个数据元素对的操作数,每个数据元素对包括第一数据元素和第二数据元素;以及响应于该向量带进位加法指令的解码,针对该目标向量寄存器的每个数据元素对控制处理电路:利用对应于第一源数据值、第二源数据值和进位值的加法的结果的新值来更新该目标向量寄存器的该数据元素对的第一数据元素,该第一源数据值获得自该第一数据源向量的选定数据元素,该第二源数据值获得自该第二数据源向量寄存器的选定数据元素,该进位值获得自该进位源向量寄存器的对应数据元素对的第二数据元素;以及利用对应于该加法的进位输出的值来更新该目标向量寄存器的该数据元素对的第二数据元素。至少一些示例提供了一种设备,包括:处理电路,用于执行数据处理;指令解码电路,用于解码指令以控制该处理电路执行该数据处理;多个向量寄存器,用于存储向量操作数,这些向量操作数包括多个数据元素;以及多个谓词寄存器,包括多个谓词字段以存储用于控制该处理电路所执行的运算的掩码的谓词值;其中:该指令解码电路响应于指定目标向量寄存器、第一数据源向量寄存器、第二数据源向量寄存器、输入谓词寄存器与输出谓词寄存器的向量带进位加法指令,针对该目标向量寄存器的给定数据元素控制该处理电路:利用对应于第一源数据值、第二源数据值和进位值的加法的结果的值来更新该目标向量寄存器的该给定数据元素,该第一源数据值获得自该第一数据源向量寄存器的对应数据元素,该第二源数据值获得自该第二数据源向量寄存器的对应数据元素,该进位值获得自该输入谓词寄存器的对应谓词字段;以及利用对应于该加法的进位输出的值来更新该输出谓词寄存器的对应谓词字段。至少一些示例提供了一种计算机程序,用于控制主机处理设备以提供指令执行环境以执行目标程序代码指令,计算机程序包括:指令解码程序逻辑,用于解码该目标程序代码指令以控制处理程序逻辑执行数据处理;以及寄存器数据结构,用于存储数据,该数据代表用于存储包括多个数据元素的向量操作数的多个向量寄存器和用于存储用于控制该处理程序逻辑所执行的向量运算的掩码的谓词值的多个谓词寄存器;其中:该指令解码程序逻辑响应于指定目标向量寄存器、第一数据源向量寄存器、第二数据源向量寄存器、输入谓词寄存器和输出谓词寄存器的向量带进位加法指令,针对该目标向量寄存器的给定数据元素控制该处理电路以更新该寄存器数据结构:利用对应于第一源数据值、第二源数据值和进位值的结果的值来更新该目标向量寄存器的给定数据元素,该第一源数据值获得自该第一数据源向量寄存器的对应数据元素,该第二源数据值获得自该第二数据源向量寄存器的对应数据元素,该进位值获得自该输入谓词寄存器的对应谓词字段;以及利用对应于该加法的进位输出的值来更新该输出谓词寄存器的对应谓词字段。至少一些示例提供一种数据处理方法,包括以下步骤:解码指定目标向量寄存器、第一数据源向量寄存器、第二数据源向量寄存器、输入谓词寄存器和输出谓词寄存器的向量带进位加法指令,该输入谓词寄存器和该输出谓词寄存器选自用于存储用于控制向量运算掩码的谓词值的多个谓词寄存器;以及响应于该向量带进位加法指令的解码,针对该目标向量寄存器的给定数据元素控制处理电路:利用对应于第一源数据值、第二源数据值和进位值的加法的结果的值来更新该目标向量寄存器的给定数据元素,该第一源数据值获得自该第一数据源向量寄存器的对应数据元素,该第二源数据值获得自该第二数据源向量寄存器的对应数据元素,该进位值获得自该输入谓词寄存器的对应谓词字段;以及利用对应于该加法的进位输出的值来更新该输出谓词寄存器的对应谓词字段。附图说明根据下文示例说明,并结合附图来阅读时,本技术的进一步的方面、特征和优点将变得显而易见,在附图中:图1示意性地示出了支持执行向量指令的数据处理设备的示例;图2示出了具有谓词的向量操作的示例;图3和图4示出了根据第一示例的向量带进位加法指令的加法和减法变体;图4A示出了向量带进位加法指令的谓词变体;本文档来自技高网...

【技术保护点】
1.一种设备,包括:/n处理电路,用于执行数据处理;/n指令解码电路,用于解码指令以控制所述处理电路执行所述数据处理;以及/n多个向量寄存器,用于存储包括多个数据元素的向量操作数;其中:/n所述指令解码电路响应于指定目标向量寄存器、第一数据源向量寄存器、第二数据源向量寄存器和进位源向量寄存器的向量带进位加法指令,针对所述目标向量寄存器的每个数据元素对控制所述处理电路进行下述操作,其中,至少所述目标向量寄存器和所述进位源向量寄存器均指定包括至少一个数据元素对的操作数,每个数据元素对包括第一数据元素和第二数据元素,所述操作包括:/n利用与第一源数据值、第二源数据值和进位值的加法的结果对应的值来更新所述目标向量寄存器的所述数据元素对的所述第一数据元素,所述第一源数据值获得自所述第一数据源向量寄存器的选定数据元素,所述第二源数据值获得自所述第二数据源向量寄存器的选定数据元素,所述进位值获得自所述进位源向量寄存器的对应数据元素对的所述第二数据元素;以及/n利用与所述加法的进位输出对应的值来更新所述目标向量寄存器的该数据元素对的所述第二数据元素。/n

【技术特征摘要】
【国外来华专利技术】20171213 EP 17386048.71.一种设备,包括:
处理电路,用于执行数据处理;
指令解码电路,用于解码指令以控制所述处理电路执行所述数据处理;以及
多个向量寄存器,用于存储包括多个数据元素的向量操作数;其中:
所述指令解码电路响应于指定目标向量寄存器、第一数据源向量寄存器、第二数据源向量寄存器和进位源向量寄存器的向量带进位加法指令,针对所述目标向量寄存器的每个数据元素对控制所述处理电路进行下述操作,其中,至少所述目标向量寄存器和所述进位源向量寄存器均指定包括至少一个数据元素对的操作数,每个数据元素对包括第一数据元素和第二数据元素,所述操作包括:
利用与第一源数据值、第二源数据值和进位值的加法的结果对应的值来更新所述目标向量寄存器的所述数据元素对的所述第一数据元素,所述第一源数据值获得自所述第一数据源向量寄存器的选定数据元素,所述第二源数据值获得自所述第二数据源向量寄存器的选定数据元素,所述进位值获得自所述进位源向量寄存器的对应数据元素对的所述第二数据元素;以及
利用与所述加法的进位输出对应的值来更新所述目标向量寄存器的该数据元素对的所述第二数据元素。


2.根据权利要求1所述的设备,其中,所述第一数据源向量寄存器是与所述目标向量寄存器相同的寄存器,并且所述第一源数据值包括所述目标向量寄存器的所述数据元素对的所述第一数据元素的先前值。


3.根据权利要求1和2中任一项所述的设备,其中,每个数据元素对包括邻接数据元素对。


4.根据前述权利要求中任一项所述的设备,其中,在所述目标向量寄存器和所述进位源向量寄存器中的数据元素对的数量至少为二时,这些数据元素对的所述第一数据元素和这些数据元素对的所述第二数据元素交错。


5.根据前述权利要求中任一项所述的设备,其中,所述指令解码电路被配置为响应于所述向量带进位加法指令而控制所述处理电路进行下述操作:
从所述进位源向量寄存器的所述对应数据元素对的所述第二数据元素的最低有效位获得所述进位值,以及
利用与所述加法的所述进位输出对应的值来更新所述目标向量寄存器的所述数据元素对的所述第二数据元素的最低有效位。


6.根据权利要求5所述的设备,其中,响应于所述向量带进位加法指令,针对所述进位源向量寄存器和所述目标向量寄存器两者,所述第二数据元素的除了所述最低有效位以外的剩余位是未使用的。


7.根据前述权利要求中任一项所述的设备,其中,每个数据元素包括2N个位,并且所述第二源数据值包括2N个位,其中N为整数。


8.根据前述权利要求中任一项所述的设备,其中,所述第二数据源向量寄存器也指定包括至少一个数据元素对的操作数,每个数据元素对包括第一数据元素和第二数据元素;
响应于所述向量带进位加法指令的第一变体,所述第二源数据值包括从所述第二数据源向量寄存器的对应数据元素对的所述第一数据元素获得的值;以及
响应于所述向量带进位加法指令的第二变体,所述第二源数据值包括从所述第二数据源向量寄存器的该对应数据元素对的所述第二数据元素获得的值。


9.根据前述权利要求中任一项所述的设备,其中,响应于所述向量带进位加法指令的谓词变体,其中所述谓词变体与指定至少一个谓词指示的谓词值相关联并且每个谓词指示与所述目标向量寄存器的所述至少一个数据元素对之一对应,所述指令解码电路被配置为控制所述处理电路进行下述操作:
针对其中该对应谓词指示具有第一值的数据元素对,执行利用与所述加法的结果对应的值来对所述数据元素对的所述第一数据元素进行的所述更新,以及利用所述加法的所述进位输出来对所述数据元素对的所述第二数据元素进行的所述更新;以及
对于其中该对应谓词指示具有第二值的数据元素对,抑制利用与所述加法的结果对应的值来对所述数据元素对的所述第一数据元素进行的所述更新,以及利用所述加法的所述进位输出来对所述数据元素对的所述第二数据元素进行的所述更新。


10.根据前述权利要求中任一项所述的设备,其中响应于所述向量带进位加法指令的加法变体,所述加法包括将所述第一源数据值、所述第二源数据值和所述进位值相加;以及
响应于所述向量带进位加法指令的减法变体,所述加法包括从所述第一源数据值减去所述第二源数据值,其中,所述进位值指示所述减法的借位值,并且所述进位输出包括所述减法的借位输出。


11.一种计算机程序,用于控制主机处理设备以提供用于执行目标程序代码指令的指令执行环境,该计算机程序包括:
指令解码程序逻辑,用于解码所述目标程序代码指令以控制处理程序逻辑执行数据处理;以及
向量寄存器数据结构,用于存储代表多个向量寄存器的数据,所述向量寄存器用于存储包括多个数据元素的向量操作数;其中:
所述指令解码程序逻辑响应于指定目标向量寄存器、第一数据源向量寄存器、第二数据源向量...

【专利技术属性】
技术研发人员:姆布·埃约勒奈杰尔·约翰·斯蒂芬斯内尔·伯吉斯格里戈里奥斯·马格克里斯
申请(专利权)人:ARM有限公司
类型:发明
国别省市:英国;GB

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

1