一种异构多核处理器及其数据流处理方法

文档序号:25542987发布日期:2021-06-18 20:39阅读:76来源:国知局
一种异构多核处理器及其数据流处理方法

本发明属于硬件技术领域,具体涉及一种异构多核处理器及其数据流处理方法。



背景技术:

现有的舰船信息系统中包含有大量的嵌入式计算单元,这些嵌入式计算单元与舰船服务器以及人机交互界面互联,从而形成一个具有大量节点的网络。而作为中间交换节点的网关连接有各种不同的总线以及网络,这些总线以及网络进行信息交互时传输大量的网关数据,但现有网关的处理器在处理不同的总线以及网络的网关数据时效率较低,以及难以满足不同的总线以及网络的流数据处理的并行性。



技术实现要素:

本发明的目的就是为了解决上述背景技术存在的不足,提供一种异构多核处理器及其数据流处理方法。

本发明采用的技术方案是:一种异构多核处理器,其特征在于,包括依次电连接的通用处理器核以及流处理器阵列;

所述通用处理器核设置于网关中,用于根据网关中交换节点的参数信息生成所述流处理器阵列的配置指令;

所述流处理器阵列包括多个流处理器,根据所述配置指令分别进行对应交换节点的数据接收流处理和/或数据发送流处理。

上述技术方案中,还包括设置于所述通用处理器核以及流处理器阵列之间的共享存储器;

所述共享存储器用于构成所述通用处理器核与所述流处理器阵列之间的数据通路,以传输所述流处理器阵列配置指令至所述流处理器阵列;共享存储器还用于通用处理器核与所述流处理器阵列之间内部参数的交互以及缓存。

上述技术方案中,所述流处理器阵列包括交叉开关模块,以及分别与所述交叉开关模块连接的多个流处理器;

所述交叉开关模块用于进行各个所述流处理器之间的数据传输;

各个所述流处理器被配置为对应交换节点的数据接收流处理模块和/或数据发送流处理模块。

上述技术方案中,所述流处理器为simd流处理单元结构的流处理器。

上述技术方案中,所述流处理器包括ld/st单元、lsrf单元、simd指令派发单元、多个独立的alu单元以及多个独立的salu单元;

所述ld/st单元用于加载指令以及数据,并用于对所述流处理器的最终运算结果的存储;

所述lsrf单元用于对所述流处理器内部运算的中间结果进行缓存;

所述simd指令派发单元用于在接收到指令后进行所述流处理器的各个单元相应的调度;

所述alu单元用于进行通用逻辑运算以及通用算术运算;

所述salu单元用于进行对应交换节点的协议运算。

上述技术方案中,所述交换节点包括rs232总线节点、rs485总线节点、lin总线节点、can总线节点、can-fd总线节点、most总线节点、传统以太网节点以及实时工业以太网节点中的至少一种。

本发明提供了一种基于异构多核处理器的数据流处理方法,其特征在于,包括:

在接收到交换节点传输的数据时,通过通用处理器核根据网关中交换节点的参数信息生成流处理器阵列的配置指令;

使所述流处理器阵列根据所述配置指令选取至少一个流处理器作为所述交换节点的数据接收流处理模块和数据发送流处理模块,以进行所述交换节点数据的接收流处理以及发送流处理。

上述技术方案中还包括数据流处理装置;数据流处理装置包括相互电连接的配置指令生成模块和流处理器配置模块;

配置指令生成模块,用于生成处理器核的配置信息,在接收到交换节点传输的数据时,通过通用处理器核根据网关中交换节点的参数信息生成所述流处理器阵列的配置指令;与处理器核电连接;

流处理器配置模块,用于生成处理器阵列的配置信息,使所述流处理器阵列根据所述配置指令选取至少一个流处理器作为所述交换节点的数据接收流处理模块和数据发送流处理模块,以进行所述交换节点数据的接收流处理以及发送流处理;与处理器阵列电连接。

本发明提供了一种网关,包括存储器以及所述的异构多核处理器,所述存储器存储有计算机程序,所述计算机程序在所述异构多核处理器上运行时使所述网关执行所述的基于异构多核处理器的数据流处理方法。

上述技术方案中,所述配置指令由用户来进行设置,通过该通用处理器核提供一个用户配置界面,用户通过配置界面按需生成配置流处理器阵列的配置指令

本发明的有益效果是:通过通用处理器核生成配置指令,以按需进行流处理器阵列中多个流处理器的配置,使异构多核处理器处理网关中多种不同交换节点的流数据更加高效,以及满足不同的总线以及网络的流数据处理的并行性。

附图说明

图1是本发明实施例1提供的一种异构多核处理器的结构示意图;

图2是本发明实施例提供的另一种异构多核处理器的结构示意图;

图3是本发明实施例提供的一种流处理器阵列的结构示意图;

图4是本发明实施例提供的一种流处理器的结构示意图;

图5是本发明实施例提供的一种数据流处理方法的流程图;

图6是本发明实施例提供的一种数据流处理装置的结构示意图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。

通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。

此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。

图1是本发明实施例1提供的一种异构多核处理器的结构示意图。

该异构多核处理器100包括依次连接的通用处理器核110以及流处理器阵列120;

所述通用处理器核110用于根据网关中交换节点的参数信息生成所述流处理器阵列120的配置指令;

本发明实施例中,舰船信息系统中包含有大量的嵌入式计算单元,这些嵌入式计算单元与舰船服务器以及人机交互界面互联,从而形成一个具有大量节点的网络。而作为中间交换节点的网关连接有各种不同的总线以及网络,这些总线以及网络进行信息交互时传输大量的网关数据,因此网关在处理不同的总线以及网络的网关数据时需要更加高效,以及满足不同的总线以及网络的流数据处理的并行性。

本发明实施例中,上述异构多核处理器100包括通用处理器核110以及流处理器阵列120,通过通用处理器核110按需进行流处理器阵列120的配置,使流处理器阵列120灵活处理不同的总线以及网络的流数据。其中,上述通用处理器核110设置在网关中,可以实时获取网关中交换节点的参数,也即交换节点的类型和数量,根据交换节点的类型和数量该通用处理器核110可以生成相应的流处理器阵列120的配置指令,例如当前网关中包括有rs232总线节点以及rs485总线节点,通用处理器核110则可生成相应的配置指令控制流处理器阵列120中的第一流处理器进行rs232总线节点数据的接收流处理以及发流处理,以及控制流处理器阵列120中的第二流处理器进行rs485总线节点数据的接收流处理以及发流处理。

本发明实施例中,上述配置指令还可以由用户来进行设置,通过该通用处理器核110可以提供一个用户配置界面,用户通过配置界面可以按需生成配置流处理器阵列120的配置指令。

本发明实施例中,所述交换节点包括rs232总线节点、rs485总线节点、lin总线节点(lin,localinterconnectnetwork,局域互联网络)、can总线节点(can,controllerareanetwork,控制器局域网络)、can-fd总线节点(can-fd,canwithflexibledatarate)、most总线节点(most,mediaorientedsystemtransport,面向媒体的系统传输)、传统以太网节点以及实时工业以太网节点中的至少一种。

所述流处理器阵列120包括多个流处理器,根据所述配置指令分别进行对应交换节点的数据接收流处理和/或数据发送流处理。

本发明实施例中,上述流处理器阵列120中包括有多个流处理器,在多个流处理器可以并行工作,并按照配置指令中的流处理器配置进行对应交换节点的数据接收流处理和/或数据发送流处理。例如在一些传输带宽比较低且协议层计算复杂度较低的交换节点,如rs232总线节点,则通过配置指令可以使用流处理器阵列120中其中一个流处理器进行数据接收流处理和数据发送流处理。而在一些传输带宽比较高且协议层计算复杂度较高的交换节点,如can总线节点,则通过配置指令可以使用流处理器阵列120中其中一个流处理器进行数据接收流处理,以及再配置另外一个流处理器进行数据发送流处理,从而保证数据流处理的高效性。

本发明实施例中,通过通用处理器核110生成配置指令,以按需进行流处理器阵列120中多个流处理器的配置,使异构多核处理器100处理网关中多种不同交换节点的流数据更加高效,以及满足不同的总线以及网络的流数据处理的并行性。

图2是本发明实施例提供的另一种异构多核处理器的结构示意图。

该异构多核处理器100还包括设置于所述通用处理器核110以及流处理器阵列120之间的共享存储器130;

所述共享存储器130用于构成所述通用处理器核110与所述流处理器阵列120之间的数据通路,以传输所述流处理器阵列120配置指令至所述流处理器阵列120。并且,通过共享存储器130还可以进行通用处理器核110与所述流处理器阵列120之间内部参数的交互以及缓存。

图3是本发明实施例提供的一种流处理器阵列的结构示意图。

该流处理器阵列300包括交叉开关模块310,以及分别与所述交叉开关模块310连接的多个流处理器320;

所述交叉开关模块310用于进行各个所述流处理器320之间的数据传输;

本发明实施例中,各个流处理器320之间通过交叉开关模块310构成相互之间的数据通路,每个流处理器320可以与除自身之外的其它流处理器320通过交叉开关模块310互联完成数据传输,在交叉开关模块310中不存在冲突的多条数据通路还可以并行运行,从而提高流处理器320之间数据交互的效率。

各个所述流处理器320能被配置为对应交换节点的数据接收流处理模块和/或数据发送流处理模块。

本发明实施例中,各个流处理器320可以通过侦听的方式获取交叉开关模块310的状态,然后决定流处理器320之间数据通路的建立时机,从而可以有效避免数据通路之间的冲突。

图4是本发明实施例提供的一种流处理器的结构示意图。

该流处理器400包括ld/st单元410(ld/st,load/store,加载与存储)、lsrf单元420(lsrf,localstreamregisterfiles,流寄存器文件)、simd指令派发单元430(simd,singleinstructionmultipledata,单指令多数据流)、多个独立的alu单元440(alu,arithmeticandlogicunit,算术逻辑单元)以及多个独立的salu单元450(salu,streamarithmeticandlogicunit,流处理算术逻辑单元);

所述ld/st单元410用于加载指令以及数据,并用于对所述流处理器400的最终运算结果的存储;

所述lsrf单元420用于对所述流处理器400内部运算的中间结果进行缓存;

所述simd指令派发单元430用于在接收到指令后进行所述流处理器400的各个单元相应的调度;

所述alu单元440用于进行通用逻辑运算以及通用算术运算;

所述salu单元450用于进行对应交换节点的协议运算。

本发明实施例中,流处理器400中包含多个专用salu,salu采用专用硬件结构实现控制系统总线常用的crc校验、累加、曼彻斯特编码等协议运算功能可有效提升处理性能。

图5是本发明实施例提供的一种数据流处理方法的流程图,该方法包括如下步骤:

步骤s51:在接收到交换节点传输的数据时,通过通用处理器核根据网关中交换节点的参数信息生成流处理器阵列的配置指令。

步骤s52:使所述流处理器阵列根据所述配置指令选取至少一个流处理器作为所述交换节点的数据接收流处理模块和数据发送流处理模块,以进行所述交换节点数据的接收流处理以及发送流处理。

图6是本发明实施例提供的一种数据流处理装置的结构示意图。

该数据流处理装置600包括:

配置指令生成模块610,用于在接收到交换节点传输的数据时,通过通用处理器核根据网关中交换节点的参数信息生成所述流处理器阵列的配置指令;

流处理器配置模块620,用于使所述流处理器阵列根据所述配置指令选取至少一个流处理器作为所述交换节点的数据接收流处理模块和数据发送流处理模块,以进行所述交换节点数据的接收流处理以及发送流处理。

此外,本发明还提供了一种网关,该网关包括存储器和处理器,存储器可用于存储计算机程序,处理器通过运行所述计算机程序,从而使网关执行上述方法或者上述数据流处理装置中的各个模块的功能。

存储器可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据网关的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

本实施例还提供了一种可读存储介质,用于储存上述网关中使用的计算机程序。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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