一种多路组相联的高速缓冲存储器及其处理方法技术

技术编号:11325302 阅读:106 留言:0更新日期:2015-04-22 14:08
本发明专利技术公开了一种多路组相联的高速缓冲存储器及其处理方法。包括:M条流水线、控制器和数据存储器,任一流水线包括仲裁电路、标签存储器和判断电路;仲裁电路在第N时刻接收至少一个查询请求,从至少一个查询请求中确定出第一查询请求;标签存储器根据第一索引地址,对自身存储的标签信息进行查询,以获取与第一索引地址对应的至少一个目标标签地址;判断电路判断至少一个目标标签地址中是否存在与第一标签地址相匹配的地址;当不存在与第一标签地址相匹配的地址时,控制器将第一查询请求发给下一级设备或其它流水线处理;每条流水线的标签存储器的标签信息各不相同且M条流水线各自的标签存储器的标签信息为高速缓冲存储器的标签信息的子集。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种多路组相联的高速缓冲存储器(Cache)及其处理方法。
技术介绍
为了提高中央处理器(Central Processing Unit,CPU)系统的性能,通常会采用Cache结构来缓存最近经常使用的一些指令或数据,这样,每次取指令、或者进行数据操作时,就不需要都访问内存了,从而大大降低了操作的延迟,典型的CPU系统如图1所示。距离CPU最近的是第一级Cache (Level I Cache, LlCache),其访问速度最快,但容量一般不大;LlCache的外围设置L2Cache,其访问速度比LlCache稍慢,但容量明显增加;大型的多核 CPU 系统中还会有 L3Cache,甚至 L4Cache ;在最后一级 Cache (LLC,Last Level Cache)的下游,才是通常所说的内存(Memory),其访问速度相对各级Cache会慢很多,但是容量大了很多。CPU发出的请求(Request)主要分为两大类,一是取指令的操作,二是数据操作。取指令操作表现为读操作,数据操作表现为读操作和写操作。不论是读操作还是写操作,请求中都会携带有地址信息。CPU先把请求发往第一级Cache ;第一级Cache根据请求的地址信息判断出该请求的数据是否存在于第一级Cache中,若存在,直接在第一级Cache中完成操作,若不存在,第一级Cache将请求发往下一级存储器(可能是下一级Cache或者内存)。Cache的结构主要有三种:直接映射、全相联和组相联。其中应用最广泛的是组相联结构,典型的组相联Cache结构如图2所示。以收到一个读请求为例,处理过程如下:首先,根据该读请求的地址信息中的索引(Index)域段找到一个组(Set),其中,每个Set包括若干条路(Way),每条Way都可能存有请求的数据;然后,将请求地址中的标签(Tag)域段与每条Way中存的Tag信息进行比较,若出现相等,贝Ij表示命中(Hit) 了某条Way,该Way中存有请求的数据;若未出现相等,则表示发生了未命中(Miss),该级Cache中并不含有请求的数据,需要将请求发往下一级存储器。在大容量Cache结构的设计中,为了降低功耗,一般是采用先查TagRam(Random-Access Memory,随机存取存储器)进行Hit/Miss判断,根据查询结果再决定是否读取Data Ram的方式。为了提高吞吐率,查询Tag Ram—般是采用流水线结构。目前常采用如下方式:将所有Tag Ram作为一条流水线,每个时钟周期内接收一个查询请求,在对查询请求进行Tag查询时,同时访问某一个Index中所有的way的信息,读出后一起进行Hit/Miss判断。流水线每个时钟周期都能接收一个查询请求,每个时钟周期都可以翻转。当Cache的路数越来越多时,上述方式存在以下两方面的问题:1)查询需要并行访问的Tag Ram越多,判断Hit/Miss的逻辑复杂度越高,使得处理效率低;2)由于需要同时翻转的Tag Ram数量较多,会造成峰值功耗的增加。
技术实现思路
本专利技术提供了,解决了现有多路组相联的高速缓冲存储器中存在的处理效率低,峰值功耗大的问题。第一方面,一种多路组相联的高速缓冲存储器,该高速缓冲存储器包括:M条流水线、控制器以及数据存储器,M为大于等于2的正整数,其中任一流水线包括执行流水处理的仲裁电路、标签存储器和判断电路;所述任一流水线中:所述仲裁电路,用于在第N时刻接收至少一个查询请求,根据预设的仲裁策略,从所述至少一个查询请求中确定出第一查询请求,其中,N为正整数,所述第一查询请求携带有第一索引地址和第一标签地址;所述标签存储器,用于根据所述第一索引地址,对自身存储的标签信息进行查询,以获取与所述第一索引地址对应的至少一个目标标签地址并发送给所述判断电路;所述判断电路,用于判断所述至少一个目标标签地址中是否存在与所述第一标签地址相匹配的地址;所述控制器,用于当所述判断电路判断出所述至少一个目标标签地址中不存在与所述第一标签地址相匹配的地址时,将所述第一查询请求发给下一级设备或者除所述任一流水线之外的其它流水线进行处理;其中,每条流水线的标签存储器所存储的标签信息各不相同,且所述M条流水线各自的标签存储器存储的标签信息为所述高速缓冲存储器的标签信息的子集,所述高速缓冲存储器的各个标签信息与所述数据存储器中的各个存储块一一对应。结合第一方面,在第一种可能的实现方式中,所述高速缓冲存储器的标签信息划分为至少两个组,每条流水线中的标签存储器所存储的标签信息是将所述高速缓冲存储器各个组内的标签信息按照流水线的总数M平分后得到的。结合第一方面,在第二种可能的实现方式中,当所述判断电路判断出所述至少一个目标标签地址中不存在与所述第一标签地址相匹配的地址时,所述控制器用于:判断所述其它流水线是否已处理过所述第一查询请求;若所述其它流水线均已处理过所述第一查询请求,则将所述第一查询请求发给下一级设备进行处理;若所述其它流水线中至少一条流水线未处理过所述第一查询请求,则在第N+1时刻将所述第一查询请求发给未处理过所述第一查询请求的所述至少一条流水线中的任意一条进行处理。结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述控制器判断所述其它流水线是否已处理过所述第一查询请求,包括:检测所述第一查询请求中是否携带有指示信息,其中,所述指示信息中包括:所述第一查询请求被处理的次数、和/或处理过所述第一查询请求的流水线的标识信息;若所述第一查询请求中携带有所述指示信息,且所述指示信息指示所述第一查询请求已被处理过M-1次,则确定所述其它流水线均已处理过所述第一查询请求;若所述第一查询请求中携带有所述指示信息,且所述指示信息指示所述第一查询请求已被处理的次数小于M-1次,则确定所述其它流水线中存在未处理过所述第一查询请求的所述至少一条流水线;若所述第一查询请求中未携带所述指示信息,则确定所述其它流水线未处理过所述第一查询请求。结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,若所述指示信息指示所述第一查询请求已被处理的次数小于M-1次,所述控制器还用于:将所述第一查询请求发送给所述其它流水线处理时,更新所述指示信息中的所述第一查询请求已被处理的次数、和/或将所述任一流水线的标识信息更新到所述指示信息中。结合第一方面的第三种可能的实现方式,在第五种可能的实现方式中,若所述第一查询请求中未携带所述指示信息,所述控制器还用于:将所述第一查询请求发送给所述其它流水线处理时,携带用于指示所述第一查询请求为首次处理、和/或指示处理过所述第一查询请求的所述任一流水线的标识信息的指示信息。结合第一方面、或者第一方面的第一种至第五种可能的实现方式中的任一方式,在第六种可能的实现方式中,所述控制器还用于:当所述判断电路判断出所述至少一个目标标签地址中存在与所述第一标签地址相匹配的第一目标地址时,根据所述第一目标地址,从所述数据存储器中与所述第一目标地址相对应的存储块里读取数据。结合第一方面、或者第一方面的第一种至第六种可能的实现方式中的任一方式,在第七种可能的实现方式中,若M等于2,所述预设的仲裁策略包括:当所述本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/CN104536911.html" title="一种多路组相联的高速缓冲存储器及其处理方法原文来自X技术">多路组相联的高速缓冲存储器及其处理方法</a>

【技术保护点】
一种多路组相联的高速缓冲存储器,其特征在于,该高速缓冲存储器包括:M条流水线、控制器以及数据存储器,M为大于等于2的正整数,其中任一流水线包括执行流水处理的仲裁电路、标签存储器和判断电路;所述任一流水线中:所述仲裁电路,用于在第N时刻接收至少一个查询请求,根据预设的仲裁策略,从所述至少一个查询请求中确定出第一查询请求,其中,N为正整数,所述第一查询请求携带有第一索引地址和第一标签地址;所述标签存储器,用于根据所述第一索引地址,对自身存储的标签信息进行查询,以获取与所述第一索引地址对应的至少一个目标标签地址并发送给所述判断电路;所述判断电路,用于判断所述至少一个目标标签地址中是否存在与所述第一标签地址相匹配的地址;所述控制器,用于当所述判断电路判断出所述至少一个目标标签地址中不存在与所述第一标签地址相匹配的地址时,将所述第一查询请求发给下一级设备或者除所述任一流水线之外的其它流水线进行处理;其中,每条流水线的标签存储器所存储的标签信息各不相同,且所述M条流水线各自的标签存储器存储的标签信息为所述高速缓冲存储器的标签信息的子集,所述高速缓冲存储器的各个标签信息与所述数据存储器中的各个存储块一一对应。...

【技术特征摘要】

【专利技术属性】
技术研发人员:信恒超
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1