一种可重构寄存器堆及其构造方法技术

技术编号:2874191 阅读:157 留言:0更新日期:2012-04-11 18:40
一种可重构寄存器堆及其工作方法。该可重构寄存器堆至少具有两种工作模式,包括一个寄存器堆地址转换及选择部件,一个寄存器堆和一个数据输入选择部件,其中指令中的寄存器读写地址经过寄存器堆地址转换及选择部件转换成对应模式的寄存堆的物理地址来控制寄存器堆的读写,对应模式的输入数据经过数据输入选择部件被写入寄存器堆。本发明专利技术还提供了一种用于兼容目的的算子提取方法及一种具有兼容性的可重构部件设计方法。根据本发明专利技术,可以以很少的硬件代价实现对多种微处理器体系结构的兼容。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及计算机微处理器结构,并且更具体地涉及一种具有很好的兼容性的计算机微处理器结构和一种具有很好的兼容性的微处理器可重构寄存器堆。
技术介绍
微处理器在其50多年地历史中取得了迅猛的发展,市场上涌现出各种各样不同体系结构的微处理器,应用领域遍及日常生活、办公自动化、金融财会、国防建设、航空航天等各个方面,微处理器的发展水平已经不仅仅关系到科技领域本身,而且关系到国计民生。由于历史的原因和科技发展速度不同,目前在通用微处理器领域,以Intel、IBM、HP、SUN等公司为首的芯片产品在市场上占据了垄断性的地位,绝大部分的用于通用计算机的软件产品都是基于上述体系结构而开发的。这为后来的体系结构设计者带来巨大的压力。虽然从长远来看,兼容性不是必须的,但如果新的体系结构不具备兼容性特点,它将无法继承已有的软件财富,尤其是当前市场上已经为人们所习惯的最常用的软件产品,所有的软件都要重新设计,这样必然削弱其市场竞争力。因此,解决兼容性问题成为设计新的体系结构面临的首要问题之一。由于微处理器在所有集成电路中最为复杂,设计成本最高,往往需要多年的研究与设计,因此绝大部分的微处理器制造商拒绝透露他们产品的任何内部工作以防止其它公司抄袭其芯片设计。这样,对于后来的芯片设计者而言,兼容性问题的解决将更加困难。目前芯片设计中解决兼容性问题的方案主要有如下几类以Itanium为代表的通用处理器由于是Intel公司本身开发的新产品,因此在其初期采用的策略是利用不同的硬件分别执行IA-32(X86系列处理器采用的体系结构)和IA-64(Itanium处理器采用的体系结构)的指令,以实现指令级兼容;以AMD为代表的通用微处理器是纯粹的兼容机,即本身不设计新的体系结构,而是直接根据X86芯片的说明书和指令集,从最底层开始设计,最终的芯片可以模仿前者的功能,从而保证指令级的兼容。这样,大部分的设计和开发工作可以通过逆向工程得以避免,即由产品来推导出设计。以Transmeta,E2K等为代表的通用微处理器,解决兼容性问题的方式是通过软件完成对目标指令流(如X86)的分析、译码,并产生VLIW的分子流,动态地将目标指令翻译到机器自身的指令集合上,利用自身硬件的并行特性来实现程序的高效执行。在保证指令级兼容的同时保持自身的特点。对于新的体系结构设计者而言,由于知识产权的问题和产品设计的保密特征,Itanium的解决兼容性问题的方案显然不可取;AMD的解决兼容性问题的方案是直接模仿,不涉及自身体系结构问题。而且对于上述体系结构的微处理器,体系界面每增加一条指令都意味着芯片规模的增加,而且体系结构一旦确定则实现的指令集合也随之确定,芯片设计完毕后,就不能再增加指令,芯片产品的生命期短,对兼容设计也十分不利,因为要兼容多种其它体系结构的处理器时将付出太大的代价。Transmeta的解决兼容性问题的方案虽然可以保持新的体系结构特征,但完全以软件来进行指令转换导致的效率损失比较大。因而,现有技术中存在着专利技术一种新的具有兼容性的体系结构的需要,该体系结构在能以更高的效率实现对目前市场上主流处理器的指令级兼容的同时保持自身特点,即在新体系结构的基础上设计的软件产品能得到最高效率的执行。具有“显式硬件并行”特性的MISC(宏指令集计算机)体系结构为解决该问题提供了一种可能的方式,该体系结构的重要特点在于算子是指令的最小单位,硬件单元通过算子界面直接显现给软件。由于算子的控制粒度通常小于一般的RISC指令,使得MISC的指令设计的灵活性大大高于其它体系结构的设计,而且由于算子可以通过拼装、延时、排序、替换等宏加工方式组成可变长宏指令,因而可以大大提高指令执行的并行度和执行效率。与现有的微处理器体系结构相比,MISC体系结构更加有利于优化编译器的开发,以及用户自定义指令的实现,使得指令在高效执行的同时可以满足更广泛的应用需求。但MISC体系结构在过去的研究中不具备兼容性的设计,使得其应用范围受到一定的限制。为了解决MISC体系结构的兼容性问题,有两种思路,一种是直接的指令转换,一种是由硬件可重构设计支持的指令转换。两者的差别在于后者将目标兼容指令映射到根据该指令集合设计的可重构硬件上进行执行,这样可以利用硬件执行的高效率来减少代码转换过程中的效率损失,同时利用MISC可变长宏指令的宏加工特性进一步提高执行的执行效率,从而保证高效实现指令级的兼容。因而采用由可重构硬件支持的指令转换来解决指令级兼容问题具有更大的优势。可重构硬件在指令上的反映是为不同兼容目标设计的算子,即可以由不同作用的算子来控制同一个硬件单元。该方法的核心在于可重构部件的设计。可重构寄存器堆是上述可重构硬件中最关键的部分之一。寄存器堆位于计算机存储层次的最高层,是处理器内部的重要部件,是数据交换的重要场所,由于现代先进计算机多采用寄存器-寄存器型的指令结构,寄存器堆的结构和性能是决定其整体性能的关键因素。微电子工艺发展的不平衡使得处理器和存储器之间的性能差距不断扩大,是寄存器堆研究受到日益广泛关注的另一个原因,合理的寄存器堆设计可以有效地减少对存储器的访问量。MISC可重构寄存器堆的设计是MISC微处理器设计的重要组成部分,它对全面实现具有兼容性的MISC体系有着重要的意义。
技术实现思路
因此本专利技术的目的是解决上述关于实现兼容性的问题。为了实现上述目的,本专利技术提供了一种用于兼容目的的算子提取方法,所述方法的特征在于包括以下步骤(1)对目标兼容指令集合功能进行分析;(2)根据兼容目标指令集合功能分析的结果,将由同一类部件完成的功能排列在一起,重新编码,成为功能算子的操作码;将源操作数独立成为路由算子,对应于寄存器堆的读端口;将目的操作数独立成为数据算子的目的寄存器域;将必须同时控制多个部件执行的操作设计为复合算子;(3)至少部分根据兼容目标指令集合功能分析的结果确定内部通路;(4)根据内部通路确定路由算子和数据算子的数量;(5)确定功能算子的数据来源域和数据算子的数据来源域。为了实现上述目的,本专利技术还提供了一种具有兼容性的可重构部件设计方法,其特征在于包括以下步骤(1)根据不同兼容目标的算子集合分别进行硬件设计,分别确定满足各算子集合功能的硬件资源、连接关系、控制关系和时序关系;(2)将根据不同兼容目标体系得出的部件设计进行形式化描述;(3)将部件的形式化描述进行叠加优化;将实现功能集合不全相同的同类部件进行操作(OP)叠加,且不同功能集合不同时有效时(串行叠加),根据如下规则叠加<资源规则>满足OP集合串行叠加的资源需求是完成所有OP在不同时标下所需要的对应资源的并集;<连接规则>串行叠加(完成多种功能的电路描述进行叠加,但在同一时刻只有一种功能有效)时,相同的数据来源可以合并,不同的数据来源并行排列,同时改变相应的选通控制条件;<控制规则>满足OP串行叠加的控制描述为叠加前各OP的控制描述的并集,对相同操作的新的控制条件为原条件的或关系;<时序规则>OP串行叠加后的关键路径为叠加前各OP的关键路径与各自增加的开关电路的延时值之和的最大值。(4)将以上形式化描述转变为电路设计。为了实现上述目的,本专利技术还提供了一种可重构寄存器堆,至少本文档来自技高网
...

【技术保护点】
一种可重构寄存器堆,至少具有两种工作模式,其特征在于包括一个寄存器堆地址转换及选择部件,一个寄存器堆和一个数据输入选择部件,其中指令中的寄存器读写地址经过寄存器堆地址转换及选择部件转换成对应模式的寄存堆的物理地址来控制寄存器堆的读写,对应模式的输入数据经过数据输入选择部件被写入寄存器堆。

【技术特征摘要】

【专利技术属性】
技术研发人员:王俊宇刘大力
申请(专利权)人:北京南思达科技发展有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利