[发明专利]一种双宽度指令系统的性能无损切换方法及其应用系统有效
申请号: | 200910163705.4 | 申请日: | 2009-08-14 |
公开(公告)号: | CN101676863A | 公开(公告)日: | 2010-03-24 |
发明(设计)人: | 程旭;张吉豫;刘先华 | 申请(专利权)人: | 北京北大众志微系统科技有限责任公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38 |
代理公司: | 北京律诚同业知识产权代理有限公司 | 代理人: | 梁 挥;祁建国 |
地址: | 100032北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 宽度 指令系统 性能 无损 切换 方法 及其 应用 系统 | ||
1.一种双宽度指令系统的性能无损切换方法,其特征在于,该方法是在 双宽度指令系统中引入两个状态切换指令集合,该两个状态切换指令集合分别 是“宽-窄”状态切换指令集合和“窄-宽”状态切换指令集合,所述状态切换 指令集合中的指令在执行普通操作的同时,还执行切换处理器运行状态的功 能;
所述“宽-窄”状态切换指令集合中的指令是在32位指令的程序中频繁出 现,该指令在执行普通操作的同时,还执行切换处理器状态至窄指令状态的功 能;所述“窄-宽”状态切换指令集合中的指令是在可用16位指令表示的程序 片段最后频繁出现,在执行普通操作的同时,还执行切换处理器状态至宽指令 状态的功能;
进一步包括以下步骤:
状态切换指令的选取步骤,用于由代码分析工具依据设定的算法选择符合 设定条件的指令加入到状态切换指令集中;
微体系结构的设计步骤,用于在体系结构中引入状态切换指令集合以及双 宽度指令系统混合编码的结构设计;
混合编码生成步骤,用于在不破坏原有指令语义序列的基础上,将所有可 以转换的指令序列用状态切换指令和窄指令表示,生成最终的可执行目标文 件;
所述状态切换指令的选取步骤进一步包括:
步骤S101,分析工具维护两块存储空间来记录每个指令的权重;
步骤S102,选择出现频率最高的候选指令加入到相应状态切换指令集合 中;
步骤S103,对于程序中的每条候选指令,如果该候选指令与目前状态切 换集合中的一条指令有“可转换”关系,则存储空间中的相应项的值加一;
步骤S104,选择数组中值最大的项,并将它加入状态切换指令集合中, 如果状态切换指令集合中指令数少于给定总指令数,则转到步骤S103;否则, 结束;
所述步骤S103中,所述“可转换”关系的定义如下:当A是“宽-窄”状 态切换“候选指令”且B是“窄-宽”状态切换“候选指令”,且在程序二进 制代码中二者之间的所有指令都是“可被16位表示的”,则指令A与指令B 构成所述“可转换”关系。
2.根据权利要求1所述的双宽度指令系统的性能无损切换方法,其特征 在于,所述微体系结构的设计是对译码结构的设计,该译码结构的设计方式包 括统一译码和分离译码两种方式。
3.根据权利要求2所述的双宽度指令系统的性能无损切换方法,其特征 在于,所述统一译码方式是将从内存取到的32位指令首先通过16位解码器和 状态切换指令预解码器转换为相应的32位指令和状态设置信号,之后和原32 位指令一起通过多路选择器选择出当前指令,最后统一由32位译码器进行最 终的译码;所述分离译码方式,是将指令首先由16位、状态切换指令和32 位指令译码器分别译码,最后由多路选择器选择最终的译码结果。
4.根据权利要求1所述的双宽度指令系统的性能无损切换方法,其特征 在于,所述微体系结构的设计步骤中,混合编码指令序列是一条“宽-窄”状 态切换指令开始,中间有若干条16位指令,最后以一条“窄-宽”状态切换指 令作为结束。
5.根据权利要求1所述的双宽度指令系统的性能无损切换方法,其特征 在于,所述混合编码生成步骤进一步包括:
步骤S301,标记可以转换的指令;
步骤S302,将所述可以转换的指令相邻排列,标记确定要被转换的指令;
步骤S303,重新计算装载或跳转目标地址,输出最终的可执行目标文件。
6.一种实现上述权利要求1~5中任一项所述方法的应用系统,其特征在 于,包括一状态切换装置,该状态切换装置进一步包括:
一“宽-窄”状态切换模块,用于控制一“宽-窄”状态切换指令集合中的 指令在执行普通操作的同时,还执行切换处理器状态至窄指令状态的功能;及
一“窄-宽”状态切换模块,用于控制一“窄-宽”状态切换指令集合中的 指令在执行普通操作的同时,还执行切换处理器状态至宽指令状态的功能;
状态切换指令选取模块,用于由代码分析工具依据设定的算法选择符合设 定条件的指令加入到状态切换指令集中;
微体系结构设计模块,用于在体系结构中引入状态切换指令集合以及双宽 度指令系统混合编码的结构设计;
混合编码生成模块,用于在不破坏原有指令语义序列的基础上,将所有可 以转换的指令序列用状态切换指令和窄指令表示,生成最终的可执行目标文 件;
状态切换指令选取模块,进一步包括:
权重记录子模块,用于分析工具维护两块存储空间来记录每个指令的权 重;
指令加入子模块,用于选择出现频率最高的候选指令加入到相应状态切换 指令集合中;
指令处理子模块,用于对程序中的每条候选指令,如果该候选指令与目前 状态切换集合中的一条指令有“可转换”关系,则存储空间中的相应项的值加 一;
选择处理子模块,用于选择数组中值最大的项,并将它加入状态切换指令 集合中,如果状态切换指令集合中指令数少于给定总指令数,则转由所述指令 处理子模块处理;
所述“可转换”关系的定义如下:当A是“宽-窄”状态切换“候选指令” 且B是“窄-宽”状态切换“候选指令”,且在程序二进制代码中二者之间的 所有指令都是“可被16位表示的”,则指令A与指令B构成所述“可转换” 关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京北大众志微系统科技有限责任公司,未经北京北大众志微系统科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910163705.4/1.html,转载请声明来源钻瓜专利网。