降低指令高速缓冲存储器功耗的方法及装置制造方法及图纸

技术编号:8271071 阅读:181 留言:0更新日期:2013-01-31 03:09
本发明专利技术涉及一种降低指令高速缓冲存储器功耗的方法及装置。记录分支指令执行的历史信息;根据所述分支指令执行的历史信息和分支指令当前信息生成第一片选信号;根据所述第一片选信号和指令高速缓冲存储器控制器输出的第二片选信号经过处理得到标志存储器的片选控制信号,通过所述标志存储器的片选控制信号控制是否对所述标志存储器进行访问。因此,本发明专利技术提供的方法和装置可以减少程序执行过程中对标志存储器的访问次数,从而降低指令高速缓冲存储器的整体功耗。

【技术实现步骤摘要】
本专利技术涉及处理器领域,尤其涉及一种降低指令高速缓冲存储器功耗的方法及装置
技术介绍
随着集成电路技术的飞速发展,处理器芯片的速度和集成度都得到了很大的提升,由此带来的功耗问题也变得很突出。大量的功耗消耗会降低便携式设备中电池的使用寿命,而且会给处理器的供电、散热和可靠性带来很多问题。在目前数字信号处理器的设计中,功耗已经成为了一个很重要的指标。指令高速缓冲存储器(简称指令Cache)作为提高处理器内核取指速度的关键部件,是程序运行时最活跃的部分,因此有效降低指令Cache的功耗对于低功耗处理器的设计有着重要的意义。 直接相联方式的指令Cache结构如图I所示,它主要由标志(tag)存储器、数据(data)存储器和状态位(state)组成。当内核访问指令Cache时,tag存储器根据内核地址的Index位作为地址读出标志位tag,并与内核地址中的Tag位比较,如果相等则表示命中,内核直接从指令Cache中读取数据;如果不相等则表示没有命中,这时会启动一个访问主存的操作。内核在取指令的过程中会进行大量的读tag存储器操作和比较操作,这个过程需要消耗大量的功耗。如果能够减少访问tag存储器的次数,则可以有效降低指令Cache的功耗。在2002年8月12-14号的低功耗电子学与设计(ISLPED)会议上Koji Inoue等人发表的文章《A History-Based I-Cache for Low-Energy Multimedia Applications》中提出了一种基于程序运行历史信息的低功耗指令Cache设计方法,该方法与分支预测技术紧密结合。它的工作原理是当分支目标指令曾经执行过并且执行这条分支目标指令与上次执行这条分支目标指令期间没有发生过指令Cache缺失时,可以停止访问tag存储器。但是,这项技术是与分支目标缓冲器紧密结合的,当分支预测与程序运行历史信息更新同时发生时,处理器流水线会出现停顿,导致处理器性能下降;当出现指令Cache访问缺失或分支目标缓冲器内容被替换时,需要清除全部的程序运行历史信息,这就要求处理器在后续的取指过程中重新记录程序运行的历史信息,而在程序运行历史信息的重新记录过程中,处理器由于无法利用本来已经记录的有效历史信息消除不必要的tag存储器的访问功耗,从而降低了程序运行历史信息的使用效率;对于没有采用分支预测机制的数字信号处理器,建立一个分支预测器需要增加很大的硬件代价,而且分支预测器本身也需要消耗一部分功耗。在2011年3月的浙江大学学报(工学版)第45卷第3期中龚帅帅等人发表的文章《基于历史链接关系的指令高速缓存低功耗方法》中提出了一种基于指令Cache历史访问链接关系的低功耗指令Cache设计方法,该方法需要在指令Cache中建立一个历史访问链接关系表。它的工作原理是在程序执行的过程中会根据历史链接表中记录的历史链接关系,直接从链接的数据存储器中读取指令,减少不必要的tag存储器的访问。但是,该方法存在如下不足它需要在指令Cache单元中增加一个历史链接关系表,这样会增加指令Cache的面积和设计复杂度,而且历史链接关系表也会消耗一部分功耗。
技术实现思路
本专利技术实施例提出了一种降低指令高速缓冲存储器功耗的方法及装置,可以减少程序执行过程中对标志存储器的访问次数,从而降低指令高速缓冲存储器的整体功耗。在第一方面,本专利技术实施例提供了一 种降低指令高速缓冲存储器功耗的装置,包括标志存储器控制模块,用于记录分支指令执行的历史信息,并根据所述分支指令执行的历史信息和分支指令当前信息生成第一片选信号;指令高速缓冲存储器模块,包括指令高速缓冲存储器控制器、与所述指令高速缓冲存储器控制器相连接的标志存储器和数据存储器;其中,所述第一片选信号和所述指令高速缓冲存储器控制器输出的第二片选信号经过处理得到标志存储器的片选控制信号,通过所述标志存储器的片选控制信号控制是否对所述标志存储器进行访问。在第二方面,本专利技术实施例提供了一种降低指令高速缓冲存储器功耗的方法,所述方法用于如本专利技术第一方面所述的装置,所述方法包括记录分支指令执行的历史信息;根据所述分支指令执行的历史信息和分支指令当前信息生成第一片选信号;根据所述第一片选信号和指令高速缓冲存储器控制器输出的第二片选信号经过处理得到标志存储器的片选控制信号,通过所述标志存储器的片选控制信号控制是否对所述标志存储器进行访问。本专利技术提供的方法和装置可以减少程序执行过程中对标志存储器的访问次数,从而降低指令高速缓冲存储器的整体功耗。附图说明图I为现有技术指令Cache结构示意图;图2为本专利技术实施例提供的指令代码片段;图3为本专利技术实施例提供的降低指令Cache功耗的装置的示意图;图4为本专利技术实施例提供的图3中装置的工作过程示意图;图5为本专利技术实施例提供的降低指令Cache功耗的方法流程图;图6为本专利技术实施例提供的tag存储器控制模块工作过程流程图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚,下面结合附图对本专利技术具体实施例作进一步的详细描述。首先,结合图2对本专利技术实施例中的重要概念做明确阐述,图2为本专利技术实施例提供的指令代码片段。如图2所示分支指令是指在程序执行过程中,遇到的需要跳转到其他地方执行的指令,包括分支跳转指令、循环跳转指令和函数调用等,如图2所示,执行流程I和2表示指令执行到BRANCH1后跳转到分支目标指令L00P2处执行,则BRANCH1为分支指令。分支指令跳转成功是指程序执行过程中,遇到分支指令,并且跳转到该分支目标指令处执行,如图2所示,执行流程I和2表示指令执行到BRANCH1后跳转到分支目标指令L00P2处执行,此时称分支指令BRANCH1跳转成功。分支指令跳转失败是指程序执行过程中,遇到分支指令,没有跳转到该分支目标指令处执行,而是顺序执行后面的指令。如图2中的执行流程3,当指令执行到分支指令BRANCH1后,没有跳转到分支目标指令L00P2处执行,而是顺序执行后面的指令,此时称分支指令BRANCH1跳转失败。图3为本专利技术实施例提供的降低指令Cache功耗的装置的示意图。如图3所示,所述装置主要由tag存储器控制模块和指令Cache模块组成。tag存储器控制模块用于记录分支指令执行的历史信息,并根据所述分支指令执行的历史信息和分支指令当前信息生 成第一片选信号。指令Cache模块包括指令Cache控制器、与所述指令Cache控制器相连接的tag存储器和数据存储器;其中,所述第一片选信号和所述指令Cache控制器输出的第二片选信号经过处理得到tag存储器的片选控制信号,通过所述tag存储器的片选控制信号控制是否对所述tag存储器进行访问。图3中各个信号意义如下bt用于表示分支指令当前跳转成功的信息,bt=l表示分支指令当前跳转成功;bnt用于表示分支指令当前跳转失败的信息,bnt=l表示分支指令当前跳转失败;b用于表示是否有分支指令,b=l表示有分支指令^用于表示分支指令之前跳转成功的信息,T=I表示有该分支指令之前跳转成功的信息;NT用于表示分支指令之前跳转失败的信息,NT=I表示有该分支指令之前跳转失败的信息。需要说明的是,本领域技术人员可以根据实际情况定义各个信号的取值意义。图3中各个器件的意义如本文档来自技高网
...

【技术保护点】
一种降低指令高速缓冲存储器功耗的装置,其特征在于,包括:标志存储器控制模块,用于记录分支指令执行的历史信息,并根据所述分支指令执行的历史信息和分支指令当前信息生成第一片选信号;指令高速缓冲存储器模块,包括指令高速缓冲存储器控制器、与所述指令高速缓冲存储器控制器相连接的标志存储器和数据存储器;其中,所述第一片选信号和所述指令高速缓冲存储器控制器输出的第二片选信号经过处理得到标志存储器的片选控制信号,通过所述标志存储器的片选控制信号控制是否对所述标志存储器进行访问。

【技术特征摘要】
1.一种降低指令高速缓冲存储器功耗的装置,其特征在于,包括 标志存储器控制模块,用于记录分支指令执行的历史信息,并根据所述分支指令执行的历史信息和分支指令当前信息生成第一片选信号; 指令高速缓冲存储器模块,包括指令高速缓冲存储器控制器、与所述指令高速缓冲存储器控制器相连接的标志存储器和数据存储器; 其中,所述第一片选信号和所述指令高速缓冲存储器控制器输出的第二片选信号经过处理得到标志存储器的片选控制信号,通过所述标志存储器的片选控制信号控制是否对所述标志存储器进行访问。2.如权利要求I所述的装置,其特征在于,所述分支指令执行的历史信息是指之前分支指令地址、所述分支指令之前跳转成功的信息和所述分支指令之前跳转失败的信息。3.如权利要求I所述的装置,其特征在于,所述分支指令当前信息是指当前分支指令地址、所述分支指令当前跳转成功的信息或所述分支指令当前跳转失败的信息。4.如权利要求1、2或3所述的装置,其特征在于,所述标志存储器控制模块包括存储分支指令地址的分支指令地址队列、记录所述分支指令地址队列中分支指令跳转成功和跳转失败信息的分支指令历史表和控制电路; 若输入的分支指令地址没有命中所述分支指令地址队列,所述标志存储器控制模块将所述分支指令地址存入所述分支指令地址队列中,并且将所述分支指令跳转成功或跳转失败的信息记录在所述分支指令历史表中; 若输入的分支指令地址命中所述分支指令地址队列,若所述分支指令当前跳转成功并且有所述分支指令之前跳转成功的信息记录,或者若所述分支指令当前跳转失败并且有所述分支指令之前跳转失败的信息记录,则所述分支指令地址队列和所述分支指令历史表保持...

【专利技术属性】
技术研发人员:张铁军李泉泉王东辉洪缨侯朝焕
申请(专利权)人:中国科学院声学研究所
类型:发明
国别省市:

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

1