[发明专利]异步时钟控制的寄存器堆读隔离方法在审
申请号: | 201310365831.4 | 申请日: | 2013-08-21 |
公开(公告)号: | CN103440210A | 公开(公告)日: | 2013-12-11 |
发明(设计)人: | 虞志益;俞政;于学球;张家杰;曾晓洋 | 申请(专利权)人: | 复旦大学 |
主分类号: | G06F12/14 | 分类号: | G06F12/14;G06F1/04 |
代理公司: | 上海正旦专利代理有限公司 31200 | 代理人: | 陆飞;盛志范 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 异步 时钟 控制 寄存器 隔离 方法 | ||
技术领域
本发明属于微处理器技术领域,具体涉及一种异步时钟控制的寄存器堆读隔离方法。
背景技术
寄存器堆是处理器中第一级存储单元,是现代微处理器的核心部件,由于对寄存器堆的访问呈现出高速、高频的特点,是的寄存器堆的功耗和功耗密度都相当大,以至于成为了微处理器的能量消耗主要部件和功耗热点。高能耗对微处理器特别是嵌入式应用领域的微处理器提出了挑战,而功耗热点更会导致电路稳定性和寿命下降。因此,研究降低寄存器堆功耗有十分重要的现实意义。
图1展示了传统的6级流水线的微处理器结构图。包括了取指令级、译码级、执行级、访存储器级、对齐级和写回级。
在传统的微处理器架构中,对于寄存器堆的读没有专门的电路进行隔离,就算实际指令执行过程中发现了无用的读操作,也不会屏蔽对寄存器堆的读操作,从而导致了不必要的能量消耗,针对这个缺点,需要对寄存器堆的读进行检测,一旦发现无用的读操作则对寄存器堆的读进行屏蔽,降低功耗。
发明内容
本发明的目的在于提供一种能够降低寄存器堆读功耗的异步时钟控制的寄存器堆读隔离方法。
本发明通过检测无用的寄存器堆读操作,然后利用局部的异步时钟网络进行寄存器堆读地址的维持,减少逻辑的翻转,从而降低寄存器堆的读功耗,同时也降低寄存器堆的功耗密度,提高电路的稳定性和寿命。
本发明提供的异步时钟控制的寄存器堆读隔离方法,是基于一个包含基本流水线结构的微处理器构架,该微处理器包括取指令级、译码级、执行级、访存储器级、对齐级和写回级(如图1所示);本发明方法的基本思路是:在访问寄存器堆流水级时,检测是否需要对寄存器堆进行读操作,如果发现对寄存器堆的读操作是无用的(无用的读操作包括两种情况:指令本身不需要访问寄存器堆,以及所需要的操作数可以通过反馈网络获取),则通过一个局部的异步时钟网络来保持住给寄存器堆的读地址,使之不变,由于寄存器堆的读操作是异步读出(换言之,给地址即可读出数据),则若地址保持不变,相应的逻辑就不会翻转,从而降低了无用的读寄存器堆功耗。
为此,在上述微处理器架构的基础上,在译码级增加一个判断逻辑,如在图2中,指令中的两个源操作数为Rs和Rt。以Rs为示例,“需要读取Rs”这个逻辑给出0(当需要读取Rs),否则这一逻辑给出1(当不需要读取Rs),“Rs反馈得到”这个逻辑给出1(当可以反馈得到Rs),否则这一逻辑给出0(当不可以反馈得到Rs),然后再将这两个逻辑的输出结果进行一个“或”操作;Rt与Rs 类似;以此做为译码级增加的是否需要访问寄存器堆判断逻辑;同时还需要在译码级增加一个控制寄存器堆地址输入端口的控制逻辑和局部的异步时钟网络,如在图2中,所述的控制逻辑由一个2选1的数据选择器和一个触发器DFF构成,选择器的“1”输入端选择DFF的输出端Q的值,而“0”输入端选择“Rs/Rt地址值”,选择器的控制端信号来自上述的“或”逻辑门的输出端,选择器的选择结果输入到DFF的数据输入端D;局部时钟加在DFF的时钟输入端(DFF框中左下角三角形所示的输入端),如图2下方的波形所示,局部时钟与系统时钟有一个与设计时序相适应的固定相差延迟。于是,所述的异步时钟控制的寄存器堆读隔离方法,具体步骤为:
由译码级的判断逻辑,判断指令中的两个源操作数(如Rs和Rt)是否需要从寄存器堆中获取,判断的依据为:一种情况是指令执行本身不需要用到两个源操作数(如Rs或者Rt),另一种情况是所需要的操作数能够从执行级、访存级或者对齐级反馈,一旦这两种情况中的任何一种被确认,则对两个源操作数(如Rs和Rt)的寄存器堆读操作进行屏蔽;
所述屏蔽的具体措施是,通过局部的异步时钟网络将译码级割裂成两段,给寄存器堆的地址输入信号由局部的异步时钟控制,在需要屏蔽寄存器堆时,将相应的地址信号进行隔离。
本发明中,所述隔离的具体方法是,基于选择器-触发器的保持电路,当需要隔离时,给寄存器堆的地址选择其前一个时钟周期的值,否则选择由译码电路给出的地址值。
本发明中,局部异步时钟网络的生成采用全定制的方法,利用反相器链手工搭建这个局部的时钟网络,生成的本地时钟与全局时钟具有与设计时序要求相适应的固定相位偏差。
本发明方法可以进一步归纳为:
(1)由译码级的判断逻辑,判断是否需要对两个源操作数进行读取,不需要读取则认为对寄存器堆进行屏蔽,屏蔽的条件为:(i),指令本身不需要该操作数,(ii),所需要的操作数可以从后面的执行级、访存级或对齐级反馈得到;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310365831.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于社交网络系统中联系人的活动提供社交协约
- 下一篇:自动化乘客筛查检查站