CN111488307A - 多处理器串行通信方法、装置、电子终端及存储介质 - Google Patents
多处理器串行通信方法、装置、电子终端及存储介质 Download PDFInfo
- Publication number
- CN111488307A CN111488307A CN201910079559.0A CN201910079559A CN111488307A CN 111488307 A CN111488307 A CN 111488307A CN 201910079559 A CN201910079559 A CN 201910079559A CN 111488307 A CN111488307 A CN 111488307A
- Authority
- CN
- China
- Prior art keywords
- bus
- identifier
- target
- serial communication
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明实施例提供了一种多处理器串行通信方法、装置、电子终端及存储介质,涉及通信技术领域,能够避免串行通信总线出现总线竞争。本发明实施例提供的方法通过获取P个处理器发送的总线调用请求,P为大于或等于2且小于或等于N/2的整数,其中,每个总线调用请求中至少包括第一标识和第二标识;获取目标对象的当前状态信息;根据P个当前状态信息,获取当前处于空闲状态的目标对象对应的标识,以得到m个中间标识;当m为1时,查找与中间标识对应的第一标识,并将第一标识确定为目标标识;向目标标识指示的目标处理器发送总线调用反馈请求,总线调用反馈请求指示目标处理器调用串行通信总线。
Description
【技术领域】
本发明涉及通信技术领域,尤其涉及一种多处理器串行通信方法、装置、电子终端及存储介质。
【背景技术】
通信是指计算机与外界的信息传输,在通信领域内,数据通信中按每次传送的数据位数,通信方式可分为:并行通信和串行通信。其中,串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条数据线就可以在系统间交换信息,实现简单、节省传输线等特点,广泛应用于远距离通信和/或多处理器通信系统中。
串行通信以双工方式工作时,即串行通信连接的主机和从机实现双向传输过程中,由于串行通信总线只能将数据进行依次传输,若由于某些原因,主机和从机同时尝试在串行通信总线上放置传输的数据,此时,主机和从机争用串行通信总线,会产生总线竞争问题;或者,在多处理器通信系统,多个从机同时向一个主机上传数据,多个从机同时争用串行通信总线,在该串行通信总线上放置传输的数据,从而产生总线竞争问题。
总线竞争问题是计算机中总线的不良状态,总线竞争使得传输的数据错误,从而导致串行通信的设备错误的操作,并且在异常情况下会损坏硬件,例如总线接线的熔断。
【发明内容】
有鉴于此,本发明实施例提供了一种多处理器串行通信方法、装置、电子终端及存储介质,能够在一定程度上避免串行通信总线出现总线竞争,从而提高串行通信的设备执行操作的准确性,以及有效串行通信总线的安全性。
一方面,本发明实施例提供了一种多处理器串行通信方法,应用于包括N个处理器、总线仲裁器、串行通信总线的系统中,所述方法执行于所述总线仲裁器中,所述方法包括:
获取P个处理器发送的总线调用请求,P为大于或等于2且小于或等于N/2的整数,其中,每个总线调用请求中至少包括第一标识和第二标识,所述第一标识用于指示发送该总线调用请求的处理器,所述第二标识用于指示与所述处理器进行串行通信的目标对象;
根据每个总线调用请求中的第二标识,获取所述目标对象的当前状态信息,得到P个当前状态信息;
根据所述P个当前状态信息,获取当前处于空闲状态的目标对象对应的第二标识,以得到m个中间标识,其中,m为大于或等于1且小于或等于P的整数;
当得到的中间标识的数量m为1时,根据所述中间标识,查找与所述中间标识对应的第一标识,并将所述第一标识确定为目标标识;
向所述目标标识指示的目标处理器发送总线调用反馈请求,所述总线调用反馈请求指示所述目标处理器调用所述串行通信总线。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述每个总线调用请求中还包括:待传输数据的大小和/或允许传输延迟时间。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,当得到的中间标识的数量m大于1时,所述方法还包括:
根据所述m个中间标识,查找与所述m个中间标识对应的总线调用请求,得到m个候选总线调用请求;
依次比较所述m个候选总线调用请求中允许传输延迟时间的大小,得到第一比较结果;
当所述第一比较结果中最小允许传输延迟时间对应的一个候选总线调用请求,将所述候选总线调用请求确定为目标总线调用请求;以及,
将所述目标总线调用请求中的第一标识确定为目标标识。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,当得到的中间标识的数量m大于1时,所述方法还包括:
根据所述m个中间标识,查找与所述m个中间标识对应的总线调用请求,得到m个候选总线调用请求;
根据每个候选总线调用请求中待传输数据的大小,以及,预存的所述串行通信总线传输速率,获取每个待传输数据的传输时间,得到m个传输时间;
依次比较m个传输时间的大小,得到第二比较结果;
将所述第二比较结果中最小传输时间对应的候选总线调用请求,确定为子候选总线调用请求;
当所述子候选总线调用请求的数量为1时,确定所述子候选总线调用请求为目标总线调用请求,并将所述目标总线调用请求中的第一标识确定为目标标识。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,当所述子候选总线调用请求的数量大于1时,所述方法还包括:
比较各个子候选总线调用请求中允许传输延迟时间的大小,得到第三比较结果;
将所述第三比较结果中最小允许传输延迟时间对应的子候选总线调用请求,确定为目标总线调用请求;以及,
将所述目标总线调用请求中的第一标识确定为目标标识。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,当得到的中间标识的数量m大于1时,所述方法还包括:输出与所述m个中间标识分别对应的m个第一标识;
获取针对于所述m个第一标识配置的优先权信息;
根据所述优先权信息,确定m个第一处理器调用串行通信总线的次序。
第二方面,本发明实施例还提供了一种多处理器串行通信装置,其所述装置设置于所述总线仲裁器中,所述装置包括:
第一获取单元,用于获取P个处理器发送的总线调用请求,P为大于或等于2且小于或等于N/2的整数,其中,每个总线调用请求中至少包括第一标识和第二标识,所述第一标识用于指示发送该总线调用请求的处理器,所述第二标识用于指示与所述处理器进行串行通信的目标对象;
第二获取单元,用于根据每个总线调用请求中的第二标识,获取所述目标对象的当前状态信息,得到P个当前状态信息;
第三获取单元,用于根据所述P个当前状态信息,获取当前处于空闲状态的目标对象对应的第二标识,以得到m个中间标识,其中,m为大于或等于1且小于或等于P的整数;
处理单元,用于当得到的中间标识的数量m为1时,根据所述中间标识,查找与所述中间标识对应的第一标识,并将所述第一标识确定为目标标识;
发送单元,用于向所述目标标识指示的目标处理器发送总线调用反馈请求,所述总线调用反馈请求指示所述目标处理器调用串行通信总线。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述每个总线调用请求中还包括:待传输数据的大小和/或允许传输延迟时间。
第三方面,本发明实施例还提供了一种电子终端,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如第一方面中任一所述的方法。
第四方面,本发明实施例还提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一所述的方法。
上述技术方案具有如下有益效果:
本发明提供的技术方案,在多个设备或者处理器同时调用串行通信总线时,总线仲裁器接收到第一处理器发送的多个总线调用请求,通过该总线调用请求中的第二标识获取目标对象当前状态,以选择出处于空闲状态的目标对象,若得到一个目标对象处于空闲态,则将与该处于空闲态的目标对象相对应的第一处理器确定为当前可以使用的串行通信总线的目标处理器,这样一来,当存在多个处理器都想要调用串行通信总线时,优先选择将串行通信总线的使用权给与一个进行串行通信的目标对象处于空闲状态的第一处理器,从而有效避免了总线竞争问题的情况出现,进而提高串行通信的设备执行操作的准确性,以及有效串行通信总线的安全性。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例所提供的一种多处理器串行通信系统的结构示意图;
图2是本发明实施例所提供的一种多处理器串行通信方法的流程示意图;
图3是本发明实施例所提供的另一种多处理器串行通信方法的流程示意图;
图4是本发明实施例所提供的另一种多处理器串行通信方法的流程示意图;
图5是本发明实施例所提供的另一种多处理器串行通信方法的流程示意图;
图6是本发明实施例所提供的一种多处理器串行通信装置的结构示意图;
图7是本发明实施例所提供的电子终端的结构示意图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
在阐述多处理器串行通信方法之前,先简单描述一下多处理器串行通信系统。如图1所示,该多处理器串行通信系统包括N个处理器、总线仲裁器和串行通信总线。其中,N个处理器通过串行通信总线彼此连接,并且这N个处理器还分别连接于总线仲裁器。上述串行通信总线用于传输数据,总线仲裁器主要用于确定在某一时刻,哪个处理器可以使用该串行通信总线传输数据。
处理器之间实现传输数据过程中,数据传输的发起方需要通过串行通信总线,将传输的数据放置到该串行通信总线,然后在传输到与该发起方对应的目标对象。为了避免多个发起方同时使用串行通信总线,而产生的冲突,发起方在使用串行通信总线之前,需要先获得许可。也就是说,在使用串行通信之前,先向总线仲裁器发送总线调用请求,从而由仲裁器基于一定方法处理后,仲裁出当前时刻可以使用串行通信总线的一个发起方,并通知该发起方向其对应的目标对象传输数据。
基于上述多处理器串行通信系统,针对于在任一时刻,仲裁器决定出哪个处理器可以使用该串行通信总线的实现,提供了一种多处理器串行通信方法,该方法执行于总线仲裁器中,该方法的流程图如图2所示,该方法包括:
102、获取P个处理器发送的总线调用请求,P为大于或等于2且小于或等于N/2的整数,其中,每个总线调用请求中至少包括第一标识和第二标识。
本发明实施例中,第一标识用于指示发送该总线调用请求的处理器,第二标识用于指示与处理器进行串行通信的目标对象。其中,上述第一标识和第二标识主要是用于将每个处理器彼此进行区分,每个第一标识和第二标识仅唯一指示一个处理器。该第一标识和/或第二标识可以是处理器的生产序列号、处理器的IP地址、处理器的ID号等。
本发明实施例中发送的总线调用请求处理器为进行数据串行传输的发起方;而目标对象为接收发起方传输数据的一个处理器,即与该发起方对应的接收方。
104、根据每个总线调用请求中的第二标识,获取目标对象的当前状态信息,得到P个当前状态信息。
总线仲裁器中可以预先存储有上述N个处理器的访问地址以及这些处理器的标识,且这些处理器的标识与其访问地址一一对应存储。当总线仲裁器得到P个第二标识后,从自身预存的标识中查找与第二标识匹配的预存标识,从从而得到每个第二标识对应处理器(即目标对象)的访问地址,进而,基于每个目标对象的访问地址,访问每个目标对象,以得到每个目标对象的当前状态信息。
本发明中目标对象的当前状态信息用于表征该目标对象的工作情况,其中,当前状态信息至少包括工作状态。本发明中工作状态至少分为两类状态:运行状态和空闲状态。
106、根据P个当前状态信息,获取当前处于空闲状态的目标对象对应的第二标识,以得到m个中间标识,其中,m为大于或等于1且小于或等于P的整数。
108、当得到的中间标识的数量m为1时,根据中间标识,查找与中间标识对应的第一标识,并将第一标识确定为目标标识。
110、向目标标识指示的目标处理器发送总线调用反馈请求,总线调用反馈请求指示目标处理器调用串行通信总线。
补充说明的是,总线仲裁器接收到多个处理器发送的总线调用请求,当总线仲裁器在从这些多个处理器中只选择一个作为可以使用串行总线的目标处理器,为了减少这些处理器中非目标处理器等待时间,还可以向这些非目标处理器反馈提示信息,以通知这次非目标处理器本次请求失败,使得这些非目标处理器一段时间后再次发送总线调用请求。
可选的是,总线仲裁器得到的每个总线调用请求中还包括:待传输数据的大小和/或允许传输延迟时间。其中,该允许传输延迟时间是指数据发送方发出数据时刻到数据接收方(即目标对象)接收到数据时刻之间的最大时间间隔。
可选的是,考虑到得到的P个当前状态信息中,可以存在多个当前状态信息为空闲状态,即仲裁器得到的中间标识的数量m大于1,当出现这种情况时,仲裁器执行完上述步骤102~步骤106后,依然无法得到一个唯一的目标标识,进而也就无法得到唯一的目标处理器。为了解决出现上述情况时不能确定为一个唯一的目标标识的问题,本发明实施例进一步给出以下3种实现方式。
第一种实现方式,其流程图如图3所示,在执行完步骤106后,若得到的中间标识的数量m大于1,还可以执行以下步骤:
A1071、根据m个中间标识,查找与m个中间标识对应的总线调用请求,得到m个候选总线调用请求。
A1072、依次比较m个候选总线调用请求中允许传输延迟时间的大小,得到第一比较结果。
A1073、当第一比较结果中最小允许传输延迟时间对应的一个候选总线调用请求,将该候选总线调用请求确定为目标总线调用请求。
A1074、将目标总线调用请求中的第一标识确定为目标标识。
这里需要补充说明的是,如果得到的第一比较结果中最小允许传输延迟时间对应的两个或两个以上候选总线调用请求,总线仲裁器仍然不能确定出一个唯一的目标处理器,在此情况下,总线仲裁器还可以根据最小允许传输延迟时间对应的两个或两个以上候选总线调用请求中的待传输数据的大小,进行进一步的决策。其中,总线仲裁器根据最小允许传输延迟时间对应的两个或两个以上候选总线调用请求中的待传输数据的大小,进行进一步的决策的具体实现过程,与下文第二种实现方式中利用待传输数据的大小确定目标标识的过程相似,因此,本发明再次不在赘述,具体请参考下文描述。
第二种实现方式,其流程图如图4所示,在执行完步骤106后,若得到的中间标识的数量m大于1,还可以执行以下步骤:
B1071、根据m个中间标识,查找与m个中间标识对应的总线调用请求,得到m个候选总线调用请求。
B1072、根据每个候选总线调用请求中待传输数据的大小,以及,预存的串行通信总线传输速率,获取每个待传输数据的传输时间,得到m个传输时间。
B1073、依次比较m个传输时间的大小,得到第二比较结果。
B1074、将第二比较结果中最小传输时间对应的候选总线调用请求,确定为子候选总线调用请求。
B1075、当子候选总线调用请求的数量为1时,确定子候选总线调用请求为目标总线调用请求,并将目标总线调用请求中的第一标识确定为目标标识。
针对于第二种实现方式,补充说明的是,如果总线仲裁器经过是上述步骤后,还是未能确定出一个唯一的目标处理器,换句话说,当子候选总线调用请求的数量大于1时,总线仲裁器在执行完步骤B1074之后,还可以继续执行以下步骤:比较各个子候选总线调用请求中允许传输延迟时间的大小,得到第三比较结果;然后,将第三比较结果中最小允许传输延迟时间对应的子候选总线调用请求,确定为目标总线调用请求;以及,将目标总线调用请求中的第一标识确定为目标标识。
第三种实现方式,其流程图如图5所示,在执行完步骤106后,若得到的中间标识的数量m大于1,还可以执行以下步骤:
C1071、输出与m个中间标识分别对应的m个第一标识。
C1072、获取针对于m个第一标识配置的优先权信息。
C1073、根据优先权信息,确定m个第一处理器调用串行通信总线的次序。
在一个具体实施例中,为了更加贴近业务需求,以及,增强用户体验性,当中间标识的数量m大于1,总线仲裁器可以向用户终端发送m个中间标识分别对应的m个第一标识,用户终端将得到m个第一标识显示给业务管理员,业务管理员通过该用户终端的输入设备输入这m个第一标识的优先权信息,从而用户终端将业务管理员输入的优先权信息发送给该总线仲裁器,使得该总线仲裁器基于m个第一标识的优先权信息,按照优先权从高到低的顺序对m个第一标识进行排序,得到第一标识序列,基于该第一标识序列确定出m个第一处理器调用串行通信总线的次序,从而直接将该次序中位于首位的第一处理器确定为目标处理器。
或者,在上述具体实施例中,在得到第一标识序列之后,可以将第一标识序列通过广播的方式发送给发送总线调用请求的P个处理器,这P个处理器得到该第一标识序列之后,确定该第一标识序列的首位标识是否与自身对应的标识匹配,若匹配,则调用该串行通信总线;否则,等待一定时间后调用该串行通信总线,或者,重新发送总线调用请求。
需要说明的是,本发明实施例中所涉及的终端可以包括但不限于个人计算机(Personal Computer,PC)、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)、手机、MP3播放器、MP4播放器等。
需要说明的是,上述执行主体可以为多处理器串行通信装置,该装置可以位于本地终端的应用,或者还可以为位于本地终端的应用中的插件或软件开发工具包(SoftwareDevelopment Kit,SDK)等功能单元,本发明实施例对此不进行特别限定。
可以理解的是,所述应用可以是安装在终端上的应用程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),本发明实施例对此不进行限定。
本发明实施例的技术方案具有以下有益效果:
本发明提供的技术方案,在多个设备或者处理器同时调用串行通信总线时,总线仲裁器接收到第一处理器发送的多个总线调用请求,通过该总线调用请求中的第二标识获取目标对象当前状态,以选择出处于空闲状态的目标对象,若得到一个目标对象处于空闲态,则将与该处于空闲态的目标对象相对应的第一处理器确定为当前可以使用的串行通信总线的目标处理器,这样一来,当存在多个处理器都想要调用串行通信总线时,优先选择将串行通信总线的使用权给与一个进行串行通信的目标对象处于空闲状态的第一处理器,从而有效避免了总线竞争问题的情况出现,进而提高串行通信的设备执行操作的准确性,以及有效串行通信总线的安全性。
基于上述实施例所提供的多处理器串行通信方法,本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。
请参考图6,其为本发明实施例所提供的装置的功能方块图。如图所示,装置设置于总线仲裁器中,该装置包括:第一获取单元21、第二获取单元22、第三获取单元23、处理单元24以及发送单元25。
上述,第一获取单元21,用于获取P个处理器发送的总线调用请求,P为大于或等于2且小于或等于N/2的整数,其中,每个总线调用请求中至少包括第一标识和第二标识,第一标识用于指示发送该总线调用请求的处理器,第二标识用于指示与处理器进行串行通信的目标对象;第二获取单元22,用于根据每个总线调用请求中的第二标识,获取目标对象的当前状态信息,得到P个当前状态信息;第三获取单元23,用于根据P个当前状态信息,获取当前处于空闲状态的目标对象对应的第二标识,以得到m个中间标识,其中,m为大于或等于1且小于或等于P的整数;处理单元24,用于当得到的中间标识的数量m为1时,根据中间标识,查找与中间标识对应的第一标识,并将第一标识确定为目标标识;发送单元25,用于向目标标识指示的目标处理器发送总线调用反馈请求,总线调用反馈请求指示目标处理器调用串行通信总线。
其中,上述第一获取单元21得到的每个总线调用请求中还包括:待传输数据的大小和/或允许传输延迟时间。
若第一获取单元21得到的每个总线调用请求中包括:待传输数据的允许传输延迟时间,本发明实施例可选的是,当得到的中间标识的数量m大于1时,处理单元24确定目标标识的过程可以包括:首先,根据m个中间标识,查找与m个中间标识对应的总线调用请求,得到m个候选总线调用请求;然后,依次比较m个候选总线调用请求中允许传输延迟时间的大小,得到第一比较结果;从而,当第一比较结果中最小允许传输延迟时间对应的一个候选总线调用请求,将该候选总线调用请求确定为目标总线调用请求;进而,将目标总线调用请求中的第一标识确定为目标标识。
若第一获取单元21得到的每个总线调用请求中包括:待传输数据的大小,本发明实施例可选的是,当得到的中间标识的数量m大于1时,处理单元24确定目标标识的过程可以包括:首先,根据m个中间标识,查找与m个中间标识对应的总线调用请求,得到m个候选总线调用请求;然后,根据每个候选总线调用请求中待传输数据的大小,以及,预存的串行通信总线传输速率,获取每个待传输数据的传输时间,得到m个传输时间;其次,依次比较m个传输时间的大小,得到第二比较结果;从而,将第二比较结果中最小传输时间对应的候选总线调用请求,确定为子候选总线调用请求;进而,当子候选总线调用请求的数量为1时,确定子候选总线调用请求为目标总线调用请求,并将目标总线调用请求中的第一标识确定为目标标识。
若第一获取单元21得到的每个总线调用请求中包括:待传输数据的大小和允许传输延迟时间,本发明实施例可选的是,当子候选总线调用请求的数量大于1时,处理单元24还需要执行:比较各个子候选总线调用请求中允许传输延迟时间的大小,得到第三比较结果;从而,将第三比较结果中最小允许传输延迟时间对应的子候选总线调用请求,确定为目标总线调用请求;进而,将目标总线调用请求中的第一标识确定为目标标识。
本发明实施例可选的是,当得到的中间标识的数量m大于1时,处理单元24还可以执行:输出与m个中间标识分别对应的m个第一标识;获取针对于m个第一标识配置的优先权信息;根据优先权信息,确定m个第一处理器调用串行通信总线的次序。
由于本实施例中的各单元能够执行上述方法,本实施例未详细描述的部分,可参考上述对多处理器串行通信方法的相关说明。
图7为本申请电子终端一个实施例的结构示意图,上述电子可以包括存储器、处理器及存储在上述存储器上并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时,可以实现本申请实施例提供的多处理器串行通信方法。
其中,上述电子终端可以包括但不限于智能手机、平板电脑或可穿戴智能设备等智能电子设备,另外,上述电子终端也可以为服务器,本实施例对上述电子终端的具体形态不作限定。
图7示出了适于用来实现本申请实施方式的示例性电子终端30的框图。图7显示的电子终端30仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,电子终端30以通用计算设备的形式表现。电子终端30的组件可以包括但不限于:一个或者多个处理器或者处理单元310,系统存储器320,连接不同系统组件(包括系统存储器320和处理单元310)的总线330。
总线330表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
电子终端30典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子终端30访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器320可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)321和/或高速缓存存储器322。电子终端30可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统323可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc ReadOnly Memory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read OnlyMemory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线330相连。存储器320可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块324的程序/实用工具325,可以存储在例如存储器320中,这样的程序模块324包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块324通常执行本申请所描述的实施例中的功能和/或方法。
电子终端30也可以与一个或多个外部设备40(例如键盘、指向设备、显示器410等)通信,还可与一个或者多个使得用户能与该电子终端30交互的设备通信,和/或与使得该电子终端30能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口340进行。并且,电子终端30还可以通过网络适配器350与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图7所示,网络适配器350通过总线330与电子终端30的其它模块通信。应当明白,尽管图7中未示出,可以结合电子终端30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元310通过运行存储在系统存储器320中的程序,从而执行各种功能应用以及数据处理,例如实现本申请实施例提供的测试数据的采集方法。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时可以实现本申请实施例提供的多处理器串行通信方法。
上述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ReadOnly Memory;以下简称:ROM)、可擦式可编程只读存储器(Erasable Programmable ReadOnly Memory;以下简称:EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network;以下简称:LAN)或广域网(Wide Area Network;以下简称:WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种多处理器串行通信方法,其特征在于,应用于包括N个处理器、总线仲裁器、串行通信总线的系统中,所述方法执行于所述总线仲裁器中,所述方法包括:
获取P个处理器发送的总线调用请求,P为大于或等于2且小于或等于N/2的整数,其中,每个总线调用请求中至少包括第一标识和第二标识,所述第一标识用于指示发送该总线调用请求的处理器,所述第二标识用于指示与所述处理器进行串行通信的目标对象;
根据每个总线调用请求中的第二标识,获取所述目标对象的当前状态信息,得到P个当前状态信息;
根据所述P个当前状态信息,获取当前处于空闲状态的目标对象对应的第二标识,以得到m个中间标识,其中,m为大于或等于1且小于或等于P的整数;
当得到的中间标识的数量m为1时,根据所述中间标识,查找与所述中间标识对应的第一标识,并将所述第一标识确定为目标标识;
向所述目标标识指示的目标处理器发送总线调用反馈请求,所述总线调用反馈请求指示所述目标处理器调用所述串行通信总线。
2.根据权利要求1所述的方法,其特征在于,所述每个总线调用请求中还包括:待传输数据的大小和/或允许传输延迟时间。
3.根据权利要求2所述的方法,其特征在于,当得到的中间标识的数量m大于1时,所述方法还包括:
根据所述m个中间标识,查找与所述m个中间标识对应的总线调用请求,得到m个候选总线调用请求;
依次比较所述m个候选总线调用请求中允许传输延迟时间的大小,得到第一比较结果;
当所述第一比较结果中最小允许传输延迟时间对应的一个候选总线调用请求,将所述候选总线调用请求确定为目标总线调用请求;以及,
将所述目标总线调用请求中的第一标识确定为目标标识。
4.根据权利要求2所述的方法,其特征在于,当得到的中间标识的数量m大于1时,所述方法还包括:
根据所述m个中间标识,查找与所述m个中间标识对应的总线调用请求,得到m个候选总线调用请求;
根据每个候选总线调用请求中待传输数据的大小,以及,预存的所述串行通信总线传输速率,获取每个待传输数据的传输时间,得到m个传输时间;
依次比较m个传输时间的大小,得到第二比较结果;
将所述第二比较结果中最小传输时间对应的候选总线调用请求,确定为子候选总线调用请求;
当所述子候选总线调用请求的数量为1时,确定所述子候选总线调用请求为目标总线调用请求,并将所述目标总线调用请求中的第一标识确定为目标标识。
5.根据权利要求4所述的方法,其特征在于,当所述子候选总线调用请求的数量大于1时,所述方法还包括:
比较各个子候选总线调用请求中允许传输延迟时间的大小,得到第三比较结果;
将所述第三比较结果中最小允许传输延迟时间对应的子候选总线调用请求,确定为目标总线调用请求;以及,
将所述目标总线调用请求中的第一标识确定为目标标识。
6.根据权利要求1所述的方法,其特征在于,当得到的中间标识的数量m大于1时,所述方法还包括:输出与所述m个中间标识分别对应的m个第一标识;
获取针对于所述m个第一标识配置的优先权信息;
根据所述优先权信息,确定m个第一处理器调用串行通信总线的次序。
7.一种多处理器串行通信装置,其特征在于,所述装置设置于所述总线仲裁器中,所述装置包括:
第一获取单元,用于获取P个处理器发送的总线调用请求,P为大于或等于2且小于或等于N/2的整数,其中,每个总线调用请求中至少包括第一标识和第二标识,所述第一标识用于指示发送该总线调用请求的处理器,所述第二标识用于指示与所述处理器进行串行通信的目标对象;
第二获取单元,用于根据每个总线调用请求中的第二标识,获取所述目标对象的当前状态信息,得到P个当前状态信息;
第三获取单元,用于根据所述P个当前状态信息,获取当前处于空闲状态的目标对象对应的第二标识,以得到m个中间标识,其中,m为大于或等于1且小于或等于P的整数;
处理单元,用于当得到的中间标识的数量m为1时,根据所述中间标识,查找与所述中间标识对应的第一标识,并将所述第一标识确定为目标标识;
发送单元,用于向所述目标标识指示的目标处理器发送总线调用反馈请求,所述总线调用反馈请求指示所述目标处理器调用串行通信总线。
8.根据权利要求7所述的装置,其特征在于,所述每个总线调用请求中还包括:待传输数据的大小和/或允许传输延迟时间。
9.一种电子终端,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-6中任一所述的方法。
10.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910079559.0A CN111488307A (zh) | 2019-01-28 | 2019-01-28 | 多处理器串行通信方法、装置、电子终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910079559.0A CN111488307A (zh) | 2019-01-28 | 2019-01-28 | 多处理器串行通信方法、装置、电子终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111488307A true CN111488307A (zh) | 2020-08-04 |
Family
ID=71812086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910079559.0A Pending CN111488307A (zh) | 2019-01-28 | 2019-01-28 | 多处理器串行通信方法、装置、电子终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111488307A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024092480A1 (zh) * | 2022-11-01 | 2024-05-10 | 深圳市韶音科技有限公司 | 通信方法、设备及系统 |
-
2019
- 2019-01-28 CN CN201910079559.0A patent/CN111488307A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024092480A1 (zh) * | 2022-11-01 | 2024-05-10 | 深圳市韶音科技有限公司 | 通信方法、设备及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10783364B2 (en) | Method, apparatus and device for waking up voice interaction function based on gesture, and computer readable medium | |
WO2018192487A1 (zh) | 一种控制智能设备联动的方法及装置 | |
US11138971B2 (en) | Using context to interpret natural language speech recognition commands | |
CN110489440B (zh) | 数据查询方法和装置 | |
CN111737564B (zh) | 一种信息查询方法、装置、设备及介质 | |
US11838881B2 (en) | Method and device for transmitting synchronization signal block based on added time window, and storage medium | |
US8996760B2 (en) | Method to emulate message signaled interrupts with interrupt data | |
WO2022161244A1 (zh) | 多主机仲裁方法、装置和可读存储介质 | |
CN107817962B (zh) | 一种远程控制方法、装置、控制服务器及存储介质 | |
US20180233144A1 (en) | Voice input method and apparatus | |
CN116257472B (zh) | 接口控制方法、装置、电子设备及存储介质 | |
WO2013066335A1 (en) | Method to emulate message signaled interrupts with multiple interrupt vectors | |
CN109086097B (zh) | 一种小程序的启动方法、装置、服务器及存储介质 | |
CN111488307A (zh) | 多处理器串行通信方法、装置、电子终端及存储介质 | |
CN110995817B (zh) | 请求回调方法、装置及客户端设备 | |
CN112100092B (zh) | 一种信息缓存方法、装置、设备及介质 | |
CN110048865B (zh) | 一种总线数据传输方法、装置、电子设备及存储介质 | |
US20200341653A1 (en) | Method, network adapter and computer program product for processing data | |
US20140189182A1 (en) | Method to accelerate message signaled interrupt processing | |
CN103744816B (zh) | 通用串行总线设备以及其数据传输方法 | |
CN116701009B (zh) | 数据通信的方法及电子设备 | |
CN110674268A (zh) | 人机对话方法及相关设备 | |
CN116166594B (zh) | 一种单地址多从机的iic总线电路及其传输方法和装置 | |
CN117389929A (zh) | 数据传输方法、装置、设备及存储介质 | |
CN111615150B (zh) | 基于PCIe接口的5G数据传输方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |