一种降低指令高速缓冲存储器功耗的装置及方法

文档序号:10488500阅读:321来源:国知局
一种降低指令高速缓冲存储器功耗的装置及方法
【专利摘要】本发明涉及一种降低指令高速缓冲存储器功耗的装置,包括:页标志缓冲器,用于存储内核地址中的页标志位;页有效位,用于指示页标志缓冲器对应行是否有效;页索引存储器,用于存储内核地址中的页索引位;行有效位,用于指示页索引存储器对应行是否有效;数据存储器,用于存储指令块数据;行有效位控制电路、第一比较器、第二比较器和与门。本发明还公开了一种降低指令高速缓冲存储器功耗的方法。本发明增加一个容量很小的页标志缓冲器,并利用位宽较小的页索引存储器取代传统结构中位宽较大的标志存储器,可以减小指令高速缓冲存储器的面积,从而有效降低每次访问指令高速缓冲存储器的功耗。
【专利说明】
一种降低指令高速缓冲存储器功耗的装置及方法
技术领域
[0001]本发明涉及处理器技术领域,尤其是一种降低指令高速缓冲存储器功耗的装置及方法。
【背景技术】
[0002]随着半导体工艺技术的飞速发展,处理器芯片的功耗问题变得越来越严重。在目前嵌入式处理器的设计中,功耗已经成为了一个很重要的指标。作为弥合处理器内核与主存之间速度差距的重要部件,指令高速缓冲存储器(简称:指令Cache)由于具有很大的面积和很高的访问频率而功耗显著。有效降低指令Cache的功耗,对于低功耗嵌入式处理器的设计有着重要意义。
[0003]传统直接相联方式的指令Cache结构如图1所示,它主要由标志存储器、数据存储器和状态位组成。当处理器内核访问指令Cache时,标志存储器使用内核地址中的索引位读出标志位,并与内核地址中的标志位比较,如果相等,则表示指令Cache命中,此时命中信号有效,处理器内核直接从指令Cache中读取数据;如果不相等,则表示指令Cache不命中,此时命中信号无效,指令Cache会启动一个访问主存的操作,从主存中返回的指令块发送给处理器内核的同时写入指令Cache中。可见,处理器内核在读取指令块的过程中会进行大量的读标志存储器操作,这个过程消耗了大量的能量。如果能够降低每次读标志存储器的功耗,则可以有效降低指令Cache的功耗。
[0004]申请号为201210242426.9的专利公开了一种降低指令Cache功耗的方法,该方法在处理器内核执行循环体代码时,通过禁能标志存储器减少了处理器内核对标志存储器的访问操作,从而降低了指令Cache的功耗。该方法存在如下缺陷:(I)它需要在指令Cache单元中增加一个控制标志存储器的片选控制电路,这样会增加指令Cache的面积和设计复杂度;(2)它需要编译器的支持,并且需要修改指令集。

【发明内容】

[0005]本发明的首要目的在于提供一种减小了指令高速缓冲存储器的面积,从而有效降低每次访问指令高速缓冲存储器的功耗的降低指令高速缓冲存储器功耗的装置。
[0006]为实现上述目的,本发明采用了以下技术方案:一种降低指令高速缓冲存储器功耗的装置,包括:
页标志缓冲器,用于存储内核地址中的页标志位;
页有效位,用于指示页标志缓冲器对应行是否有效;
页索引存储器,用于存储内核地址中的页索引位;
行有效位,用于指示页索引存储器对应行是否有效;
数据存储器,用于存储指令块数据;
第一比较器,用于将内核地址中的页标志位与页标志缓冲器中读出的页标志位作比较操作,并输出第一命中信号; 第二比较器,用于将内核地址中的页索引位与页索引存储器中读出的页索引位作比较操作,并输出第二命中信号;
与门,用于将第一命中信号和第二命中信号作与操作,并输出指令高速缓冲存储器命中信号;
行有效位控制电路,用于根据第一命中信号、内核地址中的页索引位以及页索引存储器中存储的页索引位来控制所述行有效位。
[0007]本发明的另一目的在于提供一种降低指令高速缓冲存储器功耗的方法,该方法包括下列顺序的步骤:
(1)处理器内核访问指令高速缓冲存储器;
(2)读取页标志缓冲器中的页标志位和对应的页有效位,读取页索引存储器中的页索引位和对应的彳丁有效位;
(3)判断页标志缓冲器是否命中,若页标志缓冲器命中,则进入下一步;否则,执行页标志缓冲器非命中操作;
(4)判断页索引存储器是否命中,若页索引存储器命中,则进入下一步;否则,执行页索引存储器非命中操作;
(5 )处理器内核直接从指令高速缓冲存储器中读取数据。
[0008]所述页标志缓冲器命中是指,页有效位有效且从页标志缓冲器中读取的页标志位与内核地址中的页标志位相等;所述页索引存储器命中是指,行有效位有效且从页索引存储器中读取的页索引位与内核地址中的页索引位相等。
[0009]所述执行页标志缓冲器非命中操作包括以下步骤:
a)行有效位控制电路将页索引存储器中与内核地址中页索引位相等的行对应的行有效位全部置为无效;
b)启动访问主存操作,从主存中返回的指令块发送给处理器内核的同时写入数据存储器中,同时指令高速缓冲存储器将内核地址中的页标志位写入页标志缓冲器中并将对应的页有效位置为有效,将内核地址中的页索引位写入页索引存储器中并将对应的行有效位置为有效。
[0010]所述执行页索引存储器非命中操作包括:启动访问主存操作,从主存中返回的指令块发送给处理器内核的同时写入数据存储器中,同时指令高速缓冲存储器将内核地址中的页索引位写入页索引存储器中并将对应的行有效位置为有效。
[0011 ]由上述技术方案可知,本发明的优点如下:(I)本发明增加一个容量很小的页标志缓冲器,并利用位宽较小的页索引存储器取代传统结构中位宽较大的标志存储器,可以减小指令高速缓冲存储器的面积,从而有效降低每次访问指令高速缓冲存储器的功耗;(2)本发明无需编译器的支持,而且无需修改指令集。
【附图说明】
[0012]图1现有技术中指令Cache结构图;
图2本发明的装置结构示意图;
图3本发明的方法流程图。
【具体实施方式】
[0013]如图2所示,一种降低指令高速缓冲存储器功耗的装置,包括:
页标志缓冲器,用于存储内核地址中的页标志位;
页有效位,用于指示页标志缓冲器对应行是否有效;
页索引存储器,用于存储内核地址中的页索引位;
行有效位,用于指示页索引存储器对应行是否有效;
数据存储器,用于存储指令块数据;
第一比较器,用于将内核地址中的页标志位与页标志缓冲器中读出的页标志位作比较操作,并输出第一命中信号;
第二比较器,用于将内核地址中的页索引位与页索引存储器中读出的页索引位作比较操作,并输出第二命中信号;
与门,用于将第一命中信号和第二命中信号作与操作,并输出指令高速缓冲存储器命中信号;
行有效位控制电路,用于根据第一命中信号、内核地址中的页索引位以及页索引存储器中存储的页索引位来控制所述行有效位。
[0014]内核地址中的页标志位、页索引位、行索引位根据指令高速缓冲存储器深度、指令高速缓冲存储器块大小、页标志缓冲器深度来确定。
[0015]如图3所示,本方法包括:(I)处理器内核访问指令高速缓冲存储器;(2)读取页标志缓冲器中的页标志位和对应的页有效位,读取页索引存储器中的页索引位和对应的行有效位;(3)判断页标志缓冲器是否命中,若页标志缓冲器命中,则进入下一步;否则,执行页标志缓冲器非命中操作;(4)判断页索引存储器是否命中,若页索引存储器命中,则进入下一步;否则,执行页索引存储器非命中操作;(5)处理器内核直接从指令高速缓冲存储器中读取数据。
[0016]所述页标志缓冲器命中是指,页有效位有效且从页标志缓冲器中读取的页标志位与内核地址中的页标志位相等;所述页索引存储器命中是指,行有效位有效且从页索引存储器中读取的页索引位与内核地址中的页索引位相等。
[0017]所述执行页标志缓冲器非命中操作包括以下步骤:
a)行有效位控制电路将页索引存储器中与内核地址中页索引位相等的行对应的行有效位全部置为无效;
b)启动访问主存操作,从主存中返回的指令块发送给处理器内核的同时写入数据存储器中,同时指令高速缓冲存储器将内核地址中的页标志位写入页标志缓冲器中并将对应的页有效位置为有效,将内核地址中的页索引位写入页索引存储器中并将对应的行有效位置为有效。
[0018]所述执行页索引存储器非命中操作包括:启动访问主存操作,从主存中返回的指令块发送给处理器内核的同时写入数据存储器中,同时指令高速缓冲存储器将内核地址中的页索引位写入页索引存储器中并将对应的行有效位置为有效
以下结合图2、3对本发明作进一步的说明。
[0019]当处理器内核访问指令Cache时,指令Cache使用内核地址中的页索引位作为地址读取页标志缓冲器中的页标志位和对应的页有效位,使用内核地址中的行索引位作为地址读取页索引存储器中的页索引位和对应的行有效位。如果页有效位无效,或者页有效位有效且从页标志缓冲器中读取的页标志位与内核地址中的页标志位不相等,则第一比较器输出的第一命中信号无效,与门输出的命中信号无效。此时指令Cache不命中,行有效位控制电路会将页索引存储器中与内核地址中页索引位相等的行对应的行有效位全部置为无效;指令Cache会启动一个访问主存的操作,从主存中返回的指令块发送给处理器内核的同时写入数据存储器中,同时指令Cache使用内核地址中的页索引位作为地址将内核地址中的页标志位写入页标志缓冲器中并将对应的页有效位置为有效,使用内核地址中的行索引位作为地址将内核地址中的页索引位写入页索引存储器中并将对应的行有效位置为有效。
[0020]如果页有效位有效且从页标志缓冲器中读取的页标志位与内核地址中的页标志位相等,而行有效位无效,或者行有效位有效且从页索引存储器中读取的页索引位与内核地址中的页索引位不相等,则第一比较器输出的第一命中信号有效,第二比较器输出的第二命中信号无效,与门输出的命中信号无效。此时指令Cache不命中,指令Cache会启动一个访问主存的操作,从主存中返回的指令块发送给处理器内核的同时写入数据存储器中,同时指令Cache使用内核地址中的行索引位作为地址将内核地址中的页索引位写入页索引存储器中并将对应的行有效位置为有效。
[0021]如果页有效位有效且从页标志缓冲器中读取的页标志位与内核地址中的页标志位相等,并且行有效位有效且从页索引存储器中读取的页索引位与内核地址中的页索引位相等,则第一比较器输出的第一命中信号有效,第二比较器输出的第二命中信号有效,与门输出的命中信号有效。此时指令Cache命中,处理器内核直接从指令Cache中读取数据。
[0022]本发明将内核地址划分为页标志位,页索引位,行索引位,偏移量。假设内核地址位宽为W;指令Cache深度为Hl,采用直接相联的方式;页标志缓冲器深度为H2,采用直接相联的方式;则:
行索引位的位宽=log2(Hl);
页索引位的位宽=log2(H2);
页标志位的位宽=W -1og2(Hl) - log2(H2)-偏移量位宽;
页有效位的位宽=I bit;
页标志缓冲器的位宽=W -1og2(Hl) - log2(H2)-偏移量位宽;
行有效位的位宽=I bit;
页索引存储器的位宽=log2(H2);
例如指令Cache的容量为8KB,块大小为128 bit,采用直接相联的方式,即指令Cache深度为512,内核地址偏移量为4;处理器内核地址位宽为32 bit;页标志缓冲器深度为16,采用直接相联的方式;则:
行索引位的位宽=log2(512) = 9 bit;
页索引位的位宽=log2(16) = 4 bit;
页标志位的位宽=32 - 9 - 4 - 4 = 15 bit;
页有效位的位宽=I bit;
页标志缓冲器的位宽=15 bit;
行有效位的位宽=I bit; 页索引存储器的位宽=4 bit;
本发明提出的指令Cache结构相对传统指令Cache结构中存储体的减小量Δ S为:
AS =传统指令Cache中标志存储器大小-(本发明中页索引存储器大小+页标志缓冲器大小+页有效位大小)
=512 * 19 - (512 * 4 + 16 * 15 + 16 * I)
=7424 bit
即本发明提出的指令Cache结构相对传统指令Cache结构的存储体减小了7424 bit。
[0023]综上所述,本发明通过增加一个容量很小的页标志缓冲器,并利用位宽较小的页索引存储器取代传统结构中位宽较大的标志存储器,减小了指令Cache的面积,从而有效降低每次访问指令Cache的功耗。由于应用程序都具有很好的局部性,本发明对处理器性能的影响很小。
【主权项】
1.一种降低指令高速缓冲存储器功耗的装置,其特征在于:包括: 页标志缓冲器,用于存储内核地址中的页标志位; 页有效位,用于指示页标志缓冲器对应行是否有效; 页索引存储器,用于存储内核地址中的页索引位; 行有效位,用于指示页索引存储器对应行是否有效; 数据存储器,用于存储指令块数据; 第一比较器,用于将内核地址中的页标志位与页标志缓冲器中读出的页标志位作比较操作,并输出第一命中信号; 第二比较器,用于将内核地址中的页索引位与页索引存储器中读出的页索引位作比较操作,并输出第二命中信号; 与门,用于将第一命中信号和第二命中信号作与操作,并输出指令高速缓冲存储器命中信号; 行有效位控制电路,用于根据第一命中信号、内核地址中的页索引位以及页索引存储器中存储的页索引位来控制所述行有效位。2.—种降低指令高速缓冲存储器功耗的方法,该方法包括下列顺序的步骤: (1)处理器内核访问指令高速缓冲存储器; (2)读取页标志缓冲器中的页标志位和对应的页有效位,读取页索引存储器中的页索引位和对应的彳丁有效位; (3)判断页标志缓冲器是否命中,若页标志缓冲器命中,则进入下一步;否则,执行页标志缓冲器非命中操作; (4)判断页索引存储器是否命中,若页索引存储器命中,则进入下一步;否则,执行页索引存储器非命中操作; (5 )处理器内核直接从指令高速缓冲存储器中读取数据。3.根据权利要求2所述的方法,其特征在于:所述页标志缓冲器命中是指,页有效位有效且从页标志缓冲器中读取的页标志位与内核地址中的页标志位相等;所述页索引存储器命中是指,行有效位有效且从页索引存储器中读取的页索引位与内核地址中的页索引位相等。4.根据权利要求2所述的方法,其特征在于:所述执行页标志缓冲器非命中操作包括以下步骤: a)行有效位控制电路将页索引存储器中与内核地址中页索引位相等的行对应的行有效位全部置为无效; b)启动访问主存操作,从主存中返回的指令块发送给处理器内核的同时写入数据存储器中,同时指令高速缓冲存储器将内核地址中的页标志位写入页标志缓冲器中并将对应的页有效位置为有效,将内核地址中的页索引位写入页索引存储器中并将对应的行有效位置为有效。5.根据权利要求2所述的方法,其特征在于:所述执行页索引存储器非命中操作包括:启动访问主存操作,从主存中返回的指令块发送给处理器内核的同时写入数据存储器中,同时指令高速缓冲存储器将内核地址中的页索引位写入页索引存储器中并将对应的行有效位置为有效。
【文档编号】G06F12/0802GK105843360SQ201610167317
【公开日】2016年8月10日
【申请日】2016年3月23日
【发明人】李泉泉, 郭二辉, 洪, 洪一
【申请人】中国电子科技集团公司第三十八研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1