多核处理器数据共享控制方法、装置、存储模块及芯片与流程

文档序号:37194653发布日期:2024-03-01 13:08阅读:21来源:国知局
多核处理器数据共享控制方法、装置、存储模块及芯片与流程

本发明涉及数据访问,更具体而言,涉及到一种多核处理器数据共享控制方法、装置、存储模块以及芯片。


背景技术:

1、在相关技术领域中,多核异构处理器的数据共享通常通过缓存器来缓存实现,多个处理器核心之间通过总线传递信号实现对缓存的交互,在处理器的多个处理器核心同时请求读取缓存的时候,多个处理器核心的请求通过总线产生仲裁信号,同意其中一个的请求并阻塞其他处理器核心。

2、在处理器核心不具有缓存的访问权限的情况下,总线产生的仲裁信号不允许处理器核心读取缓存。而在处理器核心获取访问权限后,处理器核心可以再次对总线提出访问请求。由于总线每次至多同意一个处理器核心的请求,处理器核心再次对总线提出访问请求需要较长的时延,导致访问效率低下。


技术实现思路

1、本发明实施方式提供一种多核处理器数据共享控制方法、装置、存储模块以及芯片。

2、本发明实施方式提供的多核处理器数据共享控制方法应用于第一单元和第二单元之间的信息交互,所述第一单元具有用于存储数据的存储空间,所述第一单元的存储空间被划分为多个子存储空间,所述第二单元包括多个处理器单元,每一个所述子存储空间与一个所述处理器单元相匹配,所述多个处理器单元包括主处理器单元,所述主处理器单元用于设置每一所述处理器单元对每一所述子存储空间的访问权限。所述多核处理器数据共享控制方法包括:接收所述第二单元对所述第一单元的访问请求,根据所述访问请求确定发出请求的处理器单元以及请求访问的子存储空间;在所述发出请求的处理器单元与所述请求访问的子存储空间不匹配的情况下,确定所述发出请求的处理器单元是否具有所述请求访问的子存储空间的访问权限;在所述发出请求的处理器单元不具有所述访问权限的情况下,所述发出请求的处理器单元向所述主处理器单元发送访问权限设置请求;在所述主处理器单元允许执行所述访问权限设置请求的情况下,所述主处理单元发出第一更新信号至对应的所述子存储空间,以更改所述发出请求的处理器单元对所述子存储空间的所述访问权限。

3、在某些实施方式中,所述多核处理器数据共享控制方法还包括:在所述发出请求的处理器单元与所述请求访问的子存储空间相匹配的情况下,确定所述访问请求为安全访问请求;在所述访问请求为所述安全访问请求的情况下,所述发出请求的处理器单元能够直接访问所述请求访问的子存储空间。

4、在某些实施方式中,所述多核处理器数据共享控制方法还包括:若所述发出请求的处理器单元与所述请求访问的子存储空间不匹配,确定所述访问请求为非安全访问请求;在多个所述处理器单元对同一个所述子存储空间同时进行所述安全访问请求和所述非安全访问请求的情况下,不允许执行所述非安全访问请求。

5、在某些实施方式中,所述多核处理器数据共享控制方法还包括:若所述发出请求的处理器单元与所述请求访问的子存储空间不匹配,确定所述访问请求为非安全访问请求;在多个所述处理器单元对同一个所述子存储空间同时进行所述非安全访问请求的情况下,至多允许执行一个所述非安全访问请求。

6、在某些实施方式中,所述多核处理器数据共享控制方法还包括:在所述主处理器单元不允许执行所述访问权限设置请求的情况下,所述主处理单元发出访问权限设置请求失败的信号,不允许执行所述访问请求。

7、在某些实施方式中,所述多核处理器数据共享控制方法还包括:在所述主处理单元未更改所述发出请求的处理器单元对所述子存储空间的所述访问权限的情况下,若所述发出请求的处理器单元访问过所述请求访问的子存储空间,所述发出请求的处理器单元能够直接访问所述请求访问的子存储空间。

8、在某些实施方式中,所述多核处理器数据共享控制方法还包括:若所述发出请求的处理器单元与所述请求访问的子存储空间不匹配,确定所述访问请求为非安全访问请求;在多个所述处理器单元对同一个所述子存储空间同时进行所述非安全访问请求,且每一个所述发出请求的处理器单元均具有所述访问权限的情况下,确定每一个所述非安全访问请求的优先级;根据每一个所述非安全访问请求的优先级允许执行所述非安全访问请求。

9、在某些实施方式中,每一所述处理器单元具有一个对应的标号数据,所述确定每一个所述非安全访问请求的优先级,包括:获取每一个发出所述非安全访问请求的所述处理器单元的标号数据;根据每一个发出所述非安全访问请求的所述处理器单元的标号数据的大小,确定每一个所述非安全访问请求的优先级。

10、在某些实施方式中,所述第二单元还包括核心簇,所述核心簇包括一个所述处理器单元或者多个所述处理器单元,每一所述核心簇具有一个对应的标号数据。所述根据每一个发出所述非安全访问请求的所述处理器单元的标号数据的大小,确定每一个所述非安全访问请求的优先级,包括:根据每一个发出所述非安全访问请求的所述处理器单元的标号数据,确定发出所述非安全访问请求的所述核心簇;根据每一个发出所述非安全访问请求的所述核心簇的标号数据的大小,确定每一个所述非安全访问请求的优先级。

11、在某些实施方式中,所述多个处理器单元包括主处理器单元,所述主处理器单元用于设置每一所述处理器单元对每一所述子存储空间的访问优先级。所述多核处理器数据共享控制方法还包括:在所述主处理器单元接收到优先级设置请求的情况下,若所述主处理器单元允许执行所述优先级设置请求,所述主处理单元发出第二更新信号至对应的所述子存储空间;所述子存储空间根据接收的所述第二更新信号更改每一所述处理器单元对所述子存储空间的所述访问优先级。

12、在某些实施方式中,所述访问请求包括读取请求或写入请求,所述多核处理器数据共享控制方法还包括:确定所述发出请求的处理器单元是否具有所述请求访问的子存储空间的读取权限或写入权限;在所述发出请求的处理器单元不具有所述请求访问的子存储空间的读取权限的情况下,不允许执行读取请求,或,在所述发出请求的处理器单元不具有所述请求访问的子存储空间的写入权限的情况下,不允许执行写入请求。

13、在某些实施方式中,所述多核处理器数据共享控制方法还包括:在所述发出请求的处理器单元具有所述请求访问的子存储空间的读取权限的情况下,确定所述请求访问的子存储空间是否正在被写入;在所述子存储空间正在被写入的情况下,不允许执行所述读取请求。

14、在某些实施方式中,在确定所述请求访问的子存储空间是否正在被写入之后,所述多核处理器数据共享控制方法还包括:在所述子存储空间没有正在被写入的情况下,允许执行所述读取请求。

15、在某些实施方式中,所述多核处理器数据共享控制方法还包括:在所述发出请求的处理器单元具有所述请求访问的子存储空间的写入权限的情况下,向与所述请求访问的子存储空间相匹配的所述处理器单元发出请求信号;在接收到与所述请求访问的子存储空间相匹配的所述处理器单元的许可信号的情况下,允许执行所述写入请求。

16、在某些实施方式中,所述多核处理器数据共享控制方法还包括:在未接收到与所述请求访问的子存储空间相匹配的所述处理器单元的许可信号的情况下,不允许执行所述写入请求。

17、在某些实施方式中,所述多个处理器单元包括主处理器单元,所述主处理器单元用于将所述第一单元的存储空间划分为多个所述子存储空间,每一个所述子存储空间与一个所述处理器单元相匹配,所述主处理器单元用于设置每一所述子存储空间的大小。

18、在某些实施方式中,所述主处理器单元还用于设置每一所述处理器单元对每一所述子存储空间的访问权限。所述多核处理器数据共享控制方法还包括:在所述发出请求的处理器单元与所述请求访问的子存储空间不匹配的情况下,若所述主处理器单元接收到访问权限设置请求且允许执行所述访问权限设置请求,所述主处理单元发出访问权限更新信号至对应的所述发出请求的处理器单元;所述发出请求的处理器单元根据所述访问权限更新信号获取对所述请求访问的子存储空间的访问请求权限,并对所述请求访问的子存储空间进行访问。

19、在某些实施方式中,所述发出请求的处理器单元根据所述访问权限更新信号获取对所述请求访问的子存储空间的访问请求,包括:所述发出请求的处理器单元根据所述访问权限更新信号获取偏移地址;所述发出请求的处理器单元根据第一访问地址以及所述偏移地址确定第二访问地址,其中,所述第一访问地址为所述发出请求的处理器单元对应的所述子存储空间的地址;所述发出请求的处理器单元根据所述第二访问地址获取对所述请求访问的子存储空间的访问请求权限。

20、在某些实施方式中,所述发出请求的处理器单元根据第一访问地址以及所述偏移地址确定第二访问地址,包括:所述发出请求的处理器单元根据所述第一访问地址与所述偏移地址之和或所述第一访问地址与所述偏移地址之差确定所述第二访问地址。

21、在某些实施方式中,所述多核处理器数据共享控制方法还包括:在任意一个所述处理器单元对所述子存储空间进行访问的情况下,所述主处理器单元取消其他所述处理器单元对所述子存储空间的访问权限。

22、在某些实施方式中,所述多核处理器数据共享控制方法还包括:在确定所述处理器单元为非安全处理器单元的情况下,取消所述非安全处理器单元对任意一所述子存储空间的访问权限。

23、在某些实施方式中,所述多核处理器数据共享控制方法还包括:在不允许执行所述访问请求的情况下,输出反馈信号,所述反馈信号用于表征访问请求失败。

24、在某些实施方式中,所述多核处理器数据共享控制方法还包括:在所述子存储空间存储的数据进行更新的情况下,所述子存储空间发出存储数据更新信号;在所述子存储空间未发出所述存储数据更新信号的情况下,若所述发出请求的处理器单元访问过所述子存储空间,所述发出请求的处理器单元不对所述子存储空间发出访问请求。

25、本发明提出一种多核处理器数据共享控制装置。多核处理器数据共享控制装置应用于第一单元和第二单元之间的信息交互。第一单元具有用于存储数据的存储空间,第一单元的存储空间被划分为多个子存储空间,第二单元包括多个处理器单元,每一个子存储空间与一个处理器单元相匹配,多个处理器单元包括主处理器单元,主处理器单元用于设置每一处理器单元对每一子存储空间的访问权限。多核处理器数据共享控制装置包括第一确定子模块、第二确定子模块、第三确定子模块、第四确定子模块以及控制子模块。第一确定子模块用于根据访问请求确定发出请求的处理器单元以及请求访问的子存储空间。在发出请求的处理器单元与请求访问的子存储空间不匹配的情况下,第二确定子模块用于确定发出请求的处理器单元是否具有请求访问的子存储空间的访问权限。在发出请求的处理器单元不具有访问权限的情况下,第三确定子模块用于确定发出请求的处理器单元是否向主处理器单元发送访问权限设置请求。在发出请求的处理器单元向主处理器单元发送访问权限设置请求的情况下,第四确定子模块用于确定主处理器单元是否允许执行访问权限设置请求。在主处理器单元允许执行访问权限设置请求的情况下,控制子模块用于控制发出请求的处理器单元对子存储空间进行数据访问。

26、在某些实施方式中,在所述发出请求的处理器单元与所述请求访问的子存储空间相匹配的情况下,所述第一确定子模块还用于确定所述访问请求为安全访问请求。在所述访问请求为所述安全访问请求的情况下,所述控制子模块用于控制所述发出请求的处理器单元能够直接访问所述请求访问的子存储空间。

27、在某些实施方式中,在所述发出请求的处理器单元与所述请求访问的子存储空间不匹配的情况下,所述第一确定子模块还用于确定所述访问请求为非安全访问请求。在多个所述处理器单元对同一个所述子存储空间同时进行所述安全访问请求和所述非安全访问请求的情况下,所述控制子模块不允许执行所述非安全访问请求。

28、在某些实施方式中,在所述发出请求的处理器单元与所述请求访问的子存储空间不匹配的情况下,所述第一确定子模块还用于确定所述访问请求为非安全访问请求。在多个所述处理器单元对同一个所述子存储空间同时进行所述非安全访问请求的情况下,所述控制子模块用于至多允许执行一个所述非安全访问请求。

29、在某些实施方式中,在所述主处理器单元不允许执行所述访问权限设置请求的情况下,所述控制子模块不允许执行所述访问请求。

30、在某些实施方式中,在所述主处理单元未更改所述发出请求的处理器单元对所述子存储空间的所述访问权限的情况下,若所述发出请求的处理器单元访问过所述请求访问的子存储空间,所述控制子模块用于控制所述发出请求的处理器单元能够直接访问所述请求访问的子存储空间。

31、在某些实施方式中,所述第二确定子模块还用于在所述发出请求的处理器单元与所述请求访问的子存储空间不匹配的情况下,确定所述访问请求为非安全访问请求。所述第二确定子模块还用于在多个所述处理器单元对同一个所述子存储空间同时进行所述非安全访问请求,且每一个所述发出请求的处理器单元均具有所述访问权限的情况下,确定每一个所述非安全访问请求的优先级,所述控制子模块还用于根据每一个所述非安全访问请求的优先级允许执行所述非安全访问请求。

32、在某些实施方式中,所述共享控制装置还包括获取模块。所述获取模块用于获取每一个发出所述非安全访问请求的所述处理器单元的标号数据,所述第二确定子模块还用于根据每一个发出所述非安全访问请求的所述处理器单元的标号数据的大小,确定每一个所述非安全访问请求的优先级。

33、在某些实施方式中,所述第二单元还包括核心簇,所述核心簇包括一个所述处理器单元或者多个所述处理器单元。每一所述核心簇具有一个对应的标号数据,所述第二确定子模块还用于根据每一个发出所述非安全访问请求的所述处理器单元的标号数据,确定发出所述非安全访问请求的所述核心簇,以及根据每一个发出所述非安全访问请求的所述核心簇的标号数据的大小,确定每一个所述非安全访问请求的优先级。

34、在某些实施方式中,所述主处理器单元用于设置每一所述处理器单元对每一所述子存储空间的访问优先级。在所述主处理器单元接收到优先级设置请求的情况下,若所述主处理器单元允许执行所述优先级设置请求,所述主处理单元发出第二更新信号至对应的所述子存储空间,所述子存储空间根据接收的所述第二更新信号更改每一所述处理器单元对所述子存储空间的所述访问优先级。

35、在某些实施方式中,所述访问请求包括读取请求或写入请求。所述第二确定子模块还用于确定所述发出请求的处理器单元是否具有所述请求访问的子存储空间的读取权限或写入权限,在所述发出请求的处理器单元不具有所述请求访问的子存储空间的读取权限的情况下,不允许执行读取请求,或,在所述发出请求的处理器单元不具有所述请求访问的子存储空间的写入权限的情况下,所述控制子模块不允许执行写入请求。

36、在某些实施方式中,在所述发出请求的处理器单元具有所述请求访问的子存储空间的读取权限的情况下,所述第二确定子模块还用于确定所述请求访问的子存储空间是否正在被写入,在所述子存储空间正在被写入的情况下,所述控制子模块不允许执行所述读取请求。

37、在某些实施方式中,在所述子存储空间没有正在被写入的情况下,所述控制子模块用于允许执行所述读取请求。

38、在某些实施方式中,在所述发出请求的处理器单元具有所述请求访问的子存储空间的写入权限的情况下,向与所述请求访问的子存储空间相匹配的所述处理器单元发出请求信号,在接收到与所述请求访问的子存储空间相匹配的所述处理器单元的许可信号的情况下,所述控制子模块用于允许执行所述写入请求。

39、在某些实施方式中,在未接收到与所述请求访问的子存储空间相匹配的所述处理器单元的许可信号的情况下,所述控制子模块不允许执行所述写入请求。

40、在某些实施方式中,在不允许执行所述访问请求的情况下,所述控制子模块用于输出反馈信号,所述反馈信号用于表征访问请求失败。

41、本发明实施方式提供一种存储模块,所述存储模块包括上述任意一种实施方式的多核处理器数据共享控制装置以及第一单元,所述第一单元具有用于存储数据的存储空间,所述第一单元的存储空间被划分为多个子存储空间,在所述第一单元接收到访问请求时,所述多核处理器数据共享控制装置用于控制所述第一单元允许或不允许执行所述访问请求。

42、本发明实施方式提供一种芯片,所述芯片包括第一单元、第二单元以及上述任意一种实施方式的多核处理器数据共享控制装置,所述第一单元具有用于存储数据的存储空间,所述第一单元的存储空间被划分为多个子存储空间,所述第二单元包括多个处理器单元,在所述第二单元对所述第一单元发出访问请求时,所述多核处理器数据共享控制装置用于控制所述第一单元允许或不允许所述第二单元执行所述访问请求。

43、在某些实施方式中,每一个所述子存储空间与一个所述处理器单元相匹配,每一个所述子存储空间和相匹配的一个所述处理器单元通讯连接。

44、在某些实施方式中,所述第二单元还包括核心簇,所述核心簇包括一个所述处理器单元或者多个所述处理器单元。

45、本发明实施方式的多核处理器数据共享控制方法、装置、存储模块以及芯片中,多核处理器数据共享控制方法应用于第一单元和第二单元之间的信息交互。多核处理器数据共享控制方法包括:接收第二单元对第一单元的访问请求,根据访问请求确定发出请求的处理器单元以及请求访问的子存储空间;在发出请求的处理器单元与请求访问的子存储空间不匹配的情况下,确定发出请求的处理器单元是否具有请求访问的子存储空间的访问权限;在发出请求的处理器单元不具有访问权限的情况下,发出请求的处理器单元向主处理器单元发送访问权限设置请求;在主处理器单元允许执行访问权限设置请求的情况下,主处理单元发出第一更新信号至对应的子存储空间,以更改发出请求的处理器单元对子存储空间的访问权限。

46、主处理器单元用于设置每一个处理器单元的访问权限。每一个处理器单元可以通过主处理器单元更改访问权限,使得每一个处理器单元可以访问任意一个子存储空间,提高了处理器单元对子存储空间的访问效率,也就提高了第二单元对第一单元的访问效率。

47、本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

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