【技术实现步骤摘要】
支持多指令集体系结构的程序运行方法、计算机设备及系统
[0001]本专利技术涉及处理器体系结构技术,具体涉及一种支持多指令集体系结构的程序运行方法、计算机设备及系统。
技术介绍
[0002]对于处理器的用户来说,在进行处理器体系结构更新换代时,原有应用程序的移植是非常耗费人力和物力的,尤其是当程序规模很大时,移植成本更高;另外,有些应用可能只有可执行二进制文件,无法进行移植。因为软件移植开销大、移植困难,处理器用户通常不会轻易更换体系结构不同的处理器。即便是同一种体系结构,为了实现软件兼容,在体系结构的发展过程中也必须做到向后兼容,保证之前开发的应用程序能够在新版体系结构的处理器上运行。那么,当一种新的处理器体系出现时,如何让处理器用户既能切换到新的体系结构的处理器,又能让原有基于其他处理器体系结构的二进制程序还可以在新的处理器上正常且快速执行呢,则处理器用户将会很容易也会很愿意进行处理器体系结构的更新换代。
[0003]二进制翻译技术能够把基于一种体系结构的处理器上执行的二进制程序翻译到基于另一种体系结构的处理器上 ...
【技术保护点】
【技术特征摘要】
1.一种支持多指令集体系结构的程序运行方法,其特征在于,包括:1)上电复位后将处理器状态寄存器复位为默认指令集体系结构对应的编码;2)从默认指令集体系结构定义的复位地址寄存器指定的地址开始取指执行;3)使用默认指令集体系结构中的指令,分别设置默认指令集体系结构的规范所定义的控制寄存器和配置寄存器;4)在需要执行二进制应用程序时,加载需要执行的二进制应用程序;5)根据二进制应用程序基于的指令集体系结构设置处理器状态备份寄存器;6)执行异常返回指令读取处理器状态备份寄存器的值以设置处理器状态寄存器并进入用户态,执行需要执行的二进制应用程序;在所述二进制应用程序执行完毕执行或发生应用程序切换时,处理器离开用户态;跳转执行步骤4)。2.根据权利要求1所述的支持多指令集体系结构的程序运行方法,其特征在于,所述默认指令集体系结构是指超特权态层以及特权态层所采用的指令集体系结构,所述超特权态层运行基于默认指令集体系结构的虚拟机监控器,所述特权态层为虚拟机监控器上基于默认指令集体系结构的客户操作系统中的特权层,所述客户操作系统的用户层支持包含默认指令集体系结构在内的多种指令集体系结构的二进制应用程序。3.根据权利要求2所述的支持多指令集体系结构的程序运行方法,其特征在于,所述默认指令集体系结构为Armv8 AArch64指令集体系结构;多指令集体系结构包括Armv8AArch64指令集体系结构和RISC
‑
V指令集体系结构。4.根据权利要求3所述的支持多指令集体系结构的程序运行方法,其特征在于,在Armv8AArch64指令集体系结构下,所述处理器状态寄存器是指Armv8 AArch64指令集体系结构的规范所定义的处理器状态寄存器PSTATE,且处理器状态寄存器PSTATE的第5位PSTATE[4]表示指令集体系结构类型,为0表示Armv8 AArch64指令集体系结构、处理器运行在Armv8AArch64执行状态,为1表示RISC
‑
V指令集体系结构、处理器运行在RISC
‑
V执行状态;在RISC
‑
V指令集体系结构下,所述处理器状态寄存器的字段包括特权级别、指令集体系结构类型、调试和中断屏蔽位以及多个保留零字段。5.根据权利要求3所述的支持多指令集体系结构的程序运行方法,其特征在于,步骤5)中的处理器状态备份寄存器是指Armv8 AArch64指令集体系结构下的规范所定义的处理器状态备份寄存器SPSR。6.根据权利要求3所述的支持多指令集体系结构的程序运行方法,其特征在于,步骤6)中执行需要执行的二进制应用程序之前,还包括对Armv8 AArch64指令集体系结构和RISC
‑
V指令集体系结构的用户态可见状态进行映射,使用Armv8 AArch64指令集体系结构的超特权态和特权态的控制寄存器控制用户态下Armv8 AArch64指令集体系结构和RISC
‑
V指令集体系结构的行为。7.根据权利要求6所述的支持多指令集体系结构的程序运行方法,其特征在于,所述对Armv8 AArch64指令集体系结构和RISC
‑
V指令集体系结构的用户态可见状态进行映射时,对Armv8 AArch64指令集体系结构和RISC
‑
V指令集体系结构的用户态可见的状态所对应的寄存器包括整数寄存器、程序计数器PC、浮点寄存器和一系列系统寄存器;所述整数寄存器是指Armv8 AArch64指令集体系结构定义的32个64位整数寄存器,上述32个整数寄存器既被Armv8 AArch64指令执行状态访问又被RISC
‑
V指令执行状态访问,
这32个整数寄存器在Armv8 AArch64指令执行状态下遵循Armv8 AArch64体系结构规范被使用、在RISC
‑
V指令执行状态下遵循RISC
‑
V体系结构规范被使用,包括:在Armv8 AArch64指令执行状态下,31号寄存器是零值寄存器,读出总是全零值,对该寄存器的写被忽略,而在RISC
‑
V指令执行状态下,0号寄存器是零值寄存器;在Armv8 AArch64指令执行状态下,30号寄存器作为过程调用链接寄存器,而在RISC
‑
V指令执行状态下,1号寄存器用于过程调用链接寄存器,5号寄存器作为备选链接寄存...
【专利技术属性】
技术研发人员:卢凯,王永文,隋兵才,孙彩霞,倪晓强,邓全,郑重,王俊辉,雷国庆,黄立波,郭维,郭辉,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。