定位多核处理器中的被高速缓存的数据的制作方法

文档序号:9510132阅读:453来源:国知局
定位多核处理器中的被高速缓存的数据的制作方法
【专利说明】
【背景技术】
[0001]除非在本文中另外表明,否则本部分中所述的方法对于本申请中的权利要求来说不是现有技术并且不由于包括在本部分中而被承认是现有技术。
[0002]许多现代的计算系统利用具有两个或多个核的多核处理器,这些核互相配合工作以提高性能并且高效地处理多个任务和线程。执行单个和多个线程应用所需的数据可被存储在多核处理器的多个核的高速缓存上,其中用于存储数据的核可以不同于用于执行单个或多个线程的那些核。在操作期间,可从多个核上的被高速缓存的位置访问这样的数据,并且可能需要确定存储器地址的被高速缓存的位置。
[0003]针对多核处理器实施的高速缓存一致性协议可合并确定存储器地址的被高速缓存的位置的功能。例如,集中式目录可被用来确定给定存储器地址的被高速缓存的位置。在某些多核处理器中,可实施分布式目录,在分布式目录中,对一个或多个存储器地址的查找请求可被发送到目录,随后,在目录中搜索存储器地址。在其它多核处理器中,核等级目录可被用来确定某些存储器地址的位置。
[0004]概述
[0005]以下概要仅仅是说明性的,而并不意图以任何方式是限制性的。除了说明性的方面,上述实施例和特征、另外的方面、实施例和特征将通过参考附图和下面的详细描述而变得显而易见。
[0006]本文中一般地描述了与管理多核处理器中的被高速缓存的存储器地址相关的技术。所述的各种技术可应用于方法、系统、装置或它们的组合。
[0007]根据本公开的一些示例,描述了与管理多核处理器装置中的被高速缓存的存储器地址相关的各种方法。一些示例方法可包括监视多核处理器装置的多个核的多个高速缓存中的一个或多个和主存储器之间的通信。可基于监视的通信来标识被所述多个核中的每个高速缓存的一个或多个存储器地址。可产生被所述多个核高速缓存的所述一个或多个存储器地址的位置的概率存储器地址分布表,并且可基于概率存储器地址分布表来预测给定存储器地址的位置。
[0008]根据本公开的另外的示例,描述了与管理多核处理器装置中的被高速缓存的存储器地址相关的另外的方法。一些示例方法可包括产生被多核处理器装置的多个核中的一个或多个高速缓存的一个或多个存储器地址的概率存储器地址分布表。可在多核处理器装置的多个核中的第一核上执行一个或多个线程。可标识在第一核的片上高速缓存上执行所述一个或多个线程期间将访问的存储器地址。可基于产生的概率存储器地址分布表来在多核处理器装置的其它核的一个或多个片上高速缓存上预测标识的存储器地址的位置。随后可从预测的位置访问与标识的存储器地址相关联的数据。
[0009]根据本公开的还有的另外的示例,描述了多核处理器装置。所述的一些多核处理器装置可包括多个核。所述核中的每个可与一个或多个片上高速缓存相关联,其中所述核中的一个或多个可包括位置预测模块。多核处理器装置可包括存储器地址摘要器,其被配置为监视所述一个或多个片上高速缓存和主存储器之间的通信以产生概率存储器地址分布表。概率存储器地址分布表可由存储器地址摘要器使用在所述多个核的一个或多个片上高速缓存中被高速缓存的多个存储器地址来产生。每个位置预测模块可被配置为基于概率存储器地址分布表来预测给定存储器地址的位置。
[0010]根据本公开的另外的示例,描述了另外的多核处理器装置。一些示例多核处理器装置可包括多个核。每个核可与一个或多个片上高速缓存相关联。多核处理器装置可包括被配置为促进多个核之间的通信的多个路由器。所述多个路由器中的每个可包括被耦合到对应路由器的输出连接路径的核中的一个或多个的多个片上高速缓存存储的存储器地址的概率存储器地址分布表。概率存储器地址分布表可被用来基于存储的存储器地址分布来预测给定存储器地址的位置。
【附图说明】
[0011]在附图中:
[0012]图1是用于管理多核处理器装置中的被高速缓存的存储器地址的处理的示图;
[0013]图2是说明示例多核处理器装置的功能部件的示意图;
[0014]图3说明图2的多核处理器装置的存储器地址摘要器产生的示例概率存储器地址分布表;
[0015]图4说明图2的多核处理器装置的存储器地址摘要器产生的另一示例概率存储器地址分布表;
[0016]图5是说明另一示例多核处理器装置的功能部件的示意图;
[0017]图6说明根据本文中所述的至少一些实施例布置的、图5的多核处理器装置的示例路由器;以及
[0018]图7是说明被布置用于管理多核处理器中的被高速缓存的存储器地址的示例计算装置的框图;
[0019]所有附图都是依照本文所述的至少一些实施例来安排的。
【具体实施方式】
[0020]在以下详细描述中,对附图进行参考,所述附图形成详细描述的一部分。除非上下文另外指示,否则在附图中,相似的符号通常标识相似的部件。在详细描述、附图和权利要求中描述的说明性实施例并不意味着是限制性的。在不脱离本文所提供的主题的精神或范围的情况下,可以利用其它实施例,以及可以进行其它改变。将易于理解的是,如在本文中一般地描述的和在图中示出的那样,本公开的各方面可以以广泛多样的不同配置被布置、替代、组合、分割和设计,所有这些在本文中都被明确地构想。
[0021]本公开的示例实施例一般地针对用于管理多核处理器装置中的被高速缓存的存储器地址的技术。多核处理器装置可包括多个核,每个核可包括一个或多个片上高速缓存,其可被布置为在物理上紧密邻近相应的核。存储器位置可被高速缓存在所述一个或多个片上高速缓存中。在所述的实施例中,概率技术可被用来使用将被访问的存储器位置的存储器地址定位给定存储器地址的片上位置。使用下述概率技术预测存储器地址的高速缓存位置可能使得定位存储器地址的查找时间大幅缩短。所述技术对于具有大量核(例如,1000个或更多个核)的多核处理器装置可能是可伸缩的。
[0022]图1是根据本文中所述的至少一些实施例布置的、用于管理多核处理器装置中的被高速缓存的存储器地址的示例过程100的示图。过程100可包括如方框102-108中的一个或多个所示的一个或多个操作、功能或动作。尽管方框按顺序的次序示出,但是这些方框也可并行地执行,和/或按与本文中所述的次序不同的次序执行。另外,各个方框可基于期望的实施方式而被组合为更少的方框,被划分为附加的方框,和/或被去除。过程100可从方框102开始。
[0023]在方框102,“监视多核处理器装置的多个高速缓存和主存储器之间的通信”,可监视并分析在多核处理器装置的多个核的多个高速缓存和主存储器之间传送的消息。每个核可与一个或多个片上高速缓存(诸如等级1 (L1)高速缓存和/或等级2 (L2)高速缓存)相关联。另外,可存在可被多个核中的两个或更多个核访问的其它片上高速缓存,诸如共享高速缓存。在一些示例中,一个核在执行一个或多个线程期间所用的数据可被高速缓存在多核处理器装置的其它核的高速缓存中。而且,该数据也可被高速缓存在核中的两个或更多个之间的共享高速缓存中。在一个实施例中,多个核的多个高速缓存中的每个高速缓存条目可包括在主存储器中被高速缓存的数据的至少一部分的被高速缓存的副本。
[0024]每个片上高速缓存和主存储器之间的通信可由多核处理器装置的存储器地址摘要器监视。在一个示例中,多核处理器装置可包括附加的处理核,其可被配置为执行线程,该线程可通过监视请求处理核的地址以及从共享高速缓存和/或主存储器提取的数据来动态地概括高速缓存的数据的片上位置的分布。在其它示例中,多核处理器装置的处理核中的一个或多个可被配置为充当存储器地址摘要器。
[0025]在一个示例中,可监视核的片上高速缓存(诸如L1高速缓存或L2高速缓存)和共享高速缓存之间的通信。在另一示例中,可监视共享高速缓存和主存储器之间的通信。在又一示例中,可监视片上高速缓存(诸如L1高速缓存或L2高速缓存)和主存储器之间的通信。在另一示例中,可监视两个或更多个核的片上高速缓存(例如,L2高速缓存)之间的通信。这样的通信可通过通信总线或互连网络来传载。在某些示例中,可监视向片上高速缓存、共享高速缓存和主存储器请求数据的核的存储器地址以及从片上高速缓存、共享高速缓存和主存储器提取的数据。
[0026]处理可从方框102继续进行到方框104,“标识被多个核中的一个或多个核高速缓存的一个或多个存储器地址”。在方框104,多核处理器装置的存储器地址摘要器基于监视的通信来标识被多个核中的一个或多个核高速缓存的一个或多个存储器地址。在一些示例中,可对在核或片上高速缓存和主存储器之间传送的消息进行分析以标识被相应的核高速缓存的一个或多个存储器地址。
[0027]处理可从方框104继续进行到方框106,“产生所述一个或多个存储器地址的位置的存储器地址分布表”。在方框106,存储器地址摘要器可产生被所述多个核中的每个核高速缓存的所述一个或多个存储器地址的位置的存储器地址分布表。在操作期间,可在多核处理器装置的每个核上执行一个或多个线程。在这样的执行期间,存储器地址摘要器可标识一个或多个存储器地址。此外,可通过对这样的请求进行分析来监视请求被高速缓存的数据的相应的核的核/高速缓存标识编号。这样的核/高速缓存标识编号可被存储器地址摘要器用来当在多核处理器上执行一个或多个线程期间从一个或多个高速缓存和/或从主存储器提取数据时构建存储器地址分布表。下面将参照图4来描述存储器地址分布表的细节。在一些示例中,附加核可被用来监视请求核的
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1