[发明专利]指令编码方法、指令编码系统及数字信号处理器无效
申请号: | 200710045699.3 | 申请日: | 2007-09-07 |
公开(公告)号: | CN101382884A | 公开(公告)日: | 2009-03-11 |
发明(设计)人: | 周振亚;张亚林 | 申请(专利权)人: | 上海奇码数字信息有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/318;G06F9/38 |
代理公司: | 上海专利商标事务所有限公司 | 代理人: | 张政权 |
地址: | 201203上海市张*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 指令 编码 方法 系统 数字信号 处理器 | ||
技术领域
本发明涉及指令集体系结构,尤其涉及一种指令编码方法、指令编码系统及采用该指令编码系统的数字信号处理器。
背景技术
在处理器中,控制器通常从程序存储器中取出指令,进行解码后,发出相应的控制信号给数据通路和存储器等,以取出相应数据并执行解码出的指令。处理器需要利用各种特定的指令组合来完成要求的应用程序。存储指令代码除了占用内存,还需占用缓存,这些对芯片面积都将造成影响。特别对于单芯片系统,芯片面积是直接决定成本的最重要因素之一,指令集代码的编码效率是设计中面临的非常重要的一个问题。而且,对指令代码进行存取操作需要功耗,指令的长短也直接影响着指令代码存取功耗的大小。
在进行指令编码时,指令长度越短,占用的编码空间越大,也就是说,可提供的指令类型越少。例如,对于16位指令,其允许编码的指令类型为2的16次方,而32位指令,其允许编码的指令类型为2的32次方,远大于16位指令。但另一方面,指令长度越长,则占用的存储空间越大,且存取需要的功耗越大。
有的处理器采用定长指令,所有的指令均匀编码,每个指令具有固定的长度,例如32位。这种定长指令中,有的指令需要的代码位数比较多,如对长立即数的运算指令,定长指令的长度至少要求满足这些指令必要的代码位数;另有一些指令比较短,例如装载指令(LOAD),但仍要占用固定的长度,需要浪费存储空间和存取功耗。如果采用较短的固定长度,则指令编码空间有限,无法满足指令类型的多样化。
有的处理器则采用变长指令来解决这个问题。目前在具有变长指令的处理器中,一般是采用16位和32位两类指令长度,例如专利号为第6,189,090号的美国专利,其名称为“具变长指令的数字信号处理器(Digital signalprocessor with variable width instructions)”。在第6,189,090号美国专利中,提出了一种指令集包括16位和32位两种长度的指令。将大部分指令编入32位长度指令,而少量指令编入16位长度指令。采用这种指令集的确使指令在程序存储器占用的空间减少了。但这种指令集中大多数指令仍旧主要采用32位长度编码,以满足足够的指令类型。并且由于16位的指令应用得比较少,使得16位长度指令数量有限,对指令存储空间的减少所作的贡献也是有限的。
数字信号处理器作为一种特殊的处理器,特别用于执行一些快速的运算操作,常常需要设定大量特殊的专门指令,用于各类复杂的运算操作。指令类型数量的增加也为指令存储提出了更大空间的要求。例如,在面向寄存器的数字信号处理器中,通常设置了地址寄存器,在进行存取等操作时,也要设计各种指令类型来完成地址的计算。因此,对于数字信号处理器来说,更应考虑提高指令集代码的编码效率。同时,数字信号处理器特别强调以性能为导向,在保证满足专门应用的各种性能(包括处理速度等)的前提下,要求减少电路实现面积从而降低成本,这样对指令存储空间的压缩也提出了更高的要求。在较多的情况下,两条存储指令和一条计算指令并行,要同时读出和写入,或者同时读出需要用到的数据,或者一条存储指令写回上一条计算完成的数据,另一条存储指令用于读取需要用到的数据。因此,在DSP算法中,一般要求在做计算时,能同时进行两个存储单元的读取或者一个存储单元的读和写。在超长指令字系统中,可以一次发射多条并行的指令,对于仅包含16位和32位两种长度的指令系统,为保证足够的指令类型,大多数指令长度需要编码在32位,也限制了多条指令的并行。
发明内容
本发明的目的在于提供一种指令编码方法,该方法可以提高指令集代码的编码效率并同时减少代码空间。
本发明的另一目的在于提供一种指令编码系统,对于指令集代码的编码效率进行优化和提高,并使得处理器在存储开销、性能和功耗等各个方面都有显著提升。
本发明的另一目的在于提供一种处理器,能够提高指令集代码的编码效率并同时减少代码空间,相应地,减少了存储开销和功耗,提升了性能。
根据本发明的第一个方面,提供一种指令编码方法,包括如下步骤:
将基于长立即数的存取操作指令和计算操作指令压缩在32位长度,作为第一指令;
将非基于长立即数的存取操作指令压缩在16位长度,作为第二指令;以及
将非基于长立即数的计算操作指令压缩在24位长度,作为第三指令。
根据所述的指令编码方法,它还包括:
将基于长立即数的程序控制指令压缩在32位长度,作为所述第一指令;以及
将非基于长立即数的程序控制指令压缩在16位长度,作为所述第二指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海奇码数字信息有限公司,未经上海奇码数字信息有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710045699.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:变频器跟踪电机转速的方法及其装置
- 下一篇:双阶段模式选择装置