[发明专利]单周期执行高速缓存写命中操作的装置及方法有效
申请号: | 201210037948.5 | 申请日: | 2012-02-17 |
公开(公告)号: | CN102646071A | 公开(公告)日: | 2012-08-22 |
发明(设计)人: | 朱伟成;喻庆东;周莉;陈杰 | 申请(专利权)人: | 中国科学院微电子研究所 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 周国城 |
地址: | 100083 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 周期 执行 高速缓存 命中 操作 装置 方法 | ||
技术领域
本发明涉及处理器体系结构领域,特别是一种单周期执行高速缓存(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用于存储地址标签。
上述方案中,该装置采用二级流水线结构,由监控周期和写回周期构成,其中监控周期对应于高速缓存的数据周期,写回周期对应于高速缓存的查询周期。所述二级流水线结构在监控周期监测是否发生写命中,如果是则将待写数据暂存于缓冲单元,如果否则无需进行操作;在写回周期检查是否是新的写操作的查询周期,如果是则将缓冲单元中的待写数据写回到高速缓存,如果否则无须操作。
为达到上述目的,本发明还提供了一种单周期执行高速缓存写命中操作的方法,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院微电子研究所,未经中国科学院微电子研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210037948.5/2.html,转载请声明来源钻瓜专利网。