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