多任务执行方法、装置以及电子设备与流程
未命名
08-01
阅读:299
评论:0
1.本技术涉及计算机技术领域,更具体地,涉及一种多任务执行方法、装置以及电子设备。
背景技术:
2.随着人工智能场景的复杂化,越来越多的场景处理需要涉及多个任务的处理,在执行多任务时,处理器(如:人工智能网络处理器(neural network processing unit,npu))需要经常在多个任务间进行切换,在相关方式中,通常采用控制模块(如:微控制单元(microcontroller unit,mcu))对处理器进行交互控制,从而使得处理器可以正常处理多个任务。
3.但是,在控制模块与处理器的交互过程中,还存在控制模块的工作稳定性有待提升的问题。
技术实现要素:
4.鉴于上述问题,本技术提出了一种多任务执行方法、装置以及电子设备,以实现改善上述问题。
5.第一方面,本技术提供了一种多任务执行方法,应用于电子设备,所述电子设备包括第一控制模块、第二控制模块以及处理器,所述处理器中设置有两个寄存器,所述方法包括:所述第一控制模块接收所述第二控制模块发送的多个任务的配置信息;所述第一控制模块发送一个任务的配置信息给所述处理器的第一寄存器,以用于所述处理器基于所述第一寄存器中的配置信息执行对应的任务,所述第一寄存器为所述处理器包括的两个寄存器中任意一个寄存器;在所述处理器完成所述第一寄存器中的配置信息对应的任务之前,所述第一控制模块发送剩余任务中的一个任务的配置信息给所述处理器的第二寄存器,所述第二寄存器为所述处理器包括的寄存器中未写入配置信息的寄存器;所述第一控制模块响应于所述处理器发送的任务执行完成通知,将剩余任务中一个任务的配置信息发送给所述处理器中的目标寄存器,所述目标寄存器为存储所述任务执行完成通知对应的任务配置信息的寄存器,直到所述多个任务均被所述处理器执行,其中,所述处理器基于其中一个寄存器中的配置信息执行完对应的任务后,直接基于另一个寄存器中的配置信息执行对应的任务。
6.第二方面,本技术提供了一种多任务执行方法,应用于电子设备,所述电子设备包括第一控制模块、第二控制模块以及处理器,所述处理器中设置有两个寄存器,所述方法包括:所述处理器接收所述第一控制模块发送的一个任务的配置信息,并将所述任务的配置信息存在第一寄存器中,所述第一寄存器为所述处理器包括的两个寄存器中任意一个寄存器;在所述处理器完成所述第一寄存器中的配置信息对应的任务之前,所述处理器接收所述第一控制模块发送剩余任务中的一个任务的配置信息,并将所述任务的配置信息存在第二寄存器中,所述第二寄存器为所述处理器包括的寄存器中未写入配置信息的寄存器,其
中,所述处理器基于其中一个寄存器中的配置信息执行完对应的任务后,直接基于另一个寄存器中的配置信息执行对应的任务;在有任务执行完成后向所述第一控制模块返回任务执行完成通知,以用于所述第一控制模块响应于所述任务执行完成通知,将剩余任务中一个任务的配置信息返回给所述处理器,直到所述多个任务均被所述处理器执行;所述处理器接收到所述第一控制模块响应于所述任务执行完成通知返回的配置信息后,将所述返回的配置信息存储在目标寄存器中,所述目标寄存器为存储所述任务执行完成通知对应配置信息的寄存器。
7.第三方面,本技术提供了一种多任务执行装置,运行于电子设备,所述电子设备包括第一控制模块、第二控制模块以及处理器,所述处理器中设置有两个寄存器;所述装置包括:配置信息获取单元,用于所述第一控制模块接收所述第二控制模块发送的多个任务的配置信息;配置信息发送单元,用于所述第一控制模块发送一个任务的配置信息给所述处理器的第一寄存器,以用于所述处理器基于所述第一寄存器中的配置信息执行对应的任务,所述第一寄存器为所述处理器包括的两个寄存器中任意一个寄存器;在所述处理器完成所述第一寄存器中的配置信息对应的任务之前,所述第一控制模块发送剩余任务中的一个任务的配置信息给所述处理器的第二寄存器,所述第二寄存器为所述处理器包括的寄存器中未写入配置信息的寄存器;所述第一控制模块响应于所述处理器发送的任务执行完成通知,将剩余任务中一个任务的配置信息发送给所述处理器中的目标寄存器,所述目标寄存器为存储所述任务执行完成通知对应的任务配置信息的寄存器,直到所述多个任务均被所述处理器执行,其中,所述处理器基于其中一个寄存器中的配置信息执行完对应的任务后,直接基于另一个寄存器中的配置信息执行对应的任务。
8.第四方面,本技术提供了一种电子设备,包括第一控制模块、第二控制模块以及处理器,所述处理器中设置有两个寄存器以及存储器,一个或多个程序被存储在所述存储器中并被配置为由所述第一控制模块执行,所述一个或多个程序配置用于执行上述的方法。
9.第五方面,本技术提供的一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行上述的方法。
10.本技术提供的一种多任务执行方法、装置、电子设备以及存储介质,在所述第一控制模块接收所述第二控制模块发送的多个任务的配置信息后,所述第一控制模块发送一个任务的配置信息给所述处理器的第一寄存器,以用于所述处理器基于所述第一寄存器中的配置信息执行对应的任务。在所述处理器完成所述第一寄存器中的配置信息对应的任务之前,所述第一控制模块发送剩余任务中的一个任务的配置信息给所述处理器的第二寄存器,所述第一控制模块响应于所述处理器发送的任务执行完成通知,将剩余任务中一个任务的配置信息发送给所述处理器中的目标寄存器,直到所述多个任务均被所述处理器执行,其中,所述处理器基于其中一个寄存器中的配置信息执行完对应的任务后,直接基于另一个寄存器中的配置信息执行对应的任务。通过上述方式使得,在控制处理器进行任务执行的过程中,可以由第二控制模块负责获取所需执行任务的配置信息,并由第一控制模块来负责与处理器进行任务的配置信息的交互,使得第一控制模块和第二控制模可以协同工作,以降低了单个控制模块的工作负担,从而实现了不仅可以提升处理器处理多个任务的效率,也使得第一控制模块和第二控制模块在工作负担降低的情况下,可以更加稳定的进行工作。
附图说明
11.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
12.图1示出了本技术实施例提出的一种多任务执行方法的流程图;
13.图2示出了本技术提出的一种处理器执行任务的示意图;
14.图3示出了本技术提出的一种第一控制模块发送任务配置信息的示意图;
15.图4示出了本技术提出的另一种第一控制模块发送任务配置信息的示意图;
16.图5示出了本技术另一实施例提出的一种多任务执行方法的流程图;
17.图6示出了本技术实施例提出的一种电子设备的示意图;
18.图7示出了本技术再一实施例提出的一种多任务执行方法的流程图;
19.图8示出了本技术实施例提出的一种多任务执行装置的结构框图;
20.图9示出了本技术提出的一种电子设备的结构框图;
21.图10是本技术实施例的用于保存或者携带实现根据本技术实施例的多任务执行方法的程序代码的存储单元。
具体实施方式
22.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
23.随着人工智能场景的复杂化,越来越多的场景处理需要涉及多个任务的处理,在执行多任务时,处理器(如:人工智能网络处理器(neural network processing unit,npu))需要经常在多个任务间进行切换,在相关方式中,通常采用控制模块(如:微控制单元(microcontroller unit,mcu))对处理器进行交互控制,从而使得处理器可以正常处理多个任务。
24.发明人在对相关研究中发现,在控制模块与处理器的交互过程中,还存在控制模块的工作稳定性有待提升的问题。
25.因此,发明人提出了本技术中的一种多任务执行方法、装置以及电子设备,在所述第一控制模块接收所述第二控制模块发送的多个任务的配置信息后,所述第一控制模块发送一个任务的配置信息给所述处理器的第一寄存器,以用于所述处理器基于所述第一寄存器中的配置信息执行对应的任务。在所述处理器完成所述第一寄存器中的配置信息对应的任务之前,所述第一控制模块发送剩余任务中的一个任务的配置信息给所述处理器的第二寄存器,所述第一控制模块响应于所述处理器发送的任务执行完成通知,将剩余任务中一个任务的配置信息发送给所述处理器中的目标寄存器,直到所述多个任务均被所述处理器执行,其中,所述处理器基于其中一个寄存器中的配置信息执行完对应的任务后,直接基于另一个寄存器中的配置信息执行对应的任务。
26.通过上述方式使得,在控制处理器进行任务执行的过程中,可以由第二控制模块负责获取所需执行任务的配置信息,并由第一控制模块来负责与处理器进行任务的配置信
息的交互,使得第一控制模块和第二控制模可以协同工作,以降低了单个控制模块的工作负担,从而实现了不仅可以提升处理器处理多个任务的效率,也使得第一控制模块和第二控制模块在工作负担降低的情况下,可以更加稳定的进行工作。
27.请参阅图1,本技术提供的一种多任务执行方法,应用于电子设备,所述电子设备包括第一控制模块、第二控制模块以及处理器,所述处理器中设置有两个寄存器,所述方法包括:
28.s110:所述第一控制模块接收所述第二控制模块发送的多个任务的配置信息。
29.其中,在本技术实施例中,配置信息是指任务执行过程中所需要的信息,可以包括处理器中寄存器的配置信息、任务数据的源地址和目的地址等。其中,处理器中寄存器的配置信息可以是任务执行过程中需要用到的寄存器的标识。任务数据是指需要处理器进行处理的数据,任务数据的源地址是指任务数据的存储地址,任务数据的目的地址是处理器处理完成的数据的存储地址,任务数据的源地址和目的地址可以用地址标识表示,例如,源地址和目的地址可以为处理器内部的静态随机存取存储器(static random-access memory,sram)存储区域的地址标识、电子设备中的双倍速率同步动态随机存储器(double data rate,ddr)存储区域的地址标识等。
30.再者,在本技术实施例中,第一控制模块可以为硬件配置单元(hardware programmer,hw programmer);第二控制模块可以为mcu等;处理器是指具有数据计算、图像处理功能的芯片,例如:npu、dsp(digital signal processing,数字信号处理)等。
31.作为一种方式,第二控制模块可以把多个任务的配置信息一次性发送给第一控制模块,当第二控制模块接收到多个任务的配置信息后,可以将多个任务的配置信息存储在一个任务总表中。示例性的,当第一控制模块收到多个任务对应的寄存器配置信息、任务数据的源地址和目的地址后,第一控制模块可以按照任务与配置信息的对应关系将配置信息存储在表1中。
32.表1
[0033][0034]
s120:所述第一控制模块发送一个任务的配置信息给所述处理器的第一寄存器,以用于所述处理器基于所述第一寄存器中的配置信息执行对应的任务,所述第一寄存器为所述处理器包括的两个寄存器中任意一个寄存器。
[0035]
其中,作为一种方式,可以响应于第二控制模块发送的启动指令,第一控制模块发送一个任务的配置信息给处理器的第一寄存器,以用于处理器基于第一寄存器中的配置信息执行对应的任务。
[0036]
可选的,处理器中还包括直接存储器访问(direct memory access,dma)单元和计
算单元,当第一控制模块将一个任务的配置信息发送给处理器的第一寄存器后,dma可以从第一寄存器中获取当前任务的寄存器配置信息、任务数据的源地址和目的地址,并根据获取到的任务数据源地址获取任务数据,并根据获取到的寄存器配置信息将任务数据输入输入当前任务对应的寄存器(即该第一寄存器)中;当dma将任务数据全部输入当前任务对应的寄存器后,处理器中的计算单元可以对任务数据进行相关计算,并将计算结果发送给dma,使得dma可以将计算结果发送至当前任务的目标地址,从而使得处理器可以基于第一寄存器中的配置信息执行对应的任务。
[0037]
示例性的,如图2所示,处理器可以为npu,当前任务数据的源地址和目的地址分别位于存储器(例如,ddr)中不同的存储区域中。当第二控制模块向第一控制模块发送启动指令后,第一控制模块可以响应于该启动指令,将表1中任务一对应的配置信息发送至第一寄存器,dma从第一寄存器中获取到任务一的配置信息后,可以从ddr的源地址将任务一对应的特征图像数据和权重数据分批装载到任务一对应的寄存器中;在装载结束后,dma可以发送一个数据装载完成信号,以触发npu计算单元中的张量运算单元和向量运算单元进行数据的计算,其中,张量运算单元可以进行卷积运算,向量运算单元可以进行池化算子、激活算子、缩放算子等运算。当数据计算完成后,dma可以把计算结果发送到ddr的目标地址中。
[0038]
s130:在所述处理器完成所述第一寄存器中的配置信息对应的任务之前,所述第一控制模块发送剩余任务中的一个任务的配置信息给所述处理器的第二寄存器,所述第二寄存器为所述处理器包括的寄存器中未写入配置信息的寄存器。
[0039]
其中,作为一种方式,在处理器开始处理第一寄存器中的配置信息对应的任务时,第一控制模块可以发送剩余任务中的一个任务的配置信息给处理器的第二寄存器。示例性的,如图3所示,第一控制模块可以先将任务一的配置信息发送至第一寄存器,再在t0时刻,将任务二的配置信息发送至第二寄存器。
[0040]
作为另一种方式,第一控制模块可以在发送一个任务的配置信息给处理器的第一寄存器的同时,将剩余任务中的一个任务的配置信息发送给处理器的第二寄存器。示例性的,如图4所示,第一控制模块可以在t0时刻之前,同时将任务一和任务二的配置信息分别发送至第一寄存器和第二寄存器。
[0041]
s140:所述第一控制模块响应于所述处理器发送的任务执行完成通知,将剩余任务中一个任务的配置信息发送给所述处理器中的目标寄存器,所述目标寄存器为存储所述任务执行完成通知对应的任务配置信息的寄存器,直到所述多个任务均被所述处理器执行,其中,所述处理器基于其中一个寄存器中的配置信息执行完对应的任务后,直接基于另一个寄存器中的配置信息执行对应的任务。
[0042]
其中,作为一种方式,每一个任务所对应的目标寄存器可以是由第二控制模块实时确定的,第二控制模块可以实时查询处理器的工作状态,当第二控制模块可以查询到处理器中的计算单元完成任务数据计算时,第二控制模块可以将存储当前计算单元完成的任务对应配置信息的寄存器作为目标寄存器,并将目标寄存器的信息发送给第一控制模块,使得第一控制模块可以将剩余任务中一个任务的配置信息发送给处理器中的目标寄存器。示例性的,第二控制模块可以为mcu,处理器可以为npu,第一控制模块可以为hw programmer。当mcu查询到npu中的计算单元完成任务一对应的任务数据计算时,mcu可以从hw programmer中获取步骤s110得到的表1,并根据表1可以确定存储任务一配置信息的寄
存器,并将该寄存器作为目标寄存器。mcu再将目标寄存器的信息发送给hw programmer,使得hw programmer可以将剩余任务中一个任务的配置信息发送给处理器中的目标寄存器。
[0043]
作为另一种方式,每一个任务所对应的目标寄存器可以是由第二控制模块预先配置好的,第二控制模块将配置好的目标寄存器作为每一个任务配置信息中的寄存器配置信息。其中,第二控制模块可以对目标寄存器进行交替配置,示例性的,当任务一的目标寄存器为第一寄存器时,任务二的目标寄存器为第二寄存器,任务三的目标寄存器为第一寄存器。在处理器中的计算单元完成任务数据计算时,处理器可以向第一控制模块发送任务执行完成通知;第一控制模块响应于处理器发送的任务执行完成通知,基于剩余任务中一个任务的配置信息中的寄存器配置信息,将剩余任务中一个任务的配置信息发送给处理器中的目标寄存器,也就是该寄存器配置信息对应的寄存器。示例性的,处理器可以为npu,第一控制模块可以为hw programmer。当hw programmer接收到npu发送的任务一对应的任务执行完成通知时,可以从步骤s110得到的表1中确定剩余任务中一个任务的目标寄存器,并将该任务的配置信息发送给npu中的目标寄存器。
[0044]
本实施例提供的一种多任务执行方法,在所述第一控制模块接收所述第二控制模块发送的多个任务的配置信息后,所述第一控制模块发送一个任务的配置信息给所述处理器的第一寄存器,以用于所述处理器基于所述第一寄存器中的配置信息执行对应的任务。在所述处理器完成所述第一寄存器中的配置信息对应的任务之前,所述第一控制模块发送剩余任务中的一个任务的配置信息给所述处理器的第二寄存器,所述第一控制模块响应于所述处理器发送的任务执行完成通知,将剩余任务中一个任务的配置信息发送给所述处理器中的目标寄存器,直到所述多个任务均被所述处理器执行,其中,所述处理器基于其中一个寄存器中的配置信息执行完对应的任务后,直接基于另一个寄存器中的配置信息执行对应的任务。通过上述方式使得,在控制处理器进行任务执行的过程中,可以由第二控制模块负责获取所需执行任务的配置信息,并由第一控制模块来负责与处理器进行任务的配置信息的交互,使得第一控制模块和第二控制模可以协同工作,以降低了单个控制模块的工作负担,从而实现了不仅可以提升处理器处理多个任务的效率,也使得第一控制模块和第二控制模块在工作负担降低的情况下,可以更加稳定的进行工作。
[0045]
请参阅图5,本技术提供的一种多任务执行方法,应用于电子设备,所述电子设备包括第一控制模块、第二控制模块以及处理器,所述处理器中设置有两个寄存器,所述方法包括:
[0046]
s210:所述第一控制模块接收所述第二控制模块发送的多个任务的配置信息。
[0047]
其中,作为一种方式,在第一控制模块接收第二控制模块发送的多个任务的配置信息后,可以对配置信息按照任务执行的先后顺序进行存储,并在每一个任务的配置信息后设置一个等待指令,以生成一个如表2所示的多任务队列总表。
[0048]
表2
[0049][0050]
s220:所述第一控制模块发送一个任务的配置信息给所述处理器的第一寄存器,以用于所述处理器基于所述第一寄存器中的配置信息执行对应的任务,所述第一寄存器为所述处理器包括的两个寄存器中任意一个寄存器。
[0051]
s230:在所述处理器完成所述第一寄存器中的配置信息对应的任务之前,所述第一控制模块发送剩余任务中的一个任务的配置信息给所述处理器的第二寄存器,所述第二寄存器为所述处理器包括的寄存器中未写入配置信息的寄存器。
[0052]
s240:所述第一控制模块在发送配置信息给所述处理器后,执行等待指令以进入等待状态。
[0053]
其中,作为一种方式,第一控制模块在发送一个任务的配置信息给处理器后,可以按照表2中的顺序执行当前任务对应的等待指令以进入等待状态,在等待状态中,第一控制模块不会继续向处理器发送配置信息。
[0054]
s250:处于所述等待状态的第一控制模块响应于所述处理器发送的任务执行完成通知,将剩余任务中一个任务的配置信息发送给所述处理器中存储所述任务执行完成通知对应配置信息的寄存器,直到所述多个任务均被所述处理器执行。
[0055]
其中,在本技术实施例中,如图6所示,电子设备还设置有通信总线,如外围设备总线(advanced peripheral bus,apb)等。作为一种方式,第一控制模块响应于处理器发送的任务执行完成通知,可以从等待状态恢复至正常工作状态,并将剩余任务中一个任务的配置信息通过通信总线发送给处理器中的目标寄存器。
[0056]
可选的,通信总线还可以用于实现第一控制模块、第二控制模块以及处理器之间的信号传输,任务数据的传输等。
[0057]
可选的,第一控制模块和所述处理器之间连接有直通通路。作为一种方式,处理器可以通过直通通路向第一控制模块发送的任务执行完成通知。通过使用直通通路向第一控制模块发送的任务执行完成通知,可以提高任务执行完成通知的传输效率,从而提高了处理器与第一控制模块间的通信效率。
[0058]
s260:所述处理器向所述第二控制模块发送中断信号,所述中断信号用于通知所述第二控制模块所述多个任务均执行完整,以便所述第二控制模块向所述第一控制模块发送新的多个任务的配置信息。
[0059]
其中,作为一种方式,当步骤s210的表2中所有任务被处理器执行完成后,处理器可以通过通信总线向第二控制模块发送中断信号,以便第二控制模块向第一控制模块发送新的多个任务的配置信息。
[0060]
本实施例提供的一种多任务执行方法,通过上述方式使得,在控制处理器进行任务执行的过程中,可以由第二控制模块负责获取所需执行任务的配置信息,并由第一控制模块来负责与处理器进行任务的配置信息的交互,使得第一控制模块和第二控制模可以协同工作,以降低了单个控制模块的工作负担,从而实现了不仅可以提升处理器处理多个任务的效率,也使得第一控制模块和第二控制模块在工作负担降低的情况下,可以更加稳定的进行工作。并且,在本实施例中,通过增加一个控制模块(如,第一控制模块),使得第一控制模块和第二控制模块可以对处理器进行交互控制,从而不仅能够减小第二控制模块(如,mcu)的工作负担,还可以减小任务处理过程中的延时,使得任务之间的切换更加快速高效。
[0061]
请参阅图7,本技术提供的一种多任务执行方法,应用于电子设备,所述电子设备包括第一控制模块、第二控制模块以及处理器,所述处理器中设置有两个寄存器,所述方法包括:
[0062]
s310:所述处理器接收所述第一控制模块发送的一个任务的配置信息,并将所述任务的配置信息存在第一寄存器中,所述第一寄存器为所述处理器包括的两个寄存器中任意一个寄存器。
[0063]
其中,在处理器包括两个寄存器的情况下,处理器正在使用的寄存器则可以被作为工作寄存器,未被处理器使用的寄存器则可以被作为影子寄存器。其中,处理器正在使用的寄存器,可以理解为存储的配置信息对应的任务正在被处理器所执行的寄存器。
[0064]
需要说明的是,处理器所包括的两个寄存器都可以在影子寄存器和工作寄存器之间切换。示例性的,当处理器当前正在处理第一寄存器中配置信息对应的任务时,第一寄存器为工作寄存器,第二寄存器为影子寄存器;当处理器当前正在处理第二寄存器中配置信息对应的任务时,第一寄存器为影子寄存器,第二寄存器为工作寄存器。
[0065]
再者,需要说明的是,本技术实施例提出的多任务执行方法也适用于处理器包括三个及三个以上的寄存器的情况,在存在三个及三个以上的寄存器的情况下,处理器正在使用的寄存器则可以被作为工作寄存器,其他未被处理器使用的寄存器则可以被作为影子寄存器。
[0066]
s320:在所述处理器完成所述第一寄存器中的配置信息对应的任务之前,所述处理器接收所述第一控制模块发送剩余任务中的一个任务的配置信息,并将所述任务的配置信息存在第二寄存器中,所述第二寄存器为所述处理器包括的寄存器中未写入配置信息的寄存器,其中,所述处理器基于其中一个寄存器中的配置信息执行完对应的任务后,直接基于另一个寄存器中的配置信息执行对应的任务。
[0067]
其中,作为一种方式,处理器在开始处理第一寄存器中的配置信息对应的任务时,可以接收第一控制模块发送剩余任务中的一个任务的配置信息,并将该任务的配置信息存在第二寄存器中。
[0068]
作为另一种方式,处理器可以在开始处理第一寄存器中的配置信息对应的任务之前,同时接收第一控制模块发送两个任务的配置信息,并将两个任务的配置信息分别存在第一寄存器和第二寄存器中。
[0069]
s330:在有任务执行完成后向所述第一控制模块返回任务执行完成通知,以用于所述第一控制模块响应于所述任务执行完成通知,将剩余任务中一个任务的配置信息返回给所述处理器,直到所述多个任务均被所述处理器执行。
[0070]
其中,作为一种方式,在有任务执行完成后,处理器可以向第一控制模块返回任务执行完成通知,以便第一控制模块可以响应于该任务执行完成通知,将剩余任务中一个任务的配置信息返回给处理器,直到多个任务均被处理器执行。
[0071]
s340:所述处理器接收到所述第一控制模块响应于所述任务执行完成通知返回的配置信息后,将所述返回的配置信息存储在目标寄存器中,所述目标寄存器为存储所述任务执行完成通知对应配置信息的寄存器。
[0072]
其中,作为一种方式,处理器在接收到第一控制模块响应于任务执行完成通知返回的配置信息后,可以将返回的配置信息存储在目标寄存器中,该目标寄存器为存储与任务执行完成通知相对应的配置信息的寄存器。
[0073]
本实施例提供的一种多任务执行方法,通过上述方式使得,在控制处理器进行任务执行的过程中,可以由第二控制模块负责获取所需执行任务的配置信息,并由第一控制模块来负责与处理器进行任务的配置信息的交互,使得第一控制模块和第二控制模可以协同工作,以降低了单个控制模块的工作负担,从而实现了不仅可以提升处理器处理多个任务的效率,也使得第一控制模块和第二控制模块在工作负担降低的情况下,可以更加稳定的进行工作。并且,在本实施例中,通过使用两个寄存器存储任务的配置信息,使得处理器基于其中一个寄存器中的配置信息执行完对应的任务后,可以直接基于另一个寄存器中的配置信息执行对应的任务,提高了处理器的工作效率。
[0074]
请参阅图8,本技术提供的一种多任务执行装置600,运行于电子设备,所述电子设备包括所述电子设备包括第一控制模块、第二控制模块以及处理器,所述处理器包括两个寄存器;所述装置600包括:
[0075]
配置信息获取单元610,用于所述第一控制模块接收所述第二控制模块发送的多个任务的配置信息;
[0076]
配置信息发送单元620,用于所述第一控制模块发送一个任务的配置信息给所述处理器的第一寄存器,以用于所述处理器基于所述第一寄存器中的配置信息执行对应的任务,所述第一寄存器为所述处理器包括的两个寄存器中任意一个寄存器;在所述处理器完成所述第一寄存器中的配置信息对应的任务之前,所述第一控制模块发送剩余任务中的一个任务的配置信息给所述处理器的第二寄存器,所述第二寄存器为所述处理器包括的寄存器中未写入配置信息的寄存器;所述第一控制模块响应于所述处理器发送的任务执行完成通知,将剩余任务中一个任务的配置信息发送给所述处理器中的目标寄存器,所述目标寄存器为存储所述任务执行完成通知对应的任务配置信息的寄存器,直到所述多个任务均被所述处理器执行,其中,所述处理器基于其中一个寄存器中的配置信息执行完对应的任务后,直接基于另一个寄存器中的配置信息执行对应的任务。
[0077]
作为一种方式,配置信息发送单元620具体用于所述第一控制模块在发送配置信息给所述处理器后,执行等待指令以进入等待状态;处于所述等待状态的第一控制模块响应于所述处理器发送的任务执行完成通知,将剩余任务中一个任务的配置信息发送给所述处理器中存储所述任务执行完成通知对应配置信息的寄存器,直到所述多个任务均被所述
处理器执行。
[0078]
作为另一种方式,所述第一控制模块和所述处理器之间连接有直通通路,配置信息发送单元620具体用于所述第一控制模块响应于所述处理器通过所述直通通路发送的任务执行完成通知,将剩余任务中一个任务的配置信息发送给所述处理器中的目标寄存器,所述目标寄存器为存储所述任务执行完成通知对应的任务配置信息的寄存器,直到所述多个任务均被所述处理器执行。
[0079]
作为再一种方式,所述电子设备还包括通信总线,配置信息发送单元620具体用于所述第一控制模块响应于所述处理器发送的任务执行完成通知,将剩余任务中一个任务的配置信息通过所述通信总线发送给所述处理器中的目标寄存器,所述目标寄存器为存储所述任务执行完成通知对应的任务配置信息的寄存器,直到所述多个任务均被所述处理器执行。
[0080]
作为又一种方式,配置信息发送单元620具体用于所述处理器向所述第二控制模块发送中断信号,所述中断信号用于通知所述第二控制模块所述多个任务均执行完整,以便所述第二控制模块向所述第一控制模块发送新的多个任务的配置信息。
[0081]
作为又一种方式,配置信息发送单元620具体用于响应于所述第二控制模块发送的启动指令,所述第一控制模块发送一个任务的配置信息给所述处理器的第一寄存器,以用于所述处理器基于所述第一寄存器中的配置信息执行对应的任务。
[0082]
可选的,第二控制模块为微控制单元。
[0083]
下面将结合图9对本技术提供的一种电子设备进行说明。
[0084]
请参阅图8,基于上述的多任务执行方法、装置,本技术实施例还提供的另一种可以执行前述多任务执行方法的电子设备100。电子设备100包括第一控制模块102、第二控制模块104、处理器106、存储器108,其中,处理器中设置有两个寄存器,分别为第一寄存器1061和第二寄存器1062。该存储器108中存储有可以执行前述实施例中内容的程序,而第一控制模块102可以执行该存储器108中存储的程序。
[0085]
其中,处理器106可以包括一个或者多个处理核。处理器106利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器106内的指令、程序、代码集或指令集,以及调用存储在存储器106内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器106可以采用网络处理器(neural network processing unit,npu)、数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器106可集成中央处理器(central processing unit,cpu)、图像处理器(graphics processing unit,gpu)、网络处理器(neural network processing unit,npu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;npu负责处理视频、图像类的多媒体数据;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器106中,单独通过一块通信芯片进行实现。
[0086]
存储器108可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory)以及双倍速率同步动态随机存储器(double datarate,ddr)。存储器108可用于存储指令、程序、代码、代码集或指令集。存储器108可包括存储程序区和
存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
[0087]
请参考图10,其示出了本技术实施例提供的一种计算机可读存储介质的结构框图。该计算机可读存储介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
[0088]
计算机可读存储介质800可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读存储介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。
[0089]
综上所述,本技术提供的一种多任务执行方法、装置以及电子设备,在所述第一控制模块接收所述第二控制模块发送的多个任务的配置信息后,所述第一控制模块发送一个任务的配置信息给所述处理器的第一寄存器,以用于所述处理器基于所述第一寄存器中的配置信息执行对应的任务。在所述处理器完成所述第一寄存器中的配置信息对应的任务之前,所述第一控制模块发送剩余任务中的一个任务的配置信息给所述处理器的第二寄存器,所述第一控制模块响应于所述处理器发送的任务执行完成通知,将剩余任务中一个任务的配置信息发送给所述处理器中的目标寄存器,直到所述多个任务均被所述处理器执行,其中,所述处理器基于其中一个寄存器中的配置信息执行完对应的任务后,直接基于另一个寄存器中的配置信息执行对应的任务。通过上述方式使得,在控制处理器进行任务执行的过程中,可以由第二控制模块负责获取所需执行任务的配置信息,并由第一控制模块来负责与处理器进行任务的配置信息的交互,使得第一控制模块和第二控制模可以协同工作,以降低了单个控制模块的工作负担,从而实现了不仅可以提升处理器处理多个任务的效率,也使得第一控制模块和第二控制模块在工作负担降低的情况下,可以更加稳定的进行工作。
[0090]
最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
技术特征:
1.一种多任务执行方法,其特征在于,应用于电子设备,所述电子设备包括第一控制模块、第二控制模块以及处理器,所述处理器中设置有两个寄存器;所述方法包括:所述第一控制模块接收所述第二控制模块发送的多个任务的配置信息;所述第一控制模块发送一个任务的配置信息给所述处理器的第一寄存器,以用于所述处理器基于所述第一寄存器中的配置信息执行对应的任务,所述第一寄存器为所述处理器包括的两个寄存器中任意一个寄存器;在所述处理器完成所述第一寄存器中的配置信息对应的任务之前,所述第一控制模块发送剩余任务中的一个任务的配置信息给所述处理器的第二寄存器,所述第二寄存器为所述处理器包括的寄存器中未写入配置信息的寄存器;所述第一控制模块响应于所述处理器发送的任务执行完成通知,将剩余任务中一个任务的配置信息发送给所述处理器中的目标寄存器,所述目标寄存器为存储所述任务执行完成通知对应的任务配置信息的寄存器,直到所述多个任务均被所述处理器执行,其中,所述处理器基于其中一个寄存器中的配置信息执行完对应的任务后,直接基于另一个寄存器中的配置信息执行对应的任务。2.根据权利要求1所述的方法,其特征在于,所述所述第一控制模块响应于所述处理器发送的任务执行完成通知,将剩余任务中一个任务的配置信息发送给所述处理器中的目标寄存器,所述目标寄存器为存储所述任务执行完成通知对应的任务配置信息的寄存器,直到所述多个任务均被所述处理器执行,包括:所述第一控制模块在发送配置信息给所述处理器后,执行等待指令以进入等待状态;处于所述等待状态的第一控制模块响应于所述处理器发送的任务执行完成通知,将剩余任务中一个任务的配置信息发送给所述处理器中存储所述任务执行完成通知对应配置信息的寄存器,直到所述多个任务均被所述处理器执行。3.根据权利要求1所述的方法,其特征在于,所述第一控制模块和所述处理器之间连接有直通通路;所述所述第一控制模块响应于所述处理器发送的任务执行完成通知,将剩余任务中一个任务的配置信息发送给所述处理器中的目标寄存器,所述目标寄存器为存储所述任务执行完成通知对应的任务配置信息的寄存器,直到所述多个任务均被所述处理器执行,包括:所述第一控制模块响应于所述处理器通过所述直通通路发送的任务执行完成通知,将剩余任务中一个任务的配置信息发送给所述处理器中的目标寄存器,所述目标寄存器为存储所述任务执行完成通知对应的任务配置信息的寄存器,直到所述多个任务均被所述处理器执行。4.根据权利要求1所述的方法,其特征在于,所述电子设备还包括通信总线,所述第一控制模块响应于所述处理器发送的任务执行完成通知,将剩余任务中一个任务的配置信息发送给所述处理器中的目标寄存器,所述目标寄存器为存储所述任务执行完成通知对应的任务配置信息的寄存器,直到所述多个任务均被所述处理器执行,包括:所述第一控制模块响应于所述处理器发送的任务执行完成通知,将剩余任务中一个任务的配置信息通过所述通信总线发送给所述处理器中的目标寄存器,所述目标寄存器为存储所述任务执行完成通知对应的任务配置信息的寄存器,直到所述多个任务均被所述处理器执行。
5.根据权利要求1-4任一所述的方法,其特征在于,所述第一控制模块响应于所述处理器发送的任务执行完成通知,将剩余任务中一个任务的配置信息发送给所述处理器中的目标寄存器,所述目标寄存器为存储所述任务执行完成通知对应的任务配置信息的寄存器,直到所述多个任务均被所述处理器执行之后,还包括:所述处理器向所述第二控制模块发送中断信号,所述中断信号用于通知所述第二控制模块所述多个任务均执行完整,以便所述第二控制模块向所述第一控制模块发送新的多个任务的配置信息。6.根据权利要求5所述的方法,其特征在于,所述第一控制模块发送一个任务的配置信息给所述处理器的第一寄存器,以用于所述处理器基于所述第一寄存器中的配置信息执行对应的任务,包括:响应于所述第二控制模块发送的启动指令,所述第一控制模块发送一个任务的配置信息给所述处理器的第一寄存器,以用于所述处理器基于所述第一寄存器中的配置信息执行对应的任务。7.根据权利要求1所述的方法,其特征在于,所述第二控制模块为微控制单元。8.一种多任务执行方法,其特征在于,应用于电子设备,所述电子设备包括第一控制模块、第二控制模块以及处理器,所述处理器包括两个寄存器;所述方法包括:所述处理器接收所述第一控制模块发送的一个任务的配置信息,并将所述任务的配置信息存在第一寄存器中,所述第一寄存器为所述处理器包括的两个寄存器中任意一个寄存器;在所述处理器完成所述第一寄存器中的配置信息对应的任务之前,所述处理器接收所述第一控制模块发送剩余任务中的一个任务的配置信息,并将所述任务的配置信息存在第二寄存器中,所述第二寄存器为所述处理器包括的寄存器中未写入配置信息的寄存器,其中,所述处理器基于其中一个寄存器中的配置信息执行完对应的任务后,直接基于另一个寄存器中的配置信息执行对应的任务;在有任务执行完成后向所述第一控制模块返回任务执行完成通知,以用于所述第一控制模块响应于所述任务执行完成通知,将剩余任务中一个任务的配置信息返回给所述处理器,直到所述多个任务均被所述处理器执行;所述处理器接收到所述第一控制模块响应于所述任务执行完成通知返回的配置信息后,将所述返回的配置信息存储在目标寄存器中,所述目标寄存器为存储所述任务执行完成通知对应配置信息的寄存器。9.一种多任务执行装置,其特征在于,运行于电子设备,所述电子设备包括第一控制模块、第二控制模块以及处理器,所述处理器中设置有两个寄存器;所述装置包括:配置信息获取单元,用于所述第一控制模块接收所述第二控制模块发送的多个任务的配置信息;配置信息发送单元,用于所述第一控制模块发送一个任务的配置信息给所述处理器的第一寄存器,以用于所述处理器基于所述第一寄存器中的配置信息执行对应的任务,所述第一寄存器为所述处理器包括的两个寄存器中任意一个寄存器;在所述处理器完成所述第一寄存器中的配置信息对应的任务之前,所述第一控制模块发送剩余任务中的一个任务的配置信息给所述处理器的第二寄存器,所述第二寄存器为所述处理器包括的寄存器中未写
入配置信息的寄存器;所述第一控制模块响应于所述处理器发送的任务执行完成通知,将剩余任务中一个任务的配置信息发送给所述处理器中的目标寄存器,所述目标寄存器为存储所述任务执行完成通知对应的任务配置信息的寄存器,直到所述多个任务均被所述处理器执行,其中,所述处理器基于其中一个寄存器中的配置信息执行完对应的任务后,直接基于另一个寄存器中的配置信息执行对应的任务。10.一种电子设备,其特征在于,包括第一控制模块、第二控制模块、处理器以及存储器,所述处理器中设置有两个寄存器,一个或多个程序被存储在所述存储器中并被配置为由所述第一控制模块执行,所述一个或多个程序配置用于执行权利要求1-8任一所述的方法。11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行权利要求1-8任一所述的方法。
技术总结
本申请实施例公开了一种多任务执行方法、装置以及电子设备。所述方法包括:第一控制模块接收第二控制模块发送的多个任务的配置信息;第一控制模块发送一个任务的配置信息给处理器的第一寄存器;在处理器完成第一寄存器中的配置信息对应的任务之前,第一控制模块发送剩余任务中的一个任务的配置信息给处理器的第二寄存器;第一控制模块响应于处理器发送的任务执行完成通知,将剩余任务中一个任务的配置信息发送给处理器中的目标寄存器,直到多个任务均被所述处理器执行。通过上述方式使得,第一控制模块和第二控制模块在工作负担降低的情况下,可以更加稳定的进行工作。可以更加稳定的进行工作。可以更加稳定的进行工作。
技术研发人员:祝叶华 孙炜
受保护的技术使用者:哲库科技(上海)有限公司
技术研发日:2022.01.19
技术公布日:2023/7/31
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
