[发明专利]基于多级缓存的数据读/写方法、装置和计算机系统有效
申请号: | 201310331344.6 | 申请日: | 2013-07-31 |
公开(公告)号: | CN104346294B | 公开(公告)日: | 2017-08-25 |
发明(设计)人: | 李晔;张立新;侯锐;张科 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | G06F12/0871 | 分类号: | G06F12/0871 |
代理公司: | 北京中博世达专利商标代理有限公司11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 多级 缓存 数据 方法 装置 计算机系统 | ||
技术领域
本发明涉及计算机系统的数据读写领域,尤其涉及一种基于多级缓存的数据读/写方法、装置和计算机系统。
背景技术
缓存(Cache,也称为高速缓冲存储器)位于中央处理器(CPU,Central Processing Unit)和内存(Memory)之间,主要是为了解决CPU运算速度和内存读写速度不匹配的问题。目前计算机最多采用三级Cache结构,其中L1(Level1)采用高速小容量的Cache,L2(Level2)采用速度中等容量较大的Cache,L3(Level3)采用低速大容量的Cache。
基于上述的多级Cache,现有技术中CPU执行读操作的具体过程如下:
当CPU Core(CPU核)在发出读数据请求时,通过逐层查找的方式,即先从L1Cache开始查找数据,如果Cache未命中(Cache miss),去L2Cache中查找,依次类推,直至查找到数据为止。
在上述的过程中,通常需要经过多次查找方可命中,例如假如读操作针对的数据存储在L3Cache中,这样必须在L1Cache和L2Cache均未命中的情况下才会到L3Cache查找数据,从而导致Cache访问效率比较低。
发明内容
本发明的实施例提供了一种基于多级缓存的数据读/写方法、装置和计算机系统,有助于提高Cache访问效率,进而有助于在数据读/写过程中降低Cache缺失率。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明提供了一种基于多级缓存的数据读/写方法,包括:
获取读/写数据所针对的第一物理内存数据块的第一查询地址;
获取所述第一物理内存数据块的第一缓存位置属性;所述第一缓存位置属性用于指示第一物理内存数据块所能进入缓存的级别;
根据所述第一查询地址,按照所述第一缓存位置属性所指示的第一物理内存数据块所能进入的缓存级别从高到低的顺序依次查询缓存是否命中,直至一个缓存命中或所有缓存均未命中为止;
若一个缓存命中,则针对所命中缓存中的第一物理内存数据块的第一查询地址读/写数据;或,若所有缓存均未命中,则针对内存中的第一物理内存数据块的第一查询地址读/写数据。
在第一种可能的实现方式中,根据第一方面,所述第一缓存位置属性为根据第一物理内存数据块的被访问情况,在页表缓存TLB中为所述第一物理内存数据块所设定的;
所述获取所述第一物理内存数据块的第一缓存位置属性包括:
根据页表缓存TLB中存储的物理内存数据块的属性信息,查询所述第一查询地址对应的第一缓存位置属性;所述TLB中存储有物理内存数据块的属性信息,其中包括:物理内存数据块的查询地址、物理内存数据块的缓存位置属性的对应关系。
在第二种可能的实现方式中,根据第一方面,所述第一缓存位置属性为根据第一物理内存数据块的被访问情况,在系统寄存器中为所述第一物理内存数据块所设定的;
所述获取所述第一物理内存数据块的第一缓存位置属性包括:
读取当前系统寄存器中存储的缓存位置属性,并其作为所述第一物理内存数据块的第一缓存位置属性;所述系统寄存器用于存储缓存位置属性。
在第三种可能的实现方式中,根据第一方面,所述针对所命中缓存中的第一物理内存数据块的第一查询地址读/写数据包括:通过与所命中缓存间的直接数据通路,针对所命中缓存中的第一物理内存数据块的第一查询地址读/写数据;或者,
所述针对内存中的第一物理内存数据块的第一查询地址读/写数据包括:通过与内存间的直接数据通路,针对内存中的第一物理内存数据块的第一查询地址读/写数据。
在第四种可能的实现方式中,结合第一方面或前三种可能的实现方式中的任一种,在读数据时,
若所命中缓存的级别是所述第一缓存位置属性指示的所能进入缓存级别中的非最高级别,则所述方法还包括:在所述第一缓存位置属性指示的所能进入的缓存级别中,将需要读的数据回填到级别高于所命中缓存的级别的缓存;或者,
若所命中缓存的级别是所述第一缓存位置属性指示的所能进入缓存级别中的最高级别,则不向其他缓存回填数据;或者,
若所有缓存均未命中,则所述方法还包括:将需要读的数据回填到所述第一缓存位置属性指示的所能进入的缓存中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310331344.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置