[发明专利]一种多核系统的仲裁方法及多核系统有效
申请号: | 201410797630.6 | 申请日: | 2014-12-18 |
公开(公告)号: | CN104536916B | 公开(公告)日: | 2018-04-10 |
发明(设计)人: | 姚策;祝晓平;王富 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F13/16 | 分类号: | G06F13/16 |
代理公司: | 广州三环专利商标代理有限公司44202 | 代理人: | 郝传鑫,熊永强 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多核 系统 仲裁 方法 | ||
技术领域
本发明涉及计算机技术领域,尤其涉及一种多核系统的仲裁方法及多核系统。
背景技术
随着电子技术的发展,如今市面上许多计算机系统都具有多个运算核心。这些运算核心通过总线共享计算机系统的内存,为了避免多个运算核心同时访问共享内存中的同一块数据而造成冲突,通常运算核心在访问共享内存之前,会向仲裁器请求锁定总线,取得总线的独占权限。在该运算核心锁定总线的期间内,其他运算核心无法执行总线操作,即使这段时间内锁定总线的运算核心并没有访问共享内存,其他运算核心也无法通过总线访问共享内存。
以上方法虽然能很好地避免由于多个运算核心同时访问共享内存而造成的冲突问题,但是也会导致其他运算核心对共享内存的访问无法及时得到响应,降低整个计算机系统的并发性能。
发明内容
本发明实施例提供了一种多核系统的仲裁方法及多核系统,可提高共享内存在被占用时的吞吐量以及多核系统的并发性能。
本发明实施例第一方面提供了一种多核系统的仲裁方法,所述多核系统包括至少两个运算核心,所述至少两个运算核心通过总线连接所述多核系统的共享内存;所述方法可包括:
将所述共享内存划分为至少两片共享区域;
接收一个运算核心发送的第一访问请求,其中所述第一访问请求中携带第一访问地址;
查询所述至少两片共享区域的锁定记录,若所述锁定记录中所述第一访问地址对应的第一共享区域的占用状态是未锁定状态,而且所述第一访问请求为锁定请求,则把所述第一共享区域锁定为仅能被所述一个运算核心非只读访问。
结合第一方面,在第一种可行的实施方式中,所述锁定所述第一共享区域之后,所述方法还包括:
接收另一个运算核心发送的第二访问请求,其中所述第二访问请求中携带第二访问地址,且所述第二访问请求不是只读请求;
若所述第二访问地址对应的第二共享区域的占用状态是未锁定状态,则允许所述另一个运算核心访问所述第二访问地址。
结合第一方面,在第二种可行的实施方式中,所述接收一个运算核心发送的第一访问请求之前,所述方法还包括:
记录所述至少两片共享区域中至少一片共享区域的占用状态,其中所述占用状态包括锁定状态或未锁定状态;
所述把所述第一共享区域锁定为仅能被所述一个运算核心非只读访问之后,所述方法还包括:
更新所述第一共享区域的占用状态为锁定状态,并将锁定所述第一共享区域的运算核心的标识更新为所述一个运算核心的标识。
结合第一方面的第二种可行的实施方式,在第三种可行的实施方式中,所述记录所述至少两片共享区域中至少一片共享区域的占用状态之后,所述方法还包括:
若所述至少一片共享区域的占用状态是锁定状态,记录锁定所述至少一片共享区域的至少一个运算核心的标识;
所述查询所述至少两片共享区域的锁定记录之后,所述方法还包括:
若所述锁定记录中所述第一共享区域的占用状态是锁定状态,则判断锁定所述第一共享区域的运算核心的标识与所述一个运算核心的标识是否相同;
若锁定所述第一共享区域的运算核心的标识与所述一个运算核心的标识相同,则允许所述一个运算核心访问所述第一访问地址。
结合第一方面,在第四种可行的实施方式中,所述查询所述至少两片共享区域的锁定记录之后,所述方法还包括:
判断是否记录有所述第一共享区域的占用状态;
若未记录有所述第一共享区域的占用状态,则判断所述第一访问请求是否为锁定请求;
若所述第一访问请求不是锁定请求,则在所述第一访问请求为只读请求时允许所述一个运算核心访问所述第一访问地址;
若所述第一访问请求是锁定请求,则拒绝所述第一访问请求。
结合第一方面,在第五种可行的实施方式中,所述接收一个运算核心发送的第一访问请求之后,所述方法还包括:
判断所述第一访问请求是否为解锁请求,若是,则解锁所述第一共享区域,并更新所述第一共享区域的占用状态为未锁定状态。
结合第一方面,在第六种可行的实施方式中,所述接收一个运算核心发送的第一访问请求之后,所述方法还包括:
根据所述第一访问地址以及每片共享区域对应的地址范围,确定所述第一访问地址对应的第一共享区域。
本发明实施例第二方面提供了一种多核系统,所述多核系统包括仲裁器以及至少两个运算核心,所述至少两个运算核心通过总线连接所述多核系统的共享内存;所述仲裁器用于:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410797630.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:拉手条扳手
- 下一篇:一种低温复合干式脱硫材料及其制备方法