[发明专利]一种寄存器堆的循环缓冲电路及其方法,处理器装置有效
申请号: | 201410573530.5 | 申请日: | 2014-10-23 |
公开(公告)号: | CN104391563A | 公开(公告)日: | 2015-03-04 |
发明(设计)人: | 王雷欧;王东辉 | 申请(专利权)人: | 中国科学院声学研究所 |
主分类号: | G06F1/32 | 分类号: | G06F1/32;G06F9/44 |
代理公司: | 北京亿腾知识产权代理事务所 11309 | 代理人: | 陈霁 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 寄存器 循环 缓冲 电路 及其 方法 处理器 装置 | ||
技术领域
本发明涉及一种处理器技术,尤其涉及一种寄存器堆的循环缓冲电路及其方法,处理器装置。
背景技术
随着集成电路工艺的飞速发展,嵌入式处理器的性能和集成度都得到了很大的提升,但是由此带来的功耗问题也越发突出。大量的能量消耗会直接影响便携式设备中的电池使用寿命,同时会给处理器的可靠性和散热带来许多问题。在嵌入式处理器中,每个时钟周期寄存器堆通常有多个端口被同时访问,引起了较为可观的功耗开销。特别是随着多处理器系统芯片的发展,可能使寄存器堆功耗的比重进一步增加。因此,研究降低寄存器堆功耗的方法具有重要意义。
在传统的微处理器架构中,实际指令执行过程中存在不必要的读写操作,这就会导致不必要的功耗。针对这个缺点,需要对寄存器堆的读写操作进行检测,减少寄存器堆冗余读写操作次数,从而降低寄存器堆的功耗。
在现有技术中,如Deniz Balkan等人发表的文章《Predicting and Exploiting Transient Values for Reduced Register File Pressure and Energy Consumption》中提出一种针对读操作数可以从写回结果直接获得,不必执行寄存器堆的读操作的情况,如果同时该写回结果不会再被其他的指令使用到,则本次写回操作可以不必执行,从而降低寄存器堆的功耗。
又如Liem Tran等人发表的文章《Dynamically Reducing Pressure on the Physical Register File through Simple Register Sharing》中针对一部分无需执行就可以知道结果的指令,提出一种Trivial Computation的方法。例如,若执行乘法操作,并且已知其中一个操作数为零,则可以确定计算结果为零,从而避免读取这两个操作数,降低寄存器堆的功耗。
现有技术的缺点在于:
(1)Deniz Balkan提出的方法需要多个使用条件,包括写回结果不会再被其他的指令使用到;
(2)Liem Tran提出的方法只能针对少部分指令,对降低功耗作用有限。
发明内容
本发明的目的在于提供一种降低寄存器堆功耗的方法。针对占用大量执行时间的循环程序,提出循环缓冲寄存器堆的结构。该结构利用循环程序通常只使用到较少几个寄存器的特点,采用循环缓冲电路避免了大量的寄存器堆访问,从而有效降低了功耗。
为实现上述目的,一方面,本发明提供了一种寄存器堆的循环缓冲电路,包括指令译码单元、寄存器堆、循环程序检测模块、状态控制单元和循环缓冲模块,其中,循环缓冲模块包括循环缓冲电路;循环程序检测模块用于根据程序计数器的第一值、程序计数器的第二值和/或状态控制单元的状态信息检测循环程序的开始或结束,并输出对应的检测信号;状态控制单元的状态信息包括第一状态、第二状态和第三状态,当处于第一状态、第二状态或第三状态时,对应输出各自的加载信号和工作信号,寄存器堆和循环缓冲电路根据加载信号和所述工作信号确定是否执行读和/或写操作;循环缓冲模块用于根据工作信号从寄存器堆或循环缓冲电路中读出操作数作为最终输出的操作数。
优选地,循环程序检测模块包括第一比较单元、第一逻辑与单元、第一寄存器和第二比较单元,其中,第一比较单元用于比较程序计数器的第一值和程序计数器的第二值,当程序计数器的第一值大于程序计算器的第二值时,判断循环程序开始,第一比较单元输出信号为第一电平,否则输出信号为第二电平;第一逻辑与单元用于给第一寄存器提供写使能信号,当第一比较单元输出信号为第一电平时,且状态控制单元处在第一状态时,第一逻辑与单元输出信号为第一电平,否则输出信号为第二电平;第一寄存器用于在第一逻辑与单元输出信号为第一电平时,存储当前时钟周期的程序计数器第一值;第二比较单元用于比较程序计数器的第二值与第一寄存器的值,当程序计数器的第二值大于第一寄存器的值,判断循环程序结束,第二比较单元输出信号为第一电平,否则输出信号为第二电平。
优选地,状态控制单元具体用于,当处在第一状态时,输出的加载信号为第二电平,输出的工作信号为第二电平;此时,寄存器堆执行读写操作,循环缓冲电路停止工作;当处在第二状态时,输出的加载信号为第一电平,输出的工作信号为第二电平;此时,寄存器堆执行读写操作,循环缓冲电路执行写操作,完成循环加载;当处在第三状态时,输出的加载信号为第二电平,输出的工作信号为第一电平;此时,寄存器堆执行写操作,循环缓冲电路执行读写操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所,未经中国科学院声学研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410573530.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:防止银线断路触摸屏及其制作方法
- 下一篇:一种高电源抑制比LDO电路