[发明专利]一种指令集的优化有效
申请号: | 200710118587.6 | 申请日: | 2007-07-10 |
公开(公告)号: | CN101344840A | 公开(公告)日: | 2009-01-14 |
发明(设计)人: | 陈新中;卢佳文;梅思行 | 申请(专利权)人: | 北京简约纳电子有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京亿腾知识产权代理事务所 | 代理人: | 陈霁 |
地址: | 100088北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 指令 优化 | ||
技术领域
本发明涉及微处理器,具体地说涉及对微处理器所采用的指令集的优化。
背景技术
如今,存储子系统的成本逐渐高于微处理器。压缩代码以适应受到成本或空间限制的存储子系统已经成为嵌入式系统开发的一项重要事务。节约存储成本,一方面需要编写紧凑的代码;另一方面,微处理器的指令集对存储器的消耗同样影响很大。通常,微处理器的指令为32比特,其中有些指令用足32比特,比如ADD Rd,Ra,Rb。有些指令不需要32比特,比如JUMP和PUSH指令。为此,有人设计了16比特的指令子集或者长度指令,以降低代码尺寸。
以ARM公司的代码压缩方案(Thumb)为例。Thumb实际上是添加到ARM的标准RISC指令集之上的独立指令集,由大约36条16位长度指令构成。通过一条模式切换指令在这两种指令集之间进行切换。通过使用这些较短的指令替换ARM标准的32位指令,可以将某些代码的规模减小。然而,Thumb代码和标准ARM代码不能混杂使用,必须显式地在两种模式间进行切换。这迫使程序员将所有的16位代码与32位代码分开并隔离到独立的模块中。图1是采用Thumb方案的代码存储示意图。另外,Thumb模式下不能使用全部寄存器。
还有些代码压缩方案能够实现任意地动态混合16比特和32比特。图2(a)是一种16比特和32比特混合存储的示意图。然而,这样的代码压缩方案需要复杂的硬件配置加以支撑。另外,当转移指令指向i1指令时,i1指令的存储位置受到限制。此时,i0和i1的存储位置如图2(b)所示。由图2(b)可见,存储空间存在一定的浪费。
因此,迫切地需要有一种能够克服以上问题的指令代码压缩方案。
发明内容
在第一方面,本发明提供一种微处理器。微处理器包括指令存储器,混合存储具有不同长度的第一长度指令和第二长度指令,所述第一长度指令具有小于第二长度指令的长度,所述第一长度指令和第二长度指令采用操作码加以区分;指令抽取单元,从指令存储器中提取混合存储的指令,根据操作码从中分离出第一长度指令和第二长度指令;指令译码单元,将第一长度指令和第二长度指令分别译码;和,转移操作单元,当进行转移操作时,转移指令指向第一和第二长度指令之任何一个的边界;其中所述微处理器包括多个寄存器,所述第一长度指令和第二长度指令均全面访问所述多个寄存器。
在第二方面,本发明提供一种在微处理器中执行指令的方法,所述指令包括具有不同长度的第一长度指令和第二长度指令,所述第一长度指令具有小于第二长度指令的长度,所述第一长度指令和第二长度指令采用操作码加以区分,所述方法包括:从存储器中提取混合存储的指令;根据操作码从中分离出第一长度指令和第二长度指令;将第一长度指令和第二长度指令分别译码;当进行转移操作时,转移指令指向第一和第二长度指令之任何一个的边界;其中微处理器包括多个寄存器,所述第一长度指令和第二长度指令均全面访问所述多个寄存器。
在第三方面,本发明提供一种计算机程序产品,包括计算机可读介质,其上混合存储具有不同长度的第一长度指令和第二长度指令,所述第一长度指令具有小于第二长度指令的长度,所述第一长度指令和第二长度指令采用操作码加以区分,以便在执行时微处理器根据操作码从混合存储的指令分离出第一长度指令和第二长度指令,并且当进行转移操作时,转移指令指向第一和第二长度指令之任何一个的边界。
根据第四方面,提供一种供微处理器执行的指令集,包括具有不同长度的第一长度指令和第二长度指令,第一长度指令具有小于第二长度指令的长度,第一长度指令和第二长度指令采用操作码加以区分并且可以混合存储,以便在执行时微处理器根据操作码从混合存储的指令分离出第一长度指令和第二长度指令,并且当进行转移操作时,转移指令指向第一和第二长度指令之任何一个的边界。
在第一、第二、第三和第四方面中,优选地,所述第一长度指令具有小于第二长度指令的长度。优选地,操作码在第一长度指令中。优选地,第一长度指令是16比特;第二长度指令是32比特。
本发明有效解决了32比特和16比特指令的混合存储问题,它可以任意混合16比特和32比特;可以分支到任何16比特指令边界。程序代码尺寸得以降低,可以达到20-30%。另外,16比特指令可以全面使用寄存器。
附图说明
下面将参照附图对本发明的优选实施方案进行更详细的说明,其中:
图1是采用Thumb方案的代码存储示意图;
图2(a)是一种现有技术的16比特和32比特指令混合存储的示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京简约纳电子有限公司,未经北京简约纳电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710118587.6/2.html,转载请声明来源钻瓜专利网。