读取数据的方法及装置与流程

文档序号:14911053发布日期:2018-07-10 23:25阅读:来源:国知局

技术特征:

1.一种读取数据的方法,其特征在于,包括:

第一处理器接收第二处理器发送的第一读取请求消息,所述第一读取请求消息携带所述第二处理器需要读取的第一数据的地址以及所述第一数据的第一缓存状态,所述第一处理器包括第一地址范围寄存器DRR,所述第一DRR用于记录与所述第一处理器对应的存储器中被其他处理器访问的数据的地址的上界和下界;

在所述第一数据的地址在所述上界和所述下界范围内的情况下,所述第一处理器向除所述第二处理器外的至少一个第三处理器发送第一侦听消息,同时向所述存储器发送第二读取请求消息,所述第二读取请求消息用于请求读取所述第一数据,所述第一侦听消息用于表示所述第二处理器请求的所述第一缓存状态;

所述第一处理器接收所述至少一个第三处理器中的每个第三处理器根据所述第一侦听消息发送的第一侦听响应消息,所述第一侦听响应消息用于表示已根据所述第一缓存状态修改所述第一数据的缓存状态;

所述第一处理器接收所述存储器根据所述第二数据读取请求消息发送的所述第一数据;

所述第一处理器根据所述第一侦听响应消息,向所述第二处理器发送所述第一数据。

2.根据权利要求1所述的方法,其特征在于,所述上界和所述下界范围内对应在所述存储器中的数据的大小小于或等于第一阈值,所述方法还包括:

所述第一处理器根据所述第一数据的地址以及所述第一阈值,更新所述上界和所述下界。

3.根据权利要求2所述的方法,其特征在于,所述更新所述上界和所述下界,包括:

若所述第一数据的地址大于所述上界,且所述第一数据的地址与所述下界的范围内对应在所述存储器中的数据的大小大于所述第一阈值,所述第一处理器将所述第一数据的地址确定为更新后的所述上界,将所述第一数据的地址减去所述第一阈值所得的地址确定为更新后的所述下界;或

若所述第一数据的地址小于所述下界,且所述第一数据的地址与所述上界的范围内对应在所述存储器中的数据的大小大于所述第一阈值,所述第一处理器将所述第一数据的地址确定为更新后的所述下界,将所述第一数据的地址加所述第一阈值所得的地址确定为更新后的所述上界。

4.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一处理器包括多个DRR,所述多个DRR中的每个DRR对应不同的地址范围,所述多个DRR包括所述第一DRR;

所述方法还包括:

所述第一处理器根据所述第一数据的地址,从所述多个DRR中确定所述第一DRR。

5.根据权利要求1至4中任一项所述的方法,其特征在于,所述第一处理器包括多个核,所述多个核与多个DRR一一对应。

6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:

在所述第一数据的地址不在所述上界和所述下界范围内的情况下,所述第一处理器向所述存储器发送第三读取请求消息,所述第三读取请求消息用于请求读取所述第一数据以及所述第一处理器的目录,所述第一处理器的目录用于记录所述存储器中的数据被所述其他处理器访问的状态;

所述第一处理器接收所述存储器根据所述第二数据读取请求消息发送的所述第一数据以及所述第一处理器的目录;

在所述第一处理器根据所述第一处理器的目录,确定所述第一数据被第四处理器缓存的情况下,所述第一处理器向所述第四处理器发送第二侦听消息,所述第二侦听消息用于表示所述第二处理器请求的所述第一缓存状态;

所述第一处理器接收所述第四处理器根据所述第二侦听消息发送的第二侦听响应消息,所述第二侦听响应消息用于表示已根据所述第一缓存状态修改所述第一数据的缓存状态;

所述第一处理器根据所述第二侦听响应消息,向所述第二处理器发送所述第一数据。

7.根据权利要求1至6中任一项所述的方法,其特征在于,在所述第一处理器接收第二处理器发送的第一读取请求消息之前,所述方法还包括:

所述第一处理器接收所述至少一个第三处理器中的第四处理器发送的第三读取请求消息,所述第三读取请求消息携带所述第一数据的地址以及所述第一数据的第二缓存状态;

所述第一处理器根据所述第三读取请求消息,向所述存储器发送第四读取请求消息,所述第四读取请求消息用于请求读取所述第一数据;

所述第一处理器接收所述存储器根据所述第四读取请求消息发送的所述第一数据;

所述第一处理器向所述第四处理器发送所述第一数据,并将所述第一数据的缓存状态记录为所述第二缓存状态。

8.一种读取数据的装置,其特征在于,包括:

接收单元,用于接收第二处理器发送的第一读取请求消息,所述第一读取请求消息携带所述第二处理器需要读取的第一数据的地址以及所述第一数据的第一缓存状态,所述装置包括第一地址范围寄存器DRR,所述第一DRR用于记录与所述第一处理器对应的存储器中被其他处理器访问的数据的地址的上界和下界;

发送单元,用于在所述第一数据的地址在所述上界和所述下界范围内的情况下,向除所述第二处理器外的至少一个第三处理器发送第一侦听消息,同时向所述存储器发送第二读取请求消息,所述第二读取请求消息用于请求读取所述第一数据,所述第一侦听消息用于表示所述第二处理器请求的所述第一缓存状态;

所述接收单元还用于:

接收所述至少一个第三处理器中的每个第三处理器根据所述第一侦听消息发送的第一侦听响应消息,所述第一侦听响应消息用于表示已根据所述第一缓存状态修改所述第一数据的缓存状态;

接收所述存储器根据所述第二数据读取请求消息发送的所述第一数据;

所述发送单元还用于:

根据所述第一侦听响应消息,向所述第二处理器发送所述第一数据。

9.根据权利要求8所述的装置,其特征在于,所述上界和所述下界范围内对应在所述存储器中的数据的大小小于或等于第一阈值,所述装置还包括:

更新单元,用于根据所述第一数据的地址以及所述第一阈值,更新所述上界和所述下界。

10.根据权利要求9所述的装置,其特征在于,所述更新单元具体用于:

若所述第一数据的地址大于所述上界,且所述第一数据的地址与所述下界的范围内对应在所述存储器中的数据的大小大于所述第一阈值,将所述第一数据的地址确定为更新后的所述上界,将所述第一数据的地址减去所述第一阈值所得的地址确定为更新后的所述下界;或

若所述第一数据的地址小于所述下界,且所述第一数据的地址与所述上界的范围内对应在所述存储器中的数据的大小大于所述第一阈值,将所述第一数据的地址确定为更新后的所述下界,将所述第一数据的地址加所述第一阈值所得的地址确定为更新后的所述上界。

11.根据权利要求8至10中任一项所述的装置,其特征在于,所述第一处理器包括多个DRR,所述多个DRR中的每个DRR对应不同的地址范围,所述多个DRR包括所述第一DRR;

所述装置还包括:

确定单元,用于根据所述第一数据的地址,从所述多个DRR中确定所述第一DRR。

12.根据权利要求8至11中任一项所述的装置,其特征在于,所述第一处理器包括多个核,所述多个核与多个DRR一一对应。

13.根据权利要求8至12中任一项所述的装置,其特征在于,所述发送单元还用于:

在所述第一数据的地址不在所述上界和所述下界范围内的情况下,向所述存储器发送第三读取请求消息,所述第三读取请求消息用于请求读取所述第一数据以及所述第一处理器的目录,所述第一处理器的目录用于记录所述存储器中的数据被所述其他处理器访问的状态;

所述接收单元还用于:

接收所述存储器根据所述第二数据读取请求消息发送的所述第一数据以及所述第一处理器的目录;

所述发送单元还用于:

在根据所述第一处理器的目录,确定所述第一数据被第四处理器缓存的情况下,向所述第四处理器发送第二侦听消息,所述第二侦听消息用于表示所述第二处理器请求的所述第一缓存状态;

所述接收单元还用于:

接收所述第四处理器根据所述第二侦听消息发送的第二侦听响应消息,所述第二侦听响应消息用于表示已根据所述第一缓存状态修改所述第一数据的缓存状态;

所述发送单元还用于:

根据所述第二侦听响应消息,向所述第二处理器发送所述第一数据。

14.根据权利要求8至13中任一项所述的装置,其特征在于,所述接收单元还用于:

在所述接收第二处理器发送的第一读取请求消息之前,接收所述至少一个第三处理器中的第四处理器发送的第三读取请求消息,所述第三读取请求消息携带所述第一数据的地址以及所述第一数据的第二缓存状态;

所述发送单元还用于:

根据所述第三读取请求消息,向所述存储器发送第四读取请求消息,所述第四读取请求消息用于请求读取所述第一数据;

所述接收单元还用于:

接收所述存储器根据所述第四读取请求消息发送的所述第一数据;

所述发送单元还用于:

向所述第四处理器发送所述第一数据;

所述装置还包括:

记录单元,用于将所述第一数据的缓存状态记录为所述第二缓存状态。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1