CN1450457A - 采用改进时序的低功耗组相联高速缓冲存储器 - Google Patents
采用改进时序的低功耗组相联高速缓冲存储器 Download PDFInfo
- Publication number
- CN1450457A CN1450457A CN03116419A CN03116419A CN1450457A CN 1450457 A CN1450457 A CN 1450457A CN 03116419 A CN03116419 A CN 03116419A CN 03116419 A CN03116419 A CN 03116419A CN 1450457 A CN1450457 A CN 1450457A
- Authority
- CN
- China
- Prior art keywords
- data
- tag
- circuit
- read
- cache
- 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.)
- Pending
Links
Images
Classifications
-
- 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
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明为一种采用改进时序控制的低功耗组相联高速缓冲存储器(cache)。其具体的load操作时序采取了在对各路tag sram进行读出的同时不对任何一路data sram进行读出操作的方式,在tag比较器的比较结果稳定后对命中的一路data sram进行数据读出操作(cache命中时)或不对任何一路data sram进行读出(cache失效时)。本发明的硬件电路由tag sram部分、data sram部分、tag比较器、data输出多路选择及驱动电路经电路连接组成。本发明的组相联高速缓冲存储器的功耗比传统的cache功耗大大降低。
Description
技术领域
本发明涉及采用改进后的时序控制设计的低功耗的多路组相联高速缓冲存储器(cache)。
背景技术
低功耗Cache的设计是低功耗处理器设计中的一个瓶颈。由于cache的功耗通常占整个处理器功耗的相当大一部分(随处理器的不同以及Cache大小的不同约占20%~50%),设计低功耗的cache对于提高处理器性能,降低整个处理器的功耗是极为关键的。尤其是近年来移动电子设备和个人通信设备(如笔记本电脑和蜂窝电话)的普及使得这些电路系统对于低功耗处理器的要求更为迫切,因此低功耗cache的设计是极为必要的。
高速缓存即cache通常可根据映射方法的不同分为三种:全相联映射cache,直接映射cache和组相联映射cache。在这三种Cache中,全相联映射Cache的命中率是最高的,但是它的命中取数时间和功耗也是最大的。直接映射cache的命中取数时间是最短的,但是它的命中率是最低的。组相联映射cache的命中率和命中取数时间处于全相联映射和直接映射cache之间,因此目前处理器中多数采用组相联cache作为片上高速缓冲存储器,通常在处理器中应用的是2路、4路、8路以及16路组相联cache。
目前的组相联cache设计方法主要有以下两种:
(1)采用传统的四路data sram(data sram:存储cache数据部分的静态存储器)与tag sram(tag sram:存储cache标签部分的静态存储器)并行读出的时序,在tag比较器得出比较结果后选中一路数据输出。在这种读出时序的cache中降低功耗主要采用以下技术:将data sram分块以减少字线和位线上的电容负载,采用电流读写方式以减少位线上的电压摆幅,使用脉冲控制信号以减少静态功耗等。采用这种控制时序的N路组相联cache要读出各路data sram的数据,因此在命中时浪费了(N-1)路的data sram读出功耗,而在Cache失效时则浪费了N路data sram的读出功耗。采用这种设计方法的组相联cache如A.Kemal Goksel,Robert H.Krambeck,Phillip P.Thomas,Mean sea Tsay,Cheng Yueh Chen,Donaldg.Clemons,FrankD.Larocca,and Liang-peng Mai,“A content Addressable Memory Management Unit with On-ChipData Cache”,IEEE J.Solid-State Circuits,vo1.24,pp.592-596,Oct.1989;Hiroyuki Mizuno,NozomuMatsuzaki,Kenichi Osada,Toshinobu Shinbo,Nagatoshi Ohki,Hiroshi Ishida,Koichiiro Ishibashi,and Tokuo Kure,“A 1-V,100-MHz,10-mW Cache Using a Seperated Bit-Line Memory HierarchyArchitecture and Domino Tag Comparators”,IEEE J.Solid-State Circuits,vol.31,pp.1618-1624,Nov.1996。
(2)可预测组相联cache(PSA:predictive associative cache)。这种组相联cache根据程序计数器PC的值或者根据流水线中load指令的目标地址值进行命中cache的预测,只对预测将要命中的一路data sram进行读出(和N路tag的读出并行进行),如果tag比较结果表明预测成功则数据直接经多路选择器输出,而如果tag比较结果表明预测失败时则需要抛弃已经读出的一路数据,再重新对真正命中的一路data sram进行读出。采用这种技术设计的电路如BCalder,D.Grunwald and J.Emer,“Predictive Sequential Cache.In Proceedings of the Second IEEESynposium on High-Performance Computer Architecture,Feb.1996;B.Batson and T.N.Vijaykumar,“Reactive associative caches”,In Proceedings of the 2001 International Conference on ParallelArchitectures and Compiliaation,Sept.2001。这种设计方法的优点是在预测成功率高的时候可以得到很高的cache读取速度,同时由于只对一路(预测成功)或两路(预测失败)data sram进行读出,功耗比传统的N路data sram全部读出要降低许多。但是这种Cache的缺点也是很明显的:首先硬件电路复杂度大大增加,需增加查找表(look-up table)的硬件电路;其次电路最坏情况(worst-case)的命中取数时间(决定处理器最高工作频率的关键参数)比传统的数据并行读出cache增加60%以上,并且即使在cache不命中的情况下仍会对一路data sram进行读出,浪费了该路data sram的读出功耗。鉴于以上缺点,对高速低功耗cache的设计方法仍需进行进一步研究。
发明内容
本发明的目的在于提供一种采用改进时序控制的组相联Cache,在不增加电路复杂度的前提下进一步降低现有组相联cache的load操作的功耗(store即cache的写数据操作:load即cache读数据操作)。
本发明提出的N路组相联cache电路(这里N为2-16的整数)由tag部分11、data部分12、tag比较器15、输出数据多路选择器18组成,其电路框图如图1所示。其中tag部分11是由tag时序控制电路13和tag阵列及读写外围电路14经电路连接组成,data部分由data时序控制电路16和data存储阵列及外围读写电路17经电路连接组成。tag阵列及外围控制与读写电路14的电路框图如图2所示,该电路由tag存储阵列21、tag位线预充电电路22、tag阵列字线预译码及译码电路23、tag写数据驱动电路24以及tag数据读出灵敏放大器电路25经电路连接组成。data阵列及外围控制与读写电路的电路框图如图3所示,该电路由data存储阵列31、data位线预充电电路32、data阵列的字线预译码及译码电路33、data写数据驱动电路34及data数据读出灵敏放大器电路35经电路连接组成。其中的时序控制采用如下方式:在对cache进行load操作时,data sram部分的读出在tag比较器的比较结果稳定后进行,且仅对经tag比较后命中的一路data sram进行读出。
本发明中,在多路组相联cache的load操作开始后,tag sram的读操作进行的同时不对data sram进行读操作。在对cache进行load操作时,data sram部分的读出在tag比较器的比较结果稳定后进行,且仅对经tag比较后命中的一路data sram进行读出。而且对任何一路datasram的读操作都是由tag比较器的输出信号控制的,只有在该路命中的情况下才会对这一路data sram进行读出。
本发明中,上述时序控制的具体过程如下:在对组相联cache进行load操作时,首先由tag时序控制电路13产生tag读出控制信号(主要包括tag字线选择信号和tag灵敏放大器使能信号)对N路tag进行并行读出,在对tag存储阵列进行数据读出的时候data存储阵列不进行任何操作。读出的tag存储数据输入tag灵敏放大器(包含在14中),放大后的信号tag<0:N-1>与输入的地址信号相应部分PA<0:N-1>在tag比较器15中进行比较。tag比较器15的输出信号即tag命中信号输入到data的时序控制电路16中用以控制data sram的读出操作。如果有任何一路的tag与PA相等,则由该路的命中信号通过data时序控制电路16产生相应于命中的一路的data sram的字线选通信号和data sram的灵敏放大器使能信号,将相应的一路data读出及放大,并通过数据输出多路选择器18输出;如果tag比较器15的比较结果表明没有任何一路tag的数据与PA相等,说明处理器要读取的数据并不存储在高速缓存cache中,则不对任何data sram进行读出操作,由tag比较器15直接给出cache失效信号。
本发明中,组相联cache的store操作时序与传统的并行读取cache和PSA cache都是相同的,即store操作的功耗并没有改变。电路的硬件组成与传统的并行读写组相联cache相比,并没有增加硬件复杂度,而load操作的功耗则比传统的并行读取组相联cache大幅度降低。在组相联cache命中时减少了(N-1)路data sram的读出功耗,而在cache失效是减少了N路data sram的读出功耗。与可预测组相联Cache(PSA)相比,本发明的电路硬件复杂度远低于PSA,并且最坏情况的cache取数时间短于PSA,本发明的cache电路在cache命中时的功耗与PSA基本相同,但在cache失效时的功耗比PSA少一路data sram的读出功耗。具体分析如下:在一个组相联cache的load操作周期开始后,首先进行的是各路tag sram的读出操作,这段时间内data sram不进行任何操作。在各路tag sram的数据读出并经灵敏放大器放大后,由tag比较器将灵敏放大后的tag数据与输入地址相应部分的PA进行比较,如果比较结果相等,则hit<0:N-1>中有一路信号为有效电平(假设h<k>有效),表明处理器要读取的数据存储在第k路data sram中,则接下来由hit<k>控制对第k路data sram进行读出和灵敏放大操作,并通过多路选择器将该路数据输出。
相应于不同的load操作时序,传统的并行读出组相联cache、PSA Cache以及本发明的组相联cache在load操作中所消耗的功耗是不同的,图5所示是这三种不同load操作时序的组相联cache的读出功耗的比较。传统的并行读出组相联cache的load操作功耗主要由N路tagsram的读出功耗和N路data sram的读出功耗组成,在cache命中时浪费了(N-1)路data sram的读出功耗,而在cache失效时则浪费了N路data sram的读出功耗。可预测组相联cache(PSACache)的读出功耗有两种情况:在预测成功时cache的load操作功耗包括N路tag sram的读出功耗和一路data sram的读出功耗,而在预测失败时则包括N路tag sram的读出功耗和两路data sram的读出功耗。本发明的组相联cache在cache命中时的load操作功耗为N路tag sram的读出功耗加上一路data sram的读出功耗,而在cache失效时的load功耗仅为N路tag的读出功耗。
附图说明
图1显示采用本发明的组相联cache电路整体框图。
图2显示tag阵列及外围控制与读写电路的电路框图。
图3显示data阵列及外围控制与读写电路的电路框图。
图4显示三种不同控制时序的组相联cache的load操作时序图,图4(a)为传统并行读出组相联cache的load操作时序,图4(b)为PSACache的load操作时序,图4(c)为本发明的组相联cache的load操作时序。
图5显示三种不同控制时序的组相联cache的功耗组成图。
图6显示采用本发明的组相联cache命中时关键路径的电路图。
图7显示采用本发明的组相联cache命中时的load周期时序信号波形图。
图8显示采用本发明的时序控制方法设计的8KB四路组相联cache电路框图。
图9显示应用本发明的控制时序实现的8KB四路组相联cache的仿真波形图。
表1显示应用本发明的控制时序实现的8KB四路组相联cache的功耗与传统的并行读出组相联cache以及可预测组相联cache的功耗比较。
图中标号:11为tag sram部分,12为data sram部分,13为tag时序控制电路,14为tag阵列及读写外围电路,15为tag比较器,16为data时序控制电路,17为data存储阵列及外围读写电路,18为输出数据多路选择器,21为tag存储阵列,22为tag位线预充电电路,23为tag阵列字线预译码及译码电路,24为tag写据驱动电路,25为tag数据读出灵敏放大器电路,31为data存储阵列,32为data位线预充电电路,33为data阵列的字线预译码及译码电路,34为data写数据驱动电路,35为data数据读出灵敏度放大器电路。
具体实施方式
下面结合附图进一步详细描述本发明。
图4所示为三种不同组相联cache的load操作时序图,其中,图4(a)为传统并行读出组相联cache的load操作时序,图4(b)为PSACache的load操作时序,图4(c)为本发明的组相联cache的load操作时序。
本发明的load操作的关键路径电路见图6所示,时序控制信号图见图7所示。以下的描述中均假定对控制信号而言高电平为有效电平。在一个load周期开始后,cache的全局地址信号addr变为该周期要读写的地址,图7中load信号变高,表示本周期进行cache的load操作。此时tag sram的读使能信号tag_rden变高,在字线电平稳定后tag阵列41的灵敏放大器的使能信号tag_sae也变高,则将N路tag_sram中存储的数据读出并放大,在灵敏放大器的输出信号稳定后,tag比较器的控制信号compare变为高电平,在tag比较器中将经灵敏放大后的tag信号与本周期的PA相比,在cache命中时比较器的输出hit<0:n>会有一路为高电平,假定hit<k>为高电平,即第k路命中,则由hit<k>控制第k路data sram(12)的时序控制电路16产生该路data sram的读使能信号data_rden和灵敏放大器使能信号data_sae,将该路data sram中存储的数据读出并经各路data sram的多路选择和输出驱动电路18驱动后输出数据。
图8所示为采用本发明提出的低功耗组相联cache设计方法设计的一个用于MIPS32处理器的8KB四路组相联cache的电路框图。该8KB Cache采用标准的0.18um CMOS 1P6M工艺实现。该电路的电路仿真波形如图9所示,经HSPICE仿真得到该电路工作于263MHz时的load功耗在cache命中时为195mW,cache失效时为162mW。该电路的load功耗与相同工艺实现的传统的并行读出组相联cache的load功耗以及可预测组相联Cache的load功耗比较见表1。从该表中可以清楚地看出采用本发明提出的低功耗组相联cache设计技术设计的8KB四路cache的功耗远低于传统的并行读出组相联cache,同时功耗也略低于电路复杂度更高的可预测组相联cache。
采用0.18um CMOS 1P6M工艺实现的8KB四路组相联Cache | Cache命中时的Load功耗 | Cache失效时的Load功耗 |
采用传统的并行读出时序的组相联Cache | 270mW | 270mW |
可预测组相联Cache | 预测成功:195mW预测失败:220mW | 195mW |
本发明的低功耗组相联Cache | 195mw | 162mw |
表1
Claims (4)
1、一种采用改进时序控制的低功耗多路组相联cache,由tag sram部分(11)、data sram部分(12)、tag比较器(15)、输出数据多路选择器(18)经电路连接组成。其特征在于:tag部分(11)由tag时序控制电路(13)和tag阵列及读写外围电路(14)经电路连接组成,data部分由data时序控制电路(16)和data存储阵列及外围读写电路(17)经电路连接组成;tag阵列及外围控制与读写电路(14)由tag存储阵列、tag位线预充电电路、tag阵列字线预译码及译码电路、tag写数据驱动电路以及tag数据读出灵敏放大器电路经电路连接组成。data阵列及外围控制与读写电路由data存储阵列、data位线预充电电路、data阵列的字线预译码及译码电路、data写数据驱动电路及data数据读出灵敏放大器电路经电路连接组成;cache进行load操作时data sram部分的读出在tag比较器的比较结果稳定后进行,且仅对经tag比较后命中的一路data sram进行读出。
2、根据权利要求1所述的低功耗多路组相联cache,其特征在于根据改进的时序控制,在多路组相联cache的load操作开始后,tag sram的读操作进行的同时不对data sram进行读操作。
3、根据权利要求1所述的低功耗多路组相联cache,其特征在于在对多路组相联cache进行load操作时,任何一路data sram的读操作都是由tag比较器的输出信号控制的,只有在该路命中的情况下才会对这一路data sram进行读出。
4、根据权利要求1所述的低功耗多路组相联cache,其特征在于在对多路组相联cache进行load操作时,cache命中时的功耗为各路tag sram的读出功耗与一路data sram的读出功耗之和,而在cache失效时的功耗则为各路tag sram的读出功耗。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN03116419A CN1450457A (zh) | 2003-04-16 | 2003-04-16 | 采用改进时序的低功耗组相联高速缓冲存储器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN03116419A CN1450457A (zh) | 2003-04-16 | 2003-04-16 | 采用改进时序的低功耗组相联高速缓冲存储器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1450457A true CN1450457A (zh) | 2003-10-22 |
Family
ID=28684170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN03116419A Pending CN1450457A (zh) | 2003-04-16 | 2003-04-16 | 采用改进时序的低功耗组相联高速缓冲存储器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1450457A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7502892B2 (en) * | 2003-12-30 | 2009-03-10 | Intel Corporation | Decoupling request for ownership tag reads from data read operations |
CN104536911A (zh) * | 2014-12-31 | 2015-04-22 | 华为技术有限公司 | 一种多路组相联的高速缓冲存储器及其处理方法 |
CN104718576A (zh) * | 2012-10-15 | 2015-06-17 | 马维尔国际贸易有限公司 | 用于读取电阻性随机访问存储器(rram)单元的系统和方法 |
US10552068B2 (en) | 2015-06-17 | 2020-02-04 | Sanechips Technology Co., Ltd. | Access method and device for random access memories, control chip and storage medium |
-
2003
- 2003-04-16 CN CN03116419A patent/CN1450457A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7502892B2 (en) * | 2003-12-30 | 2009-03-10 | Intel Corporation | Decoupling request for ownership tag reads from data read operations |
CN104718576A (zh) * | 2012-10-15 | 2015-06-17 | 马维尔国际贸易有限公司 | 用于读取电阻性随机访问存储器(rram)单元的系统和方法 |
CN104718576B (zh) * | 2012-10-15 | 2017-05-31 | 马维尔国际贸易有限公司 | 用于读取电阻性随机访问存储器(rram)单元的系统和方法 |
CN104536911A (zh) * | 2014-12-31 | 2015-04-22 | 华为技术有限公司 | 一种多路组相联的高速缓冲存储器及其处理方法 |
WO2016107182A1 (zh) * | 2014-12-31 | 2016-07-07 | 华为技术有限公司 | 一种多路组相联的高速缓冲存储器及其处理方法 |
CN104536911B (zh) * | 2014-12-31 | 2018-01-02 | 华为技术有限公司 | 一种多路组相联的高速缓冲存储器及其处理方法 |
US10152420B2 (en) | 2014-12-31 | 2018-12-11 | Huawei Technologies Co., Ltd. | Multi-way set associative cache and processing method thereof |
US10552068B2 (en) | 2015-06-17 | 2020-02-04 | Sanechips Technology Co., Ltd. | Access method and device for random access memories, control chip and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100573474C (zh) | 提供功率优化的高速缓冲存储器组选择的方法和系统 | |
Banakar et al. | Scratchpad memory: design alternative for cache on-chip memory in embedded systems | |
CN102216914B (zh) | 螺旋高速缓存电源管理、自适应大小调整和接口操作 | |
US7350016B2 (en) | High speed DRAM cache architecture | |
CN103219037B (zh) | 多端口读写的片内存储器 | |
US7457917B2 (en) | Reducing power consumption in a sequential cache | |
CN100377117C (zh) | 用于虚实地址变换及读写高速缓冲存储器的方法及装置 | |
CN103019959B (zh) | 一种指令高速缓冲存储器 | |
CN102610269B (zh) | 一种多读单写片内存储器 | |
Quan et al. | Prediction table based management policy for STT-RAM and SRAM hybrid cache | |
CN1450457A (zh) | 采用改进时序的低功耗组相联高速缓冲存储器 | |
KR19990006756A (ko) | 다방향 연상 기억 방식의 캐시 메모리 | |
CN101178933B (zh) | 一种闪存阵列装置 | |
CN103019963A (zh) | 一种高速缓存的映射方法及存储设备 | |
Lee et al. | A new cache architecture based on temporal and spatial locality | |
CN114911724A (zh) | 一种基于多bank的cache预取技术的访存结构 | |
US5699315A (en) | Data processing with energy-efficient, multi-divided module memory architectures | |
TWI447728B (zh) | 動態隨機存取記憶體之控制方法及控制器 | |
CN111694767B (zh) | 累加缓存装置 | |
CN101158926B (zh) | 跟踪高速缓存中节省功率的装置和方法 | |
CN102760487A (zh) | 一种高性能静态随机存储器内部最优分级的方法及其架构 | |
CN201142229Y (zh) | 一种闪存阵列装置 | |
CN111880726B (zh) | 一种提升cnfet缓存性能的方法 | |
Chang et al. | Sentry tag: an efficient filter scheme for low power cache | |
CN105426130B (zh) | 邮件快速处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |