众核处理器及其核间通信的方法、主核和从核的制作方法

文档序号:6380791阅读:793来源:国知局
专利名称:众核处理器及其核间通信的方法、主核和从核的制作方法
技术领域
本发明涉及处理器领域,特别涉及众核处理器及其核间通信的方法、主核和从核。
背景技术
随着半导体技术的发展,传统的单核处理器暴露出许许多多的局限,体系结构设计者为了在处理器性能进一步提升的同时降低功耗和散热,提出了多核处理器(multi-core processor)和众核处理器(many-core processor)。多核处理器可以分为两种同构多核处理器和异构多核处理器。同构多核处理器内的处理器核类型相同,在多核处理器中处于对等的地位;异构多核处理器内含有不同类型的处理器核,并且不同类型的处理器核在多核处理器内部担当不同角色。众核处理器与多核处理器相比,核心数量更多,而且众核处理器通常都是异构的。在使用众核处理器时,需要选择某个或者某几个核对其他 核进行运行控制和空间管理,从而构成主从式的架构,所述的管理核为主核,被管理的核为从核。在众核处理器中,核间的通信非常重要,一个高效的核间通信可以大大提高众核处理器的可用性和稳定性。如CELL处理器芯片这样的异构众核,大量的协同处理单元(SPE, Synergistic Processing Elements)事务需要通过 Power 主处理器单兀(PPE, PowerProcessor Element)来处理,就需要设计一种可靠的核间通信机制,来保证系统高效稳定的运行。但目前还没有针对众核处理器的核间通信的技术。现有技术中,面向多核处理器的核间通信机制的实现方法有多种,其中包括1)基于核间中断与共享内存的方法;2)基于硬件寄存器的核间通信;3)基于共享内存的核间通信。但由于在众核处理器中,从核的数量众多,通常多于64个,在从核数量远远多于主核的环境下,多核处理器的核间通信机制并不适用于众核处理器的应用场景。此外,在众核处理器中,由于从核数量众多,主核的处理能力有可能成为核间通信的瓶颈,在主核和从核的通信过程中,主核的消息处理能力达到上限就可能会出现系统程序无法正常响应的状况。例如,当众多从核同时向主核发送事务请求时,如果主核不对核间通信进行流量控制,就会导致主核负荷太重,无法响应正常的系统程序,进入“假死”状态。为了避免上述这种状况的产生,就需要提出一个安全的针对众核处理器核间通信的流量控制方法,以最大限度的满足从核需求和系统的稳定。其他有关核间通信的方法还可以参考公开号为CN101354693的中国发明专利申请,其公开了一种异构多核处理器的核间通信调度系统及方法。

发明内容
本发明技术方案解决的问题是现有技术众核处理器在从核产生大量事务请求时造成消息丢失,主核无法响应从核请求。为解决上述问题,本发明技术方案提供了一种众核处理器核间通信的方法,包括从核在对应的共享交互区的数据区装填消息,之后利用核间中断通知主核;所述主核在收到所述从核发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间;所述主核从所述共享交互区获取消息并保存到申请到的缓存空间,之后所述主核释放所述共享交互区;所述主核处理所述消息,在处理完所述消息后,释放所述申请到的缓存空间。可选的,还包括若所述主核申请共享缓存空间失败,则所述主核在所述共享交互区中设置流量控制标志。可选的,还包括主核判断所述预留缓存空间是否被占用,在判断出所述预留缓存空间未被占用后,清除所述共享交互区中的流量控制标志。可选的,还包括所述从核在对应的共享交互区的数据区装填消息前,判断所述共享交互区中是否存在所述流量控制标志,若是则等待所述主核清除流量控制标志后再在所述共享交互区的数据区装填消息,若否则在所述共享交互区的数据区装填消息。可选的,所述预留缓存空间由所述主核在系统初始化时分配给对应的从核。
·
相应的,本发明技术方案还提供了一种众核处理器,包括主核、从核和共享交互区,所述主核包括缓存队列、工作队列和控制单元,所述从核包括装填单元,所述共享交互区包括数据区,其中所述共享交互区适于主核和从核之间的消息共享;所述装填单元适于在对应的共享交互区的数据区装填消息,之后利用核间中断通知所述主核;所述缓存队列适于在收到所述从核发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间;所述控制单元适于从所述共享交互区获取消息并保存到所述缓存队列申请到的缓存空间,之后释放所述共享交互区;所述工作队列适于处理所述消息;所述缓存队列还适于在所述工作队列处理完所述消息后,释放所述申请到的缓存空间。可选的,所述主核还包括设置单元,适于在所述缓存队列申请共享缓存空间失败后,在所述共享交互区中设置流量控制标志。可选的,所述主核还包括清除单元,适于判断所述预留缓存空间是否被占用,在判断出所述预留缓存空间未被占用后,清除所述共享交互区中的流量控制标志。可选的,所述从核还包括判断单元,适于判断所述共享交互区中是否存在所述流量控制标志;所述装填单元适于在所述判断单元的判断结果为是时等待所述流量控制标志清除后再在所述共享交互区的数据区装填消息,在所述判断单元的判断结果为否时在所述共享交互区的数据区装填消息。可选的,所述主核还包括分配单元,适于在系统初始化时将所述预留缓存空间分配给对应的从核。可选的,所述缓存队列具有申请接口和释放接口。相应的,本发明技术方案还提供了一种主核,包括缓存队列、工作队列和控制单元,其中,所述缓存队列适于在收到从核发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间;所述控制单元适于从对应所述从核的共享交互区获取消息并保存到所述缓存队列申请到的缓存空间,之后释放所述共享交互区;所述工作队列适于处理所述消息;所述缓存队列还适于在所述工作队列处理完所述消息后,释放所述申请到的缓存空间。可选的,还包括设置单元,适于在所述缓存队列申请共享缓存空间失败后,在所述共享交互区中设置流量控制标志。可选的,还包括清除单元,适于在所述工作队列处理完所述消息后,判断出所述预留缓存空间未被占用后,清除所述共享交互区中的流量控制标志。可选的,还包括分配单元,适于在系统初始化时将所述预留缓存空间分配给对应的从核。可选的,所述缓存队列具有申请接口和释放接口。相应的,本发明技术方案还提供了一种与上述的主核进行核间通信的从核,包括判断单元和装填单元,其中,所述判断单元适于判断所述共享交互区中是否存在所述流量控制标志;所述装填单元适于在所述判断单元的判断结果为是时等待所述流量控制标志清除后再在所述共享交互区的数据区装填消息,在所述判断单元的判断结果为否时在所述共享交互区的数据区装填消息,在装填消息后利用利用核间中断通知所述主核。
与现有技术相比,本发明技术方案提出了一种针对众核处理器的核间通信方法。上述技术方案中主核申请保存消息的缓存空间时,主核首先申请使用共享缓存空间,申请使用共享缓存空间会产生申请成功和申请失败两种情况,当申请成功时,表示此时从核产生的消息较少,共享缓存空间还有余,可以将从核的消息存入共享缓存空间,等待处理;当申请失败时,表示此时从核产生的消息较多,将共享缓存空间用尽,主核需要申请预留缓存空间,预留缓存空间是主核为各个从核预先保留的缓存空间,申请必定成功,主核将从核的消息存入预留缓存空间,等待主核处理,因此,保证了从核发送到主核的消息不会丢失,主核可以响应从核的请求。进一步的,本发明技术方案提出的众核处理器的核间通信方法,具有面对从核的大量事务请求进行流量控制的功能。上述技术方案中,当主核申请使用共享缓存空间失败时,表示共享缓存空间已经用尽,主核的消息处理能力已经达到了上限,因此需要进行消息的流量控制,此时主核会在共享交互区中设置流量控制标志;若从核要向主核发送消息首先会判断共享交互区中是否存在流量控制标志,当存在流量控制标志时,从核必须等待主核清除流量控制标志后才能向主核发送消息,这就从源头上控制了消息的来源,保证消息传递过程中不会出现拥塞,实现了可靠的具有流量控制功能的核间通信机制。


图I是本发明技术方案的众核处理器核间通信方法的流程示意图;图2是本发明技术方案的众核处理器的结构示意图;图3是本发明实施例的众核处理器核间通信方法的流程示意图;图4是本发明实施例的众核处理器的结构示意图。
具体实施例方式为使本发明技术方案的上述目的、特征和优点能够更为明显易懂,下面结合附图和实施例对本发明的具体实施方式
做详细的说明。现有技术中,没有针对众核处理器的核间通信的方法,而且多核处理器的核间通信机制也不适用于众核处理器的应用场景。但在众核处理器中,由于大量的从核事务请求需要主核来处理,需要一种核间通信方法,来保证系统高效稳定的运行,防止从核发送事务请求的消息丢失。请参考图I,本发明技术方案提供了一种众核处理器核间通信的方法,所述众核处理器核间通信的方法包括步骤S101,从核在对应的共享交互区的数据区装填消息,之后利用核间中断通知主核。步骤S102,所述主核在收到所述从核发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间。步骤S103,所述主核从所述共享交互区获取消息并保存到申请到的缓存空间,之后所述主核释放所述共享交互区。步骤S104,所述主核处理所述消息,在处理完所述消息后,释放所述申请到的缓存 空间。上述众核处理器的核间通信方法中,从核向主核发送事务请求,将消息装填在对应的共享交互区,主核申请使用共享缓存空间,当申请失败时,主核申请预留缓存空间,主核将从核的消息存入申请到的缓存空间,等待主核处理。由于主核可以申请使用共享缓存空间或者预留缓存空间,而预留缓存空间为系统为各个从核预先保留的缓存空间,申请必定成功,所以本技术方案确保了从核发送到主核的消息不会丢失,提供了一种可靠的核间通 目方法。对应的,本发明技术方案提供一种众核处理器,请参考图2,包括主核201、从核203和共享交互区202,所述主核201包括缓存队列、工作队列和控制单元(未示出),所述从核203包括装填单元(未示出),所述共享交互区202包括数据区(未示出),所述主核201的数量至少为一个,所述从核203的数量为多个,所述共享交互区202的数量为多个,且所述共享交互区202与所述从核203 —一对应。所述共享交互区202用于主核201和从核203之间的消息共享;所述装填单元用于在对应的共享交互区202的数据区装填消息,之后利用核间中断通知所述主核201 ;所述缓存队列用于在收到所述从核203发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核203的预留缓存空间;所述控制单元用于从所述共享交互区202获取消息并保存到所述缓存队列申请到的缓存空间,之后释放所述共享交互区202 ;所述工作队列用于处理所述消息;所述缓存队列还用于在所述工作队列处理完所述消息后,释放所述申请到的缓存空间。进一步的,在众核处理器中,由于从核的数量远远多于主核,当众多从核同时向主核发送事务请求时,如果主核不对核间通信进行流量控制,就会导致主核负担太重,无法响应正常的系统程序。本发明的众核处理器核间通信的方法还可以通过流量控制标志实现流量控制。下面结合实施例,对本发明技术方案的众核处理器的核间通信方法进行详细说明。请参考图3所示的本实施例的众核处理器的核间通信方法的流程示意图,所述核间通信方法包括步骤S301,从核向主核发送事务请求前,从核先判断对应的共享交互区是否存在流量控制标志若存在流量控制标志,则重复执行步骤S301,也就是等待共享交互区的流量控制标志清除;若不存在流量控制标志,则执行步骤S302。本实施例中,所述共享交互区包括数据区和标志区,其中,数据区供对应的从核装填消息,标志区用于储存流量控制标志,所述共享交互区存在流量控制标志是指标志区中的流量控制标志被设置(例如值为1),所述共享交互区不存在流量控制标志是指标志区中的流量控制标志被清除(例如值为O)。步骤S302,从核装填消息到共享交互区的数据区,并利用核间中断通知主核。步骤S303,主核收到从核发送的核间中断后申请共享缓存空间,并判断申请共享缓存空间是否成功若申请共享缓存空间成功,则执行步骤S304 ;若申请共享缓存空间失败,则执行步骤S305。步骤S304,主核从与发送核间中断的从核对应的共享交互区中获取消息数据,保存到申请到的共享缓存空间,并释放所述的共享交互区,然后执行步骤S307。步骤S305,主核申请与发送核间中断的从核对应的预留缓存空间,所述的预留缓存空间为系统为每个从核预先保留的缓存空间,例如,可以是在系统初始化时主核预留给 每个从核的缓存空间,所以申请必定成功;并且主核在与发送核间中断的从核对应的共享交互区的标志区设置流量控制标志。步骤S306,主核从与发送核间中断的从核对应的共享交互区中获取消息数据,保存到申请到的预留缓存空间,并释放所述的共享交互区,然后执行步骤S307。步骤S307,主核启动工作队列处理消息,工作队列处理完所述消息后,释放缓存空间。具体地,若消息保存在共享缓存空间则释放所述共享缓存空间,若消息保存在预留缓存空间则释放所述预留缓存空间。步骤S308,主核判断与发送核间中断的从核对应的预留缓存空间是否被占用,SP所述预留缓存空间中是否存有未处理完的消息若所述预留缓存空间被占用,则重复执行S308 ;若所述预留缓存空间未被占用,则执行S309。在工作队列处理消息的过程中,主核可以判断与发送核间中断的从核对应的预留缓存空间是否被占用,若所处理的消息保存在共享缓存空间,则该预留缓存空间是未被占用的;若所处理的消息保存在预留缓存空间,则该预留缓存空间是被占用的,直至工作队列处理完消息,该预留缓存空间被释放后,主核会判断出该预留缓存空间是未被占用的。步骤S309,主核清除与发送核间中断的从核对应的共享交互区的流量控制标志。上述实施例中,所述众核处理器的核间通信方法,利用主核对共享缓存空间和预留缓存空间的申请和释放,和主核在对应从核的共享交互区设置和清除流量控制标志共同实现主核和从核之间核间通信的流量控制。主核在申请共享缓存空间失败后,申请预留缓存空间,并会在对应从核的共享交互区设置流量控制标志,表示主核的消息处理能力已经达到了上限。所述从核在对应的共享交互区的数据区装填消息前,会判断所述共享交互区中是否存在所述流量控制标志若是,则等待所述主核清除流量控制标志后再在所述共享交互区的数据区装填消息;若否,则在所述共享交互区的数据区装填消息。这就从源头上控制了从核消息的产生。当主核处理完所述消息后,会判断所述预留缓存空间是否被占用,若所述预留缓存空间未被占用,则表示还没有达到主核通信流量的上限,可以继续接收消息,则清除所述共享交互区中的流量控制标志,若所述预留缓存空间仍然被占用,则保留所述流量控制标志,等待对应的预留缓存空间在消息处理完成后被释放。通过以上设置和清除共享交互区的流量控制标志和判断预留缓存空间是否被占用的策略,就实现了对核间通信进行流量控制的目的。对应的,请参考图4,图4为本发明实施例的众核处理器的结构示意图,需要说明的是,图中仅示出主核与一个从核及其对应的共享交互区的连接关系。所述众核处理器包括主核401,共享交互区402和从核403。所述主核401和从核403为异构。所述主核401的数量至少为一个,所述主核401—般为通用的处理器核心,其指令集为完整指令集,包括相关的控制指令、运算指令等,可以选自ARM,MIPS、X86或PowerPC中的一种,因此具有较高的通用性。所述从核403的数量为多个,例如所述从核403的数量为64个、128个或者256个等等。所述从核403为指令集和微结构经过简化的处理器核心,但其结构是针对运算指令进行过专门优化的,使其可以较高效的执行图形处理或数字信号处理(DSP,DigitalSignal Process)等计算密集型任务,提高了所述运算任务的执行效率,进而提高了整个众核处理器的性能。所述共享交互区402的数量为多个,且所述共享交互区402与所述从核
403 --对应,所述共享交互区402对于各个从核来说只有一块,但由于主核401需要与各 个从核通信,所以对于主核401来说共享交互区402有多个。所述共享交互区402为集成在众核处理器内的片内存储器,如SRAM等,其存储器空间与片外存储器相比较小,用于主核401和从核403之间的消息共享。所述主核401包括缓存队列401a、工作队列401b、控制单元401c、设置单元401d、清除单元401e和分配单元401f ;所述共享交互区402包括数据区402a和标志区402b ;所述从核403包括装填单元403a和判断单元403b。所述缓存队列401a用于在收到从核403发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间,所述预留缓存空间为系统为每个从核预先保留的缓存空间,例如,可以是在系统初始化时主核401预留给每个从核403的缓存空间,所以申请必定成功。所述预留缓存空间通过主核401的分配单元401f在系统初始化时分配,所述预留缓存空间与从核403 —一对应,且为所对应的从核403所独享。本实施例中,所述的缓存队列401a属于整个众核处理器核间通信机制中的一个子模块,该模块主要用于管理主核缓存空间,提供有申请接口和释放接口,其中申请接口可以设置普通申请方式和强制申请方式的标志,该标志会随着主核401调用申请接口而传递到该缓存队列内,所述的普通申请方式申请共享缓存空间,所述的强制申请方式申请预留缓存空间。在主核401收到从核403发送的核间中断后,主核401调用缓存队列401a的申请接口申请缓存空间,此时缓存队列401a的申请接口设置普通申请方式的标志,申请共享缓存空间,若申请共享缓存空间成功,表示共享缓存空间还有余,则主核401从共享交互区402的数据区402a中获取消息数据,保存到申请到的共享缓存空间中;若申请共享缓存空间失败,则表示共享缓存空间已经用完,但为了保证从核403装填在共享交互区402的数据区402a中的消息不会丢失,此时主核401会申请使用系统初始化时预留给各个从核403的较小的预留缓存空间,此时,缓存队列401a的申请接口设置强制申请方式的标志,随着主核调用缓存队列的申请接口而传递到缓存队列中,由于所述的预留缓存空间与各个从核403 一一对应,且为所对应的从核所独享,所以申请必定成功,在申请预留缓存空间成功后,主核401从共享交互区402的数据区402a中获取消息数据,保存到申请到的预留缓存空间中。所述缓存队列401a具有释放接口,在工作队列401b处理完所述消息后,主核401会调用缓存队列401a的释放接口,该接口主要就是回收缓存区,释放所述申请到的缓存空间。
所述工作队列401b在控制单元401c从共享交互区402获取消息并保存到所述缓存队列401a申请到的缓存空间后,处理所述消息。所述控制单元401c与所述缓存队列401a相配合,在缓存队列401a申请到用于保存消息的缓存空间后,用于从共享交互区402的数据区402a获取消息并保存到所述缓存队列401a申请到的缓存空间,并释放所述共享交互区402。所述设置单元401d用于在所述缓存队列401a申请共享缓存空间失败后,在所述共享交互区402的标志区402b中设置流量控制标志。当所述缓存队列401a申请共享缓存空间失败时,表示共享缓存空间已经用完,主核401的消息处理能力已经达到了上限,需要控制从核403消息的产生,因此在共享交互区402的标志区402b设置流量控制标志,同时配合从核403发送消息时判断流量控制标志的策略,从而控制从核403消息的发送、达到防止主核401负担太重的目的。所述清除单元401e用于在判断出所述预留缓存空间未被占用后,清除所述共享 交互区402中的流量控制标志。所述的清除单元401e是众核处理器核间通信机制中的一个模块,判断所述预留缓存空间是否被占用若所述预留缓存空间已经被释放,表示主核401处理消息的负担减轻,则清除所述共享交互区402中的流量控制标志,当与此共享交互区402相对应的从核403产生消息时,由于从核403会首先判断所述共享交互区402的流量控制标志,当流量控制标志已经被清除时,从核403就可以向主核401发送消息;若所述预留缓存空间仍然被占用,则说明主核401的处理能力依然处于上限,所述共享交互区402的流量控制标志继续保持,当与所述共享交互区402相对应的从核403产生消息时,需要继续等待,不能向主核401发送。所述装填单元403a用于在对应的共享交互区402的数据区402a装填消息,之后利用核间中断通知主核401。所述核间中断是硬件提供的一种事件机制,对于主核401来说属于异步事件,产生的方式与硬件实现的具体方式有关,例如可以通过从核写通道或者写硬件的IO寄存器来产生核间中断信号。装填单元403a通知主核401主要就是利用主从间的核间中断实现的,由硬件保证可靠传输,当主核401收到装填单元403a发送的核间中断后,进入这个中断相应的处理流程。在本实施例中,所述核间中断是当从核403的装填单元403a在对应的共享交互区402的数据区402a中装填消息之后,利用硬件提供的核间中断机制,通过从核写通道产生一个核间中断,通知主核401消息已经装填入共享交互区402,等待主核401进入对该消息的处理流程。所述判断单元403b用于判断所述共享交互区402中是否存在流量控制标志。当所述判断单元403b的判断结果为是时,表明主核401的消息处理能力已经达到了上限,而且共享缓存空间已经用尽,与该从核403相对应的预留缓存空间也被占用,主核401暂时不能处理该从核403发送的消息,所以,此时所述从核403的装填单元403a等待主核401清除所述流量控制标志后才能在所述共享交互区402的数据区402a装填消息;当所述判断单元403b的判断结果为否时,表明所述从核403所对应的预留缓存空间未被占用,主核401还可以接受从核403发送的消息,所以,此时所述装填单元403b在该从核403对应的共享交互区402的数据区402a装填消息,之后利用核间中断通知所述主核401。所述共享交互区402用于主核401和从核403之间的消息共享,所述共享交互区402包括数据区402a。所述数据区402a作为主核401和从核403之间消息的暂存区,在从核403产生消息并通过判断单元403b判断出所述共享交互区402的标志区402b不存在流量控制标志时,装填单元403a在共享交互区的数据区402a填装消息,之后利用核间中断通知所述主核401 ;主核401在收到所述从核403发送的核间中断后,所述缓存队列401a申请共享缓存空间或者预留缓存空间,申请成功后,缓存队列401a获取共享交互区的数据区402a中的消息存入缓存空间,等待处理。所述共享交互区402的标志区402b中的流量控制标志是由主核401设置和清除的。在本实施例中,标志区402b可以保存一个比特位的标志位,当需要在标志区402b设置流量控制标志时,将此标志位置I,当需要清除标志区402b的流量控制标志时,将此标志位置O。设置流量控制标志的时机由缓存队列401a申请共享缓存空间成功与否确定,清除流量控制标志的时机由缓存空间释放后判断与所述从核403对应的预留缓存空间是否被占 用确定。当主核401接收到从核403发送的核间中断后,缓存队列401a申请用于保存消息的共享缓存空间,当申请失败时,表示共享缓存空间已经用完,主核401的消息处理能力已经达到了上限,主核401感觉到了通信压力,需要控制从核403消息的产生,在与所述从核403相对应的共享交互区的标志区402b设置流量控制标志,迫使从核403暂停消息发送,从而从源头上减少主核401和从核403之间的通信流量。当所述工作队列401b处理完所述消息后,会判断所述预留缓存空间是否被占用,若所述预留缓存空间未被占用,则表示主核401处理消息的负担减轻,还没有达到主核401通信流量的上限,可以继续接收消息,则清除所述标志区402b中的流量控制标志,当与此共享交互区402相对应的从核403产生消息时,由于从核403会首先判断所述标志区402b的流量控制标志,流量控制标志已经被清除时,从核403就可以向主核401发送消息。本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
权利要求
1.一种众核处理器核间通信的方法,其特征在于,包括 从核在对应的共享交互区的数据区装填消息,之后利用核间中断通知主核; 所述主核在收到所述从核发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间; 所述主核从所述共享交互区获取消息并保存到申请到的缓存空间,之后所述主核释放所述共享交互区; 所述主核处理所述消息,在处理完所述消息后,释放所述申请到的缓存空间。
2.如权利要求I所述的众核处理器核间通信的方法,其特征在于,还包括若所述主核申请共享缓存空间失败,则所述主核在所述共享交互区中设置流量控制标志。
3.如权利要求2所述的众核处理器核间通信的方法,其特征在于,还包括主核判断所述预留缓存空间是否被占用,在判断出所述预留缓存空间未被占用后,清除所述共享交互区中的流量控制标志。
4.如权利要求3所述的众核处理器核间通信的方法,其特征在于,还包括所述从核在对应的共享交互区的数据区装填消息前,判断所述共享交互区中是否存在所述流量控制标志,若是则等待所述主核清除流量控制标志后再在所述共享交互区的数据区装填消息,若否则在所述共享交互区的数据区装填消息。
5.如权利要求I所述的众核处理器核间通信的方法,其特征在于,所述预留缓存空间由所述主核在系统初始化时分配给对应的从核。
6.一种众核处理器,其特征在于,包括主核、从核和共享交互区,所述主核包括缓存队列、工作队列和控制单元,所述从核包括装填单元,所述共享交互区包括数据区,其中 所述共享交互区适于主核和从核之间的消息共享; 所述装填单元适于在对应的共享交互区的数据区装填消息,之后利用核间中断通知所述主核; 所述缓存队列适于在收到所述从核发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间; 所述控制单元适于从所述共享交互区获取消息并保存到所述缓存队列申请到的缓存空间,之后释放所述共享交互区; 所述工作队列适于处理所述消息; 所述缓存队列还适于在所述工作队列处理完所述消息后,释放所述申请到的缓存空间。
7.如权利要求6所述的众核处理器,其特征在于,所述主核还包括设置单元,适于在所述缓存队列申请共享缓存空间失败后,在所述共享交互区中设置流量控制标志。
8.如权利要求7所述的众核处理器,其特征在于,所述主核还包括清除单元,适于判断所述预留缓存空间是否被占用,在判断出所述预留缓存空间未被占用后,清除所述共享交互区中的流量控制标志。
9.如权利要求8所述的众核处理器,其特征在于,所述从核还包括判断单元,适于判断所述共享交互区中是否存在所述流量控制标志;所述装填单元适于在所述判断单元的判断结果为是时等待所述流量控制标志清除后再在所述共享交互区的数据区装填消息,在所述判断单元的判断结果为否时在所述共享交互区的数据区装填消息。
10.如权利要求6所述的众核处理器,其特征在于,所述主核还包括分配单元,适于在系统初始化时将所述预留缓存空间分配给对应的从核。
11.如权利要求6所述的众核处理器,其特征在于,所述缓存队列具有申请接口和释放接口。
12.—种主核,其特征在于,包括缓存队列、工作队列和控制单元,其中, 所述缓存队列适于在收到从核发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间; 所述控制单元适于从对应所述从核的共享交互区获取消息并保存到所述缓存队列申请到的缓存空间,之后释放所述共享交互区; 所述工作队列适于处理所述消息; 所述缓存队列还适于在所述工作队列处理完所述消息后,释放所述申请到的缓存空间。
13.如权利要求12所述的主核,其特征在于,还包括设置单元,适于在所述缓存队列申请共享缓存空间失败后,在所述共享交互区中设置流量控制标志。
14.如权利要求13所述的主核,其特征在于,还包括清除单元,适于在所述工作队列处理完所述消息后,判断出所述预留缓存空间未被占用后,清除所述共享交互区中的流量控制标志。
15.如权利要求12所述的主核,其特征在于,还包括分配单元,适于在系统初始化时将所述预留缓存空间分配给对应的从核。
16.如权利要求12所述的主核,其特征在于,所述缓存队列具有申请接口和释放接口。
17.一种与权利要求14所述的主核进行核间通信的从核,其特征在于,包括判断单元和装填单元,其中, 所述判断单元适于判断所述共享交互区中是否存在所述流量控制标志; 所述装填单元适于在所述判断单元的判断结果为是时等待所述流量控制标志清除后再在所述共享交互区的数据区装填消息,在所述判断单元的判断结果为否时在所述共享交互区的数据区装填消息,在装填消息后利用利用核间中断通知所述主核。
全文摘要
一种众核处理器及其核间通信的方法、主核和从核,其中,所述众核处理器核间通信的方法包括从核在对应的共享交互区的数据区装填消息,之后利用核间中断通知主核;所述主核在收到所述从核发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间;所述主核从所述共享交互区获取消息并保存到申请到的缓存空间,之后所述主核释放所述共享交互区;所述主核处理所述消息,在处理完所述消息后,释放所述申请到的缓存空间。本发明的众核处理器及其核间通信方法不会造成消息丢失,提供了可靠的核间通信机制。
文档编号G06F15/167GK102929834SQ20121044145
公开日2013年2月13日 申请日期2012年11月6日 优先权日2012年11月6日
发明者许国春, 黄高阳, 陈斐, 殷红武 申请人:无锡江南计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1