CN102646071A - 单周期执行高速缓存写命中操作的装置及方法 - Google Patents

单周期执行高速缓存写命中操作的装置及方法 Download PDF

Info

Publication number
CN102646071A
CN102646071A CN2012100379485A CN201210037948A CN102646071A CN 102646071 A CN102646071 A CN 102646071A CN 2012100379485 A CN2012100379485 A CN 2012100379485A CN 201210037948 A CN201210037948 A CN 201210037948A CN 102646071 A CN102646071 A CN 102646071A
Authority
CN
China
Prior art keywords
data
write
buffer cell
hit
speed 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.)
Granted
Application number
CN2012100379485A
Other languages
English (en)
Other versions
CN102646071B (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.)
Institute of Microelectronics of CAS
Original Assignee
Institute of Microelectronics of CAS
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 Institute of Microelectronics of CAS filed Critical Institute of Microelectronics of CAS
Priority to CN201210037948.5A priority Critical patent/CN102646071B/zh
Publication of CN102646071A publication Critical patent/CN102646071A/zh
Application granted granted Critical
Publication of CN102646071B publication Critical patent/CN102646071B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种单周期执行高速缓存写命中操作的装置及方法,该装置包括:监控单元,用于监测高速缓存中Data静态存储器写端口的数据和命中信号,如果发生写命中则将待写数据和对应地址的Tag写入缓冲单元;缓冲单元,用于存储和缓冲写命中数据和Tag,并且在操作后将当前缓冲器的状态进行及时的更新;写回单元,用于监测下一次写操作的查询周期,并在这个周期将缓冲单元中的待写回数据写入到高速缓存的Data静态存储器中;命中判定单元,用于判断当前的读操作是否命中了缓冲单元,如果是则将缓冲单元的数据传递给总线,并通知读操作完成。本发明采用缓冲写回和流水线技术,使得单周期即可完成高速缓存写命中操作,有利于系统芯片整体性能提高。

Description

单周期执行高速缓存写命中操作的装置及方法
技术领域
本发明涉及处理器体系结构领域,特别是一种单周期执行高速缓存(Cache)写命中操作的装置及方法。
背景技术
为满足人们日益广泛的数字媒体应用需求,满足处理器运行媒体应用程序对存储设备的速度要求,填补处理器和主存储器之间的速度差距,工业界和学术界提出了一系列的Cache技术。
Cache技术是一种隐藏处理器和主存储器之间速度差距的最有效方式之一,由于程序运行具有一定的空间局部性和重用性,Cache技术正是利用了这种程序特点,将地址连续的一系列待存储数据按照Cache块结构预先加载到Cache的Data静态存储器当中,同时将与之对应的Cache块地址以Tag的形式存储到Cache的Tag静态存储器当中。由于静态存储器比主存储器采用的动态存储器具有更快的速度,而且地址连续的Cache块内数据之间有一定的空间局部性和重用性,所以在Cache命中率高的情况下,对于处理器而言,相当于访问的是拥有主存容量的静态存储器。
在Cache设计中通常采用两级流水线结构,即查询周期和数据周期。在查询周期访问Tag静态存储器,如果是读操作则同时访问Data静态存储器。数据周期将获取的Tag数据与当前访问地址中的Tag段进行比较。如果发生读命中,则直接将获取的数据送给总线,并通知读操作完成;如果发生写命中,则将总线上的写数据写入Cache的Data静态存储器中。
但这种流水线结构存在访存冲突的问题。即写命中发生时,在写命中操作的数据周期中,需要将写命中数据写入Cache的Data静态存储器;如果此时发生读操作,由于读操作需同时访问Tag和Data静态存储器,这样就造成了Data静态存储器的读写访问冲突。而出于芯片面积和成本考虑,Data静态存储器通常采用单端口SRAM实现,在这种情况下流水线必需停滞一个周期,使得Cache写命中操作至少需要两个周期执行,造成系统性能下降。
使用双端口SRAM实现Data静态存储器,可以避免以上的流水线冲突,但双端口静态存储器的面积通常是等容量单端口静态存储器的1.5到2倍,会增加芯片面积和功耗,且资源利用率低。
发明内容
(一)要解决的技术问题
为克服传统Cache的Data静态存储器实现方案中,单端口SRAM解决方案性能低,而双端口SRAM解决方案面积大资源利用率低的不足,本发明提供了一种单周期执行Cache写命中操作的装置,以兼顾性能和面积的要求,具有性能好、面积小、功耗低的特点。
(二)技术方案
为达到上述目的,本发明提供了一种单周期执行高速缓存写命中操作的装置,该装置包括:
监控单元1,用于监测高速缓存中Data静态存储器写端口的数据和命中信号,如果发生写命中则将待写数据和对应地址的Tag写入缓冲单元2;
缓冲单元2,用于存储和缓冲写命中数据和Tag,并且在操作后将当前缓冲器的状态进行及时的更新;
写回单元3,用于监测下一次写操作的查询周期,并在这个周期将缓冲单元2中的待写回数据写入到高速缓存的Data静态存储器中;以及
命中判定单元4,用于判断当前的读操作是否命中了缓冲单元2,如果是则将缓冲单元2的数据传递给总线,并通知读操作完成。
上述方案中,所述监控单元1和所述写回单元3是控制部分,所述缓冲单元2是存储部分,所述命中判定单元4用于与总线通信;缓冲单元2包含一个Data寄存器和一个Tag寄存器。在写命中发生时,所述单周期执行高速缓存写命中操作的装置通过将待写入高速缓存中的写命中数据暂存入该缓冲单元2的Data寄存器中,并将对应地址的Tag暂存入该缓冲单元2的Tag寄存器中,以在下一个写操作的查询周期将其写回高速缓存中,降低高速缓存写操作的流水线停滞,使得高速缓存写命中操作在单周期即可完成。
上述方案中,所述缓冲单元2连接于高速缓存,高速缓存包含有一个Data静态存储器5和一个Tag静态存储器6,其中,Data静态存储器5用于存储缓存数据,Tag静态存储器6用于存储地址标签。
上述方案中,该装置采用二级流水线结构,由监控周期和写回周期构成,其中监控周期对应于高速缓存的数据周期,写回周期对应于高速缓存的查询周期。所述二级流水线结构在监控周期监测是否发生写命中,如果是则将待写数据暂存于缓冲单元,如果否则无需进行操作;在写回周期检查是否是新的写操作的查询周期,如果是则将缓冲单元中的待写数据写回到高速缓存,如果否则无须操作。
为达到上述目的,本发明还提供了一种单周期执行高速缓存写命中操作的方法,包括:
步骤1:监控单元1在监测到写命中时启动,将待写数据和对应地址的Tag写入缓冲单元2,并且通知总线操作完成,以完成写命中操作。
步骤2:缓冲单元2更新状态信息,表示当前存储数据和Tag有效。
步骤3:命中判定单元4监测当前读操作是否命中缓冲单元2,如果是则将缓冲单元2的有效数据传递给总线,并通知操作完成,以完成读命中操作。
步骤4:写回单元3监测当前周期是否是新的写操作查询周期,如果是则根据Tag信息将缓冲单元2中的有效数据写回到高速缓存中Data静态存储器5中,以保证Data静态存储器5数据的一致性。
(三)有益效果
从上述技术方案可以看出,本发明具有以下有益效果:
1、利用本发明,由于采用了缓冲写回和流水线技术使得单周期即可完成高速缓存写命中操作,所以其写操作的性能可以较传统高速缓存提高一倍,有利于系统芯片整体性能提高。
2、利用本发明,由于连接的高速缓存采用单端口SRAM即可达到双端口SRAM的写操作性能,所以可以大大降低系统面积和功耗,对于系统芯片整体面积和功耗的降低具有重要意义。
附图说明
图1是依照本发明实施例单周期执行Cache写命中操作的装置的示意图;
图2是依照本发明实施例单周期执行Cache写命中操作的装置与Cache的连接关系的示意图;
图3是依照本发明实施例单周期执行Cache写命中操作的装置的二级流水线的示意图;
图4是依照本发明实施例单周期执行Cache写命中操作的装置的工作流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
为克服传统Cache的Data静态存储器实现方案中,单端口SRAM解决方案性能低,而双端口SRAM解决方案面积大资源利用率低的不足,本发明结合二者的优点,基于数据缓冲的思想,提供了一种单周期执行Cache写命中操作的装置。
如图1所示,图1是依照本发明实施例单周期执行Cache写命中操作的装置的示意图,该装置包括监控单元1、缓冲单元2、写回单元3和命中判定单元4。其中,监控单元1和写回单元3是控制部分,缓冲单元2是存储部分,命中判定单元4用于与总线通信。
缓冲单元2包含一个Data寄存器和一个Tag寄存器(图中未示),在写命中发生时,本发明提供的单周期执行Cache写命中操作的装置通过将待写入Cache中的写命中数据暂存入该缓冲单元2的Data寄存器中,并将对应地址的Tag暂存入该缓冲单元2的Tag寄存器中,在下一个写操作的查询周期将其写回Cache中,有效的降低了Cache写操作的流水线停滞,使得Cache写命中操作在单周期即可完成,性能比传统Cache结构提高了一倍。
图1所示单周期执行高速缓存写命中操作的装置中,缓冲单元2连接于高速缓存,高速缓存包含有一个Data静态存储器5和一个Tag静态存储器6,其中,Data静态存储器5用于存储缓存数据,Tag静态存储器6用于存储地址标签。该装置与高速缓存的连接关系如图2所示。
参照图1和图2,监控单元1用于监测Cache中Data静态存储器5写端口的数据和命中信号,如果发生写命中则将待写数据和对应地址的Tag写入缓冲单元2,否则,无须操作。缓冲单元2用于存储和缓冲写命中数据和Tag,并且在操作后将当前缓冲器的状态进行及时的更新。写回单元3用于监测下一次写操作的查询周期,并在这个周期将缓冲单元2中的待写回数据写入到Cache中的Data静态存储器5中。命中判定单元4用于判断当前的读操作是否命中了缓冲单元2,如果是则将缓冲单元2的数据传递给总线,并通知读操作完成;否则,无须操作。
图1所示单周期执行Cache写命中操作的装置,采用二级流水线结构,由监控周期和写回周期构成,其中监控周期对应于高速缓存的数据周期,写回周期对应于高速缓存的查询周期,其流水线结构见附图3。所述二级流水线结构在监控周期监测是否发生写命中,如果是则将待写数据暂存于缓冲单元,如果否则无需进行操作;在写回周期检查是否是新的写操作的查询周期,如果是则将缓冲单元中的待写数据写回到高速缓存,如果否则无须操作。
图1所示单周期执行Cache写命中操作的装置在系统初始化时复位,当出现首个写命中操作时开始运行,其工作流程如图4所示,其具体实施过程可描述如下:
第一步:监控单元1在监测到写命中时启动,将待写数据和对应地址的Tag写入缓冲单元2,并且通知总线操作完成,以完成写命中操作。
第二步:缓冲单元2更新状态信息,表示当前存储数据和Tag有效。
第三步:命中判定单元4监测当前读操作是否命中缓冲单元2,如果是则将缓冲单元2的有效数据传递给总线,并通知操作完成,以完成读命中操作;否则,无须操作。
第四步:写回单元3监测当前周期是否是新的写操作查询周期,如果是则根据Tag信息将缓冲单元2中的有效数据写回到Cache中的Data静态存储器5中,以保证Data静态存储器5数据的一致性;否则,无须操作。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种单周期执行高速缓存写命中操作的装置,其特征在于,该装置包括:
监控单元(1),用于监测高速缓存中Data静态存储器写端口的数据和命中信号,如果发生写命中则将待写数据和对应地址的Tag写入缓冲单元(2);
缓冲单元(2),用于存储和缓冲写命中数据和Tag,并且在操作后将当前缓冲器的状态进行及时的更新;
写回单元(3),用于监测下一次写操作的查询周期,并在这个周期将缓冲单元(2)中的待写回数据写入到高速缓存的Data静态存储器中;以及
命中判定单元(4),用于判断当前的读操作是否命中了缓冲单元(2),如果是则将缓冲单元(2)的数据传递给总线,并通知读操作完成。
2.根据权利要求1所述的单周期执行高速缓存写命中操作的装置,其特征在于,所述监控单元(1)和所述写回单元(3)是控制部分,所述缓冲单元(2)是存储部分,所述命中判定单元(4)用于与总线通信;缓冲单元(2)包含一个Data寄存器和一个Tag寄存器。
3.根据权利要求2所述的单周期执行高速缓存写命中操作的装置,其特征在于,在写命中发生时,所述单周期执行高速缓存写命中操作的装置通过将待写入高速缓存中的写命中数据暂存入该缓冲单元(2)的Data寄存器中,并将对应地址的Tag暂存入该缓冲单元(2)的Tag寄存器中,以在下一个写操作的查询周期将其写回高速缓存中,降低高速缓存写操作的流水线停滞,使得高速缓存写命中操作在单周期即可完成。
4.根据权利要求1所述的单周期执行高速缓存写命中操作的装置,其特征在于,所述缓冲单元(2)连接于高速缓存,高速缓存包含有一个Data静态存储器(5)和一个Tag静态存储器(6),其中,Data静态存储器(5)用于存储缓存数据,Tag静态存储器(6)用于存储地址标签。
5.根据权利要求1所述的单周期执行高速缓存写命中操作的装置,其特征在于,该装置采用二级流水线结构,由查询周期和数据周期构成,其中查询周期同时是写回周期,数据周期同时是监控周期。
6.根据权利要求5所述的单周期执行高速缓存写命中操作的装置,其特征在于,所述二级流水线结构在监控周期监测是否发生写命中,如果是则将待写数据暂存于缓冲单元,如果否则无需进行操作;在写回周期检查是否是新的写操作的查询周期,如果是则将缓冲单元中的待写数据写回到高速缓存,如果否则无须操作。
7.一种单周期执行高速缓存写命中操作的方法,应用于权利要求1至6中任一项所述的装置,其特征在于,包括:
步骤1:监控单元(1)在监测到写命中时启动,将待写数据和对应地址的Tag写入缓冲单元(2),并且通知总线操作完成,以完成写命中操作。
步骤2:缓冲单元(2)更新状态信息,表示当前存储数据和Tag有效。
步骤3:命中判定单元(4)监测当前读操作是否命中缓冲单元(2),如果是则将缓冲单元(2)的有效数据传递给总线,并通知操作完成,以完成读命中操作。
步骤4:写回单元(3)监测当前周期是否是新的写操作查询周期,如果是则根据Tag信息将缓冲单元(2)中的有效数据写回到高速缓存中Data静态存储器(5)中,以保证Data静态存储器(5)数据的一致性。
CN201210037948.5A 2012-02-17 2012-02-17 单周期执行高速缓存写命中操作的装置及方法 Active CN102646071B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210037948.5A CN102646071B (zh) 2012-02-17 2012-02-17 单周期执行高速缓存写命中操作的装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210037948.5A CN102646071B (zh) 2012-02-17 2012-02-17 单周期执行高速缓存写命中操作的装置及方法

Publications (2)

Publication Number Publication Date
CN102646071A true CN102646071A (zh) 2012-08-22
CN102646071B CN102646071B (zh) 2014-07-30

Family

ID=46658899

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210037948.5A Active CN102646071B (zh) 2012-02-17 2012-02-17 单周期执行高速缓存写命中操作的装置及方法

Country Status (1)

Country Link
CN (1) CN102646071B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019959A (zh) * 2012-11-21 2013-04-03 中国科学院声学研究所 一种指令高速缓冲存储器
CN104375895A (zh) * 2013-08-13 2015-02-25 华为技术有限公司 用于多种存储器间的数据存储调度方法以及装置
CN106126451A (zh) * 2016-06-20 2016-11-16 中国航天科技集团公司第九研究院第七七研究所 基于包含式Cache体系的多核处理器低功耗设计结构
CN112486897A (zh) * 2019-09-11 2021-03-12 中国科学院微电子研究所 一种高速缓存系统及单周期多数据的入栈、出栈操作方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256708B1 (en) * 1996-08-28 2001-07-03 Nec Corporation Auxiliary buffer for direct map cache
CN1851673A (zh) * 2005-12-13 2006-10-25 华为技术有限公司 处理器系统及其数据操作方法
CN1851677A (zh) * 2005-11-25 2006-10-25 华为技术有限公司 嵌入式处理器系统及其数据操作方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256708B1 (en) * 1996-08-28 2001-07-03 Nec Corporation Auxiliary buffer for direct map cache
CN1851677A (zh) * 2005-11-25 2006-10-25 华为技术有限公司 嵌入式处理器系统及其数据操作方法
CN1851673A (zh) * 2005-12-13 2006-10-25 华为技术有限公司 处理器系统及其数据操作方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019959A (zh) * 2012-11-21 2013-04-03 中国科学院声学研究所 一种指令高速缓冲存储器
CN103019959B (zh) * 2012-11-21 2016-05-04 中国科学院声学研究所 一种指令高速缓冲存储器
CN104375895A (zh) * 2013-08-13 2015-02-25 华为技术有限公司 用于多种存储器间的数据存储调度方法以及装置
CN104375895B (zh) * 2013-08-13 2018-02-06 华为技术有限公司 用于多种存储器间的数据存储调度方法以及装置
CN106126451A (zh) * 2016-06-20 2016-11-16 中国航天科技集团公司第九研究院第七七研究所 基于包含式Cache体系的多核处理器低功耗设计结构
CN106126451B (zh) * 2016-06-20 2019-01-25 中国航天科技集团公司第九研究院第七七一研究所 基于包含式Cache体系的多核处理器低功耗设计结构
CN112486897A (zh) * 2019-09-11 2021-03-12 中国科学院微电子研究所 一种高速缓存系统及单周期多数据的入栈、出栈操作方法

Also Published As

Publication number Publication date
CN102646071B (zh) 2014-07-30

Similar Documents

Publication Publication Date Title
CN103988183B (zh) 2级存储器分级结构中的存储器侧高速缓存的动态部分断电
EP2901293B1 (en) Intelligent far memory bandwidth scaling
CN102831088A (zh) 基于混合存储器的数据迁移方法和装置
TWI718169B (zh) 用於使記憶體裝置進入低功率狀態的技術
CN107466418A (zh) 用于多级别单元模式非易失性存储器的成本优化单级别单元模式非易失性存储器
CN106462504A (zh) 最终级高速缓存系统和对应的方法
CN103729306B (zh) 高速缓存块无效的方法和数据处理设备
CN103246542B (zh) 智能缓存及智能终端
CN102495756A (zh) 操作系统在不同的中央处理器之间切换的方法及系统
US9411728B2 (en) Methods and apparatus for efficient communication between caches in hierarchical caching design
TWI670602B (zh) 電子器件及省電快取記憶體使用之方法
US8583873B2 (en) Multiport data cache apparatus and method of controlling the same
CN103116555B (zh) 基于多体并行缓存结构的数据访问方法
WO2014143036A1 (en) Method for pinning data in large cache in multi-level memory system
CN102637147A (zh) 利用固态硬盘作为计算机写缓存的存储系统以及相应的管理调度方法
CN104781794A (zh) 用于非易失性存储器中的数据结构的暂时和持久状态之间的原地改变
CN101526896B (zh) 嵌入式处理器的加载/存储单元
CN102646071B (zh) 单周期执行高速缓存写命中操作的装置及方法
CN103927270A (zh) 一种面向多个粗粒度动态可重构阵列的共享数据缓存装置及控制方法
CN102541510A (zh) 一种指令缓存系统及其取指方法
CN103488585B (zh) 用于实现可重构系统中配置信息缓存更新的控制器
CN105550979A (zh) 一种高数据通量纹理Cache层次结构
CN104808950B (zh) 对嵌入式存储器元件的模式依赖性访问
CN104281545B (zh) 一种数据读取方法及设备
US20160048447A1 (en) Magnetoresistive random-access memory cache write management

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190910

Address after: 100029 Beijing city Chaoyang District Beitucheng West Road No. 3, building 15, room 328

Patentee after: Beijing Zhongke micro Investment Management Co.,Ltd.

Address before: 100083 Beijing city Chaoyang District Beitucheng West Road No. 3

Patentee before: Institute of Microelectronics, Chinese Academy of Sciences

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200416

Address after: 264315 No. 788 Laoshan South Road, Rongcheng, Weihai, Shandong.

Patentee after: China core (Rongcheng) Information Technology Industry Research Institute Co.,Ltd.

Address before: 100029 Beijing city Chaoyang District Beitucheng West Road No. 3, building 15, room 328

Patentee before: Beijing Zhongke micro Investment Management Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230711

Address after: 100029 Beijing city Chaoyang District Beitucheng West Road No. 3

Patentee after: Institute of Microelectronics, Chinese Academy of Sciences

Address before: 264315 No. 788 Laoshan South Road, Rongcheng, Weihai, Shandong.

Patentee before: China core (Rongcheng) Information Technology Industry Research Institute Co.,Ltd.

TR01 Transfer of patent right