本发明涉及硬件设计,更具体地说,它涉及一种微码switch跳转指令的实现方法及装置。
背景技术:
1、网络安全处理芯片np模块(简称:np模块)在芯片中用于加速数据的传输及处理,具有高性能、低延迟以及灵活可编程的特点,在协同其他模块的数据传输及处理中发挥了重要的作用。芯片微码是np模块在处理数据时用来控制各寄存器及数据所使用的低级程序,储存在np模块内部中。
2、目前,一般情况下微码储存在只读存储器或类似的非易失性存储器中,在指令运行过程中,np业务通常需要通过跳转指令来操控其功能。而控制微码指令的跳转,通常使用条件语句,在微码中条件语句通常通过比较指令来实现。若所需匹配的条件数较多,则需要多条跳转指令来实现,且可能需要执行所有的跳转指令,耗时较长,且需要使用微码标签辅助所跳转的指令确定在指令存储器中的位置(以下简称pc值)。
3、因此,如何研究设计一种能够克服上述缺陷的微码switch跳转指令的实现方法及装置是我们目前急需解决的问题。
技术实现思路
1、为解决现有技术中的不足,本发明的目的是提供一种微码switch跳转指令的实现方法及装置,为了更方便地实现指令的跳转,使用switch指令,即可通过往寄存器中填写数据,通过匹配值来控制所跳转的指令,使用switch指令可以使微码指令能够在不使用条件语句的情况下,当拍跳转至符合条件的指令地址;switch指令将原先的串行匹配条件变为并行匹配条件,可以在一拍内对所有的条件进行匹配,使用switch指令可以在一个时钟周期内跳转至所匹配的条件内的指令,不需要通过比较指令的结果是否成功进行跳转,节省了一定的指令空间及时间。
2、本发明的上述技术目的是通过以下技术方案得以实现的:
3、第一方面,提供了一种微码switch跳转指令的实现方法,包括以下步骤:
4、在只读存储器中存入指令;
5、向第一寄存器中写入用于与条件匹配的数据以及switch指令的编号;
6、从switch指令中解析出swid、用于匹配的条件及符合该条件所需跳转的指令pc值,并存入第二寄存器中;
7、将第二寄存器与第一寄存器中的条件并行匹配,在条件匹配成功后跳转至只读存储器中相应的指令,读取并执行。
8、进一步的,所述第二寄存器中还存有与第二寄存器中的条件一一对应的跳转指令编号;
9、所述跳转指令编号为只读存储器中存入与第二寄存器中的条件所对应指令的跳转指令地址。
10、进一步的,所述第二寄存器支持写入64个条件和8个swid。
11、进一步的,所述将第二寄存器与第一寄存器中的条件并行匹配,在条件匹配成功后跳转至只读存储器中相应的指令,读取并执行的过程具体为:
12、通过匹配swid来确定所操作的switch指令的编号;
13、switch指令的编号匹配,则开始对switch指令中各条件进行匹配;
14、当条件匹配时,则跳转至该条件下的语句并执行;
15、若不匹配,则对下一个条件进行匹配,直到有条件匹配;
16、若无匹配项,则进入最后无匹配项条件中的微码指令。
17、进一步的,所述只读存储器为np核内的存储器,该存储器不参与np核的数据搬移及写入,只读取其中的指令。
18、进一步的,所述第一寄存器为np核内的存储器,在写入指令后,作为只读存储器使用,读取指令信息,不作为np核内数据搬移及写入使用。
19、进一步的,所述第二寄存器属于np核的寄存器,在指令执行的np核外,同时在np系统内。
20、第二方面,提供了一种微码switch跳转指令的实现装置,包括:
21、指令存储模块,用于在只读存储器中存入指令;
22、数据写入模块,用于向第一寄存器中写入用于与条件匹配的数据以及switch指令的编号;
23、指令解析模块,用于从switch指令中解析出swid、用于匹配的条件及符合该条件所需跳转的指令pc值,并存入第二寄存器中;
24、条件匹配模块,用于将第二寄存器与第一寄存器中的条件并行匹配,在条件匹配成功后跳转至只读存储器中相应的指令,读取并执行。
25、第三方面,提供了一种电子设备,包含存储器、处理器及存储在存储器并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面中任意一项所述的一种微码switch跳转指令的实现方法。
26、第四方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行可实现如第一方面中任意一项所述的一种微码switch跳转指令的实现方法。
27、与现有技术相比,本发明具有以下有益效果:
28、本发明提供的一种微码switch跳转指令的实现方法,为了更方便地实现指令的跳转,使用switch指令,即可通过往寄存器中填写数据,通过匹配值来控制所跳转的指令,使用switch指令可以使微码指令能够在不使用条件语句的情况下,当拍跳转至符合条件的指令地址;switch指令将原先的串行匹配条件变为并行匹配条件,可以在一拍内对所有的条件进行匹配,使用switch指令可以在一个时钟周期内跳转至所匹配的条件内的指令,不需要通过比较指令的结果是否成功进行跳转,节省了一定的指令空间及时间。
1.一种微码switch跳转指令的实现方法,其特征是,包括以下步骤:
2.根据权利要求1所述的一种微码switch跳转指令的实现方法,其特征是,所述第二寄存器中还存有与第二寄存器中的条件一一对应的跳转指令编号;
3.根据权利要求1所述的一种微码switch跳转指令的实现方法,其特征是,所述第二寄存器支持写入64个条件和8个swid。
4.根据权利要求1所述的一种微码switch跳转指令的实现方法,其特征是,所述将第二寄存器与第一寄存器中的条件并行匹配,在条件匹配成功后跳转至只读存储器中相应的指令,读取并执行的过程具体为:
5.根据权利要求1所述的一种微码switch跳转指令的实现方法,其特征是,所述只读存储器为np核内的存储器,该存储器不参与np核的数据搬移及写入,只读取其中的指令。
6.根据权利要求1所述的一种微码switch跳转指令的实现方法,其特征是,所述第一寄存器为np核内的存储器,在写入指令后,作为只读存储器使用,读取指令信息,不作为np核内数据搬移及写入使用。
7.根据权利要求1所述的一种微码switch跳转指令的实现方法,其特征是,所述第二寄存器属于np核的寄存器,在指令执行的np核外,同时在np系统内。
8.一种微码switch跳转指令的实现装置,其特征是,包括:
9.一种电子设备,包含存储器、处理器及存储在存储器并可在处理器上运行的计算机程序,其特征是,所述处理器执行所述程序时实现如权利要求1-7中任意一项所述的一种微码switch跳转指令的实现方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征是,所述计算机程序被处理器执行可实现如权利要求1-7中任意一项所述的一种微码switch跳转指令的实现方法。