本发明涉及模块级交互领域,更具体地,特别是指一种多任务预存取的方法、系统、设备和存储介质。
背景技术:
1、在模块级交互的过程中,任务预存取过程包括任务接收和任务解析。在多个任务需要从上一功能区下发时,中间功能区最多只能接收到两个任务,这两个的任务信息则需要等下一功能区处理完成之后才能重新进行请求任务的下发。因此中间功能区每处理完成两个任务解析之后就需要向上一功能区请求任务下发的权限,但是中间功能区的所有模块都有可能向上一功能区请求仲裁,因此中间功能区每处理完两个任务之后,都有可能和其他模块进行竞争任务下发权限,从而导致本模块需要更多的时间去等待权限的获取,这样就严重滞缓了整个任务信息处理流程,使自己模块的任务处理效率进一步下降。
技术实现思路
1、有鉴于此,本发明实施例的目的在于提出一种多任务预存取的方法、系统、电子设备及计算机可读存储介质,本发明节省了请求多次任务下发的等待时间,增加第一级fifo和状态机能够实现任务接收和任务解析的并行处理,同时后面模块对第二级fifo中解析的任务信息读取并不影响前面多任务预存取处理流程,本发明实施例提高了多任务预存取的处理效率。
2、基于上述目的,本发明实施例的一方面提供了一种多任务预存取的方法,包括如下步骤:在中间功能区设置第一级先进先出队列以接收上一功能区发送的任务,并在中间功能区设置第二级先进先出队列以缓存解析后的任务信息;响应于所述第一级先进先出队列接收到上一功能区发送的任务,状态机从任务接收状态进入任务解析状态;通过所述状态机获取解析后的任务信息,并将所述解析后的任务信息同步存储到所述第二级先进先出队列;以及通过下一功能区读取所述第二级先进先出队列缓存的所述解析后的任务信息,并根据所述解析后的任务信息对任务进行处理。
3、在一些实施方式中,所述在中间功能区设置第一级先进先出队列以接收上一功能区发送的任务的步骤包括:根据任务数量和总线传输的长度确定所述第一级先进先出队列的深度。
4、在一些实施方式中,所述根据任务数量和总线传输的长度确定所述第一级先进先出队列的深度的步骤包括:响应于任务数量大于总线传输的长度,设置所述第一级先进先出队列的深度与所述总线传输的长度相等;以及响应于任务数量小于或等于总线传输的长度,设置所述第一级先进先出队列的深度与所述任务数量相等。
5、在一些实施方式中,所述在中间功能区设置第二级先进先出队列以缓存解析后的任务信息的步骤包括:设置所述第二级先进先出队列的深度与所述第一级先进先出队列的深度相同。
6、在一些实施方式中,所述方法还包括:将上一功能区的全部任务作为同一批次一次性发送给所述中间功能区的所述第一级先进先出队列。
7、在一些实施方式中,所述方法还包括:判断上一功能区发送给所述中间功能区的所述第一级先进先出队列的当前批次的任务是否已经全部解析完成;响应于上一功能区发送给所述中间功能区的所述第一级先进先出队列的当前批次的任务未全部解析完成,等待上一功能区发送给所述中间功能区的所述第一级先进先出队列的当前批次的任务全部解析完成;响应于上一功能区发送给所述中间功能区的所述第一级先进先出队列的当前批次的任务已经全部解析完成,检测所述上一功能区是否还存在新建任务;响应于所述上一功能区不存在新建任务,等待所述上一功能区新建任务;以及响应于所述上一功能区还存在新建任务,将所述上一功能区当前所有任务作为下一批次任务发送给所述第一级先进先出队列。
8、在一些实施方式中,所述方法还包括:响应于检测到所述第二级先进先出队列中存在解析的任务信息,启动所述下一功能区。
9、本发明实施例的另一方面,提供了一种多任务预存取的系统,包括:设置模块,用于在中间功能区设置第一级先进先出队列以接收上一功能区发送的任务,并在中间功能区设置第二级先进先出队列以缓存解析后的任务信息;状态模块,用于响应于所述第一级先进先出队列接收到上一功能区发送的任务,状态机从任务接收状态进入任务解析状态;存储模块,用于通过所述状态机获取解析后的任务信息,并将所述解析后的任务信息同步存储到所述第二级先进先出队列;以及执行模块,用于通过下一功能区读取所述第二级先进先出队列缓存的所述解析后的任务信息,并根据所述解析后的任务信息对任务进行处理。
10、本发明实施例的又一方面,还提供了一种电子设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现如上方法的步骤。
11、本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
12、本发明具有以下有益技术效果:节省了请求多次任务下发的等待时间,增加第一级fifo和状态机能够实现任务接收和任务解析的并行处理,同时后面模块对第二级fifo中解析的任务信息读取并不影响前面多任务预存取处理流程,本发明实施例提高了多任务预存取的处理效率。
1.一种多任务预存取的方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的多任务预存取的方法,其特征在于,所述在中间功能区设置第一级先进先出队列以接收上一功能区发送的任务的步骤包括:
3.根据权利要求2所述的多任务预存取的方法,其特征在于,所述根据任务数量和总线传输的长度确定所述第一级先进先出队列的深度的步骤包括:
4.根据权利要求2所述的多任务预存取的方法,其特征在于,所述在中间功能区设置第二级先进先出队列以缓存解析后的任务信息的步骤包括:
5.根据权利要求1所述的多任务预存取的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的多任务预存取的方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的多任务预存取的方法,其特征在于,所述方法还包括:
8.一种多任务预存取的系统,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任意一项所述方法的步骤。