本申请涉及数据处理,特别是涉及一种运算指令的执行方法、装置以及介质。
背景技术:
1、risc-v是一种开源指令集架构,该架构的产生背景在于之前的处理器指令架构非常复杂与繁琐。在设计之初充分考虑到各处理器的优缺点,进一步精简了指令,广泛考虑到小型、快速、低功耗的嵌入式系统使用场景,在性能与资源上做了很多的优化,相比较其他架构具有极大优势。目前通常采用risc-v标准指令集,每条指令单独执行,即存在多条指令时需要逐条执行以完成运算任务。
2、但是,指令执行有自身的周期,每条指令执行时均需要耗费一定时间,在数据运算密集场合下多条指令逐条执行会耗费大量时间,导致运算效率低。
3、由此可见,如何在执行运算指令时提高其运算效率,是本领域技术人员亟待解决的问题。
技术实现思路
1、本申请的目的是提供一种运算指令的执行方法、装置以及介质,以解决多条指令执行时运算效率低的问题。
2、为解决上述技术问题,本申请提供一种运算指令的执行方法,处理器中运算单元的结构设置为在一个指令下完成多个运算步骤,所述方法包括:
3、获取包括运算步骤的指令;
4、若各指令中有满足融合条件的多条指令,则将对应的多条指令进行融合得到包括对应的多个运算步骤的融合指令;其中,所述融合条件根据所述运算单元的结构设定;
5、获取所述融合指令所需的操作数;
6、将所述操作数送入所述运算单元以完成所述融合指令的多个运算步骤。
7、优选地,所述运算单元的运算器包括加法器和/或乘法器。
8、优选地,所述运算单元包括第一运算器、第二运算器和第三运算器;所述第一运算器、所述第二运算器、所述第三运算器均为所述加法器或所述乘法器中的一种;
9、所述第一运算器以及所述第二运算器的输入端作为所述运算单元的输入端,所述第一运算器以及所述第二运算器的输出端均与所述第三运算器的输入端连接,所述第三运算器的输出端作为所述运算单元的输出端。
10、优选地,所述第一运算器、所述第二运算器、所述第三运算器根据操作选择自身作为所述加法器或所述乘法器。
11、优选地,所述运算单元包括一个所述乘法器和一个所述加法器;
12、所述乘法器的两个输入端以及所述加法器的其中一个输入端作为所述运算单元的输入端,所述乘法器的输出端与所述加法器的另外一个输入端连接,所述加法器的输出端作为所述运算单元的输出端。
13、优选地,所述操作数根据运算需求配置为正数或负数。
14、优选地,在所述将所述操作数送入所述运算单元以完成所述融合指令的多个运算步骤之前,还包括:
15、若所述融合指令所需的所述操作数为另一指令的结果,则等待对应的指令执行完成之后,开始执行所述融合指令。
16、为解决上述技术问题,本申请还提供一种运算指令的执行装置,处理器中运算单元的结构设置为在一个指令下完成多个运算步骤,所述装置包括:
17、第一获取模块,用于获取包括运算步骤的指令;
18、融合模块,用于若各指令中有满足融合条件的多条指令,则将对应的多条指令进行融合得到包括对应的多个运算步骤的融合指令;其中,所述融合条件根据所述运算单元的结构设定;
19、第二获取模块,用于获取所述融合指令所需的操作数;
20、运算模块,用于将所述操作数送入所述运算单元以完成所述融合指令的多个运算步骤。
21、优选地,所述运算指令的执行装置还包括:执行模块,用于在所述将所述操作数送入所述运算单元以完成所述融合指令的多个运算步骤之前,若所述融合指令所需的所述操作数为另一指令的结果,则等待对应的指令执行完成之后,开始执行所述融合指令。
22、为解决上述技术问题,本申请还提供一种运算指令的执行装置,包括:存储器,用于存储计算机程序;
23、处理器,用于执行计算机程序时实现上述运算指令的执行方法的步骤。
24、为解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述运算指令的执行方法的步骤。
25、本申请所提供的一种运算指令的执行方法,处理器用于执行运算指令以完成运算任务,处理器中运算单元的结构设置为在一个指令下完成多个运算步骤。在执行运算任务时,先获取包括运算步骤的指令,若各指令中有满足融合条件的多条指令,则将对应的多条指令进行融合得到包括对应的多个运算步骤的融合指令。其中,一个指令一般只有一个运算步骤,融合条件为根据运算单元的结构设定,即多个指令的运算步骤能够被运算单元在一个指令下完成。在得到融合指令之后,再获取融合指令所需的操作数,并将操作数送入运算单元以完成融合指令的多个运算步骤。本方案通过提前将满足运算单元结构的多个指令进行融合,将多个指令中的运算步骤融合成一个运算指令进行运算,从而实现了完成多个运算步骤只需要一个运算指令,相较于当前多条指令逐条执行的方案,本方案能够减少指令执行耗费的时间,从而提高运算效率。
26、本申请还提供了一种运算指令的执行装置和计算机可读存储介质,与上述方法对应,故具有与上述方法相同的有益效果。
1.一种运算指令的执行方法,其特征在于,处理器中运算单元的结构设置为在一个指令下完成多个运算步骤,所述方法包括:
2.根据权利要求1所述的运算指令的执行方法,其特征在于,所述运算单元的运算器包括加法器和/或乘法器。
3.根据权利要求2所述的运算指令的执行方法,其特征在于,所述运算单元包括第一运算器、第二运算器和第三运算器;所述第一运算器、所述第二运算器、所述第三运算器均为所述加法器或所述乘法器中的一种;
4.根据权利要求3所述的运算指令的执行方法,其特征在于,所述第一运算器、所述第二运算器、所述第三运算器根据操作选择自身作为所述加法器或所述乘法器。
5.根据权利要求2所述的运算指令的执行方法,其特征在于,所述运算单元包括一个所述乘法器和一个所述加法器;
6.根据权利要求2至5任意一项所述的运算指令的执行方法,其特征在于,所述操作数根据运算需求配置为正数或负数。
7.根据权利要求1所述的运算指令的执行方法,其特征在于,在所述将所述操作数送入所述运算单元以完成所述融合指令的多个运算步骤之前,还包括:
8.一种运算指令的执行装置,其特征在于,处理器中运算单元的结构设置为在一个指令下完成多个运算步骤,所述装置包括:
9.一种运算指令的执行装置,其特征在于,包括存储器,用于存储计算机程序;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的运算指令的执行方法的步骤。