[发明专利]一种模拟器的生成方法及装置有效
申请号: | 201110369445.3 | 申请日: | 2011-11-18 |
公开(公告)号: | CN102521011A | 公开(公告)日: | 2012-06-27 |
发明(设计)人: | 叶寒栋;赵鹏;郑森火;曹炯 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 模拟器 生成 方法 装置 | ||
1.一种模拟器的生成方法,其特征在于,包括:
获取指令集配置文件;
根据所述指令集配置文件生成解码表和解码算法;所述解码表包括:指令码表,指令描述表和位域表;其中,所述指令码表中记录有汇编指令操作码,所述指令描述表记录有每条汇编指令操作码的详细信息,所述位域表记录有计算每一个操作数位域上的数值的方法;
根据所述解码表、所述解码算法和模块代码生成模拟器;所述模块代码是用于模拟汇编指令的动作的代码和解码过程中非解码算法的代码。
2.根据权利要求1所述的模拟器的生成方法,其特征在于,
所述指令集配置文件包括:每一指令的汇编输出格式、操作数类型及编码格式;所述指令包括:操作数和操作码;
所述根据所述指令集配置文件生成解码表包括:
根据所述每一指令操作码生成指令码表;
根据所述每一指令的汇编输出格式、操作数类型及编码格式生成指令描述表;
根据所述每一指令的操作数生成位域表。
3.根据权利要求2所述的模拟器的生成方法,其特征在于,所述根据每一指令操作码生成指令码表具体为:
根据每一指令操作码位域和各操作码位域的值生成具有层次的指令码表。
4.根据权利要求2或3所述的模拟器的生成方法,其特征在于,所述解码算法包括:获取汇编指令操作码算法、获取汇编指令操作码相关信息算法和获取汇编指令操作数算法三部分;
所述根据所述指令集配置文件生成解码算法具体包括:
按照由所述指令集配置文件生成所述指令码表的规则,生成用于在所述指令码表中查找二进制指令操作码对应的汇编指令操作码的解码算法的获取汇编指令操作码算法;
按照由所述指令集配置文件生成所述指令描述表的规则以及所述指令码表和所述指令描述表之间的索引关系,生成用于根据所述汇编指令操作码索引所述指令描述表并在索引到的指令描述表中读取汇编指令操作码的相关信息的解码算法的获取汇编指令操作码相关信息算法;
按照由所述指令集配置文件生成所述位域表的规则,以及所述指令描述表和所述位域表之间的索引关系,生成用于根据所述汇编指令操作码的相关信息索引位域表并根据索引到的位域表计算出汇编指令操作数的解码算法的获取汇编指令操作数算法。
5.根据权利要求4所述的模拟器的生成方法,其特征在于,所述解码表还包括:与所述指令码表之间存在索引关系的间接索引表;
所述按照由所述指令集配置文件生成所述指令码表的规则,生成用于在所述指令码表中查找二进制指令操作码对应的汇编指令操作码的解码算法的获取汇编指令操作码算法包括:
按照由所述指令集配置文件生成所述指令码表和间接索引表的规则,以及所述指令码表和所述间接索引表之间的索引关系,生成用于在所述指令码表中查找二进制指令操作码对应的汇编指令操作码的解码算法的获取汇编指令操作码算法。
6.根据权利要求1~5任一项所述的模拟器的生成方法,其特征在于,在同一指令集配置文件中,一条指令在一个指令集中或者在至少两个不同的指令集中。
7.一种模拟器的生成装置,其特征在于,包括:
获取单元,用于获取指令集配置文件;
解释器,用于根据所述指令集配置文件生成解码表和解码算法;所述解码表包括:指令码表,指令描述表和位域表;其中,所述指令码表中记录有汇编指令操作码,所述指令描述表记录有每条汇编指令操作码的详细信息,所述位域表记录有计算每一个操作数位域上的数值的方法;
编译器,用于根据所述解码表、所述解码算法和模块代码生成模拟器;所述模块代码是用于模拟汇编指令的动作的代码和解码过程中非解码算法的代码。
8.根据权利要求7所述的模拟器的生成装置,其特征在于,
所述指令集配置文件包括:每一指令的汇编输出格式、操作数类型及编码格式;所述指令包括:操作数和操作码;
所述解释器中用于根据所述指令集配置文件生成解码表包括:
生成指令码表模块,用于根据所述每一指令操作码生成指令码表;
生成指令描述表模块,用于根据所述每一指令的汇编输出格式、操作数类型及编码格式生成指令描述表;
生成位域表模块,用于根据所述每一指令的操作数生成位域表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110369445.3/1.html,转载请声明来源钻瓜专利网。