[发明专利]一种指令集模拟器译码模块代码的压缩方法在审
| 申请号: | 201910705844.9 | 申请日: | 2019-08-01 |
| 公开(公告)号: | CN110572160A | 公开(公告)日: | 2019-12-13 |
| 发明(设计)人: | 张凯旋;蔡铭 | 申请(专利权)人: | 浙江大学 |
| 主分类号: | H03M7/30 | 分类号: | H03M7/30 |
| 代理公司: | 33200 杭州求是专利事务所有限公司 | 代理人: | 邱启旺 |
| 地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 特征段 小组 译码 指令 模拟器 指令频率 降序排序 译码代码 译码模块 指令译码 指令集模拟器 代码规模 排序结果 运行效率 指令压缩 指令集 累加 匹配 解析 分组 压缩 应用 | ||
本发明公开了一种指令集模拟器译码模块代码的压缩方法。该方法根据指指令集中指令译码特征段的分布情况,将所有指令按照译码特征段分布情况分组;具有译码特征段分布的指令划分为同一小组;同时,将同一小组内所有指令的出现频率累加,作为小组的指令频率;将所有小组按照小组指令频率降序排序,并且小组内部对每条指令按照其指令频率进行降序排序;按照该排序结果生成每个小组的译码代码块,最终实现将译码特征段相同的指令压缩至同一译码代码块的效果;同时小组内指令译码按照从高到低的顺序进行译码,从而显著减少模拟器译码模块代码规模。该方法适用于多种类型的指令集,可显著减少模拟器解析指令时的位匹配次数,提高模拟器运行效率,具有较好的应用前景。
技术领域
本发明涉及指令集模拟,尤其涉及一种指令集模拟器译码模块代码的压缩方法。
背景技术
由于指令集模拟器具有摆脱硬件数目限制,运行过程可调试,随时获取设备状态等优点,在硬件仿真、芯片设计等领域都得到了广泛的应用。
指令集模拟器的译码模块通过匹配指令操作码,确定指令类型,并根据指令编码格式,分割提取各特征段信息。实际情况下,由于一个指令集往往包含上百条指令,而译码模块又需要支持所有指令类型的识别,故相关模块代码往往非常庞大,而且极其复杂。此外,模拟器在译码时,通过顺序遍历上述模块代码的方法解析指令内容,故其执行效率与译码模块规模呈负相关,即译码模块的代码块数目越多,指令集模拟器的执行效率越低。
例如,原始的没有经过译码优化的译码函数结构如图2所示,接收到一条指令的二进制码时,首先判断指令的译码特征段,然后一次获取指令的非译码字段,如creg,z,dst字段等,最后根据OP字段的不同,给指令函数指针赋值。在译码的过程中,除了OP字段的判断不会重复执行,其他字段的判断,如译码特征段,creg字段,z字段等都会重复执行多次,导致译码函数效率降低。
因此,找到一种优化模拟器译码模块代码的方法在实际应用中具有重要价值。
发明内容
本发明的目的在于针对现有技术的不足,提供一种指令集模拟器译码模块代码的压缩方法。
本发明的目的是通过以下技术方案来实现的:一种指令集模拟器译码模块代码的压缩方法,包括以下步骤:
(1)将目标指令集中所有指令都按照指令编码规则进行记录,创建指令集编码文件;
(2)建立指令集结构体,用于记录目标指令集中所有指令的信息,包括指令名、译码特征段、指令频率,并建立哈希表用于记录每条指令在指令集结构体中的位置;读取步骤(1)中创建的指令集编码文件,填充指令集结构体,并初始化哈希表;
(3)将目标指令集中所有指令及其指令频率按照指令频率编码规则进行记录,并汇总保存至指令集频率文件中;
(4)读取步骤(3)得到的指令集频率文件,并通过步骤(2)建立的哈希表将指令频率文件中的指令频率记录在步骤(1)建立的指令集结构体中;
(5)用字符串记录目标指令集中所有指令的译码特征段,将译码特征段相同的指令划分为同一小组;将同一小组中的指令按照指令频率降序排序,得到组内指令排序,并计算组内指令频率之和;
(6)将步骤(5)划分的所有小组,按照组内频率之和进行降序排序,得到小组排序;
(7)按照步骤(6)得到的小组排序,依次对各小组进行顺序译码,生成每个小组的译码函数代码块;其中,小组内指令按照步骤(5)得到的组内指令排序进行顺序译码;
所述指令编码规则为:
NA:指令名
指令格式
DT:指令操作数及其数据类型
OP:指令的op字段
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910705844.9/2.html,转载请声明来源钻瓜专利网。





