数据访问的方法和处理器系统技术方案

技术编号:31889642 阅读:13 留言:0更新日期:2022-01-15 12:15
本申请公开了一种数据访问的方法和处理器系统,所述处理器系统包括:处理器核、上级缓存和下级缓存,其中,所述上级缓存和所述下级缓存位于不同的die,所述方法包括:判断所述上级缓存中是否有待访问数据,当所述上级缓存未存储待访问数据时,向所述下级缓存和内存分别发送数据读取请求,从所述下级缓存或者所述内存中的任一方接收在先返回的所述待访问数据。通过上述方式,可以使得处理器核在上级缓存中未命中待访问数据时,上级缓存可以分别向下级缓存和内存请求待访问数据,无需先判断是否可以在所述下级缓存中命中所述待访问数据,从而不需要将所述下级缓存的tag存储在上级缓存中,避免了对上级缓存的空间浪费。避免了对上级缓存的空间浪费。避免了对上级缓存的空间浪费。

【技术实现步骤摘要】
数据访问的方法和处理器系统
[0001]本申请要求于2020年7月13日提交的申请号为202010671444.3、专利技术名称为“一种数据访问的方法和处理器系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。


[0002]本申请涉及计算领域,特别涉及一种数据访问的方法和处理器系统。

技术介绍

[0003]服务器系统中,缓存的结构和容量大小是中央处理器(Central Processing Unit,CPU)的重要性能指标,对CPU速度的影响非常大。CPU内缓存的运行频率极高,一般可以和处理器同频运作,效率远远高于系统内存和硬盘。实际运行场景中,CPU往往需要重复读取同样的数据块,而缓存容量的增大,可以大幅度提升CPU读取数据的命中率,以此提高系统性能。但是由于CPU芯片面积和成本的因素,缓存容量一般较小。
[0004]按照数据读取顺序和与CPU结合的紧密程度,CPU缓存可以分为第一级缓存L1,第二级缓存L2,部分高端CPU还具有第三级缓存L3,每一级缓存中所储存的全部数据都是下一级缓存的一部分,这三种缓存的技术难度和制造成本是相对递减的,其容量也是相对递增的。上述三级缓存容量有限,因此,现有技术中还引入了大容量的第四级缓存L4。
[0005]当CPU要读取待访问数据时,依次从L1

L3中查找待访问数据。当在L1~L3级缓存均未命中所述待访问数据时,L3缓存的控制器基于L3缓存中存的L4 tags(标签)判断数据是否在L4中,如果不在,则从内存中读取待访问数据。

技术实现思路

[0006]本申请提供了一种数据访问的方法和处理器系统,避免在上级缓存中存放下级缓存标签tags,从而避免对所述上级缓存的空间浪费。
[0007]第一方面,本申请提供了一种数据访问的方法,所述方法应用于处理器系统,所述处理器系统包括:处理器核、上级缓存和下级缓存,其中,所述上级缓存和所述下级缓存位于不同的die,所述方法包括:当所述上级缓存未存储待访问数据时,所述上级缓存向所述下级缓存和所述内存分别发送数据读取请求,从所述下级缓存或者所述内存中的任一方接收在先返回的所述待访问数据。
[0008]通过上述方式,可以使得在上级缓存中未命中待访问数据时,无需先判断是否可以在所述下级缓存中命中所述待访问数据,而是并发向下级缓存和内存发送数据获取请求,从二者中的任一个获取待访问数据,从而不需要在所述上级缓存中存储用于查询所述下级缓存的标签tag,避免了对上级缓存的空间浪费。
[0009]在一种可能的实施方式中,上级缓存和下级缓存分别包括硬件控制逻辑和缓存空间,例如缓存控制器(Cache Controller)。缓存控制器用于与CPU核或者其他缓存的缓存控制器通信,并对本级缓存的缓存空间执行操作,例如,查询、写入和老化等等。
[0010]在另一种可能的实施方式中,可以由所述上级缓存的缓存控制器执行第一方面的方法。
[0011]在另一种可能的实施方式中,所述从所述下级缓存或者所述内存中的任一方接收在先返回的所述待访问数据包括:在先接收到从所述下级缓存返回的所述待访问数据时,丢弃在后收到的所述内存返回的数据读取响应;或者,在所述下级缓存中未存储所述待访问数据时,获取从所述内存返回的所述待访问数据。
[0012]由于下级缓存的数据访问速度远快于内存的数据访问速度,当待访问数据已经缓存在所述下级缓存时,下级缓存返回所述待访问数据给所述上级缓存的速度快于内存返回所述待访问数据的速度。此时,所述上级缓存在接收到来自下级缓存的待访问数据后,想处理器核返回待访问数据,并丢弃在后收到的内存返回的待访问数据。当待访问数据没有缓存在所述下级缓存中时,下级缓存会向上级缓存返回查询响应(snoop response),所述查询响应用于表示所述下级缓存中未缓存有有效的所述待访问数据。所述上级缓存从所述内存接收所述待访问数据。
[0013]在一种可能的实施方式中,所述上级缓存所在的die与所述下级缓存所在的die合封形成处理器芯片,所述上级缓存与所述下级缓存通过die间总线通信。
[0014]上级缓存和处理器核可以在同一CPU die上。
[0015]在另一种可能的实施方式中,所述下级缓存处在所述上级缓存所在的处理器芯片的外部,所述上级缓存与所述下级缓存通过芯片间总线通信。
[0016]在一种可能的实施方式中,所述上级缓存通过所述处理器芯片上的内存控制器第一端口与所述内存通信,所述下级缓存通过所述处理器芯片上的内存控制器第二端口与所述内存通信。所述内存为双通道随机存取内存(Dual

ported Random Access Memory,DPRAM)
[0017]在另一种可能的实施方式中,所述处理器系统还包括IO die,所述IO die可以用于实现所述上级缓存和所述下级缓存与所述内存之间的连接。具体的,所述IO die通过其上的内存控制器连接所述上级缓存与所述内存,以及,连接所述下级缓存和所述内存。
[0018]在一种可能的实施方式中,所述下级缓存通过所述内存控制器与所述内存之间存在DDR总线(PHY)与所述内存进行通信。
[0019]具体的,所述下级缓存通过所述DDR总线将老化的缓存数据更新到所述内存中;或者所述下级缓存通过所述DDR总线从所述内存获取待缓存的数据。
[0020]所述下级缓存通过所述内存控制器将老化的缓存数据更新到所述内存中。
[0021]在一种可能的实施方式中,所述上级缓存将老化的第一缓存行cache line发送给所述下级缓存;如果所述第一缓存行在所述下级缓存中命中,则所述下级缓存使用接收到的所述第一缓存行更新本地缓存;如果所述第一缓存行未在所述下级缓存命中,则将所述第一缓存行写入所述下级缓存。
[0022]所述上级缓存为第三级缓存L3,所述下级缓存为第四级缓存L4;或,
[0023]所述上级缓存为第二级缓存L2,所述下级缓存为第三级缓存L3。
[0024]第二方面,本申请实施例还提供了一种处理器系统,包括处理器核、上级缓存和下级缓存,其中,所述上级缓存和所述下级缓存位于不同的die,
[0025]所述上级缓存用于在所述上级缓存中没有存储待访问数据时,向所述下级缓存和
内存分别发送数据读取请求,用于请求所述待访问数据,从所述下级缓存或者所述内存中的任一方接收在先返回的所述待访问数据。
[0026]具体的,可以由所述上级缓存的缓存控制器执行前述第二方面的动作。
[0027]第三方面,本申请实施例还提供了一种处理器系统,包括处理器核、上级缓存和下级缓存,其中,所述上级缓存和所述下级缓存位于不同的die,所述上级缓存中未存储所述下级缓存的标签tag。
[0028]第四方面,本申请实施例还提供了一种处理器系统,包括处理器核、第一级缓存、第二级缓存、第三级缓存和第四级缓存,其中,所述处理器核、第一级缓存、第二级缓存和第三级缓存位于处理器本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据访问的方法,其特征在于,所述方法应用于处理器系统,所述处理器系统包括:处理器核、上级缓存和下级缓存,其中,所述上级缓存和所述下级缓存位于不同的die,所述方法包括:当所述上级缓存未存储待访问数据时,向所述下级缓存和内存分别发送数据读取请求,用于请求所述待访问数据;从所述下级缓存或者所述内存中的任一方接收在先返回的所述待访问数据。2.如权利要求1所述的方法,其特征在于,所述上级缓存所在的die与所述下级缓存所在的die合封形成处理器芯片,所述上级缓存与所述下级缓存通过die间总线通信。3.如权利要求1所述的方法,其特征在于,所述下级缓存处在所述上级缓存所在的处理器芯片的外部,所述上级缓存与所述下级缓存通过芯片间总线通信。4.如权利要求2或3所述的方法,其特征在于,所述上级缓存通过所述处理器芯片上的内存控制器第一端口与所述内存通信,所述下级缓存通过所述处理器芯片上的内存控制器第二端口与所述内存通信。5.如权利要求2或3任一所述的方法,其特征在于,所述处理器系统还包括IO die,所述IO die通过其上的内存控制器连接所述上级缓存与所述内存,以及,连接所述下级缓存和所述内存。6.如权利要求4或5任一所述的方法,其特征在于,所述下级缓存通过所述内存控制器与所述内存之间存在DDR总线与所述内存进行通信。7.如权利要求6所述的方法,其特征在于,所述方法包括:所述下级缓存通过所述DDR总线将老化的缓存数据更新到所述内存中;或者所述下级缓存通过所述DDR总线从所述内存获取待缓存的数据。8.如权利要求7所述的方法,其特征在于,所述下级缓存通过所述DDR总线将老化的缓存数据更新到所述内存中包括:所述下级缓存通过所述内存控制器将老化的缓存数据更新到所述内存中。9.如权利要求1

8任一所述的方法,其特征在于,所述方法包括:所述上级缓存将老化的第一缓存行cache line发送给所述下级缓存;如果所述第一缓存行在所述下级缓存中命中,则所述下级缓存使用接收到的所述第一缓存行更新本地缓存;如果所述第一缓存行未在所述下级缓存命中,则将所述第一缓存行写入所述下级缓存。10.如权利要求1

9任一所述的方法,其特征在于,所述上级缓存为第三级缓存L3,所述下级缓存为第四级缓存L4;或,所述上级缓存为第二级缓存L2,所述下级缓存为第三级缓存L3。11.一种处理器系统,其特征在于,包括:第一die和第二die,所述第一die包括上级缓存和内存控制器,所述第二die包括下级缓存,所述下级缓存用于确定待老化的缓存行,将所述缓存行发送到所述第二die;所述第二die用于通过所述内存控制器的端口将所述缓存行发送到内存。12.一种处理器系统,其特征在于,包括处理器核、上级缓存和下级缓存,其中,所述上级缓存和所述下级缓存位于不同的die,
所述上级缓存用于在未缓存待访问数据时,向所述下级缓存和内存分别发送数据读取请求,用于请求所述待访问数据,从所述下级缓存或者所述内存中的任一方接收在先返回的所述待访问数据。13.如权利要求12的系统,其特征在于,所述上级缓存具体用于在先接收到从所述下级缓存返回的所述待访问数据时,丢弃在后收到的所述内存返回的数据读取响应;或者所述上级缓存具体用于在所述下级缓存中未存储所述待访问数据时,获取从所述内存返回的所述待访问数据。14.如权利要求12或13的系统,其特征...

【专利技术属性】
技术研发人员:周轶刚栗炜尹文
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1