一种多处理器通信装置及方法与流程

文档序号:14519036阅读:128来源:国知局
一种多处理器通信装置及方法与流程

本发明实施例涉及通信技术,尤其涉及一种多处理器通信装置及方法。



背景技术:

目前,多处理器芯片广泛应用于各种嵌入式设备中,一般分为应用处理器和通信处理器,应用处理器处理应用相关业务,通信处理器负责移动网络相关业务,移动网络相关业务存在实时性要求,需要保证其实时性。

应用处理器与通信处理器之间的通信以共享内存为数据单元,以中断触发为控制单元进行数据交互。示例性的,当数据从应用处理器发送到通信处理器时,应用处理器为发送方,通信处理器为接收方,具体通信过程是:发送方根据业务需求发送数据,接收方收到中断通知后,根据系统情况执行接收处理流程。

而现有技术的通信方法中可能存在这样一种情况:应用处理器一段时间内连续发送了多包数据给通信处理器,每包数据跟随一个通知中断,即触发了多个中断,而这段时间内,通信处理器需要处理一个要求实时性和优先级都很高的任务task1,而接收数据的任务task2的运行是由应用处理器发送的中断触发的,中断的优先级最高,会触发通信处理器不停的进入中断处理流程,中断处理的开销增加了系统负荷,影响了实时性要求很高的task1的运行,有可能还导致task1时延,同时接降低了系统处理任务的效率。



技术实现要素:

本发明实施例提供一种多处理器通信装置及方法,以实现提高系统处理任务的效率、降低系统负荷的目的。

第一方面,本发明实施例提供了一种多处理器通信装置,包括:

发送方处理器,用于当有数据写入的需求时,将目标数据写入共享内存,并向中断控制器发送中断信号;

接收方处理器,用于当待执行任务为预设任务时,配置中断控制器的状态,以及在接收到中断控制器发送的中断信号时,从共享内存中读取目标数据;

中断控制器,用于根据接收方处理器的配置,生成屏蔽位以处于屏蔽状态,或者清除屏蔽位以处于非屏蔽状态,并在非屏蔽状态时,将中断信号发送至接收方处理器。

第二方面,本发明实施例还提供了一种多处理器通信方法,包括:

当发送方处理器有数据写入的需求时,将目标数据写入共享内存,并向中断控制器发送中断信号;

中断控制器接收中断信号,并根据自身当前状态,在处于屏蔽状态时将中断信号屏蔽,在处于非屏蔽状态时,将中断信号发送至接收方处理器,其中,当接收方处理器待执行任务为预设任务时,由接收方处理器配置中断控制器的状态;

当接收方处理器接收到中断信号时,从共享内存中读取目标数据。

本发明实施例通过接收方处理器在待执行任务为预设任务时,配置中断控制器的状态,使得发送方处理器向中断控制器发送中断信号时,中断控制器根据接收方处理器的配置,生成屏蔽位以处于屏蔽状态,或者清除屏蔽位以处于非屏蔽状态,并在非屏蔽状态时,将中断信号发送至接收方处理器,接收方处理器在接收到中断控制器发送的中断信号时,从共享内存中读取目标数据。如此提高预设任务执行的实时性,同时也提高了系统处理任务的效率,降低了系统负荷。

附图说明

图1为本发明实施例一提供的一种多处理器通信装置的结构示意图;

图2为本发明实施例二提供的一种多处理器通信装置的结构示意图;

图3为本发明实施例三提供的一种多处理器通信方法的流程示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种多处理器通信装置的结构示意图,本实施例可适用于通信双方处理能力不对等的多处理器之间相互通信的情况,尤其适用于以应用处理器为发送方,通信处理器为接收方的情况,该装置可通过硬件和/或软件的方式实现。参考图1,本实施例提供的多处理器通信装置具体包括:

发送方处理器1,用于当有数据写入的需求时,将目标数据写入共享内存,并向中断控制器2发送中断信号;

接收方处理器3,用于当待执行任务为预设任务时,配置中断控制器2的状态,以及在接收到中断控制器2发送的中断信号时,从共享内存中读取目标数据;

中断控制器2,用于根据接收方处理器3的配置,生成屏蔽位以处于屏蔽状态,或者清除屏蔽位以处于非屏蔽状态,并在非屏蔽状态时,将中断信号发送至接收方处理器3。

优选的,所述发送方处理器1为应用处理器,所述接收方处理器3为通信处理器。

在嵌入式移动通信产品中,嵌入式多处理器芯片通常包含应用处理器和通信处理器,应用处理器处理应用相关业务,通信处理器处理移动网络相关业务,移动网络相关业务是有实时性要求的,需要保证其实时性。例如我们使用的智能手机,当我们进行网络数据上传时,有大量的数据从应用处理器不断的发送到通信处理器上,即有大量的中断发送到通信处理器,此时如果通信处理器正在执行高实时性任务,大量的中断处理可能会影响实时性任务的效率,导致异常。

其中,发送方处理器1通过中断控制器2与接收方处理器3相连。中断控制器2是一种优先权裁决器的电子器件,用于处理中断任务的相关流程,发送方处理器1和接收方处理器3均可以对中断处理器进行配置。

其中,共享内存指(sharedmemory)在多处理器的计算机系统中,可以被不同处理器访问的大容量内存。由于多个处理器需要快速访问存储器,这样就要对存储器进行缓存。任何一个缓存的数据被更新后,由于其他处理器也可能要存取,共享内存就需要立即更新,否则不同的处理器可能用到不同的数据。

其中,预设任务优选为高实时性的任务,如此使得接收方处理器3在执行高实时性的任务时,对中断控制器2的状态进行配置,使得接收方处理器3优先处理高实时性的任务。

本实施例的技术方案,通过接收方处理器3在待执行任务为预设任务时,配置中断控制器2的状态,使得发送方处理器1向中断控制器2发送中断信号时,中断控制器2根据接收方处理器3的配置,生成屏蔽位以处于屏蔽状态,或者清除屏蔽位以处于非屏蔽状态,并在非屏蔽状态时,将中断信号发送至接收方处理器3,接收方处理器3在接收到中断控制器2发送的中断信号时,从共享内存中读取目标数据。如此提高预设任务执行的实时性,同时也提高了系统处理任务的效率,降低了系统负荷。

在上述技术方案的基础上,优选的,所述当待执行任务为预设任务时,配置中断控制器2的状态具体包括:

当待执行任务为预设任务时,在执行预设任务之前,将中断控制器2配置为屏蔽状态,并在执行完预设任务之后,将中断控制器2配置为非屏蔽状态。

其中,对于实时性较高的预设任务,接收方处理器3需要优先执行,因此在执行预设任务之前,将中断控制器2配置为屏蔽状态以屏蔽中断信号,此时中断控制器2不会将中断信号发送至接收方处理器3,因此接收方处理器3不会被中断打断而可以执行该实时性较高的预设任务,在接收方处理器3执行完预设任务之后,接收方处理器3将中断控制器2配置为非屏蔽状态,中断控制器2将之前被屏蔽的中断信号发送至接收方处理器3,接收方处理器3接收中断信号后从共享内存中读取目标数据。

在上述技术方案的基础上,优选的,接收方处理器3对中断控制器2的配置方案还可以是替换为:当待执行任务的实时性等级达到预设等级时,配置中断控制器2的状态。

其中,实时性等级是根据系统对该任务的完成时限要求来划分的,要求完成时限越短的,其实时性越高。示例性的,任务task1要求完成的时限为5ms,任务task2要求完成的时限为10ms,则任务task1的实时性等级高于任务task2。

具体地,接收方处理器3将所有待执行任务预先划分实时性等级,当执行待处理任务时,先判断该待处理任务的实时性等级是否达到预设等级,如果是,则配置中断控制器2的状态,具体是,在执行该待处理任务之前,将中断控制器2配置为屏蔽状态,在执行完该待处理任务时,将中断控制器2配置为非屏蔽状态。

实施例二

图2为本发明实施例二提供的一种多处理器通信装置的结构示意图,本实施例在上述实施例的基础上,优选是对发送方处理器1、中断控制器2以及接收方处理器3进一步优化,具体的:

所述发送方处理器1可以包括:

发送方数据处理单元11,用于将目标数据写入共享内存;

发送方中断控制单元12,用于在目标数据写入共享内存之后,触发硬件中断,并向中断控制器2发送中断信号。

其中,发送方处理器1的工作原理是:当发送方数据处理单元11有数据写入的需求时,将目标数据写入共享内存中,发送方中断控制单元12触发硬件中断,并向中断控制器2发送中断信号,如果在某一时间段,发送方数据处理单元11连续有n个数据写入需求时,则向中断控制器2发送n个中断信号。

优选的,所述中断控制器2具体包括:

状态寄存器21,用于接收中断信号,并生成中断标志,所述中断标志用于触发将中断信号发送至接收方处理器3;

屏蔽寄存器22,用于根据接收方处理器3的配置,生成屏蔽位使得中断标志失效,或者清除屏蔽位使得中断标志生效。

进一步,所述中断控制器2具体还包括清除寄存器23,用于当中断信号被发送至接收方处理器3时,清除中断标志。

其中,状态寄存器21标明了是否有中断信号接入,当有中断信号时,状态寄存器21表现为有中断标志;清除寄存器23用来清除已经发生的中断,清除中断后,状态寄存器21中的中断标志被清除,后续不再进入中断处理流程;屏蔽寄存器22用来屏蔽中断的软件处理流程,具体是,根据接收方处理器3的配置,当屏蔽寄存器22使能时产生屏蔽位,即使有中断发生(即状态寄存器21有中断标志),也不会进入软件中断处理流程,屏蔽寄存器22不会清除中断标志,只是屏蔽了软件流程,当屏蔽寄存器22再次使能时清除屏蔽位,如果中断标志依然在位,此时仍会进入软件中断处理流程。

优选的,所述接收方处理器3具体包括:

接收方中断控制单元31,用于当待执行任务为预设任务时,配置中断控制器2的状态,以及在接收到来自中断控制器2的中断信号时,启动接收方数据处理单元32的功能;

接收方数据处理单元32,用于从共享内存中读取目标数据。

其中,配置中断控制器2的状态具体可以是,在执行预设任务之前,控制中断控制器2中的屏蔽寄存器22生成屏蔽位使得中断标志失效,此时中断控制器2中的中断信号暂时不能发送至接收方处理器3,在执行完预设任务之后,控制中断控制器2中的屏蔽寄存器22清除屏蔽位使得中断标志重新生效,使得中断信号被发送至接收方处理器3。

本实施例的技术方案,通过接收方处理器3在待执行任务为预设任务时,配置中断控制器2的状态,使得当发送方处理器1向中断控制器2发送中断信号时,中断控制器2根据接收方处理器3的配置,生成屏蔽位以处于屏蔽状态,或者清除屏蔽位以处于非屏蔽状态,并在非屏蔽状态时,将中断信号发送至接收方处理器3,接收方处理器3在接收到中断控制器2发送的中断信号时,从共享内存中读取目标数据。如此提高预设任务执行的实时性,同时也提高了系统处理任务的效率,降低了系统负荷。

实施例三

图3为本发明实施例三提供的一种多处理器通信方法的流程示意图,本实施例可适用于通信双方处理能力不对等的多处理器之间相互通信的情况,尤其适用于以应用处理器为发送方,通信处理器为接收方的情况,该方法可由多处理器通信装置来执行,该装置可通过硬件和/或软件的方式实现。参考图3,本实施例提供的多处理器通信方法具体包括:

s310、当发送方处理器有数据写入的需求时,将目标数据写入共享内存,并向中断控制器发送中断信号。

s320、中断控制器接收中断信号,并根据自身当前状态,在处于屏蔽状态时将中断信号屏蔽,在处于非屏蔽状态时,将中断信号发送至接收方处理器,其中,当接收方处理器待执行任务为预设任务时,由接收方处理器配置中断控制器的状态。

s330、当接收方处理器接收到中断信号时,从共享内存中读取目标数据。

在上述技术方案的基础上,优选的,所述当接收方处理器待执行任务为预设任务时,由接收方处理器配置中断控制器的状态具体包括:

当接收方处理器待执行任务为预设任务时,则在执行预设任务之前,控制中断控制器生成屏蔽位以处于屏蔽状态,并在执行完预设任务之后,控制中断控制器清除屏蔽位以处于非屏蔽状态。

具体地,接收方处理器在执行预设任务之前,将中断控制器配置为屏蔽状态,此时如果发送方处理器有数据写入的需求,其具体执行过程为:

发送方处理器将目标数据写入共享内存,并向中断控制器发送中断信号,中断控制器接收中断信号并生成中断标志,此时由于中断控制器中有屏蔽位,因此中断标志不起作用,中断控制器不会将中断信号发送至接收方处理器。

当接收方处理器执行完预设任务之后,将中断控制器配置为非屏蔽状态,中断控制器中的屏蔽位被清除,此时由于中断标志还在,中断标志仍可以生效,因此中断控制器将中断信号发送至接收方处理器,接收方处理器接收到中断信号后配置中断控制器清除中断标志,并从共享内存中读取目标数据。

在上述技术方案的基础上,优选的,所述中断控制器接收中断信号,并根据自身当前状态,在处于屏蔽状态时将中断信号屏蔽,在处于非屏蔽状态时,将中断信号发送至接收方处理器具体包括:

中断控制器接收到中断信号后生成中断标志,所述中断标志用于触发将中断信号发送至接收方处理器;

当中断控制器中有屏蔽位时,中断标志失效使得中断信号被屏蔽,当中断控制器中屏蔽位被清除时,中断标志生效使得中断信号被发送至接收方处理器。

本实施例提供的多处理器通信方法与上述任一实施例提供的多处理通信装置属于同一发明构思,可用于本发明任意实施例所提供的多处理通信装置,具备执行装置相应的功能模块和有益效果。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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