[发明专利]多核处理器及数据访问方法有效
申请号: | 201210564498.5 | 申请日: | 2012-12-24 |
公开(公告)号: | CN103092788A | 公开(公告)日: | 2013-05-08 |
发明(设计)人: | 高秋明 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F13/362 | 分类号: | G06F13/362;G06F15/167 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 谭磊 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多核 处理器 数据 访问 方法 | ||
技术领域
本发明实施例涉及计算机技术,尤其涉及一种多核处理器及数据访问方法。
背景技术
在当前多核处理器(也称为多核CPU)下,缓存(cache)分一级(first level,简称L1)、二级(second level,简称L2)、三级(third level,简称L3)等多级,多个处理器核(Core)的协同操作,关键是通过各个处理核的L1cache的完整性和一致性来保证。
当处理核的核数较少时,多个处理核之间的私有cache的完整性和一致性的开销还能被接受,但随着核数越来越多,开销越来越大,在很大程度上,抵消了核数增长带来的益处。举例来说,当多个处理核同时操作某个数据时,执行的速度会变得非常慢,多个处理核在冲突非常大的时候,甚至还不如一个处理核执行的速度快。这种开销不仅仅是硬件的修改独占共享或无效(Modified Exclusive Shared Or Invalid,简称MESI)协议的开销,更主要的是会导致因此带来所谓的假cache不命中(false cache miss),导致软件性能大幅度下降。
更严重的是,只要程序中存在冲突的可能性,即,只要是程序中需要多个处理核协同,就会有这种冲突,所以这种冲突一般无法消除,从而导致多核处理器的性能无法保证。
发明内容
本发明实施例提供一种多核处理器及数据访问方法,用以解决现有技术中多个处理核协同产生的冲突导致无法保证多核处理器性能的问题。
第一方面,本发明实施例提供一种多核处理器,包括:至少两个处理核,以及与所述至少两个处理核通过总线连接的串行协处理器;
各所述处理核,分别用于读取共享数据访问指令,将所述共享数据访问指令通过总线发送给所述串行协处理器;
所述串行协处理器,用于对通过总线接收到的全部共享数据访问指令串行化,并根据串行化后的各共享数据访问指令依次通过本地的L1缓存访问共享数据。
结合第一方面,在第一方面的第一种可能的实现方式中,所述共享数据访问指令包括访问地址;所述通过本地的L1缓存访问共享数据,包括:当所述访问地址命中本地的L1缓存时,访问本地的L1缓存中的共享数据。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述共享数据访问指令包括访问地址;所述通过本地的L1缓存访问共享数据,包括:当所述访问地址未命中本地的L1缓存时,通过本地的L1缓存访问其它级缓存或内存中的共享数据。
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第三种可能的实现方式中,当所述共享数据访问指令为共享数据读指令时,所述通过本地的L1缓存访问共享数据,包括:通过本地的L1缓存读取所述共享数据读指令对应的共享数据;
所述串行协处理器还用于,将所述读取的共享数据通过所述总线返回给发送所述共享数据读指令的处理核。
第二方面,本发明实施例提供一种数据访问方法,包括:
读取共享数据访问指令;
将所述共享数据访问指令通过总线发送给串行协处理器,以使所述串行协处理器对通过总线接收到的全部共享数据访问指令串行化并根据串行化后的各共享数据访问指令依次通过本地的L1缓存访问共享数据。
结合第二方面,在第二方面的第一种可能的实现方式中,当所述共享数据访问指令为共享数据读指令时,所述将所述共享数据访问指令通过总线发送给串行协处理器之后,还包括:
接收所述串行协处理器通过总线返回的所述共享数据读指令对应的共享数据。
第三方面,本发明提供一种数据访问方法,包括:
通过总线接收各处理核发送的共享数据访问指令;
对接收到的全部共享数据访问指令串行化;
根据串行化后的各共享数据访问指令依次通过本地的L1缓存访问共享数据。
结合第三方面,在第三方面的第一种可能的实现方式中,所述共享数据访问指令包括访问地址;所述通过本地的L1缓存访问共享数据包括:
当所述访问地址命中本地的L1缓存时,访问本地的L1缓存中的共享数据。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述共享数据访问指令包括访问地址;所述通过本地的L1缓存访问共享数据包括:
当所述访问地址未命中本地的L1缓存时,通过本地的L1缓存访问其它级缓存或内存中的共享数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210564498.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种模具
- 下一篇:一种压铸模具推杆清扫装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置