多核处理装置及其内核之间数据传输方法制造方法及图纸

技术编号:23470533 阅读:21 留言:0更新日期:2020-03-06 12:39
一种多核处理装置及其内核之间数据传输方法,所述多核处理装置包括:多个内核,其中每个内核包括至少一级缓存,且作为目标内核或目标内核组的任一内核接收到来自作为源内核的另一内核的缓存行传递请求指令时,从所述源内核中预取相应缓存行至自身缓存;所述缓存行传递请求指令中包含目标内核的标识信息。采用上述方案可以大大缩短多核处理装置内核之间的数据传输时延,进而可以提高数据处理速度,优化数据处理性能。

Multi-core processing device and its data transmission method between cores

【技术实现步骤摘要】
多核处理装置及其内核之间数据传输方法
本专利技术实施例涉及多核处理装置及其内核与内核之间数据传输方法。
技术介绍
内核对内核(CoretoCore,C2C)通信现今在诸如分组处理、高性能计算、机器学习和数据中心/云工作负载之类的许多计算机应用中是至关重要的。在多核(Multi-core/Many-core)处理器中,由于内核数量的增加,C2C通信经常在工作负载共享数据时变成性能增减的限制因素。在通用平台上,经常采用内核之间的共享存储器空间来实现有效的C2C通信。工作负载可以以任务流水线的方式在多核CPU中处理。例如,内核0完成任务0,然后传递给内核1来执行任务1,而内核0处理的数据由内核1取回。这种任务流水线处理可以在网络或通信应用中找到。目前,x86系统是通过一种“拉模型”(“pullmodel”)来处理,如内核0处理的数据在内核0的私有缓存(如一级缓存或二级缓存)中准备就绪,等待其他内核使用时拉取。然而,上述方案在跨缓存层次架构下数据传输时延较长,随着参与任务流水线的内核的增多,时间延迟问题愈发严重,多核处理器处理效率受到极大影响。
技术实现思路
本专利技术实施例所要解决的是如何缩短多核处理装置的内核之间的数据传输时延,优化处理性能。本专利技术实施例提供了一种多核处理装置,包括:多个内核,其中每个内核包括至少一级缓存,且作为目标内核或目标内核组的任一内核接收到来自作为源内核的另一内核的缓存行传递请求指令时,从所述源内核中预取相应缓存行至自身缓存;所述缓存行传递请求指令中包含目标内核的标识信息。可选地,所述缓存行传递请求指令中包含所述缓存行的虚拟地址和目标软件线程标识;所述多核处理装置还包括与所述多个内核耦接的核间处理单元,所述核间处理单元包括:与所述多个内核耦接并由所述多个内核共享的硬件映射表,所述硬件映射表存储有所述缓存行对应的目标软件线程标识与目标物理内核标识的映射关系;查询单元,适于查询所述硬件映射表,得到所述缓存行传递请求中包含的目标软件线程标识对应的目标物理内核标识;指令分派单元,适于将所述缓存行传递请求分派至所述查询单元查询到的目标物理内核标识所对应的目标内核。可选地,所述硬件映射表中的目标物理内核标识为一个内核、或一组内核或所述多核处理装置的所有内核的物理标识。可选地,所述硬件映射表适于在系统初始化或重置时配置,其中:所述目标软件线程标识在编译时间由并行编译器分配;所述目标物理内核标识适于在所述多核处理装置初始化或重置时获得,且所述目标物理内核标识基于系统拓扑结构。可选地,所述缓存行传递请求指令中还包括所述缓存行对应的目标内核的缓存的标识信息。可选地,所述内核包含数据预取器,所述目标内核适于通过数据预取器接收所述缓存行传递请求指令。可选地,所述数据预取器为硬件预取器。可选地,所述目标内核的各级缓存分别有各自对应的硬件预取器。可选地,所述缓存行传递请求指令中还包括所述缓存行对应的目标内核的缓存的状态信息,所述状态信息为共享或独占。可选地,所述缓存行传递请求指令中还包括所述缓存行传递事务的优先级信息。可选地,所述缓存行传递请求指令的优先级满足如下任意一种:高于其他预取事务的优先级、等于预设指令的优先级或者基于不同的内存请求对应不同的优先级。可选地,所述源内核的载入存储单元或任一级私有缓存适于发送所述缓存行传递请求指令。可选地,所述源内核的载入存储单元适于在缓存命中时,如果所述缓存行是已修改的或者下一级缓存是非包含的,将所述缓存行从缓存阵列中读出并写入到淘汰缓冲区。可选地,所述源内核的载入存储单元适于在缓存缺失,且所述目标内核已经请求过所述缓存行时,丢弃所述缓存行传递请求指令。可选地,所述源内核的载入存储单元适于在缓存缺失时,将所述缓存行传递请求指令发送至下一级缓存以确定如何继续处理。可选地,所述源内核的任一中间级缓存包括内部探测响应接口,适于传递所述缓存行传递请求指令,且该任一中间级缓存是包含的。可选地,所述源内核的任一非第一级缓存适于在缓存命中时,如果所述缓存行传递请求指令请求的为来自上一级缓存的已修改数据时,将所述缓存行无效;否则读取所述缓存行数据。可选地,所述源内核的任一非第一级缓存还适于将所述缓存行的数据写入该中间级缓存的淘汰缓冲区,以等待发出。可选地,所述源内核的任一非第一级缓存适于在缓存缺失时,丢弃所述缓存行传递请求指令。可选地,所述多核处理装置还包括:所述核间处理单元还包括:外部探测请求通道,适于传递所述缓存行传递请求指令至所述目标内核。可选地,所述多个内核属于不同的核复合体或核集群,各核复合体或核集群之间通过互联结构耦接,所述硬件映射表分别与各核复合体或核集群耦接。可选地,所述多核处理装置还包括:至少一级共享缓存,所述共享缓存分别与所述多个内核耦接,所述至少一级共享缓存分别有各自对应的硬件映射表或仅有一级共享缓存具有对应的硬件映射表。可选地,所述多核处理装置还包括:分别与所述多个内核对应的本地最后一级缓存;各内核适于通过片上互联结构访问其他内核的本地最后一级缓存,各本地最后一级缓存分别有各自对应的硬件映射表。可选地,所述源内核为生产者内核;所述目标内核为消费者内核。本专利技术的一些实施例还提供了一种多核处理装置内核之间数据传输方法,所述多核处理装置包括多个内核,其中每个内核包括至少一级缓存,所述数据传递方法包括:作为目标内核或目标内核组的任一内核接收到来自作为源内核的另一内核的缓存行传递请求指令时,从所述源内核中预取相应缓存行至所述缓存行传递请求中指示的所述目标内核的缓存中。可选地,所述多核处理装置包括核间处理单元,所述核间处理单元包括硬件映射表,所述硬件映射表与所述多个内核耦接并由所述多个内核共享;所述核间处理单元接收到来自源内核的缓存行传递请求指令时,查询硬件映射表中与所述缓存行传递请求指令中的目标软件线程标识对应的目标物理内核标识,并将所述缓存行传递请求分派至查询到的目标物理内核标识对应的目标内核。可选地,所述硬件映射表中的目标物理内核标识为一个内核、或一组内核或所述多核处理装置的所有内核的物理标识。可选地,在系统初始化时配置所述硬件映射表,其中:所述目标软件线程标识在编译时间由并行编译器分配;所述目标物理内核标识适于在所述多核处理装置初始化时获得,且所述目标物理内核标识基于系统拓扑结构。可选地,所述缓存行传递请求指令中还包括所述缓存行对应的目标内核的缓存的标识信息。可选地,由所述目标内核的数据预取器接收所述缓存行传递请求指令。可选地,所述缓存行传递请求指令中还包括所述缓存行传递事务的优先级信息。可选地,所述缓存行传递请求指令的优先级满足如下任意一种:高于其他预取事务的优先级、等于预设指令的优先级或者基于不同的内存请求对应不同的优先级。可选地,由所述源内核的载入存储单元或任一私有缓存发送所述缓存行传递请求指令。可选地,所述数据本文档来自技高网...

【技术保护点】
1.一种多核处理装置,其特征在于,包括:/n多个内核,其中每个内核包括至少一级缓存,且作为目标内核或目标内核组的任一内核接收到来自作为源内核的另一内核的缓存行传递请求指令时,从所述源内核中预取相应缓存行至自身缓存;所述缓存行传递请求指令中包含目标内核的标识信息。/n

【技术特征摘要】
20190417 US 16/386,4381.一种多核处理装置,其特征在于,包括:
多个内核,其中每个内核包括至少一级缓存,且作为目标内核或目标内核组的任一内核接收到来自作为源内核的另一内核的缓存行传递请求指令时,从所述源内核中预取相应缓存行至自身缓存;所述缓存行传递请求指令中包含目标内核的标识信息。


2.根据权利要求1所述的多核处理装置,其特征在于,所述缓存行传递请求指令中包含所述缓存行的虚拟地址和目标软件线程标识;所述多核处理装置还包括与所述多个内核耦接的核间处理单元,所述核间处理单元包括:与所述多个内核耦接并由所述多个内核共享的硬件映射表,所述硬件映射表存储有所述缓存行对应的目标软件线程标识与目标物理内核标识的映射关系;
查询单元,适于查询所述硬件映射表,得到所述缓存行传递请求中包含的目标软件线程标识对应的目标物理内核标识;
指令分派单元,适于将所述缓存行传递请求分派至所述查询单元查询到的目标物理内核标识所对应的目标内核。


3.根据权利要求2所述的多核处理装置,其特征在于,所述硬件映射表中的目标物理内核标识为一个内核、或一组内核或所述多核处理装置的所有内核的物理标识。


4.根据权利要求2所述的多核处理装置,其特征在于,所述硬件映射表适于在系统初始化或重置时配置,其中:所述目标软件线程标识在编译时间由并行编译器分配;所述目标物理内核标识适于在所述多核处理装置初始化或重置时获得,且所述目标物理内核标识基于系统拓扑结构。


5.根据权利要求2所述的多核处理装置,其特征在于,所述缓存行传递请求指令中还包括所述缓存行对应的目标内核的缓存的标识信息,所述内核包含数据预取器,所述目标内核适于通过数据预取器接收所述缓存行传递请求指令。


6.根据权利要求5所述的多核处理装置,其特征在于,所述数据预取器为硬件预取器。


7.根据权利要求6所述的多核处理装置,其特征在于,所述目标内核的各级缓存分别有各自对应的硬件预取器。


8.根据权利要求5所述的多核处理装置,其特征在于,所述源内核的载入存储单元或任一级私有缓存适于发送所述缓存行传递请求指令。


9.根据权利要求8所述的多核处理装置,其特征在于,所述源内核的载入存储单元适于在缓存命中时,如果所述缓存行是已修改的或者下一级缓存是非包含的,将所述缓存行从缓存阵列中读出并写入到淘汰缓冲区。


10.根据权利要求8所述的多核处理装置,其特征在于,所述源内核的载入存储单元适于...

【专利技术属性】
技术研发人员:张春晖王昊薛大庆
申请(专利权)人:成都海光集成电路设计有限公司
类型:发明
国别省市:四川;51

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

1