一种异构多核平台的数据处理系统及终端设备的制作方法

文档序号:16692814发布日期:2019-01-22 19:05阅读:171来源:国知局
一种异构多核平台的数据处理系统及终端设备的制作方法

本发明实施例涉及数据处理技术领域,特别是涉及一种异构多核平台的数据处理系统及终端设备。



背景技术:

目前,处理器是现代社会发展最不可缺少的电子产品,广泛的应用于数字通信、智能控制以及消费类电子产品等领域中。随着时代的发展,越来越多的处理器采用了异构多核的方案来解决处理速度、功耗、成本、集成度和应用范围等各个方面的问题。然而,如何解决异构多核处理器的协同工作与处理速度之间的冲突、数据访问与并行性之间的矛盾,一直以来都是该领域的研究热点。

在采用异构多核平台对图像进行处理时,处理器会将处理后的数据存储至自身的内存中,当另一个处理器需要从该处理器中获取数据时,该处理器会将自身内存中存储的数据复制到另一个处理器的内存中,另一个处理器再从自身的内存中读取数据进一步对该数据进行处理。由于图像的数据量较大,采用现有技术中的异构多核平台对图像进行处理时,需要对数据进行多次搬移,造成数据处理过程耗时较长,难以实现系统的实时性和并行性,影响图像处理效率。

鉴于此,如何提供一种解决上述技术问题的异构多核平台的数据处理系统及终端设备成为本领域技术人员目前需要解决的问题。



技术实现要素:

本发明实施例的目的是提供一种异构多核平台的数据处理系统及终端设备,在使用过程中能够减少数据的搬移次数,缩短处理所耗时长,从而提高数据处理效率,并且有利于实现系统的实时性和并行性。

为解决上述技术问题,本发明实施例提供了一种异构多核平台的数据处理系统,包括多个节点以及与各个所述节点分别对应的共享缓存模块,其中,目标节点,用于依据预设算法对数据进行处理,并将处理后的共享数据存储至与所述目标节点对应的共享缓存模块中,以便其他的节点从所述共享缓存模块中获取相应的共享数据;所述目标节点为多个所述节点中的任意一个节点。

可选的,还包括:

管理模块,用于对各个所述共享缓存模块的状态信息进行记录。

可选的,所述管理模块,具有用于对各个所述共享缓存模块的运行状态进行监测,并依据监测信息对相应的共享缓存模块的状态信息进行记录。

可选的,所述管理模块,具体用于依据所述目标节点的操作信息设置与相应的所述共享缓存模块对应的状态寄存器的状态标记位,以实现对与所述目标节点对应的共享缓存模块的状态信息的记录。

可选的,所述目标节点,还用于在将所述共享数据存储至相应的共享缓存模块中后,向其他的节点发送中断消息,以便其他的所述节点在响应所述中断消息后从所述共享缓存模块中读取相应的共享数据。

可选的,所述目标节点,还用于通过所述管理模块查询目标数据所在的共享缓存模块的状态信息,并当所述共享缓存模块为空闲状态时读取所述目标数据。

可选的,所述目标节点为dsp、arm、fpga或cup中的一种。

可选的,当所述目标节点为cpu时,其他的所述节点为dsp、arm或fpga中的一种。

本发明实施例还提供了一种终端设备,包括如上述所述的异构多核平台的数据处理系统。

本发明实施例提供了一种异构多核平台的数据处理系统及终端设备,该系统包括多个节点以及与各个节点分别对应的共享缓存模块,其中,目标节点,用于依据预设算法对数据进行处理,并将处理后的共享数据存储至与目标节点对应的共享缓存模块中,以便其他的节点从共享缓存模块中获取相应的共享数据;目标节点为多个节点中的任意一个节点。

可见,本申请中的目标节点将其处理后得到的共享数据存储至与目标节点对应的共享缓存模块中,其他的各个节点在需要对共享数据进行处理时,可以从存储该共享数据的共享缓存模块中获取相应的共享数据,也即本申请中的各个节点均可以从与其他节点对应的共享存储模块读取相应的共享数据,与现有技术相比能够减少数据的搬移次数,缩短处理所耗时长,从而提高数据处理效率,并且有利于实现系统的实时性和并行性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种异构多核平台的数据处理系统的结构示意图;

图2为本发明实施例提供的另一种异构多核平台的数据处理系统的结构示意图。

具体实施方式

本发明实施例提供了一种异构多核平台的数据处理系统及终端设备,在使用过程中能够减少数据的搬移次数,缩短处理所耗时长,从而提高数据处理效率,并且有利于实现系统的实时性和并行性。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参照图1,图1为本发明实施例提供的一种异构多核平台的数据处理系统的结构示意图。

该数据处理系统,包括多个节点1以及与各个节点1分别对应的共享缓存模块2,其中,目标节点,用于依据预设算法对数据进行处理,并将处理后的共享数据存储至与目标节点对应的共享缓存模块中,以便其他的节点1从共享缓存模块中获取相应的共享数据;目标节点为多个节点1中的任意一个节点。

需要说明的是,本申请中的各个节点1分别对应一个共享缓存模块2,以目标节点为例进行详细说明,例如目标节点在根据自身的预设算法对其获取到的数据进行处理后,将处理后的数据中与其他节点1共享的数据(也即共享数据)写入至与目标节点对应的共享缓存模块中进程存储,当其他的节点需要对与目标节点对应的共享缓存模块中的共享数据进行处理时,无需通知目标节点,可以主动从与目标节点对应的共享缓存模块中读取相应的共享数据,并对该共享数据进行相应的处理。当然,其他的节点1均在处理完相应的数据后,将相应的共享数据存储至与自身对应的共享缓存模块中。也即,本申请中的节点1将共享数据存储至相应的共享缓存模块2中,而不是存储至自身的内存中,因此其他的节点1在需要用到相应的共享数据时,即可主动读取相应的共享缓存模块2,从而减少数据的搬移次数,加快数据处理进度。

例如,如图1所示的数据处理系统共包括三个节点,分别为节点11、节点12和节点13,节点11对应共享缓存模块21、节点12对应共享缓存模块22、节点13对应共享缓存模块23,节点11将对其接收到的数据进行处理后得到的共享数据01存储至共享缓存模块21中,当节点12或节点22中的任意一个节点在需要共享数据01时,就直接到共享缓存模块21中查找并读取共享数据01,然后再根据自身的预设算法对共享数据01进行处理,得到相应的数据,并将该数据中与其他节点共享的一部分数据(即共享数据)存储至相应的共享缓存模块中,其他的另个节点在需要该部分共享数据时即可从相应的共享缓存模块中读取该共享数据。

具体的,本申请中的异构多核平台的数据处理系统可以实时图像处理,由于图像的数据量较大,而本申请能够减少数据搬移次数,故能够提高图像处理速度,并能够有利于实现对图像数据的并行处理,确保处理的实时性。

具体的,本申请中的节点为处理器,具体可以为dsp、arm、fpga或cup中的一种,本申请中的异构多核平台的数据处理系统可以应用于异构多核平台,具体可以为由多核dsp、arm与dsp、fpga与dsp、多核cpu等平台。

进一步的,该系统还可以包括:

管理模块3,用于对各个共享缓存模块2的状态信息进行记录。

具体的,为了防止对同一个共享缓存模块2出现访问冲突的问题,本申请可以采用管理模块3对各个共享缓存模块2的状态信息进行记录,具体可以记录共享缓存模块2的状态信息,并将该状态信息与相应的共享缓存模块2的地址信息(或标识信息)对应起来,以便能够对每个共享缓存模块2的状态进行准确的记录。其中,状态信息可以包括写入或读取、执行对象的id(也即当前正在对相应的共享缓存模块进行操作的节点的id)或当前被操作的共享数据标识码。例如,当目标节点需要到另一个节点1对应的共享缓存模块2中读取相应的共享数据时,可以先通过管理模块3中查看该共享缓存模块2是否在被读取或写入,若正在被占用,则可根据需要选择等待或继续查询其他共享缓存模块2中的数据状态,从而避免访问冲突,并且,在不必要等待时,可以先从其他空闲的共享缓存模块2中读取其他需要处理的共享数据,从而提高处理效率。

另外,还需要说明的是本申请中的各个共享缓存模块2均可以包括多个缓存单元,在对包括多个缓存单元的共享缓存模块2的状态信息进行记录时,还可以具体对共享缓存模块2中的各个缓存单元的状态信息进行记录,例如,共享缓存模块2具有4个缓存单元,且该共享缓存模块当前处于被写入的状态,具体的缓存单元21处于被节点11写入的状态,缓存单元22、缓存单元23和缓存单元24处于空闲状态,当其他节点对该共享缓存模块的状态信息进行查询时,就可以知道当前共享缓存模块中的各个缓存单元的具体情况,若当前缓存单元21处于忙碌状态,则在不必要等待时,也可以对缓存单元22或缓存单元23或缓存单元24中的数据进行查询,当其中有需要的共享数据时,则可以从相应的缓存单元中读取该数据以用于处理。

更进一步的,请按照图2,其中,该管理模块3,具有用于对各个共享缓存模块的运行状态进行监测,并依据监测信息对相应的共享缓存模块的状态信息进行记录。

具体的,本申请中的管理模块3可以直接对各个共享缓存模块2的状态进行实时监测,得到与每个共享缓存模块对应的监测信息,其中监测信息包括状态信息,并对相应的共享缓存模块2的状态信息进行记录。

另外,管理模块3除了采用上述直接对各个共享存储模块2进行状态监测之外,还可以具体依据目标节点的操作信息设置与相应的共享缓存模块对应的状态寄存器的状态标记位,以实现对与目标节点对应的共享缓存模块的状态信息的记录。

可以理解的是,本申请以节点中的任意一个节点(目标节点)为例进行说明,在目标节点对与相应的共享缓存模块进行读写操作时,同时会向管理模块3发送相应的操作信息,该操作信息可以包括被操作对象(即所操作的共享缓存模块以及共享缓存模块中的具体缓存单元)、操作类型(读或写等)等信息,管理模块3可以根据接收到的目标节点发送的操作信息后,就会依据该操作信息对相应的共享缓存模块的状态寄存器的状态标记位进行设置,不同的状态标记位对应的不同的状态,例如0对应空闲,1对应被写入,2对应被读取等,并相应的记录下执行节点id等信息,从而完成对相应的共享缓存模块的状态信息的记录。

具体的,当共享缓存模块2具有多个缓存单元时,在对共享缓存模块2的状态信息进行记录时,需要对共享缓存模块2中的各个缓存单元的状态信息进行记录,也即在修改共享缓存模块2的状态寄存器时,具体可以对状态寄存器中与每个缓存单元对应的状态标记位进行相应的修改,以表示各个缓存单元的当前状态。

更进一步的,目标节点,还用于在将共享数据存储至相应的共享缓存模块中后,向其他的节点发送中断消息,以便其他的节点在响应中断消息后从共享缓存模块中读取相应的共享数据。

对于目标节点在将共享数据存储至相应的共享缓存模块中以后,需要其他节点中的某个节点立刻对该共享数据进行相应的处理,故在目标节点将共享数据存储至相应的共享缓存模块中以后,可以向其他的节点中的某个节点发送中断消息,待相应的节点收到该中断消息后响应该中断消息,并依据该中断消息中携带的共享数据的存储位置到相应的共享缓存模块中读取该共享数据并依据自身的预设算法对该共享数据进行处理。

当然,如果对于不需要立刻处理的共享数据,目标节点则不需要向其他的节点发送中断消息,当其他的节点需要对相应的数据进行处理时,主动去管理模块3中查询相应的数据对应的共享缓存模块的状态信息,待相应的共享缓存模块空闲或共享缓存模块中存储该共享数据的子缓存单元空闲时即可读取相应的共享数据。

进一步的,目标节点,还用于通过管理模块3查询目标数据所在的共享缓存模块的状态信息,并当共享缓存模块为空闲状态时读取目标数据。

本申请中在目标节点需要对某共享数据(目标数据)进行处理时,可以到管理模块3中查询与该目标数据的标识码对应的共享缓存模块的状态信息,当该共享缓存模块为空闲状态时即可读取数据。另外,若该共享缓存模块3具有多个缓存单元,则具体可以查询该目标数据所存储的缓存单元的状态信息,当相应的缓存单元处于空闲状态时,即可读取该目标数据,从而避免了访问冲突的问题。

另外,还需要说明的是,本申请中的节点内部可以包括多个子处理模块,并且在节点内部的子处理模块之间进行通信时,既可以采用循环查询的方式,也可以采用中断的方式来进行信息交互。其中,如果采用循环查询的方式,则发送端(发送消息的子处理模块)会根据所发送的消息的优先级放入预先建立的循环消息序列中,接收端(接收消息的子处理模块)会循环查询消息序列,根据消息序列中消息的优先级来响应消息。如果采用中断的方式,发送端会发送中断消息给接收端,接收端响应中断消息,并根据接收端的当前的具体工作状态选择直接执行命令或者等待接收端,直至处于空闲状态的时候再执行。

可以理解的是,本申请中的目标节点可以为dsp、arm、fpga或cup中的一种,例如,当目标节点为cpu时,其他的节点为dsp、arm或fpga中的一种。当然,节点中的多个节点均可以为dsp,其他的节点可以为fpga,上述只是举例说明,并不代表异构多核平台的具体结构类型,例如还可以为cpu和fpga组成的异构多核平台,也可以为arm和dsp组成的异构多核平台,具体不做限定。

可见,本申请中的目标节点将其处理后得到的共享数据存储至与目标节点对应的共享缓存模块中,其他的各个节点在需要对共享数据进行处理时,可以从存储该共享数据的共享缓存模块中获取相应的共享数据,也即本申请中的各个节点均可以从与其他节点对应的共享存储模块读取相应的共享数据,与现有技术相比能够减少数据的搬移次数,缩短处理所耗时长,从而提高数据处理效率,并且有利于实现系统的实时性和并行性。

另外,本申请还可以解决异构多核处理器之间数据传输和通信数据的访问冲突的问题,并且本申请能够支持大分辨和高帧频的图像处理算法,有利于减少多核处理器的中断资源使用量,实现多核之间的协同工作,更有利于满足图像处理领域中高并行性、大数据量、高速率和实时性高的应用环境。

在上述实施例的基础上,本发明实施例还提供了一种终端设备,包括如上述的异构多核平台的数据处理系统。

需要说明的是,本发明实施例中所提供的终端设备具有与上述实施例中的异构多核平台的数据处理系统相同的有益效果,另外,对于本实施例中所涉及到的异构多核平台的数据处理系统的介绍请参照上述实施例,本申请不再赘述。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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