一种异构指令集架构下异常或中断的处理方法、装置制造方法及图纸

技术编号:31450784 阅读:18 留言:0更新日期:2021-12-18 11:13
本申请提供一种异构指令集架构下异常或中断的处理方法,该方法应用的物理主机能够支持两种指令集架构。从架构虚拟机触发的异常或中断时,虚拟机监视器可以将从指令集架构下该异常或中断的编码转换成主指令集架构下的该异常或中断的编码,虚拟机监视器可以识别主指令集架构下的异常或中断的编码,因此虚拟机监视器通过转换后的编码识别出从架构虚拟机触发的异常或中断的类型,从而对其处理。由此虚拟机监视器可以识别、处理从架构虚拟机触发的异常或中断,能够保证系统的稳定性、使得异构指令集虚拟机能正常运行,构建多元化的软件生态。态。态。

【技术实现步骤摘要】
一种异构指令集架构下异常或中断的处理方法、装置


[0001]本申请涉及计算机领域,具体涉及一种异常或中断的处理方法。

技术介绍

[0002]指令集是存储于处理器中,用来引导处理器进行加减运算和控制计算机操作系统的一系列指令的集合。指令集或指令集架构也是处理器能支持的指令的集合。目前常见的指令集架构(instruction set architecture,ISA)有X86架构、高级精简指令集机器(advanced risc machine,ARM)架构和RISC-V架构等。不同的处理器支持的指令集架构可能不同,处理器要支持新的指令集架构,就要修改硬件电路,软件要支持新的指令集,就要修改程序,重新编译。当需要在新的指令集架构执行业务时,支持原始指令集架构的应用程序和操作系统不能直接在支持新的指令集架构的处理器上运行,而需要被重新开发以支持新的指令集架构。例如X86指令集架构下某个软件的二进制文件,不能直接在支持ARM指令集架构的硬件或软件环境中运行,需要基于ARM指令集架构重新开发、编译以获得该软件的新的二进制文件。
[0003]在虚拟化本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种异常的处理方法,其特征在于,所述方法应用于物理主机,所述物理主机的处理器包括支持主指令集架构的主处理核和支持从指令集架构的从处理核,所述物理主机上运行有支持所述主指令集架构的虚拟机监视器,以及支持所述主指令集架构的主架构虚拟机和支持所述从指令集架构的从架构虚拟机,所述方法包括:所述从架构虚拟机触发异常时,所述虚拟机监视器获得所述异常的状态信息;所述异常的状态信息包括所述异常的第一编码;所述异常的第一编码表示在所述从指令集架构下所述异常的类型;所述虚拟机监视器从异常映射关系中获取所述异常的第二编码,所述异常的第二编码表示在所述主指令集架构下所述异常的类型;所述异常映射关系包括多类异常中每类异常的第一编码与第二编码的对应关系;所述虚拟机监视器根据所述异常的第二编码,识别出所述异常的类型并处理所述异常。2.根据权利要求1所述的方法,其特征在于,所述物理主机还包括从架构寄存器,所述虚拟机监视器获得所述异常的状态信息,包括:所述虚拟机监视器从共享内存中获取所述异常的状态信息;所述共享内存被所述从处理核和所述主处理核共享;所述异常的状态信息为所述从处理核从所述从架构寄存器中复制到所述共享内存中的;所述从架构寄存器为符合所述从指令集架构规范的、用于存储所述异常的状态信息的寄存器。3.根据权利要求1所述的方法,其特征在于,所述物理主机还包括共享寄存器,所述虚拟机监视器获得所述异常的状态信息,包括:所述虚拟机监视器从所述共享寄存器中获取所述异常的状态信息,所述共享寄存器被所述从处理核和所述主处理核共享;所述共享寄存器存储有所述异常的状态信息。4.根据权利要求1或2所述的方法,其特征在于,所述物理主机还包括从架构寄存器和主架构寄存器,所述异常的状态信息还包括触发所述异常的指令或触发所述异常的地址中的至少一个,所述异常映射关系还包括所述从架构寄存器与所述主架构寄存器的对应关系,所述主架构寄存器为符合所述主指令集架构规范的寄存器,所述从架构寄存器为符合所述从指令集架构规范的、用于存储所述异常的状态信息的寄存器;所述虚拟机监视器根据所述异常的第二编码,识别出所述异常的类型,并处理所述异常之前,所述方法还包括:所述虚拟机监视器根据所述异常映射关系查找与所述从架构寄存器对应的所述主架构寄存器;所述虚拟机监视器将所述异常的第二编码写入所述主架构寄存器,以及将所述触发异常的指令和所述触发异常的地址中的至少一个写入所述主架构寄存器;对应的,所述虚拟机监视器根据所述异常的第二编码,识别出所述异常的类型,并处理所述异常,包括:所述虚拟机监视器从所述主架构寄存器中读取所述异常的第二编码,以及所述触发异常的指令和所述触发异常的地址中的至少一个;所述虚拟机监视器根据所述异常的第二编码,以及所述触发异常的指令和所述触发异常的地址中的至少一个处理所述异常。
5.根据权利要求1-4任一项所述的方法,所述物理主机中包括支持硬件辅助虚拟化的硬件设备,且所述硬件设备支持所述主指令集架构,所述虚拟机监视器处理所述异常,包括:所述虚拟机监视器通过所述支持硬件辅助虚拟化的硬件设备处理所述异常。6.一种中断的处理方法,其特征在于,所述方法应用于物理主机,所述物理主机的处理器包括支持主指令集架构的主处理核和支持从指令集架构的从处理核,所述物理主机上运行有支持所述主指令集架构的虚拟机监视器,以及支持所述主指令集架构的主架构虚拟机和支持所述从指令集架构的从架构虚拟机,所述方法包括:所述从架构虚拟机触发中断时,所述虚拟机监视器获得所述中断的状态信息,所述状态信息包括所述中断的第一编码;所述中断的第一编码表示在所述从指令集架构下所述中断的类型;所述虚拟机监视器从中断映射关系中获取与所述中断的第二编码,所述中断的第二编码表示在所述主指令集架构下所述中断的类型;所述中断映射关系包括多类中断中每类中断的第一编码与第二编码的对应关系;所述虚拟机监视器根据所述中断的第二编码,识别出所述中断的类型并处理所述中断。7.根据权利要求6所述的方法,其特征在于,所述物理主机包括从架构寄存器,所述虚拟机监视器获得所述中断的状态信息,包括:所述虚拟机监视器从共享内存中获取所述中断的状态信息,所述共享内存被所述从处理核和所述主处理核共享,所述中断的状态信息为所述从处理核从所述从架构寄存器中复制到所述共享内存中的;所述从架构寄存器为符合所述从指令集架构规范的寄存器,用于存储所述中断的状态信息。8.根据权利要求6所述的方法,其特征在于,所述物理主机还包括共享寄存器,所述虚拟机监视器获得所述中断的状态信息,包括:所述虚拟机监视器从所述共享寄存器中获取所述中断的状态信息,所述共享寄存器被所述从处理核和所述主处理核共享;所述共享寄存器存储有所述中断的状态信息。9.根据权利要求6或7所述的方法,其特征在于,所述物理主机包括从架构寄存器和主架构寄存器,所述中断映射关系还包括所述从架构寄存器与所述主架构寄存器的对应关系,所述主架构寄存器为符合所述主指令集架构规范的寄存器;所述从架构寄存器为符合所述从指令集架构规范的、用于存储所述中断的状态信息的寄存器;所述虚拟机监视器根据所述中断的第二编码,识别出所述中断的类型并处理所述中断之前,所述方法还包括:所述虚拟机监视器根据所述中断映射关系查找与所述从架构寄存器对应的所述主架构寄存器;所述虚拟机监视器将所述中断的第二编码写入所述主架构寄存器;对应的,所述虚拟机监视器根据所述中断的第二编码,识别出所述中断的类型并处理所述中断,包括:所述虚拟机监视器从所述主架构寄存器中读取所述中断的第二编码,根据所述中断的第二编码,识别出所述中断的类型并处理所述中断。
10.根据权利要求6-9任一项所述的...

【专利技术属性】
技术研发人员:蒋毅飞赵思齐万波
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1