基于多核处理器芯片的数据处理方法、装置以及系统的制作方法
【技术领域】
[0001] 本发明涉及计算机技术领域,尤其涉及基于多核处理器芯片的数据处理方法、装 置以及系统。
【背景技术】
[0002] 随着计算机体系结构技术的发展,处理器芯片上集成多核(Multi-Core)乃至众 核(Many Core)的架构逐渐成为主流,这类架构的芯片被称为多核处理器芯片,也被称为片 上多核(Chip Multi-Processors, CMPs)芯片。如图1所示,现有的多核处理器芯片一般 米用了非均匀的缓存结构(Non-Uniformed Cache Architecture, NUCA),具体即每个处理 器核(Core)私有一级缓存(Levellcache),而一个多核处理器芯片的各个处理器核逻辑上 共享二级缓存(L eVe12CaChe)。各个处理器核私有的一级缓存一般包含了一级数据缓存和 一级指令缓存,主要存储了该一级缓存对应的处理器核在运行时的部分待处理数据和操作 指令。多核处理器芯片的待处理数据主要存储于二级缓存上,所以二级缓存一般总容量较 大。从物理上来看,二级缓存分布于整个多核处理器芯片的各个处理器核附近,并通过片上 网络(Network on Chip, NoC)互连,一般的,每个处理器核对应有一个二级缓存,类似的还 可以用片上随机存取存储器(Random Access Memory, RAM)替代二级缓存。
[0003] 与该多核处理器芯片的架构对应的,当多核处理器芯片运行某一应用时,该应用 往往被划分成多个线程并分发到该多核处理器芯片的多个处理器核上进行并行执行,多个 处理器核运行过程中交互不足,影响多核处理器芯片运行效率。
【发明内容】
[0004] 针对上述现有技术而提出本发明,利用本发明可以解决现有技术方案中多核处理 器芯片的多个处理器核并行处理应用时交互不足对其处理效率的造成的影响。
[0005] 本发明实施例的第一方面提供了一种基于多核处理器芯片的数据处理方法,其特 征在于,所述多核处理器芯片至少包括第一处理器核、第二处理器核,所述数据处理方法包 括:所述第一处理器核获取数据处理任务,所述数据处理任务包括处理操作的标识、待处理 数据的存储地址;所述第一处理器核确定所述第二处理器核,所述第二处理器核与所述待 处理数据的存储地址对应,确定第二处理器核也即获得第二处理器核的标识;所述第一处 理器核将所述处理操作的标识、所述待处理数据的存储地址发送给所述第二处理器核,也 即将所述第二处理器核的标识、所述处理操作的标识、所述待处理数据的存储地址封装为 数据包发送至片上路由器,片上路由器获得该数据包之后,根据数据包中的第二处理器核 的标识,将该数据包路由至第二处理器核。所述数据处理任务还可以包括执行顺序信息,指 示所述第二处理器核按照执行顺序信息指示的执行顺序完成数据处理任务。所述数据处理 任务还可以包括执行次数信息,指示所述第二处理器核按照所述执行次数信息指示的执行 次数完成所述数据处理任务。
[0006] 结合第一方面,在第一方面的第一种实现方式中,第一处理器核获取第二处理器 核的标识具体包括:所述第一处理器核确定所述第二处理器核,所述第二处理器核与所述 待处理数据的存储地址对应,具体包括:所述第一处理器核,根据所述待处理数据的存储地 址查询数据存储表,确定所述第二处理器核,所述数据存储表包含所述待处理数据的存储 地址与所述第二处理器核的标识之间的对应关系。
[0007] 结合第一方面,在第一方面的第二种实现方式中,所述第一处理器核确定所述第 二处理器核,所述第二处理器核与所述待处理数据的存储地址对应,具体包括:所述第一处 理器核,根据所述第一处理器核和第二处理器核的负载参数,确定所述第二处理器核,将所 述待处理数据的存储地址与所述第二处理器核的标识之间的对应关系,记录在所述数据存 储表中。
[0008] 结合第一方面,在第一方面的第三种实现方式中,所述第一处理器核确定所述第 二处理器核,所述第二处理器核与所述待处理数据的存储地址对应,具体包括:所述第一处 理器核,根据所述待处理数据的存储地址查询数据存储表,如查询到所述待处理数据的存 储地址与所述第二处理器核的标识之间的对应关系,则所述第一处理器核根据所述对应关 系确定所述第二处理器核;如未查询到所述待处理数据的存储地址与所述第二处理器核的 标识之间的对应关系,则所述第一处理器核根据所述第一处理器核和所述第二处理器核的 负载参数,确定所述第二处理器核,将所述待处理数据的存储地址与所述第二处理器核的 标识之间的对应关系,记录在所述数据存储表中。
[0009] 结合第一方面的第二种或第三种实现方式,在第一方面的第四种实现方式中,如 所述第二处理器核的负载参数超过预设的阈值,则删除所述数据存储表中所述待处理数据 的存储地址与所述第二处理器核的标识之间的对应关系。
[0010] 结合第一方面的第一、第二、第三或第四种实现方式,在第一方面的第五种实现方 式中,在所述第一处理器核将所述处理操作的标识、所述待处理数据的存储地址发送给所 述第二处理器核之后,所述方法还包括:所述第二处理器核获取所述处理操作的标识、所述 待处理数据的存储地址,根据所述处理操作的标识确定处理操作,根据所述待处理数据的 存储地址获取所述待处理数据;所述第二处理器核根据所述处理操作对所述待处理数据进 行处理。如果数据处理任务中包括执行顺序信息的情况下,所述第二处理器核还根据该执 行顺序信息对所述待处理数据进行处理。如果数据处理任务中包括执行次数信息的情况 下,所述第二处理器核还根据该执行次数信息对所述待处理数据进行处理。所述第二处理 器核在对所述待处理数据进行处理后,还可以向所述第一处理器核发送通知,或将处理结 果返回给所述第一处理器核。
[0011] 本发明实施例的第二方面提供了一种数据处理装置,包括:获取单元,用于获取数 据处理任务,所述数据处理任务包括处理操作的标识、待处理数据的存储地址;确定单元, 用于确定所述处理器核,所述处理器核与所述待处理数据的存储地址对应;发送单元,用于 将所述处理操作的标识、所述待处理数据的存储地址发送给所述处理器核。
[0012] 结合第二方面,在第二方面的第一种实现方式中,所述确定单元具体用于:根据所 述待处理数据的存储地址查询数据存储表,确定所述处理器核,所述数据存储表包含所述 待处理数据的存储地址与所述处理器核的标识之间的对应关系。
[0013] 结合第二方面,在第二方面的第二种实现方式中,所述确定单元还用于:根据所述 数据处理装置和所述处理器核的负载参数,确定所述处理器核,将所述待处理数据的存储 地址与所述处理器核的标识之间的对应关系,记录在所述数据存储表中。
[0014] 结合第二方面,在第二方面的第三种实现方式中,所述确定单元还用于:根据所述 待处理数据的存储地址查询数据存储表,如查询到所述待处理数据的存储地址与所述处理 器核的标识之间的对应关系,则根据所述对应关系确定所述处理器核;如未查询到所述待 处理数据的存储地址与所述处理器核的标识之间的对应关系,则根据所述数据处理装置和 所述处理器核的负载参数,确定所述处理器核,将所述待处理数据的存储地址与所述处理 器核的标识之间的对应关系,记录在所述数据存储表中。
[0015] 结合第二方面的第二或第三种实现方式,在第二方面的第四种实现方式中,所述 数据处理装置还包括删除单元,所述删除单元,用于如所述处理器核的负载参数超过预设 的负载参数,则删除所述数据存储表中所述待处理数据的存储地址与所述处理器核的标识 之间的对应关系。
[0016] 本发明实施例的第三方面提供了一种多核处理器芯片,所述多核处理器芯片至 少包括第一处理器核、第二处理器核,所述第一处理器核和所述第二处理器核具有通信连 接;
[0017] 所述第一处理器核,用于获取数据处理任务,所述数据处理任务包括处理操作的 标识、待处理数据的存储地址,确定所述第二处理器核,所述第二处理器核与所述待处理数 据的存储地址对应,以及将所述处理操作的标识、所述待处理数据的存储地址发送给所述 第二处理器核;
[0018] 所述第二处理器核,用于获取所述处理操作的标识、所述待处理数据的存储地址, 根据所述处理操作的标识确定处理操作,根据所述待处理数据的存储地址获取所述待处理 数据,以及根据所述处理操作对所述待处理数据进行处理。
[0019] 结合第三方面,在第三方面的第一种实现方式中,所述多核处理器芯片还包括存 储器,所述存储器用于存储数据存储表,所述存储器与所述第一处理器核、所述第二处理器 核具有通信连接;所述第一处理器核确定所述第二处理器核,所述第二处理器核与所述待 处理数据的存储地址对应具体包括:所述第一处理器核根据所述待处理数据的存储地址查 询所述数据存储表,确定所述第二处理器核,所述数据存储表包含所述待处理数据的存储 地址与所述第二处理器核的标识