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

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

Info

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
Application number
CN201610167317.3A
Other languages
English (en)
Other versions
CN105843360B (zh
Inventor
李泉泉
郭二辉
洪一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui Core Century Technology Co Ltd
Original Assignee
CETC 38 Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CETC 38 Research Institute filed Critical CETC 38 Research Institute
Priority to CN201610167317.3A priority Critical patent/CN105843360B/zh
Publication of CN105843360A publication Critical patent/CN105843360A/zh
Application granted granted Critical
Publication of CN105843360B publication Critical patent/CN105843360B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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所述的方法,其特征在于:所述执行页索引存储器非命中操作包括:启动访问主存操作,从主存中返回的指令块发送给处理器内核的同时写入数据存储器中,同时指令高速缓冲存储器将内核地址中的页索引位写入页索引存储器中并将对应的行有效位置为有效。
CN201610167317.3A 2016-03-23 2016-03-23 一种降低指令高速缓冲存储器功耗的装置及方法 Active CN105843360B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110941570A (zh) * 2019-11-06 2020-03-31 天津大学 基于存储空间分离处理技术的提高高速缓存存储密度方法

Citations (5)

* Cited by examiner, † Cited by third party
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 インテル・コーポレーション メモリデバイスの消費電力を減らす方法およびシステム

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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.