[发明专利]一种通用的SPARC处理器指令集虚拟化仿真方法有效
申请号: | 202211114538.6 | 申请日: | 2022-09-14 |
公开(公告)号: | CN115421860B | 公开(公告)日: | 2023-10-20 |
发明(设计)人: | 安顺;安恒;贾张涛;冯大成;勉斌;邵飒;付修锋;耿宏伟;李雅斯;孔祥炳 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 刘瑞东 |
地址: | 100854*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通用 sparc 处理器 指令 虚拟 仿真 方法 | ||
1.一种通用的SPARC处理器指令集虚拟化仿真方法,其特征在于,该方法包括如下步骤:
S1、SPARC指令架构目标文件解析
打开SPARC指令架构编译后的可执行文件*.exe,获取Program Header对应的代码段;
S2、SPARC指令架构内存仿真及代码加载
采用链表结构对SPARC指令架构处理器内存进行仿真,记为SPARC-VMemory,并加载Program Header对应的代码段,模拟SPARC指令架构的内存读写操作;
S3、SPARC指令架构寄存器仿真
通过数组模拟寄存器,通过数组操作模拟寄存器读写操作,实现寄存器的模拟;
S4、SPARC指令架构指令描述
每条指令有一个唯一的表示,每条指令分为不同的段;采用将指令分段的方式进行描述,获取指令Instruction的操作码opcode信息,构建指令操作码信息数组SPARC-InstructionDesp[130],对SPARC架构指令集架构的130条指令进行描述,并存储到指令操作码信息数组SPARC-InstructionDesp[130]中;
S5、SPARC指令架构读取指令
根据程序计数器PC的值,从仿真内存SPARC-VMemory中读取指令,获取当前PC对应的指令PC-Instruction;
S6、SPARC指令架构指令译码
根据SPARC指令架构指令描述,逐个计算PC-Instruction与SPARC-InstructionDesp[130]的对应bit位是否相同,若PC-Instruction与SPARC-InstructionDesp[130]中第k个指令描述对应的位置相同,则完成指令译码,记为Instruction_k;
S7、SPARC指令架构指令翻译
对SPARC指令架构指令集进行功能翻译,设计在虚拟仿真处理器运行的对每条指令进行操作模拟的函数,保证每一条指令和函数处理后,硬件处理器和虚拟仿真处理器的内存、寄存器保持一致;并将函数指针存储到SPARC-InstructionInterp[130]数组中,存储顺序与SPARC-InstructionDesp[130]的指令顺序保持一致;
S8、SPARC指令架构Linux系统调用实现
解析系统调用,并根据系统调用的类型,对系统调用进行相应的处理,并对相应的寄存器进行置位操作;
S9、SPARC指令架构指令执行
根据指令数量,进行循环取指、译码、指令翻译,并根据函数指针,执行指令操作;连续仿真,直到完成所有指令执行,实现针对SPARC指令架构的处理器指令集仿真。
2.如权利要求1所述的通用的SPARC处理器指令集虚拟化仿真方法,其特征在于,所述步骤S1具体包括:
S11、打开SPARC指令架构编译后的可执行文件*.exe,读取文件信息;
S12、按照SPARC指令架构编译后的可执行文件的格式,读取文件信息中File Header、Section Header、Program Header信息,获取Program Header对应的代码段。
3.如权利要求2所述的通用的SPARC处理器指令集虚拟化仿真方法,其特征在于,所述步骤S2具体包括:
S21、采用链表结构对SPARC指令架构处理器内存进行仿真,其中链表结构体SPARC-MemoryPage大小为256个字;
S22、将SPARC指令架构内存记为SPARC-VMemory;将S1获取的Program Header对应的代码段,写入到SPARC指令架构芯片仿真内存SPARC-VMemory中,并根据代码段的大小,维护整个仿真内存结构。
4.如权利要求3所述的通用的SPARC处理器指令集虚拟化仿真方法,其特征在于,链表结构体包括:起始虚拟地址MemoryPageBeginAddress、结束虚拟地址MemoryPageEndAddress、内存块MemoryPage、下一个内存节点指针NEXT和前一个内存节点指针PRE。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211114538.6/1.html,转载请声明来源钻瓜专利网。