【技术实现步骤摘要】
本专利技术涉及通信
,尤其涉及一种扩展处理器指令集的方法及装置。
技术介绍
随着通信技术的发展,为了提升通信系统的处理能力,往往需要使用硬件加速模块来对复杂业务进行处理,例如:浮点运算、加解密、压缩解压缩等操作。目前,可以采用如下方法来实现对复杂业务的处理:采用协处理器执行诸如浮点指令的专用指令,也就是说,处理器需要将专用指令发送给协处理器来执行。这种处理方式的优点为编程简单,可以直接使用协处理器指令;缺点为处理器必须支持这种专用指令,但是,并非所有的处理器内核都支持这个功能,比如:厂家使用第三方的处理器内核来设计自己的处理器,就无法支持该协处理器的运行。或者,将硬件加速模块作为处理器的外设,处理器通过PCIe(英文:PeripheralComponentInterconnectexpress,中文:PCI快速通道)等接口将数据发送给加速模块进行处理,加速模块会将处理结果通过处理器存储至内存,当处理器需要访问处理结果时,则从内存读取处理结果。这种处理方式在实现过程中比较灵活,因为加速模块与处理器是解耦的,但是处理器与加速模块之间存在频繁的数据交互,这样就降低了业务的处理性能。因此,目前仍需要一种能够结合上述两种技术的优点的实现方法,以提高业务的处理能力并简化程序设计。
技术实现思路
本专利技术提供一种扩展处理器指令集的方法及装置,能够在不修改处理器内核的前提条件下,提高处理器的处理速度。为达到上述目的,本专利技术采用如下技术方案:一方面,本专利技术提供的扩展处理器指令集的方法。该方法用于一种芯片,该芯片包括处理器内核、监控模块和至少一个用于执行扩展指令 ...
【技术保护点】
一种扩展处理器指令集的方法,其特征在于,所述方法用于一种芯片,所述芯片包括处理器内核、监控模块和至少一个用于执行扩展指令的执行模块,所述监控模块和所述至少一个用于执行扩展指令的执行模块通过可编程逻辑来实现,所述方法包括:所述监控模块通过片上总线识别指令,所述指令为所述处理器内核通过所述片上总线从内存加载的指令;所述监控模块将所述指令中的扩展指令保存至本地存储器;在所述处理器内核通过所述片上总线从所述内存中加载到扩展指令之后,所述处理器内核译码扩展指令,产生未定义指令异常,所述扩展指令为已存储至所述本地存储器中的所述扩展指令;在所述处理器内核执行完当前指令之后,所述处理器内核执行异常处理程序,所述异常处理程序为所述未定义指令异常触发的程序;在所述处理器内核执行所述异常处理程序时,所述处理器内核暂停执行所述扩展指令之后的指令,且通过所述监控模块触发所述扩展指令对应的执行模块执行所述扩展指令;所述监控模块控制所述处理器内核退出所述异常处理程序,以便于所述处理器内核继续执行所述扩展指令之后的指令。
【技术特征摘要】
1.一种扩展处理器指令集的方法,其特征在于,所述方法用于一种芯片,所述芯片包括处理器内核、监控模块和至少一个用于执行扩展指令的执行模块,所述监控模块和所述至少一个用于执行扩展指令的执行模块通过可编程逻辑来实现,所述方法包括:所述监控模块通过片上总线识别指令,所述指令为所述处理器内核通过所述片上总线从内存加载的指令;所述监控模块将所述指令中的扩展指令保存至本地存储器;在所述处理器内核通过所述片上总线从所述内存中加载到扩展指令之后,所述处理器内核译码扩展指令,产生未定义指令异常,所述扩展指令为已存储至所述本地存储器中的所述扩展指令;在所述处理器内核执行完当前指令之后,所述处理器内核执行异常处理程序,所述异常处理程序为所述未定义指令异常触发的程序;在所述处理器内核执行所述异常处理程序时,所述处理器内核暂停执行所述扩展指令之后的指令,且通过所述监控模块触发所述扩展指令对应的执行模块执行所述扩展指令;所述监控模块控制所述处理器内核退出所述异常处理程序,以便于所述处理器内核继续执行所述扩展指令之后的指令。2.根据权利要求1所述的方法,其特征在于,每个执行模块能够执行至少一条扩展指令,每条扩展指令对应一个指令地址,所述处理器内核通过所述监控模块触发所述扩展指令对应的执行模块执行所述扩展指令,包括:所述处理器内核向所述监控模块发送当所述处理器内核产生所述未定义指令异常时程序计数器中的内容,所述程序计数器中的内容为所述扩展指令的下一条指令的指令地址;所述监控模块根据所述下一条指令的指令地址,确定所述扩展指令的指令地址;所述监控模块通知所述扩展指令对应的执行模块执行与所述指令地址对应的扩展指令。3.根据权利要求2所述的方法,其特征在于,在所述监控模块通知所述扩展指令对应的执行模块执行与所述指令地址对应的扩展指令之前,包括:所述监控模块根据已存储至所述本地存储器的所述扩展指令,确定所述扩展指令对应的执行模块。4.根据权利要求1至3中任意一项所述的方法,其特征在于,所述监控模块将所述指令中的扩展指令保存至本地存储器,包括:所述监控模块将所述指令中的扩展指令按照预设格式保存至所述本地存储器,所述预设格式包括所述扩展指令的指令地址、所述扩展指令的内容和所述扩展指令对应的执行模块。5.根据权利要求2所述的方法,其特征在于,在所述处理器内核通过所述监控模块触发所述扩展指令对应的执行模块执行所述扩展指令之后,包括:所述处理器内核暂时停留在所述异常处理程序中。6.根据权利要求5所述的方法,其特征在于,所述处理器内核暂时停留在所述异常处理程序中,包括:所述处理器内核访问预设的保留内存地址,所述保留内存地址不对应任何一个物理内存单元;当所述监控模块向所述处理器内核发送重试响应之后,所述处理器内核再次访问所述保留内存地址。7.根据权利要求6所述的方法,其特征在于,所述监控模块控制所述处理器内核退出所述异常处理程序,包括:当所述监控模块向所述处理器内核发送正常完成响应之后,所述处理器内核退出所述异常处理程序。8.根据权利要求5所述的方法,其特征在于,在所述处理器内核译码扩展指令,产生未定义指令异常之后,包括:所述监控模块生成硬件信号,所述硬件信号用于控制所述处理器内核是否停留在所述异常处理程序中;所述监控模块向所述处理器内核发送所述硬件信号;所述处理器内核暂时停留在所述异常处理程序中,包括:当所述硬件信号为低电平时,所述处理器内核暂时停留在所述异常处理程序中。9.根据权利要求8所述的方法,其特征在于,所述监控模块控制所述处理器内核退出所述异常处理程序,包括:当所述硬件信号为高电平时,所述处理器内核退出所述异常处理程序。10.根据权利要求7或9所述的方法,其特征在于,所述处理器内核继续执行所述扩展指令之后的指令,包括:所述处理器内核将执行所述异常处理程序之前备份的通用寄存器、程序计数器和状态寄存器的数据恢复;所述处理器内核根据所述程序计数器中存储的下一条指令地址,从所...
【专利技术属性】
技术研发人员:李延松,吴求应,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。