一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

流水线同步机制的实现方法和装置、存储介质及电子设备与流程

2022-06-01 05:48:07 来源:中国专利 TAG:


1.本发明涉及计算机领域,具体而言,涉及一种流水线同步机制的实现方法和装置、存储介质及电子设备。


背景技术:

2.在基于vivado hls(high level synthesis,高层次综合)的soc(system on chip,片上系统)开发设计中,通常会将soc分为多个子模块并行开发设计。这些子模块通常以多级交叉流水线的方式进行工作,子模块与子模块间工作顺序能正确执行至关重要。
3.相关技术中的基于vivado hls系统流水线同步机制通过采用如下两种方案:第一种方案是由vivado hls工具自行分析子模块之间的连接关系,由此直接完成soc集成。第二种方案是按照开发需求设计一个流水线统筹模块。但是第一种方案在soc的模块规模超过一定程度的时候,vivado hls工具就无法直接完成集成。第二种方案需要逻辑工程师针对工程单独设计一个统筹模块,采用这种方式会导致系统流水线同步机制在实现时效率低、工作量大而且复用性差。


技术实现要素:

4.本发明实施例提供了一种流水线同步机制的实现方法和装置、存储介质及电子设备,以至少解决soc流水线同步机制在实现时效率低的技术问题。
5.根据本发明实施例的一个方面,提供了一种流水线同步机制的实现方法,包括:创建片上系统soc中的每个soc模块对应的同步模块,得到同步模块集合,上述同步模块用于控制上述soc模块的工作状态,上述soc模块为上述soc中按流水线分级执行任务的模块;在上述同步模块集合中当前同步模块与前级同步模块子集中的每个前级同步模块均建立通信连接的情况下,上述当前同步模块发送开始工作指令至对应的目标soc模块,以使上述目标soc模块进行业务处理;当上述当前同步模块发送上述开始工作指令完毕后,上述当前同步模块断开与前级同步模块子集中的每个前级同步模块的通信连接;在上述目标soc模块完成业务处理的情况下,上述当前同步模块建立与后级同步模块子集中的每个后级同步模块的通信连接;当上述当前同步模块建立与后级同步模块子集中的每个后级同步模块的通信连接后,再次接收上述前级同步模块子集的通信连接请求;在上述soc的每个soc模块均完成业务处理时,确定得到上述soc的流水线同步机制。
6.根据本发明实施例的另一方面,还提供了一种流水线同步机制的实现装置,包括:第一创建单元,用于创建片上系统soc中的每个soc模块对应的同步模块,得到同步模块集合,上述同步模块用于控制上述soc模块的工作状态,上述soc模块为上述soc中按流水线分级执行任务的模块;第一发送单元,用于在上述同步模块集合中当前同步模块与前级同步模块子集中的每个前级同步模块均建立通信连接的情况下,上述当前同步模块发送开始工作指令至对应的目标soc模块,以使上述目标soc模块进行业务处理;断开连接单元,用于当上述当前同步模块发送上述开始工作指令完毕后,上述当前同步模块断开与前级同步模块
子集中的每个前级同步模块的通信连接;通信单元,用于在上述目标soc模块完成业务处理的情况下,上述当前同步模块建立与后级同步模块子集中的每个后级同步模块的通信连接;接收单元,用于当上述当前同步模块建立与后级同步模块子集中的每个后级同步模块的通信连接后,再次接收上述前级同步模块子集的通信连接请求;第一确定单元,用于在上述soc的每个soc模块均完成业务处理时,确定得到上述soc的流水线同步机制。
7.根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述流水线同步机制的实现方法。
8.根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计算机程序执行上述的流水线同步机制的实现方法。
9.在本发明实施例中,通过创建片上系统soc中的每个soc模块对应的同步模块,得到同步模块集合,上述同步模块用于控制上述soc模块的工作状态,上述soc模块为上述soc中按流水线分级执行任务的模块;在上述同步模块集合中当前同步模块与前级同步模块子集中的每个前级同步模块均建立通信连接的情况下,上述当前同步模块发送开始工作指令至对应的目标soc模块,以使上述目标soc模块进行业务处理;当上述当前同步模块发送上述开始工作指令完毕后,上述当前同步模块断开与前级同步模块子集中的每个前级同步模块的通信连接;在上述目标soc模块完成业务处理的情况下,上述当前同步模块建立与后级同步模块子集中的每个后级同步模块的通信连接;当上述当前同步模块建立与后级同步模块子集中的每个后级同步模块的通信连接后,再次接收上述前级同步模块子集的通信连接请求;在上述soc的每个soc模块均完成业务处理时,确定得到上述soc的流水线同步机制;通过建立与soc的各个模块对应同步模块,并根据同步模块直接的通信连接关系来控制soc中各个模块的流水线执行步骤,能够提高soc系统流水线同步机制在实现时的效率、不仅可以节省实现高soc系统流水线同步机制的工作量,而且能够在不同的soc系统实现流水线同步机制,进而解决了soc流水线同步机制在实现时效率低的技术问题。
附图说明
10.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
11.图1是根据本技术实施例的一种可选的流水线同步机制的实现方法的运行环境示意图;
12.图2是根据本技术实施例的一种可选的流水线同步机制的实现方法的流程图;
13.图3是根据本技术实施例的另一种可选的流水线同步机制的实现方法的流程图;
14.图4是根据本技术实施例的又一种可选的流水线同步机制的实现方法的流程图;
15.图5是根据本技术实施例的一种可选的流水线同步机制的实现装置的结构示意图;
16.图6是根据本技术实施例的一种可选的电子设备的结构示意图。
具体实施方式
17.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
18.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
19.首先,对本技术实施例中涉及到的技术术语解释如下:
20.vivado:vivado设计套件,是fpga厂商赛灵思公司发布的集成设计环境。包括高度集成的设计环境和新一代从系统到ic级的工具,这些均建立在共享的可扩展数据模型和通用调试环境基础上。这也是一个基于amba axi4互联规范、ip-xact ip封装元数据、工具命令语言(tool command language,tcl)、synopsys系统约束(sdc)以及其它有助于根据客户需求量身定制设计流程并符合业界标准的开放式环境。
21.根据本发明实施例的一个方面,提供了一种流水线同步机制的实现方法;作为一种可选的实施方式,上述流水线同步机制的实现方法可以但不限于应用于如图1所示的环境中。该应用环境由应用端,与应用端相连接的同步启动模块,以及与同步启动模块相连接的多个同步模块集合组成。上述应用端包括但不限于应用程序和/或运行该应用程序的硬件,上述应用程序可以包括应用软件或应用软件和应用驱动的集合。上述同步模块集合中的每个同步模块均对应soc系统中进行数据处理的硬件模块(即soc模块),并控制对应的硬件模块的工作开启或停止,同步启动模块为接收应用端触发信号的模块,同步启动模块接收到应用端发出的触发信号后,将该信号发送至后级同步模块,即同步启动模块集合中的第一级同步模块(同步模块1和同步模块2),当第一级同步模块均与同步启动模块建立通信连接后,第一级同步模块对应的soc模块开始工作,当soc模块工作完成后,第一级同步模块发送触发信号至第二级同步模块,以使得第二级同步模块对应的soc模块开始工作,直至soc系统中的所有soc模块均完成工作后,确定当前soc系统的流水线同步机制创建完成。
22.上述仅是一种示例,本发明实施例中对此不作任何限定。
23.在一个或多个实施例中,如图2所示,上述流水线同步机制的实现方法包括:
24.s202,创建片上系统soc中的每个soc模块对应的同步模块,得到同步模块集合,上述同步模块用于控制上述soc模块的工作状态,上述soc模块为上述soc中按流水线分级执行任务的模块。
25.在本发明实施例中,soc模块可以为cpu模块,gpu模块,蓝牙模块等,也可以为cpu模块或gpu模块,蓝牙模块中的子模块,上述soc模块或soc模块中的子模块均为按流水线分级执行任务的模块,每个soc模块,或soc模块中的子模块均对应一个同步模块,该同步模块
构成的同步模块集合中的每个同步模块负责与前后级的每个同步模块建立通信连接,并控制对应的soc模块工作,上述仅为示例,本发明实施例对此不作任何限定。
26.s204,在上述同步模块集合中当前同步模块与前级同步模块子集中的每个前级同步模块均建立通信连接的情况下,上述当前同步模块发送开始工作指令至对应的目标soc模块,以使上述目标soc模块进行业务处理;其中,上述前级同步模块子集为与上述当前同步模块直接相连的前一级同步模块的集合。
27.如图2所示,第二级同步模块中的同步模块3与前级同步模块(同步模块1)建立通信连接后,同步模块3发送开始工作指令给对应的soc模块(例如蓝牙模块),以使该蓝牙模块开始工作进行业务处理。
28.s206,当上述当前同步模块发送上述开始工作指令完毕后,上述当前同步模块断开与前级同步模块子集中的每个前级同步模块的通信连接。
29.如图2所示,同步模块3发送开始工作指令给对应的soc模块(例如蓝牙模块)完毕后,同步模块3断开与同步模块1的通信连接,当同步模块4断开与同步模块1直接的通信连接,同步模块5断开与同步模块2直接的通信连接后,第二级同步模块对应的soc模块业务完成。
30.s208,在上述目标soc模块完成业务处理的情况下,上述当前同步模块建立与后级同步模块子集的通信连接;其中,上述后级同步模块子集为与上述当前同步模块直接相连的后一级同步模块的集合。
31.如图2所示,当第二级同步模块对应的soc模块均完成业务处理的情况下,第二级同步模块开始建立与后级同步模块子集建立通信连接,即同步模块3建立与同步模块6和同步模块8直接的连接,同步模块4建立与同步模块6直接的连接,同步模块5建立与同步模块7直接的连接。
32.s210,当上述当前同步模块建立与后级同步模块子集中的每个后级同步模块的通信连接时,再次接收上述前级同步模块子集的通信连接请求。
33.如图2所示,例如,当上述当前同步模块(同步模块3)建立与后级同步模块子集中的每个后级同步模块(同步模块6和同步模块8)的通信连接时,此时,同步模块3可以再次接收同步模块1发出的建立通信连接的信号,以使同步模块3对应的soc模块再次处理新的业务数据。
34.s212,在上述soc的每个soc模块均完成业务处理时,确定得到上述soc的流水线同步机制。
35.这里,如图2所示,在上述soc的每个soc模块均完成业务处理时,即同步模块1到同步模块10均完成业务处理时,确定得到上述soc的流水线同步机制。
36.本发明实施例通过建立与soc的各个模块对应同步模块,并根据同步模块直接的通信连接关系来控制soc中各个模块的流水线执行步骤,能够提高soc系统流水线同步机制在实现时的效率、不仅可以节省实现高soc系统流水线同步机制的工作量,而且能够在不同的soc系统实现流水线同步机制,进而解决了soc流水线同步机制在实现时效率低的技术问题。
37.在一个或多个实施例中,上述流水线同步机制的实现方法还包括:
38.创建用于接收触发上述soc启动流水线业务的触发信号的同步启动模块。
39.这里,通过创建同步启动模块,可以接收由应用端发出的触发信号,进一步来触发同步模块集合中的第一级同步模块子集来进行流程控制。
40.在上述同步启动模块接收到上述流水线业务的触发信号时,上述同步启动模块与上述同步模块集合中的第一级同步模块子集建立通信连接。
41.这里,触发信号可以包括但不限于流水线工作启动信号,当上述同步启动模块接收到该触发信号后,上述同步启动模块与上述同步模块集合中的第一级同步模块子集建立通信连接。如图2上述,例如,同步启动模块接收到应用端发出的触发信号后,将该信号发送至后级同步模块,即同步启动模块集合中的第一级同步模块(同步模块1和同步模块2),第一级同步模块与同步启动模块建立通信连接。
42.在上述同步启动模块与上述第一级同步子模块建立通信连接的情况下,上述第一级同步模块发送开始工作指令至上述第一级同步模块对应的soc模块子集。
43.如图2所示,例如,当同步启动模块集合中的第一级同步模块(同步模块1和同步模块2)均与同步启动模块建立通信连接时,上述第一级同步模块发送开始工作指令至上述第一级同步模块对应的soc模块子集,比如同步模块1发送给自己控制的蓝牙模块,同步模块2发送给自己控制的gpu模块。
44.本发明实施例通过建立与应用端连接的同步启动模块,并根据应用端下发的控制指令来控制soc中各个模块的流水线执行步骤,能够提高soc系统流水线同步机制在实现时的效率。
45.在一个或多个实施例中,上述步骤s204,在当前同步模块发送开始工作指令至对应的目标soc模块之前,还包括:
46.上述当前同步模块发送第一握手信号至上述前级同步模块子集中的每个前级同步模块,以使上述当前同步模块与上述前级同步模块子集中的每个前级同步模块建立通信连接。
47.这里,建立通信连接可以包括但不限于通过握手协议进行通信连接,第一握手信号可以为握手协议中的作为接收方的ready信号,当前同步模块在初始化的时候,对前级的各个同步模块提供的从握手信号,该从握手信号ready信号为高电平信号。例如,如图2所示,当前同步模块3作为接收方,向前级同步模块1发送ready高电平信号,以表示做好接收信号的准备。
48.确定上述当前同步模块是否与前级同步模块子集中的每个前级同步模块均建立通信连接。
49.上述当前同步模块发送第二握手信号至上述后级同步模块子集中的每个后级同步模块,以指示上述当前同步模块拒绝建立通信连接。
50.这里,第二握手信号可以为握手协议中的作为发送方的valid信号,当前同步模块对后级的各个同步模块提供的从握手信号。例如,如图2所示,当前同步模块3作为发送方,向后级同步模块1发送valid为低电平的信号,以表示当前同步模块3未与同步模块3和同步模块4建立通信连接。
51.在一个或多个实施例中,上述确定上述当前同步模块是否与前级同步模块子集中的每个前级同步模块均建立通信连接,包括:
52.根据上述当前同步模块与前级同步模块建立通信连接的数量,来确定上述当前同
步模块是否与前级同步模块子集中的每个前级同步模块均建立通信连接;
53.在上述当前同步模块与第一数量的前级同步模块均建立通信连接时,确定上述当前同步模块与前级同步模块子集中的每个前级同步模块均建立通信连接;其中,上述第一数量为上述前级同步模块子集中同步模块的数量。
54.这里,需要说明的是,同步模块集合中的每个同步模块只需获取到前级同步模块的数量和后级同步模块的数量,即可判断当前同步模块与前级同步模块子集建立了通信连接,或与后级同步模块子集建立了通信连接,例如,如图2所示,当前同步模块3在确定与前级的1个同步模块建立通信连接后,即可确定与前级同步模块子集中的每个前级同步模块均建立通信连接。因此,本发明实施例通过仅通过获取当前同步模块前级同步模块的数量,以及后级同步模块的数量就能够控制soc流水线同步机制的工作流程,同时也实现了soc流水线同步机制复用性。
55.在一个或多个实施例中,上述当前同步模块断开与前级同步模块子集中的每个前级同步模块的通信连接,包括:
56.上述当前同步模块发送第三握手信号至上述前级同步模块子集中的每个前级同步模块,以使上述当前同步模块断开与前级同步模块子集中的每个前级同步模块的通信连接。
57.这里,第三握手信号可以为当前同步模块作为接收方,对前级的各个同步模块提供的valid低电平从握手信号。例如,如图2所示,当前同步模块3作为接收方,向前级同步模块1发送valid为低电平的信号,以表示当前同步模块3未与同步模块1断开通信连接。
58.在一个或多个实施例中,上述在上述目标soc模块完成业务处理的情况下,上述当前同步模块建立与后级同步模块子集中的每个后级同步模块的通信连接,包括:在上述目标soc模块完成业务处理的情况下,上述当前同步模块发送第四握手信号至上述后级同步模块子集中的每个后级同步模块,以使上述当前同步模块与上述后级同步模块子集中的每个后级同步模块建立通信连接。
59.这里,第四握手信号可以为当前同步模块作为发送方,对后级的各个同步模块提供的valid高电平的主握手信号。如图2所示,假设目标soc模块为蓝牙模块,在蓝牙模块完成业务处理的情况下,当前同步模块3发送valid高电平的主握手信号至同步模块6和同步模块8,以使同步模块3和同步模块6和同步模块8建立通信连接。
60.当上述当前同步模块建立与后级同步模块子集中的每个后级同步模块的通信连接后,再次接收上述前级同步模块子集的通信连接请求,包括:当上述当前同步模块建立与后级同步模块子集中的每个后级同步模块的通信连接时,再次发送上述第一握手信号至上述前级同步模块子集,以接收上述前级同步模块子集中每个同步模块的通信连接请求。
61.这里,例如如图2所示,假设当前同步模块3建立与同步模块6和同步模块8的通信连接时,当前同步模块3作为接收方,再次发送ready高电平的信号至同步模块1,当同步模块1接收到该信号时,可以重新建立与同步模块3之间的通信连接。
62.在一个或多个实施例中,当上述当前同步模块建立与后级同步模块子集中的每个后级同步模块的通信连接时,再次发送上述第一握手信号至上述前级同步模块子集,包括:
63.当上述当前同步模块建立与第二数量的后级同步模块的通信连接时,确定上述当前同步模块建立与后级同步模块子集中的每个后级同步模块的通信连接;再次发送上述第
一握手信号至上述前级同步模块子集。
64.在本实施例中,需要说明的是,同步模块集合中的每个同步模块只需获取到后级同步模块的数量,即可判断当前同步模块与后级同步模块子集建立了通信连接,例如,如图2所示,当前同步模块3在确定与后级的2个同步模块建立通信连接后,即可确定与前级同步模块子集中的每个后级同步模块均建立通信连接。因此,本发明实施例仅通过获取当前同步模块前级同步模块的数量,以及后级同步模块的数量就能够控制soc流水线同步机制的工作流程,同时也实现了soc流水线同步机制复用性。
65.在一个或多个实施例中,在上述同步启动模块接收到上述流水线业务的触发信号之前,还包括:上述同步启动模块发送第二握手信号至第一级同步模块子集,以指示上述同步启动模块拒绝与上述第一级同步模块子集中的每个同步模块建立通信连接;将上述同步启动模块配置为空闲状态,并将上述空闲状态对应的状态信号发送至上述soc的应用端。
66.具体地,如图2所示,在上述同步启动模块接收到上述流水线业务的触发信号之前,同步启动模块作为发送方,发送valid为低电平信号到第一同步模块子集,即将该信号发送到同步模块1和同步模块2,以指示上述同步启动模块拒绝与同步模块1和同步模块2建立通信连接;将上述同步启动模块配置为空闲状态,并将上述空闲状态对应的状态信号至上述soc的应用端,此时应用端获知同步启动模块处于空闲状态,可以发送流水线工作启动指令。
67.在一个或多个实施例中,上述在上述同步启动模块接收到上述流水线业务的触发信号时,上述同步启动模块与上述同步模块集合中的第一级同步模块子集建立通信连接,包括:在上述同步启动模块接收到上述应用端发送上述触发信号时,上述同步启动模块发送第四握手信号至所第一级同步模块子集,以使上述同步启动模块与上述第一级同步模块子集中的每个同步模块建立通信连接;
68.在上述同步启动模块与上述同步模块集合中的第一级同步模块子集建立通信连接之后,还包括:将上述同步启动模块配置为非空闲状态;在上述同步启动模块接收到上述第一级同步模块子集发送的第一握手信号时,将上述同步启动模块配置为空闲状态。
69.为了实现soc流水线同步机制的通用性和复用性,在本发明实施例中,通过为每个vivado hls soc的子模块(soc模块)例化一个同步模块,每个子模块的启动和停止都由对应的同步模块独立控制,流水线由同步模块与同步模块之间交互执行,同时需要另外设计一个流水线第一级的启动模块与主机(应用端)进行交互,实现主机下发命令时整个流水线开始工作。基于该设计思路,在一实施例中,如图3所示,上述流水线同步机制的实现方法还包括:步骤s302,确定当前同步模块的前级同步模块和后级同步模块的个数;步骤s304,初始化上述当前同步模块,将当前同步模块作为接收方,拉高ready信号;步骤s306,初始化上述当前同步模块,将当前同步模块作为发送方,拉低valid信号。步骤s308,在当前同步模块与前级同步模块握手完成后,作为接收方置低ready信号,在当前同步模块的所有前级同步模块均完成握手后,当前同步模块向对应的soc模块发送任务启动指令,当前同步模块向对应的soc模块发送任务启动指令。步骤s310,当前同步模块接收到对应的soc模块完成任务的指示后,当前同步模块作为发送方,置高valid信号;步骤s312,当前同步模块与所有后级同步模块均完成握手后,重新将将当前同步模块作为接收方,置高ready信号,完成该级别流水任务。
70.在一实施例中,如图4所示,上述流水线同步机制的实现方法还包括:步骤s402,确定第一级同步模块的个数;步骤s404,将同步启动模块初始化,将同步启动模块作为发送方,置低valid信号;步骤s406,收到主机下发的启动指令后,将同步启动模块作为发送方,置高valid信号,并将第一级同步模块的ready信号记录供主机读取;步骤s408,同步启动模块和第一级同步模块完成握手后,将同步启动模块valid信号置低;步骤s410,当第一级同步模块作为接收方置高ready信号后,转入步骤s406,完成第一级流水操作。
71.本发明实施例通过建立与soc的各个模块对应同步模块,并根据同步模块直接的通信连接关系来控制soc中各个模块的流水线执行步骤,能够提高soc系统流水线同步机制在实现时的效率、不仅可以节省实现高soc系统流水线同步机制的工作量,而且能够在不同的soc系统实现流水线同步机制,进而解决了soc流水线同步机制在实现时效率低的技术问题。
72.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
73.根据本发明实施例的另一个方面,还提供了一种用于实施上述流水线同步机制的实现方法的流水线同步机制的实现装置。如图5所示,该装置包括:
74.第一创建单元502,用于创建片上系统soc中的每个soc模块对应的同步模块,得到同步模块集合,上述同步模块用于控制上述soc模块的工作状态,上述soc模块为上述soc中按流水线分级执行任务的模块;
75.第一发送单元504,用于在上述同步模块集合中当前同步模块与前级同步模块子集中的每个前级同步模块均建立通信连接的情况下,上述当前同步模块发送开始工作指令至对应的目标soc模块,以使上述目标soc模块进行业务处理;其中,上述前级同步模块子集为与上述当前同步模块直接相连的同一级同步模块的集合;
76.断开连接单元506,用于当上述当前同步模块发送上述开始工作指令完毕后,上述当前同步模块断开与前级同步模块子集中的每个前级同步模块的通信连接;
77.通信单元508,用于在上述目标soc模块完成业务处理的情况下,上述当前同步模块建立与后级同步模块子集的通信连接;其中,上述后级同步模块子集为与上述当前同步模块直接相连的后一级同步模块的集合;
78.接收单元510,用于当上述当前同步模块建立与后级同步模块子集中的每个后级同步模块的通信连接后,再次接收上述前级同步模块子集的通信连接请求;
79.第一确定单元512,用于在上述soc的每个soc模块均完成业务处理时,确定得到上述soc的流水线同步机制。
80.本发明实施例通过建立与soc的各个模块对应同步模块,并根据同步模块直接的通信连接关系来控制soc中各个模块的流水线执行步骤,能够提高soc系统流水线同步机制在实现时的效率、不仅可以节省实现高soc系统流水线同步机制的工作量,而且能够在不同的soc系统实现流水线同步机制,进而解决了soc流水线同步机制在实现时效率低的技术问题。
81.在一个或多个实施例中,上述流水线同步机制的实现装置,包括:
82.第二创建单元,用于创建用于接收触发上述soc启动流水线业务的触发信号的同步启动模块;
83.第一建立单元,用于在上述同步启动模块接收到上述流水线业务的触发信号时,上述同步启动模块与上述同步模块集合中的第一级同步模块子集建立通信连接;
84.第二发送单元,用于在上述同步启动模块与上述第一级同步子模块建立通信连接的情况下,上述第一级同步模块发送开始工作指令至上述第一级同步模块对应的soc模块子集。
85.在一个或多个实施例中,流水线同步机制的实现装置还包括:
86.第二建立单元,用于上述当前同步模块发送第一握手信号至上述前级同步模块子集中的每个前级同步模块,以使上述当前同步模块与上述前级同步模块子集中的每个前级同步模块建立通信连接;
87.第二确定单元,用于确定上述当前同步模块是否与前级同步模块子集中的每个前级同步模块均建立通信连接;
88.第二发送单元,用于上述当前同步模块发送第二握手信号至上述后级同步模块子集中的每个后级同步模块,以指示上述当前同步模块拒绝建立通信连接。
89.在一个或多个实施例中,上述第二确定单元,具体包括:
90.第一判断模块,用于根据上述当前同步模块与前级同步模块建立通信连接的数量,来确定上述当前同步模块是否与前级同步模块子集中的每个前级同步模块均建立通信连接;
91.第一确定模块,用于在上述当前同步模块与第一数量的前级同步模块均建立通信连接时,确定上述当前同步模块与前级同步模块子集中的每个前级同步模块均建立通信连接;其中,上述第一数量为上述前级同步模块子集中同步模块的数量。
92.在一个或多个实施例中,上述断开连接单元506,具体包括:
93.断开连接模块,用于上述当前同步模块发送第三握手信号至上述前级同步模块子集中的每个前级同步模块,以使上述当前同步模块断开与前级同步模块子集中的每个前级同步模块的通信连接。
94.在一个或多个实施例中,上述通信单元508,具体包括:
95.第三建立单元,用于在上述目标soc模块完成业务处理的情况下,上述当前同步模块发送第四握手信号至上述后级同步模块子集中的每个后级同步模块,以使上述当前同步模块与上述后级同步模块子集中的每个后级同步模块建立通信连接;
96.上述接收单元510,具体包括:接收模块,用于当上述当前同步模块建立与后级同步模块子集中的每个后级同步模块的通信连接时,再次发送上述第一握手信号至上述前级同步模块子集,以接收上述前级同步模块子集中每个同步模块的通信连接请求。
97.在一个或多个实施例中,上述接收模块,具体包括:
98.第一确定子单元,用于当上述当前同步模块建立与第二数量的后级同步模块的通信连接时,确定上述当前同步模块建立与后级同步模块子集中的每个后级同步模块的通信连接;
99.接收子单元,用于再次发送上述第一握手信号至上述前级同步模块子集,以接收
上述前级同步模块子集中每个同步模块的通信连接请求。
100.在一个或多个实施例中,上述流水线同步机制的实现装置还包括:还包括:
101.第二发送单元,用于上述同步启动模块发送第二握手信号至第一级同步模块子集,以指示上述同步启动模块拒绝与上述第一级同步模块子集中的每个同步模块建立通信连接;
102.第一配置单元,用于将上述同步启动模块配置为空闲状态,并将上述空闲状态对应的状态信号发送至上述soc的应用端。
103.在一个或多个实施例中,第一建立单元,具体包括:
104.第一建立模块,用于在上述同步启动模块接收到上述应用端发送上述触发信号时,上述同步启动模块发送第四握手信号至所第一级同步模块子集,以使上述同步启动模块与上述第一级同步模块子集中的每个同步模块建立通信连接;
105.上述流水线同步机制的实现装置还包括:
106.第三配置单元,用于将上述同步启动模块配置为非空闲状态;
107.第四配置单元,用于在上述同步启动模块接收到上述第一级同步模块子集发送的第一握手信号时,将上述同步启动模块配置为空闲状态。
108.根据本发明实施例的又一个方面,还提供了一种用于实施上述流水线同步机制的实现方法的电子设备,该电子设备可以是终端设备或服务器。上述终端设备包括但不限于以下至少之一:手机(如android手机、ios手机等)、笔记本电脑、平板电脑、掌上电脑、mid(mobile internet devices,移动互联网设备)、pad、台式电脑、智能电视等。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。
109.本实施例以该电子设备为服务器为例来说明。如图6所示,该电子设备包括存储器602和处理器604,该存储器602中存储有计算机程序,该处理器604被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
110.可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
111.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
112.s1,创建片上系统soc中的每个soc模块对应的同步模块,得到同步模块集合,上述同步模块用于控制上述soc模块的工作状态,上述soc模块为上述soc中按流水线分级执行任务的模块;
113.s2,在上述同步模块集合中当前同步模块与前级同步模块子集中的每个前级同步模块均建立通信连接的情况下,上述当前同步模块发送开始工作指令至对应的目标soc模块,以使上述目标soc模块进行业务处理;其中,上述前级同步模块子集为与上述当前同步模块直接相连的前一级同步模块的集合;
114.s3,当上述当前同步模块发送上述开始工作指令完毕后,上述当前同步模块断开与前级同步模块子集中的每个前级同步模块的通信连接;
115.s4,在上述目标soc模块完成业务处理的情况下,上述当前同步模块建立与后级同步模块子集的通信连接;其中,上述后级同步模块子集为与上述当前同步模块直接相连的后一级同步模块的集合;
116.s5,当上述当前同步模块建立与后级同步模块子集中的每个后级同步模块的通信
连接时,再次接收上述前级同步模块子集的通信连接请求;
117.s6,在上述soc的每个soc模块均完成业务处理时,确定得到上述soc的流水线同步机制。
118.可选地,本领域普通技术人员可以理解,图6所示的结构仅为示意,电子装置电子设备也可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobile internet devices,mid)、pad等终端设备。图6其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图6中所示更多或者更少的组件(如网络接口等),或者具有与图6所示不同的配置。
119.其中,存储器602可用于存储软件程序以及模块,如本发明实施例中的流水线同步机制的实现方法和装置对应的程序指令/模块,处理器604通过运行存储在存储器602内的软件程序以及模块,从而执行各种功能应用以及流水线同步机制的实现,即实现上述的流水线同步机制的实现方法。存储器602可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器602可进一步包括相对于处理器604远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器602具体可以但不限于用于存储不同级soc模块数量等信息。作为一种示例,如图6所示,上述存储器602中可以但不限于包括上述流水线同步机制的实现装置中的第一创建单元502、第一发送单元504、断开连接单元506、通信单元508、接收单元510及第一确定单元512。此外,还可以包括但不限于上述流水线同步机制的实现装置中的其他模块单元,本示例中不再赘述。
120.可选地,上述的传输装置606用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置606包括一个网络适配器(network interface controller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置606为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
121.此外,上述电子设备还包括:显示器608,用于显示上述每个soc模块;和连接总线610,用于连接上述电子设备中的各个模块部件。
122.在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(p2p,peer to peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
123.根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述流水线同步机制的实现方法。其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
124.可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
125.s1,创建片上系统soc中的每个soc模块对应的同步模块,得到同步模块集合,上述同步模块用于控制上述soc模块的工作状态,上述soc模块为上述soc中按流水线分级执行任务的模块;
126.s2,在上述同步模块集合中当前同步模块与前级同步模块子集中的每个前级同步模块均建立通信连接的情况下,上述当前同步模块发送开始工作指令至对应的目标soc模块,以使上述目标soc模块进行业务处理;其中,上述前级同步模块子集为与上述当前同步模块直接相连的前一级同步模块的集合;
127.s3,当上述当前同步模块发送上述开始工作指令完毕后,上述当前同步模块断开与前级同步模块子集中的每个前级同步模块的通信连接;
128.s4,在上述目标soc模块完成业务处理的情况下,上述当前同步模块建立与后级同步模块子集的通信连接;其中,上述后级同步模块子集为与上述当前同步模块直接相连的后一级同步模块的集合;
129.s5,当上述当前同步模块建立与后级同步模块子集中的每个后级同步模块的通信连接时,再次接收上述前级同步模块子集的通信连接请求;
130.s6,在上述soc的每个soc模块均完成业务处理时,确定得到上述soc的流水线同步机制。
131.可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
132.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
133.上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。
134.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
135.在本技术所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
136.上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
137.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
138.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献