数据处理方法、处理器和电子装置与流程

文档序号:36805722发布日期:2024-01-23 12:34阅读:16来源:国知局
数据处理方法、处理器和电子装置与流程

本公开的实施例涉及一种数据处理方法、处理器和电子装置。


背景技术:

1、rsa(ron rivest、adi shamir和leonard adleman)是一种公知且广泛使用的公钥密码算法。rsa算法由密匙生成、加密和解密构成。rsa基于包含rsa公钥和rsa私钥的rsa密钥对。rsa公钥可为公共所知并且可用于加密消息。rsa私钥用于解密消息。rsa私钥不应为公共所知,而是保密的,或者仅为意图解密加密的消息的人预留。rsa公钥通常包括两个大的素数和辅助值的乘积。素数因子保密且用于对加密的消息进行解密。由rsa算法提供的安全性基于如下假设:借助公钥加密的消息仅能够通过私钥在合理的时间内被解密。rsa是构建安全可靠网络平台和计算环境的必选的加密算法之一。


技术实现思路

1、本公开至少一实施例提供一种数据处理方法,包括:获取对象指令,其中,所述对象指令包括第一目的操作数、第一源操作数、第二源操作数和第二目的操作数;对所述对象指令进行译码以得到译码结果;根据所述译码结果,使用所述第一目的操作数、所述第一源操作数、所述第二源操作数、所述第二目的操作数进行第一运算,其中,所述第一运算为(c1,rp)=ap*w+rp+c1,ap与w乘累加且将得到结果保存到rp中且进位保存到c1中,ap表示所述第一源操作数,w表示所述第二源操作数,rp表示所述第一目的操作数,c1表示所述第二目的操作数。

2、例如,在本公开至少一实施例提供的方法中,第一目的操作数是向量寄存器操作数或内存操作数;第一源操作数是标量寄存器操作数;第二源操作数是向量寄存器操作数;以及第二目的操作数是标量寄存器操作数。

3、例如,在本公开至少一实施例提供的方法中,第一目的操作数为128位xmm向量寄存器操作数或256位ymm向量寄存器操作数,或128位或256位内存操作数;第一源操作数为64位标量寄存器操作数,为64位整型数据;第二源操作数为128位xmm向量寄存器操作数或256位ymm向量寄存器操作数;以及第二目的操作数为64位标量寄存器操作数,为64位整型数据。

4、例如,在本公开至少一实施例提供的方法中,使用第一目的操作数、第一源操作数、第二源操作数、第二目的操作数进行所述第一运算包括:获得第一源操作数和第二源操作数的乘积与第一目的操作数之和,作为第一临时值。

5、例如,在本公开至少一实施例提供的方法中,使用第一目的操作数、第一源操作数、第二源操作数、第二目的操作数进行所述第一运算还包括:循环执行以下步骤:获得所述第一临时值的第i*128~i*128+127位与第二目的操作数之和,作为第二临时值;将所述第二临时值的低64位存储在第一目的操作数的第i*64~i*64+63位中;将所述第二临时值的高64位存储在第二目的操作数中;以及将i增加1,其中,i的初始值为0。

6、例如,在本公开至少一实施例提供的方法中,第一目的操作数为可读可写操作数;第一源操作数为只读操作数;第二源操作数为只读操作数;以及第二目的操作数为可读可写操作数。

7、例如,在本公开至少一实施例提供的方法中,所述译码结果包括微指令、微操作、伪代码输入点、译码指令或者控制信号。

8、本公开至少一实施例提供一种处理器,包括:取指单元,配置为获取对象指令,其中,所述对象指令包括第一目的操作数、第一源操作数、第二源操作数、第二目的操作数;译码单元,配置为对所述对象指令进行译码以得到译码结果;执行单元,包括多个执行子单元且配置为根据所述译码结果,接收所述第一目的操作数、所述第一源操作数、所述第二源操作数、所述第二目的操作数以进行第一运算,其中,所述第一运算为(c1,rp)=ap*w+rp+c1,ap与w乘累加且将得到结果保存到rp中且进位保存到c1中,ap表示所述第一源操作数,w表示所述第二源操作数,rp表示所述第一目的操作数,c1表示所述第二目的操作数。

9、例如,本公开至少一实施例提供的处理器还包括第一向量寄存器、第二向量寄存器、第一标量寄存器和第二标量寄存器,其中,所述多个执行子单元包括第一执行子单元,所述第一执行子单元配置为:从所述第一向量寄存器或与所述处理器耦接的第一内存区域获取第一目的操作数;从所述第一标量寄存器获取第一源操作数;从所述第二向量寄存器获取第二源操作数;以及从所述第二标量寄存器获取第二目的操作数。

10、例如,在本公开至少一实施例提供的处理器中,所述第一向量寄存器为128位xmm向量寄存器或256位ymm向量寄存器,以及所述第一内存区域为128位或256位内存区域;所述第二向量寄存器为128位xmm向量寄存器或256位ymm向量寄存器;所述第一标量寄存器为64位标量寄存器;以及所述第二标量寄存器为64位标量寄存器。

11、例如,在本公开至少一实施例提供的处理器中,所述多个执行子单元还包括第二执行子单元,所述第二执行子单元配置为:获得第一源操作数和第二源操作数的乘积与第一目的操作数之和,作为第一临时值。

12、例如,在本公开至少一实施例提供的处理器中,所述多个执行子单元还包括第三执行子单元、第四执行子单元、第五执行子单元和第六执行子单元,配置为循环执行以下步骤:通过第三执行子单元获得所述第一临时值的第i*128~i*128+127位与第二目的操作数之和,作为第二临时值;通过第四执行子单元将所述第二临时值的低64位存储在第一目的操作数的第i*64~i*64+63位中;通过第五执行子单元将所述第二临时值的高64位存储在第二目的操作数中;以及通过第六执行子单元将i增加1,其中,i的初始值为0。

13、例如,在本公开至少一实施例提供的处理器中,所述第一向量寄存器为可读可写寄存器,以及所述第一内存区域为可读可写内存区域;所述第二向量寄存器为只读寄存器;所述第一标量寄存器为只读寄存器;以及所述第二标量寄存器为可读可写寄存器。

14、例如,在本公开至少一实施例提供的处理器中,所述译码结果包括微指令、微操作、伪代码输入点、译码指令或者控制信号。

15、本公开至少一实施例提供一种电子装置,包括前述处理器。



技术特征:

1.一种数据处理方法,包括:

2.根据权利要求1所述的数据处理方法,其中,所述第一运算为(c1,rp)=ap*w+rp+c1,ap与w乘累加且将得到结果保存到rp中且进位保存到c1中,ap表示所述第一源操作数,w表示所述第二源操作数,rp表示所述第一目的操作数,c1表示所述第二目的操作数。

3.根据权利要求1所述的数据处理方法,其中,

4.根据权利要求2所述的数据处理方法,其中,

5.根据权利要求4所述的数据处理方法,其中,使用第一目的操作数、第一源操作数、第二源操作数、第二目的操作数进行所述第一运算包括:

6.根据权利要求5所述的数据处理方法,其中,使用第一目的操作数、第一源操作数、第二源操作数、第二目的操作数进行所述第一运算还包括:

7.根据权利要求1-4任一所述的数据处理方法,其中,

8.根据权利要求1-4任一所述的数据处理方法,其中,所述译码结果包括微指令、微操作、伪代码输入点、译码指令或者控制信号。

9.一种处理器,包括:

10.根据权利要求9所述的处理器,其中,所述第一运算为(c1,rp)=ap*w+rp+c1,ap与w乘累加且将得到结果保存到rp中且进位保存到c1中,ap表示所述第一源操作数,w表示所述第二源操作数,rp表示所述第一目的操作数,c1表示所述第二目的操作数。

11.根据权利要求9所述的处理器,还包括第一向量寄存器、第二向量寄存器、第一标量寄存器和第二标量寄存器,

12.根据权利要求11所述的处理器,其中,

13.根据权利要求12所述的处理器,其中,所述多个执行子单元还包括第二执行子单元,所述第二执行子单元配置为:

14.根据权利要求13所述的处理器,其中,所述多个执行子单元还包括第三执行子单元、第四执行子单元、第五执行子单元和第六执行子单元,配置为:

15.根据权利要求9-12任一所述的处理器,其中,

16.根据权利要求9-12任一所述的处理器,其中,所述译码结果包括微指令、微操作、伪代码输入点、译码指令或者控制信号。

17.一种电子装置,包括根据权利要求9-16任一所述的处理器。


技术总结
本公开提供了一种数据处理方法、处理器和电子装置。该数据处理方法包括:获取对象指令,其中,该对象指令包括第一目的操作数、第一源操作数、第二源操作数和第二目的操作数;对该对象指令进行译码以得到译码结果;根据该译码结果,使用该第一目的操作数、该第一源操作数、该第二源操作数、该第二目的操作数进行第一运算,其中,该第一运算为(c1,rp)=ap*w+rp+c1,ap与w乘累加且将得到结果保存到rp中且进位保存到c1中,ap表示该第一源操作数,w表示该第二源操作数,rp表示该第一目的操作数,c1表示该第二目的操作数。该数据处理方法例如通过执行向量乘法,能够更好地实现并行运算,从而提高例如RSA算法的速度和效率。

技术研发人员:刘磊
受保护的技术使用者:海光信息技术股份有限公司
技术研发日:
技术公布日:2024/1/22
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1