一种缓存分配、数据访问、数据发送方法、处理器及系统技术方案

技术编号:14421008 阅读:93 留言:0更新日期:2017-01-12 23:21
本发明专利技术公开了一种缓存分配、数据访问、数据发送方法、处理器及系统,所述方法包括:第二处理器接收第一处理器发送的用于获取第一数据的访问请求,其中,所述第一数据未存储在所述第一处理器的缓存中,且存储在所述第二处理器的缓存中,所述访问请求包括所述第一处理器与所述第二处理器之间的路径上的各个处理器的缓存利用率;所述第二处理器将所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器确定为借用处理器;所述第二处理器将所述第一数据发送至借用处理器的缓存中,并指示所述借用处理器向所述第一处理器发送所述第一数据;其中,所述第一处理器、所述第二处理器和所述借用处理器属于同一多处理器系统。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种缓存分配、数据访问、数据发送方法、处理器及系统
技术介绍
当今的计算机系统通常为多处理器系统,即由多个处理器组成,并且一个处理器中也存在多个处理器核。每个处理器自身都有缓存,缓存中存储有供处理器访问的数据。如何为多个处理器及时有效地提供数据,成为多处理器系统的缓存结构设计的关键问题。现有的多处理器系统的缓存结构设计为合作型缓存。对每个处理器来说,除了一级私有缓存外,每个处理器的二级缓存都被划分为两部分,一部分用于本地私有,一部分用于全局共享。私有部分和共享部分的大小可以动态调整。其中,用于本地私用的缓存中存储供处理器自身访问的数据,用于全局共享的缓存中存储供其他处理器访问的数据。因此,处理器的用于本地私有的缓存容量的最大值为该处理器的二级缓存容量,用于全局共享的缓存容量的最大值为该处理器的二级缓存容量。因此,合作型缓存的缓存结构设计存在的不足是:处理器的缓存容量有限,无法应对该处理器的用于本地私有的缓存容量需求大于二级缓存容量的情况,或者该处理器的用于全局共享的缓存容量需求大于二级缓存容量的情况。因此,现有的多处理器系统的缓存结构设计不合理,处理器的缓存容量有限。
技术实现思路
本专利技术实施例提供一种缓存分配、数据访问、数据发送方法、处理器及系统,供多处理器系统全局地为处理器分配更多的缓存容量,提高多处理器系统的总缓存的利用率。本专利技术实施例第一方面提供了一种缓存分配方法,包括:第二处理器接收第一处理器发送的用于获取第一数据的访问请求,其中,所述第一数据未存储在所述第一处理器的缓存中,且存储在所述第二处理器的缓存中,所述访问请求包括所述第一处理器与所述第二处理器之间的路径上的各个处理器的缓存利用率;所述第二处理器将所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器确定为借用处理器;所述第二处理器将所述第一数据发送至借用处理器的缓存中,并指示所述借用处理器向所述第一处理器发送所述第一数据;其中,所述第一处理器、所述第二处理器和所述借用处理器属于同一多处理器系统。结合第一方面,在第一方面的第一种可能的实现方式中,在所述第二处理器指示所述借用处理器向所述第一处理器发送所述第一数据之后,所述方法还包括:所述第二处理器指示所述借用处理器向所述第一处理器发送所述第一数据的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置。本专利技术实施例第二方面提供了一种数据访问方法,包括:当第一处理器请求访问的第一数据未存储在所述第一处理器的缓存中,且存储在第二处理器的缓存中时,所述第一处理器向所述第二处理器发送用于获取所述第一数据的访问请求,所述访问请求包括所述第一处理器与所述第二处理器之间的路径上的各个处理器的缓存利用率;所述第一处理器接收并存储借用处理器发送的所述第一数据,所述第一数据是所述第二处理器发送给所述借用处理器的;其中,所述第一处理器、所述第二处理器和所述借用处理器属于同一多处理器系统,所述借用处理器为所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器。结合第二方面,在第二方面的第一种可能的实现方式中,所述第一处理器接收借用处理器发送的所述第一数据之后,还包括:所述第一处理器接收并存储所述借用处理器发送的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置。结合第二方面,或结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述方法还包括:当所述第一处理器的缓存中存储的第二数据待被移动到内存控制器中时,所述第一处理器将所述第二数据移动至所述借用处理器。结合第二方面,或结合第二方面的第一种可能的实现方式,或结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述方法还包括:当所述第一处理器的缓存中存储的第三数据的被访问频率低于所述借用处理器的缓存中存储的第四数据的被访问频率时,所述第一处理器将所述第三数据发送至所述借用处理器,且从所述借用处理器中读取并存储所述第四数据。本专利技术实施例第三方面提供一种数据发送方法,包括:借用处理器将第二处理器发送的第一数据存储至所述借用处理器的缓存中,其中,所述第一数据未存储在第一处理器的缓存中,且存储在所述第二处理器的缓存中;所述借用处理器向所述第一处理器发送所述第一数据,所述第一数据是所述第二处理器发送给所述借用处理器的;其中,所述第一处理器、所述第二处理器和所述借用处理器属于同一多处理器系统,所述借用处理器为所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器。结合第三方面,在第三方面的第一种可能的实现方式中,在所述借用处理器向所述第一处理器发送所述第一数据之后,所述方法还包括:所述借用处理器向所述第一处理器发送所述第一数据的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置。结合第三方面,或结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述方法还包括:当所述借用处理器的缓存中存储的所述第一数据的被访问频率高于第一预定阈值时,所述借用处理器将所述第一数据发送至所述第一处理器或第三处理器,所述第三处理器与所述第一处理器之间的物理距离小于所述借用处理器与所述第一处理器之间的物理距离。结合第三方面,或结合第三方面的第一种可能的实现方式,或结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述方法还包括:当所述借用处理器的缓存利用率高于第二预定阈值时,所述借用处理器将所述第一数据发送至所述第二处理器或所述第一处理器。本专利技术实施例第四方面提供一种处理器,包括:接收模块,用于接收第一处理器发送的用于获取第一数据的访问请求,其中,所述第一数据未存储在所述第一处理器的缓存中,且存储在所述处理器的缓存中,所述访问请求包括所述第一处理器与所述处理器之间的路径上的各个处理器的缓存利用率;确定模块,用于将所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器确定为借用处理器;发送模块,用于将所述第一数据发送至借用处理器的缓存中;指示模块,用于指示所述借用处理器向所述第一处理器发送所述第一数据;其中,所述第一处理器、所述处理器和所述借用处理器属于同一多处理器系统。结合第四方面,在第四方面的第一种可能的实现方式中,所述指示模块还用于:指示所述借用处理器向所述第一处理器发送所述第一数据的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置。本专利技术实施例第五方面提供了一种处理器,包括:发送模块,用于当所述处理器请求访问的第一数据未存储在所述处理器的缓存中,且存储在第二处理器的缓存中时,所述处理器向所述第二处理器发送用于获取所述第一数据的访问请求,所述访问请求包括所述处理器与所述第二处理器之间的路径上的各个处理器的缓存利用率;接收模块,用于接收并存储借用处理器发送的所述第一数据,所述第一数据是所述第二处理器发送给所述借用处理器的;其中,所述处理器、所述第二处理器和所述借用处理器属于同一多处理器系统,所述借用处理器为所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器。结合第五方面,在第五方面的第一种可能的实现方式中本文档来自技高网...
一种缓存分配、数据访问、数据发送方法、处理器及系统

【技术保护点】
一种缓存分配方法,其特征在于,包括:第二处理器接收第一处理器发送的用于获取第一数据的访问请求,其中,所述第一数据未存储在所述第一处理器的缓存中,且存储在所述第二处理器的缓存中,所述访问请求包括所述第一处理器与所述第二处理器之间的路径上的各个处理器的缓存利用率;所述第二处理器将所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器确定为借用处理器;所述第二处理器将所述第一数据发送至借用处理器的缓存中,并指示所述借用处理器向所述第一处理器发送所述第一数据;其中,所述第一处理器、所述第二处理器和所述借用处理器属于同一多处理器系统。

【技术特征摘要】
1.一种缓存分配方法,其特征在于,包括:第二处理器接收第一处理器发送的用于获取第一数据的访问请求,其中,所述第一数据未存储在所述第一处理器的缓存中,且存储在所述第二处理器的缓存中,所述访问请求包括所述第一处理器与所述第二处理器之间的路径上的各个处理器的缓存利用率;所述第二处理器将所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器确定为借用处理器;所述第二处理器将所述第一数据发送至借用处理器的缓存中,并指示所述借用处理器向所述第一处理器发送所述第一数据;其中,所述第一处理器、所述第二处理器和所述借用处理器属于同一多处理器系统。2.如权利要求1所述的方法,其特征在于,在所述第二处理器指示所述借用处理器向所述第一处理器发送所述第一数据之后,所述方法还包括:所述第二处理器指示所述借用处理器向所述第一处理器发送所述第一数据的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置。3.一种数据访问方法,其特征在于,包括:当第一处理器请求访问的第一数据未存储在所述第一处理器的缓存中,且存储在第二处理器的缓存中时,所述第一处理器向所述第二处理器发送用于获取所述第一数据的访问请求,所述访问请求包括所述第一处理器与所述第二处理器之间的路径上的各个处理器的缓存利用率;所述第一处理器接收并存储借用处理器发送的所述第一数据,所述第一数据是所述第二处理器发送给所述借用处理器的;其中,所述第一处理器、所述第二处理器和所述借用处理器属于同一多处理器系统,所述借用处理器为所述各个处理器中缓存利用率低于所述第二处理
\t器的缓存利用率的处理器。4.如权利要求3所述的方法,其特征在于,所述第一处理器接收借用处理器发送的所述第一数据之后,还包括:所述第一处理器接收并存储所述借用处理器发送的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置。5.如权利要求3或4所述的方法,其特征在于,所述方法还包括:当所述第一处理器的缓存中存储的第二数据待被移动到内存控制器中时,所述第一处理器将所述第二数据移动至所述借用处理器。6.如权利要求3-5中任一所述的方法,其特征在于,所述方法还包括:当所述第一处理器的缓存中存储的第三数据的被访问频率低于所述借用处理器的缓存中存储的第四数据的被访问频率时,所述第一处理器将所述第三数据发送至所述借用处理器,且从所述借用处理器中读取并存储所述第四数据。7.一种数据发送方法,其特征在于,包括:借用处理器将第二处理器发送的第一数据存储至所述借用处理器的缓存中,其中,所述第一数据未存储在第一处理器的缓存中,且存储在所述第二处理器的缓存中;所述借用处理器向所述第一处理器发送所述第一数据,所述第一数据是所述第二处理器发送给所述借用处理器的;其中,所述第一处理器、所述第二处理器和所述借用处理器属于同一多处理器系统,所述借用处理器为所述各个处理器中缓存利用率低于所述第二处理器的缓存利用率的处理器。8.如权利要求7所述的方法,其特征在于,在所述借用处理器向所述第一处理器发送所述第一数据之后,所述方法还包括:所述借用处理器向所述第一处理器发送所述第一数据的存储信息,所述存储信息表征所述第一数据在所述借用处理器中的存储位置。9.如权利要求7或8所述的方法,其特征在于,所述方法还包括:当所述借用处理器的缓存中存储的所述第一数据的被访问频率高于第一预定阈值时,所述借用处理器将所述第一数据发送至所述第一处理器或第三处理器,所述第三处理器与所述第一处理器之间的物理距离小于所述借用处理器与所述第一处理器之间的物理距离。10.如权利要求7-9任一所述的方法,其特征在于,所述方法还包括:当所述借用处理器的缓存利用率高于第二预定阈值时,所述借用处理器将所述第一数据发送至所述第二处理器或所述第一处理器。11.一种处理器,其特征在于,包括:接收模块,用于接收第一处理器发送的用于获取第一数据的访问请求,其中,所述第一数据未存储在所述第一处理器的缓存中,且存储在所述处理器的缓存中,所述访问请求包括所述第一处理器与所述处理器之间的路径上的各个处理器的缓存利用率;确定模块,用于将所述各个处理器中缓存利用率低于所述第二处理器的...

【专利技术属性】
技术研发人员:张广飞顾雄礼蔡卫光
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1