本申请涉及处理器,尤其涉及一种指令处理方法、装置、处理器、存储介质以及计算机程序产品。
背景技术:
1、目前,为了提高处理器性能,处理器可以采用多发射微架构,在一个时钟周期内并行发射两条指令、四条指令等多条指令。多发射微架构的处理器核心具有多个指令执行端口(port),可以在流水线指令的基础上并行发射多路流水线指令,多个指令执行端口可以在一个时钟周期内并发多条执行指令,执行指令可以为数据加密执行指令等。在一个时钟周期内并行发射的多个执行指令需要处理相同的输入参数,由于此输入函数仅存储一份数据(从内存传到一个寄存器单元中存放),当并行发射的多个执行指令中的一个执行指令被执行时,此寄存器单元被此执行指令占用,此执行指令获取此输入函数并进行处理;并且,在此执行指令执行完毕之前,并行发射的多个执行指令中的其他执行指令处于等待状态;在此执行指令执行完毕后,并行发射的多个执行指令中的一个其他执行指令才可以从此寄存器单元中获取此输入参数并进行处理,因此,多个执行指令的并行发射实际为部分或全部串行发射,执行指令的耗时增加、运行效率降低,降低了处理器的性能。
技术实现思路
1、本公开提供一种指令处理方法、装置、处理器、存储介质以及计算机程序产品。
2、根据本公开的第一方面,提供一种指令处理方法,应用于处理器,所述处理器包括多个指令执行端口,各个指令执行端口在一个时钟周期内发射一个执行指令或处于空闲状态,所述指令处理方法包括:为并行发射的、需要处理相同的输入参数的多个执行指令中的各个执行指令,分别指定对应的寄存器单元;在所述寄存器单元中存放所述输入参数;当并行发射所述多个执行指令时,控制所述多个执行指令中的各个执行指令,分别从对应的寄存器单元中获取所述输入参数并进行处理。
3、可选地,所述输入参数包括已发射的执行指令的处理结果,所述为并行发射的、需要处理相同的输入参数的多个执行指令中的各个执行指令,分别指定对应的寄存器单元包括:在所述已发射的执行指令被执行之后,为所述多个执行指令中的各个执行指令分别指定对应的寄存器单元。
4、可选地,所述寄存器单元包括第二变量寄存器单元、与所述已发射的执行指令对应的第一变量寄存器单元,所述为所述多个执行指令中的各个执行指令分别指定对应的寄存器单元包括:为所述多个执行指令中的一个执行指令指定所述第一变量寄存器单元,并为所述多个执行指令中的各个其他执行指令分别指定对应的所述第二变量寄存器单元。
5、可选地,所述在所述寄存器单元中存放所述输入参数包括:在所述第一变量寄存器单元和所述第二变量寄存器单元中存放所述处理结果。
6、可选地,所述在所述第一变量寄存器单元和所述第二变量寄存器单元中存放所述处理结果包括:通过所述已发射的执行指令,将所述处理结果存放在所述第一变量寄存器单元;在所述已发射的执行指令被执行之后,发射第一复制执行指令,用以在所述第二变量寄存器单元中存放所述处理结果。
7、可选地,在与所述已发射的执行指令对应的时钟周期之后的下一个时钟周期内,发射所述第一复制执行指令。
8、可选地,所述输入参数包括未被已发射的执行指令处理的参数,所述寄存器单元包括第三变量寄存器单元,所述为并行发射的、需要处理相同的输入参数的多个执行指令中的各个执行指令,分别指定对应的寄存器单元包括:为所述多个执行指令中的各个执行指令分别指定对应的第三变量寄存器单元。
9、可选地,所述在所述寄存器单元中存放所述输入参数包括:在所述第三变量寄存器单元中存放所述初始参数。
10、可选地,所述在所述第三变量寄存器单元中存放所述初始参数包括:在所述多个执行指令并行发射之前,发射第二复制执行指令,用以在所述第三变量寄存器单元中存放所述未被已发射的执行指令处理的参数。
11、可选地,所述执行指令包括用于进行椭圆曲线加密的算法执行指令,其中,所述算法包括蒙哥马利梯度算法。
12、可选地,所述指令执行端口的数量包括四个,所述指令处理方法包括:为四个指令执行端口分别分配需要发射的所述算法执行指令;为所述四个指令执行端口分别分配加密处理数据,其中,所述加密处理数据包括椭圆曲线上的第一点在射影坐标系下的第一坐标和第二坐标,以及椭圆曲线上的第二点在射影坐标系下的第一坐标和第二坐标。
13、根据本公开的第二方面,提供一种指令处理装置,应用于处理器,所述处理器包括多个指令执行端口,所述指令执行端口在一个时钟周期发射一个执行指令或处于空闲状态,所述指令处理装置包括:分配模块,用于为并行发射的、需要处理相同的输入参数的多个执行指令中的各个执行指令,分别指定对应的寄存器单元;存储模块,用于在所述寄存器单元中存放所述输入参数;执行模块,用于当并行发射所述多个执行指令时,控制所述多个执行指令中的各个执行指令,分别从对应的寄存器单元中获取所述输入参数并进行处理。
14、根据本公开的第三方面,一种处理器,包括如上所述的指令处理装置。
15、根据本公开的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行如上所述的方法。
16、根据本公开的第五方面,提供一种计算机程序产品,所述算机程序产品存储有计算机指令,所述指令被处理器执行如上所述的方法。
17、本公开的指令处理方法、装置、处理器、存储介质以及计算机程序产品,通过为并行发射的、需要处理相同的输入参数的多个执行指令分别指定寄存器单元,在寄存器单元中存放此输入参数,当并行发射多个执行指令时,控制各个执行指令分别从对应的寄存器单元中获取此输入参数并进行处理;能够实现多个执行指令的并行发射,更好地利用并发特性,提升了指令并行性能,指令运行的整体耗时短、效率高。
1.一种指令处理方法,应用于处理器,所述处理器包括多个指令执行端口,各个指令执行端口在一个时钟周期内发射一个执行指令或处于空闲状态,所述指令处理方法包括:
2.如权利要求1所述的指令处理方法,其中,所述输入参数包括已发射的执行指令的处理结果,所述为并行发射的、需要处理相同的输入参数的多个执行指令中的各个执行指令,分别指定对应的寄存器单元包括:
3.如权利要求2所述的指令处理方法,其中,所述寄存器单元包括第二变量寄存器单元、与所述已发射的执行指令对应的第一变量寄存器单元,所述为所述多个执行指令中的各个执行指令分别指定对应的寄存器单元包括:
4.如权利要求3所述的指令处理方法,其中,所述在所述寄存器单元中存放所述输入参数包括:
5.如权利要求4所述的指令处理方法,其中,所述在所述第一变量寄存器单元和所述第二变量寄存器单元中存放所述处理结果包括:
6.如权利要求5所述的指令处理方法,其中,
7.如权利要求2所述的指令处理方法,其中,所述输入参数包括未被已发射的执行指令处理的参数,所述寄存器单元包括第三变量寄存器单元,所述为并行发射的、需要处理相同的输入参数的多个执行指令中的各个执行指令,分别指定对应的寄存器单元包括:
8.如权利要求7所述的指令处理方法,其中,所述在所述寄存器单元中存放所述输入参数包括:
9.如权利要求8所述的指令处理方法,其中,所述在所述第三变量寄存器单元中存放所述初始参数包括:
10.如权利要求1至9任一项所述的指令处理方法,其中,
11.如权利要求10所述的指令处理方法,其中,所述指令执行端口的数量包括四个,所述指令处理方法包括:
12.一种指令处理装置,应用于处理器,所述处理器包括多个指令执行端口,所述指令执行端口在一个时钟周期发射一个执行指令或处于空闲状态,所述指令处理装置包括:
13.一种处理器,包括:
14.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行如权利要求1至11中任一项所述的方法。
15.一种计算机程序产品,所述算机程序产品存储有计算机指令,所述指令被处理器执行如权利要求1至11中任一项所述的方法。