[发明专利]重叠指令存取单元和重叠指令存取方法有效
申请号: | 200710153203.4 | 申请日: | 2007-09-29 |
公开(公告)号: | CN101398752A | 公开(公告)日: | 2009-04-01 |
发明(设计)人: | 冯宽;陈亮;朱敏;王峥 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/45 |
代理公司: | 北京市柳沈律师事务所 | 代理人: | 黄小临;周少杰 |
地址: | 美国纽*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 重叠 指令 存取 单元 方法 | ||
1.一种用于对程序进行压缩和存储的方法,包括以下步骤:
编译该程序;
利用程序中的跳转指令将编译后的程序的指令部分划分为多个指令段;
压缩所述多个指令段以获得多个压缩指令段;
分别在所述多个压缩指令段中的每一个的开头和末尾处添加首标和所述跳转指令以形成多个对应的压缩程序段,所述首标包含基于程序中的调用关系预测的接下来要调用的压缩程序段在存储器中的存储地址、所述每个压缩指令段的长度、以及所述每个压缩指令段在存储器中的存储地址,所述跳转指令包含与在编写所述程序时利用该跳转指令指定的接下来要调用的指令段相对应的压缩程序段在存储器中的存储地址;以及
将所述多个压缩程序段存储在存储器中。
2.如权利要求1所述的方法,其中,在所述划分步骤中,通过识别程序中的函数开头处的注释而识别出所述函数,并且利用所述函数末尾的跳转指令来划分所述指令部分。
3.如权利要求2所述的方法,其中,在所述编译步骤中生成所述函数的调用图,并且其中,
利用由所述调用图表示的调用关系来预测在所述首标中指示的接下来要调用的压缩程序段。
4.如权利要求1所述的方法,其中,在所述划分步骤中,利用编译后的程序中的每个跳转指令来划分所述指令部分。
5.如权利要求1所述的方法,其中,在所述划分步骤中,判断编译后的程序中的每个跳转指令的跳转距离,并且当该跳转指令的跳转距离超过预定阈值时,利用该跳转指令来划分所述指令部分。
6.如权利要求1-5之一所述的方法,其中,在所述压缩步骤中,利用针对所使用的硬件平台进行了优化的压缩算法来压缩所述多个指令段。
7.一种用于对程序进行压缩和存储的装置,包括:
编译器,用于编译该程序,利用程序中的跳转指令将编译后的程序的指令部分划分为多个指令段,压缩所述多个指令段以获得多个压缩指令段,并且分别在所述多个压缩指令段中的每一个的开头和末尾处添加首标和所述跳转指令以形成多个对应的压缩程序段,所述首标包含由该编译器基于程序中的调用关系预测的接下来要调用的压缩程序段在存储器中的存储地址、所述每个压缩指令段的长度、以及所述每个压缩指令段在存储器中的存储地址,所述跳转指令包含与在编写所述程序时利用该跳转指令指定的接下来要调用的指令段相对应的压缩程序段在存储器中的存储地址;以及
存储器,用于存储所述多个压缩程序段。
8.如权利要求7所述的装置,其中,编译器通过识别程序中的函数开头处的注释而识别出所述函数,并且利用所述函数末尾的跳转指令来划分所述指令部分。
9.如权利要求8所述的装置,其中,编译器在编译程序时生成所述函数的调用图,并且利用由所述调用图表示的调用关系来预测在首标中指示的接下来要调用的压缩程序段.
10.如权利要求7所述的装置,其中,编译器利用编译后的程序中的每个跳转指令来划分所述指令部分。
11.如权利要求7所述的装置,其中,编译器判断编译后的程序中的每个跳转指令的跳转距离,并且当该跳转指令的跳转距离超过预定阈值时,编译器利用该跳转指令来划分所述指令部分。
12.如权利要求7-11之一所述的装置,其中,编译器利用针对所使用的硬件平台进行了优化的压缩算法来压缩所述多个指令段。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710153203.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:面向嵌入式系统的人机互动实现方法
- 下一篇:触摸屏的两点触摸处理方法