[发明专利]读缺失时的处理方法、设备和系统有效
| 申请号: | 201210571969.5 | 申请日: | 2012-12-25 |
| 公开(公告)号: | CN103902470B | 公开(公告)日: | 2017-10-24 |
| 发明(设计)人: | 郭旭斌;张科;侯锐;冯煜晶 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
| 主分类号: | G06F13/16 | 分类号: | G06F13/16 |
| 代理公司: | 北京同立钧成知识产权代理有限公司11205 | 代理人: | 刘芳 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 缺失 处理 方法 设备 系统 | ||
技术领域
本发明涉及存储技术,尤其涉及一种读缺失时的处理方法、设备和系统。
背景技术
高速缓冲存储器(Cache)是在计算机存储系统的层次结构中,介于处理器和存储器之间的高速小容量存储器。Cache一般由很多高速缓冲存储器线(Cache Line)构成,每条Cache Line是Cache中的一个独立的条目。
在读操作时,Cache会接收地址信息,并将地址信息中的高速缓冲寄存器标签(Cache Tag)与Cache Line中的标签(Tag)进行比较,当不存在与Cache Tag对应的Cache Line,或者存在但该Cache Line为无效时,就发生了读缺失。
在发生读缺失后,该Cache会通过总线向总线上所有的Cache广播总线读事务,该总线读事务中包含缺失的地址信息,接收到总线读事务的Cache也会进行Tag比较,并在存在该地址信息对应的有效数据时,对该总线读事务进行响应,向缺失的Cache提供该有效数据。
从上述描述可以看出,当发生上述读缺失时,现有技术是采用广播的方式,总线上的所有接收到总线读事务的Cache都需要进行Tag比较,功耗开销较大。
发明内容
有鉴于此,本发明实施例提供了一种读缺失时的处理方法、设备和系统,用以解决现有技术中存在的读缺失的功耗开销较大的问题。
第一方面,提供了一种读缺失时的处理方法,包括:
第一处理器产生地址信息,所述地址信息中包含Cache Tag;
所述第一处理器在确定出存在第一Cache Line时,获取所述第一CacheLine中记录的第二处理器的信息,所述第一Cache Line的Tag与所述CacheTag数值相同,且状态位指示为无效状态;
所述第一处理器根据所述第二处理器的信息,向所述第二处理器单播发送总线读事务,使得所述第二处理器在存储有效的所述第一Cache Line的数据副本时,提供所述第一Cache Line的数据。
结合第一方面,在第一方面的第一种可能的实现方式中,还包括:
所述第一处理器在所述第一Cache Line的状态位为无效状态后,在所述第一Cache Line中记录第二处理器的信息,所述第二处理器为最近一次存储所述第一Cache Line的数据副本的处理器。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述第二处理器的信息记录在所述第一Cache Line的数据区。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,还包括:
所述第一处理器接收所述第二处理器发送的总线读事务响应,其中,当所述第二处理器存储有效的所述第一Cache Line的数据副本时所述总线读事务响应中包含所述第一Cache Line的数据,或者,当所述第一处理器没有存储有效的所述第一Cache Line的数据副本时,所述总线读事务响应用于指示所第一处理器在总线上广播发送总线读事务;或者,
所述第一处理器在设定时间内没有收到所述第二处理器发送的总线读事务响应,则在总线上广播发送总线读事务,所述读事务响应在所述第二处理器没有存储有效的所述第一Cache Line的数据副本时不发送。
第二方面,提供了一种读缺失时的处理方法,包括:
第二处理器接收第一处理器单播发送的总线读事务,所述总线读事务是所述第一处理器根据第一Cache Line中记录的第二处理器的信息发送的,所述第一Cache Line的Tag与所述第一处理器产生的地址信息中的Cache Tag数值相同,且状态位指示为无效状态;
所述第二处理器在存储有效的所述第一Cache Line的数据副本时,向所述第一处理器提供所述第一Cache Line的数据。
结合第二方面,在第二方面的第一种可能的实现方式中,还包括:
所述第二处理器在没有存储有效的所述第一Cache Line的数据副本时,向所述第一处理器发送用于指示所述第一处理器在总线上广播总线读事务的总线读事务响应;或者,
所述第二处理器在没有存储有效的所述第一Cache Line的数据副本时,不发送总线读事务响应,使得所述第一处理器在设定时间内没有收到所述第二处理器发送的总线读事务响应,在总线上广播发送总线读事务。
第三方面,提供了一种读缺失时的处理设备,包括:
产生模块,用于产生地址信息,所述地址信息中包含Cache Tag;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210571969.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:铝模板自动化生产线
- 下一篇:一种轮胎防刺保护装置





