CN105843360A - 一种降低指令高速缓冲存储器功耗的装置及方法 - Google Patents
一种降低指令高速缓冲存储器功耗的装置及方法 Download PDFInfo
- Publication number
- CN105843360A CN105843360A CN201610167317.3A CN201610167317A CN105843360A CN 105843360 A CN105843360 A CN 105843360A CN 201610167317 A CN201610167317 A CN 201610167317A CN 105843360 A CN105843360 A CN 105843360A
- Authority
- CN
- China
- Prior art keywords
- page index
- bit
- footers
- page
- buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及一种降低指令高速缓冲存储器功耗的装置,包括:页标志缓冲器,用于存储内核地址中的页标志位;页有效位,用于指示页标志缓冲器对应行是否有效;页索引存储器,用于存储内核地址中的页索引位;行有效位,用于指示页索引存储器对应行是否有效;数据存储器,用于存储指令块数据;行有效位控制电路、第一比较器、第二比较器和与门。本发明还公开了一种降低指令高速缓冲存储器功耗的方法。本发明增加一个容量很小的页标志缓冲器,并利用位宽较小的页索引存储器取代传统结构中位宽较大的标志存储器,可以减小指令高速缓冲存储器的面积,从而有效降低每次访问指令高速缓冲存储器的功耗。
Description
技术领域
本发明涉及处理器技术领域,尤其是一种降低指令高速缓冲存储器功耗的装置及方法。
背景技术
随着半导体工艺技术的飞速发展,处理器芯片的功耗问题变得越来越严重。在目前嵌入式处理器的设计中,功耗已经成为了一个很重要的指标。作为弥合处理器内核与主存之间速度差距的重要部件,指令高速缓冲存储器(简称:指令Cache)由于具有很大的面积和很高的访问频率而功耗显著。有效降低指令Cache的功耗,对于低功耗嵌入式处理器的设计有着重要意义。
传统直接相联方式的指令Cache结构如图1所示,它主要由标志存储器、数据存储器和状态位组成。当处理器内核访问指令Cache时,标志存储器使用内核地址中的索引位读出标志位,并与内核地址中的标志位比较,如果相等,则表示指令Cache命中,此时命中信号有效,处理器内核直接从指令Cache中读取数据;如果不相等,则表示指令Cache不命中,此时命中信号无效,指令Cache会启动一个访问主存的操作,从主存中返回的指令块发送给处理器内核的同时写入指令Cache中。可见,处理器内核在读取指令块的过程中会进行大量的读标志存储器操作,这个过程消耗了大量的能量。如果能够降低每次读标志存储器的功耗,则可以有效降低指令Cache的功耗。
申请号为201210242426.9的专利公开了一种降低指令Cache功耗的方法,该方法在处理器内核执行循环体代码时,通过禁能标志存储器减少了处理器内核对标志存储器的访问操作,从而降低了指令Cache的功耗。该方法存在如下缺陷:(1)它需要在指令Cache单元中增加一个控制标志存储器的片选控制电路,这样会增加指令Cache的面积和设计复杂度;(2)它需要编译器的支持,并且需要修改指令集。
发明内容
本发明的首要目的在于提供一种减小了指令高速缓冲存储器的面积,从而有效降低每次访问指令高速缓冲存储器的功耗的降低指令高速缓冲存储器功耗的装置。
为实现上述目的,本发明采用了以下技术方案:一种降低指令高速缓冲存储器功耗的装置,包括:
页标志缓冲器,用于存储内核地址中的页标志位;
页有效位,用于指示页标志缓冲器对应行是否有效;
页索引存储器,用于存储内核地址中的页索引位;
行有效位,用于指示页索引存储器对应行是否有效;
数据存储器,用于存储指令块数据;
第一比较器,用于将内核地址中的页标志位与页标志缓冲器中读出的页标志位作比较操作,并输出第一命中信号;
第二比较器,用于将内核地址中的页索引位与页索引存储器中读出的页索引位作比较操作,并输出第二命中信号;
与门,用于将第一命中信号和第二命中信号作与操作,并输出指令高速缓冲存储器命中信号;
行有效位控制电路,用于根据第一命中信号、内核地址中的页索引位以及页索引存储器中存储的页索引位来控制所述行有效位。
本发明的另一目的在于提供一种降低指令高速缓冲存储器功耗的方法,该方法包括下列顺序的步骤:
(1)处理器内核访问指令高速缓冲存储器;
(2)读取页标志缓冲器中的页标志位和对应的页有效位,读取页索引存储器中的页索引位和对应的行有效位;
(3)判断页标志缓冲器是否命中,若页标志缓冲器命中,则进入下一步;否则,执行页标志缓冲器非命中操作;
(4)判断页索引存储器是否命中,若页索引存储器命中,则进入下一步;否则,执行页索引存储器非命中操作;
(5)处理器内核直接从指令高速缓冲存储器中读取数据。
所述页标志缓冲器命中是指,页有效位有效且从页标志缓冲器中读取的页标志位与内核地址中的页标志位相等;所述页索引存储器命中是指,行有效位有效且从页索引存储器中读取的页索引位与内核地址中的页索引位相等。
所述执行页标志缓冲器非命中操作包括以下步骤:
a)行有效位控制电路将页索引存储器中与内核地址中页索引位相等的行对应的行有效位全部置为无效;
b)启动访问主存操作,从主存中返回的指令块发送给处理器内核的同时写入数据存储器中,同时指令高速缓冲存储器将内核地址中的页标志位写入页标志缓冲器中并将对应的页有效位置为有效,将内核地址中的页索引位写入页索引存储器中并将对应的行有效位置为有效。
所述执行页索引存储器非命中操作包括:启动访问主存操作,从主存中返回的指令块发送给处理器内核的同时写入数据存储器中,同时指令高速缓冲存储器将内核地址中的页索引位写入页索引存储器中并将对应的行有效位置为有效。
由上述技术方案可知,本发明的优点如下:(1)本发明增加一个容量很小的页标志缓冲器,并利用位宽较小的页索引存储器取代传统结构中位宽较大的标志存储器,可以减小指令高速缓冲存储器的面积,从而有效降低每次访问指令高速缓冲存储器的功耗;(2)本发明无需编译器的支持,而且无需修改指令集。
附图说明
图1现有技术中指令Cache结构图;
图2 本发明的装置结构示意图;
图3 本发明的方法流程图。
具体实施方式
如图2所示,一种降低指令高速缓冲存储器功耗的装置,包括:
页标志缓冲器,用于存储内核地址中的页标志位;
页有效位,用于指示页标志缓冲器对应行是否有效;
页索引存储器,用于存储内核地址中的页索引位;
行有效位,用于指示页索引存储器对应行是否有效;
数据存储器,用于存储指令块数据;
第一比较器,用于将内核地址中的页标志位与页标志缓冲器中读出的页标志位作比较操作,并输出第一命中信号;
第二比较器,用于将内核地址中的页索引位与页索引存储器中读出的页索引位作比较操作,并输出第二命中信号;
与门,用于将第一命中信号和第二命中信号作与操作,并输出指令高速缓冲存储器命中信号;
行有效位控制电路,用于根据第一命中信号、内核地址中的页索引位以及页索引存储器中存储的页索引位来控制所述行有效位。
内核地址中的页标志位、页索引位、行索引位根据指令高速缓冲存储器深度、指令高速缓冲存储器块大小、页标志缓冲器深度来确定。
如图3所示,本方法包括:(1)处理器内核访问指令高速缓冲存储器;(2)读取页标志缓冲器中的页标志位和对应的页有效位,读取页索引存储器中的页索引位和对应的行有效位;(3)判断页标志缓冲器是否命中,若页标志缓冲器命中,则进入下一步;否则,执行页标志缓冲器非命中操作;(4)判断页索引存储器是否命中,若页索引存储器命中,则进入下一步;否则,执行页索引存储器非命中操作;(5)处理器内核直接从指令高速缓冲存储器中读取数据。
所述页标志缓冲器命中是指,页有效位有效且从页标志缓冲器中读取的页标志位与内核地址中的页标志位相等;所述页索引存储器命中是指,行有效位有效且从页索引存储器中读取的页索引位与内核地址中的页索引位相等。
所述执行页标志缓冲器非命中操作包括以下步骤:
a)行有效位控制电路将页索引存储器中与内核地址中页索引位相等的行对应的行有效位全部置为无效;
b)启动访问主存操作,从主存中返回的指令块发送给处理器内核的同时写入数据存储器中,同时指令高速缓冲存储器将内核地址中的页标志位写入页标志缓冲器中并将对应的页有效位置为有效,将内核地址中的页索引位写入页索引存储器中并将对应的行有效位置为有效。
所述执行页索引存储器非命中操作包括:启动访问主存操作,从主存中返回的指令块发送给处理器内核的同时写入数据存储器中,同时指令高速缓冲存储器将内核地址中的页索引位写入页索引存储器中并将对应的行有效位置为有效
以下结合图2、3对本发明作进一步的说明。
当处理器内核访问指令Cache时,指令Cache使用内核地址中的页索引位作为地址读取页标志缓冲器中的页标志位和对应的页有效位,使用内核地址中的行索引位作为地址读取页索引存储器中的页索引位和对应的行有效位。如果页有效位无效,或者页有效位有效且从页标志缓冲器中读取的页标志位与内核地址中的页标志位不相等,则第一比较器输出的第一命中信号无效,与门输出的命中信号无效。此时指令Cache不命中,行有效位控制电路会将页索引存储器中与内核地址中页索引位相等的行对应的行有效位全部置为无效;指令Cache会启动一个访问主存的操作,从主存中返回的指令块发送给处理器内核的同时写入数据存储器中,同时指令Cache使用内核地址中的页索引位作为地址将内核地址中的页标志位写入页标志缓冲器中并将对应的页有效位置为有效,使用内核地址中的行索引位作为地址将内核地址中的页索引位写入页索引存储器中并将对应的行有效位置为有效。
如果页有效位有效且从页标志缓冲器中读取的页标志位与内核地址中的页标志位相等,而行有效位无效,或者行有效位有效且从页索引存储器中读取的页索引位与内核地址中的页索引位不相等,则第一比较器输出的第一命中信号有效,第二比较器输出的第二命中信号无效,与门输出的命中信号无效。此时指令Cache不命中,指令Cache会启动一个访问主存的操作,从主存中返回的指令块发送给处理器内核的同时写入数据存储器中,同时指令Cache使用内核地址中的行索引位作为地址将内核地址中的页索引位写入页索引存储器中并将对应的行有效位置为有效。
如果页有效位有效且从页标志缓冲器中读取的页标志位与内核地址中的页标志位相等,并且行有效位有效且从页索引存储器中读取的页索引位与内核地址中的页索引位相等,则第一比较器输出的第一命中信号有效,第二比较器输出的第二命中信号有效,与门输出的命中信号有效。此时指令Cache命中,处理器内核直接从指令Cache中读取数据。
本发明将内核地址划分为页标志位,页索引位,行索引位,偏移量。假设内核地址位宽为W;指令Cache深度为H1,采用直接相联的方式;页标志缓冲器深度为H2,采用直接相联的方式;则:
行索引位的位宽 = log2(H1);
页索引位的位宽 = log2(H2);
页标志位的位宽 = W – log2(H1)
– log2(H2) – 偏移量位宽;
页有效位的位宽 = 1 bit;
页标志缓冲器的位宽 = W – log2(H1)
– log2(H2) – 偏移量位宽;
行有效位的位宽 = 1 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;
页有效位的位宽 = 1 bit;
页标志缓冲器的位宽 = 15 bit;
行有效位的位宽 = 1 bit;
页索引存储器的位宽 = 4 bit;
本发明提出的指令Cache结构相对传统指令Cache结构中存储体的减小量∆S为:
∆S = 传统指令Cache中标志存储器大小 – (本发明中页索引存储器大小 + 页标志缓冲器大小 + 页有效位大小)
= 512 * 19 – (512 * 4 + 16 *
15 + 16 * 1)
= 7424 bit
即本发明提出的指令Cache结构相对传统指令Cache结构的存储体减小了7424 bit。
综上所述,本发明通过增加一个容量很小的页标志缓冲器,并利用位宽较小的页索引存储器取代传统结构中位宽较大的标志存储器,减小了指令Cache的面积,从而有效降低每次访问指令Cache的功耗。由于应用程序都具有很好的局部性,本发明对处理器性能的影响很小。
Claims (5)
1.一种降低指令高速缓冲存储器功耗的装置,其特征在于:包括:
页标志缓冲器,用于存储内核地址中的页标志位;
页有效位,用于指示页标志缓冲器对应行是否有效;
页索引存储器,用于存储内核地址中的页索引位;
行有效位,用于指示页索引存储器对应行是否有效;
数据存储器,用于存储指令块数据;
第一比较器,用于将内核地址中的页标志位与页标志缓冲器中读出的页标志位作比较操作,并输出第一命中信号;
第二比较器,用于将内核地址中的页索引位与页索引存储器中读出的页索引位作比较操作,并输出第二命中信号;
与门,用于将第一命中信号和第二命中信号作与操作,并输出指令高速缓冲存储器命中信号;
行有效位控制电路,用于根据第一命中信号、内核地址中的页索引位以及页索引存储器中存储的页索引位来控制所述行有效位。
2.一种降低指令高速缓冲存储器功耗的方法,该方法包括下列顺序的步骤:
(1)处理器内核访问指令高速缓冲存储器;
(2)读取页标志缓冲器中的页标志位和对应的页有效位,读取页索引存储器中的页索引位和对应的行有效位;
(3)判断页标志缓冲器是否命中,若页标志缓冲器命中,则进入下一步;否则,执行页标志缓冲器非命中操作;
(4)判断页索引存储器是否命中,若页索引存储器命中,则进入下一步;否则,执行页索引存储器非命中操作;
(5)处理器内核直接从指令高速缓冲存储器中读取数据。
3.根据权利要求2所述的方法,其特征在于:所述页标志缓冲器命中是指,页有效位有效且从页标志缓冲器中读取的页标志位与内核地址中的页标志位相等;所述页索引存储器命中是指,行有效位有效且从页索引存储器中读取的页索引位与内核地址中的页索引位相等。
4.根据权利要求2所述的方法,其特征在于:所述执行页标志缓冲器非命中操作包括以下步骤:
a)行有效位控制电路将页索引存储器中与内核地址中页索引位相等的行对应的行有效位全部置为无效;
b)启动访问主存操作,从主存中返回的指令块发送给处理器内核的同时写入数据存储器中,同时指令高速缓冲存储器将内核地址中的页标志位写入页标志缓冲器中并将对应的页有效位置为有效,将内核地址中的页索引位写入页索引存储器中并将对应的行有效位置为有效。
5.根据权利要求2所述的方法,其特征在于:所述执行页索引存储器非命中操作包括:启动访问主存操作,从主存中返回的指令块发送给处理器内核的同时写入数据存储器中,同时指令高速缓冲存储器将内核地址中的页索引位写入页索引存储器中并将对应的行有效位置为有效。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610167317.3A CN105843360B (zh) | 2016-03-23 | 2016-03-23 | 一种降低指令高速缓冲存储器功耗的装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610167317.3A CN105843360B (zh) | 2016-03-23 | 2016-03-23 | 一种降低指令高速缓冲存储器功耗的装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105843360A true CN105843360A (zh) | 2016-08-10 |
CN105843360B CN105843360B (zh) | 2018-06-12 |
Family
ID=56583612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610167317.3A Active CN105843360B (zh) | 2016-03-23 | 2016-03-23 | 一种降低指令高速缓冲存储器功耗的装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105843360B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110941570A (zh) * | 2019-11-06 | 2020-03-31 | 天津大学 | 基于存储空间分离处理技术的提高高速缓存存储密度方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100228941A1 (en) * | 2009-03-03 | 2010-09-09 | Qualcomm Incorporated | Configurable Cache and Method to Configure Same |
CN101923570A (zh) * | 2010-07-21 | 2010-12-22 | 中国电子科技集团公司第三十八研究所 | 一种在Windows CE环境下建立大页面NAND Flash存储系统的方法 |
US20130042073A1 (en) * | 2010-03-30 | 2013-02-14 | Zte Corporation | Hybrid Automatic Repeat Request Combiner and Method for Storing Hybrid Automatic Repeat Request Data |
CN103019959A (zh) * | 2012-11-21 | 2013-04-03 | 中国科学院声学研究所 | 一种指令高速缓冲存储器 |
JP2013529816A (ja) * | 2010-06-24 | 2013-07-22 | インテル・コーポレーション | メモリデバイスの消費電力を減らす方法およびシステム |
-
2016
- 2016-03-23 CN CN201610167317.3A patent/CN105843360B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100228941A1 (en) * | 2009-03-03 | 2010-09-09 | Qualcomm Incorporated | Configurable Cache and Method to Configure Same |
US20130042073A1 (en) * | 2010-03-30 | 2013-02-14 | Zte Corporation | Hybrid Automatic Repeat Request Combiner and Method for Storing Hybrid Automatic Repeat Request Data |
JP2013529816A (ja) * | 2010-06-24 | 2013-07-22 | インテル・コーポレーション | メモリデバイスの消費電力を減らす方法およびシステム |
CN101923570A (zh) * | 2010-07-21 | 2010-12-22 | 中国电子科技集团公司第三十八研究所 | 一种在Windows CE环境下建立大页面NAND Flash存储系统的方法 |
CN103019959A (zh) * | 2012-11-21 | 2013-04-03 | 中国科学院声学研究所 | 一种指令高速缓冲存储器 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110941570A (zh) * | 2019-11-06 | 2020-03-31 | 天津大学 | 基于存储空间分离处理技术的提高高速缓存存储密度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105843360B (zh) | 2018-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7395372B2 (en) | Method and system for providing cache set selection which is power optimized | |
JP4738536B1 (ja) | 不揮発性メモリのコントローラ及び不揮発性メモリの制御方法 | |
US8954775B2 (en) | Power gating functional units of a processor | |
US10474573B2 (en) | Method for managing flash memory module and associated flash memory controller and electronic device | |
US20070067603A1 (en) | Nonvolatile memory device and the method of generation of the address translation table | |
TW201007449A (en) | Flash memory storage system and data writing method thereof | |
JPH10154098A (ja) | キャッシュを有するデータ処理システムおよびそのための方法 | |
US8495286B2 (en) | Write buffer for improved DRAM write access patterns | |
CN104252425A (zh) | 一种指令缓存的管理方法和处理器 | |
CN104834483B (zh) | 一种提升嵌入式mcu性能的实现方法 | |
TW202034178A (zh) | 資料儲存裝置與資料處理方法 | |
CN103257850B (zh) | 一种基于标志位访问踪迹的指令高速缓冲存储器 | |
CN105138472A (zh) | 闪存磨损优化方法及设备 | |
CN111857596B (zh) | Ssd低功耗实现方法、装置、计算机设备及存储介质 | |
CN116149554B (zh) | 一种基于risc-v及其扩展指令的数据存储处理系统及其方法 | |
CN105843360A (zh) | 一种降低指令高速缓冲存储器功耗的装置及方法 | |
US10831667B2 (en) | Asymmetric memory tag access and design | |
CN110333966B (zh) | 一种固态硬盘设备 | |
CN112148366A (zh) | 一种芯片降低功耗提升性能的flash加速方法 | |
US10714176B2 (en) | Read-write cycle execution based on history | |
CN100428200C (zh) | 一种片上指令cache的实现方法 | |
US10121555B2 (en) | Wear-limiting non-volatile memory | |
CN106371768B (zh) | 一种固态盘系统中的读写优化调度方法 | |
CN111124959B (zh) | 一种NVMe协议管理命令处理的硬件卸载方法 | |
US20160210234A1 (en) | Memory system including virtual cache and management method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20191011 Address after: 5 / F, airborne center, 38 new area, No. 199, Xiangzhang Avenue, hi tech Zone, Hefei City, Anhui Province 230000 Patentee after: Anhui core Century Technology Co., Ltd. Address before: 230088, 199, camphor Road, hi tech Zone, Anhui, Hefei Patentee before: No.38 Inst., China Electronic Sci. & Tech. Group Co. |