CN103186491A - 一种端到端硬件消息传输的实现方法和装置 - Google Patents
一种端到端硬件消息传输的实现方法和装置 Download PDFInfo
- Publication number
- CN103186491A CN103186491A CN2011104552110A CN201110455211A CN103186491A CN 103186491 A CN103186491 A CN 103186491A CN 2011104552110 A CN2011104552110 A CN 2011104552110A CN 201110455211 A CN201110455211 A CN 201110455211A CN 103186491 A CN103186491 A CN 103186491A
- Authority
- CN
- China
- Prior art keywords
- message
- interface
- controller
- output interface
- user
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/56—Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]
-
- 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/382—Information transfer, e.g. on bus using universal interface adapter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Abstract
本发明公开了一种端到端硬件消息传输的实现方法和装置,装置包括:消息存储器、控制器、消息输入和输出接口。消息存储器,用于执行消息的暂存;控制器,用于执行消息的硬件方式管理,将从消息输入接口获取的消息存储在消息存储器中,从消息存储器中读取消息并通过消息输出接口发送给消息使用者;消息输入接口,直连消息创建者,用于在控制器的控制下,获取消息创建者创建的消息;消息输出接口,直连消息使用者,用于在控制器的控制下,向消息使用者提供消息。通过本发明,能够提高消息传输的效率,并减少软件管理的开销。
Description
技术领域
本发明涉及消息传输(message passing)技术领域,尤其涉及一种端到端硬件消息传输(HMP,Hardware Message Passing)的实现方法和装置。
背景技术
随着技术的发展,系统越来越复杂,集成的核(core)数量也越来越多,核间通信也越来越重要。传统的核间通信通常采用共享存储器(share memory)的硬件方式来实现,如图1所示,多个核通过互连系统与一块共享的存储器相连。这种实现方式的优点是可以实现多个核之间的交叉信息传输,而缺点包括:
一、消息传输延时比较长,这是由于消息的传输需要先由消息创建者写入到共享存储器,然后由消息使用者去共享存储器读取,这两个操作都需要经过系统互连网络,通路延时比较长,而且还会与其它的数据访问进行竞争和判决,以获取总线的使用权;
二、需要软件进行消息管理,因为共享存储器只能用来暂存消息,创建者将消息写入到共享存储器后要中断并通知消息使用者,消息创建者和消息使用者要共享管理维护消息队列指针,以避免消息覆盖和消息重复使用等问题。
在实际应用中的很多情况下,消息使用者是确定的,消息使用的频次和时间也是确定的;针对这种情况,目前一些方案为提高消息传输效率,减少传输延时,采用直连接口进行消息传输,如图2和图3所示,其中,图2示出了可扩展的核(Extendible core)之间通过直连接口进行消息传输,图3示出了在图2基础上按照先入先出(FIFO,First Input First Output)的消息传输。这种采用直连接口进行消息传输的实现方式存在以下缺陷:一是处理器必须是可扩展的,可以扩展出消息发送或消息接收端口来;二是此方法依然需要软件进行消息管理,并没有减少软件管理的开销,只是减少了消息传输的延时。
发明内容
有鉴于此,本发明的主要目的在于提供一种端到端硬件消息传输的实现方法和装置,以提高消息传输的效率,并减少软件管理的开销。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种端到端硬件消息传输的实现装置,该装置包括:消息存储器、控制器、消息输入和输出接口,
所述消息存储器,用于执行消息的暂存;
所述控制器,用于执行消息的硬件方式管理,将从消息输入接口获取的消息存储在所述消息存储器中,从所述消息存储器中读取消息并通过所述消息输出接口发送给消息使用者;
所述消息输入接口,直连消息创建者,用于在所述控制器的控制下,获取消息创建者创建的消息;
所述消息输出接口,直连消息使用者,用于在所述控制器的控制下,向消息使用者提供消息。
所述消息输入接口为主设备master接口或从设备slave接口,当所述消息输入接口为master接口时,所述消息输入接口在控制器的控制下,以主动的方式获取消息创建者创建的消息;当所述消息输入接口为slave接口时,所述消息输入接口在控制器的控制下,以被动的方式获取消息创建者创建的消息;
所述消息输出接口为master接口或slave接口,当所述消息输出接口为master接口时,所述消息输出接口在控制器的控制下,以主动的方式向消息使用者提供消息;当所述消息输出接口为slave接口时,所述消息输出接口在控制器的控制下,以被动的方式向消息使用者提供消息。
所述在控制器的控制下,以主动的方式获取消息创建者创建的消息,包括:
所述控制器通过消息输入接口获取消息创建者的状态,并依据所述状态从所述消息创建者的缓冲区中提取消息;
或者,所述控制器通过消息输入接口定时从所述消息创建者的缓冲区中提取消息。
所述在控制器的控制下,以被动的方式获取消息创建者创建的消息,包括:
所述控制器通过消息输入接口接收所述消息创建者主动发来的消息。
所述在控制器的控制下,以主动的方式向消息使用者提供消息,包括:
所述控制器通过消息输出接口获取消息使用者的状态,依据所述状态从所述消息存储器中读取消息并通过消息输出接口发送到所述消息使用者;
或者,所述控制器器定时从所述消息存储器中读取消息并通过消息输出接口发送到消息使用者。
所述在控制器的控制下,以被动的方式向消息使用者提供消息,包括:
所述控制器通过消息输出接口向消息使用者提供消息队列状态,并通过所述消息输出接口获取消息使用者依据消息队列状态发出的读请求,依据所述读请求从所述消息存储器中读取消息并通过消息输出接口发送到所述消息使用者;
或者,所述控制器通过消息输出接口获取消息使用者定时发出的读请求,依据所述读请求从所述消息存储器中读取消息并通过消息输出接口发送到所述消息使用者。
本发明还提供了一种端到端硬件消息传输的实现方法,该方法包括:
控制器通过消息输入接口获取直连的消息创建者创建的消息,并将获取的消息暂存在消息存储器中,对存储在所述消息存储器中的消息执行硬件方式管理;从所述消息存储器中读取消息,并通过所述消息输出接口将读取的消息发送给直连的消息使用者。
所述消息输入接口为主设备master接口或从设备slave接口,当所述消息输入接口为master接口时,所述消息输入接口在控制器的控制下,以主动的方式获取消息创建者创建的消息;当所述消息输入接口为slave接口时,所述消息输入接口在控制器的控制下,以被动的方式获取消息创建者创建的消息;
所述消息输出接口为master接口或slave接口,当所述消息输出接口为master接口时,所述消息输出接口在控制器的控制下,以主动的方式向消息使用者提供消息;当所述消息输出接口为slave接口时,所述消息输出接口在控制器的控制下,以被动的方式向消息使用者提供消息。
所述消息输入接口在控制器的控制下,以主动的方式获取消息创建者创建的消息,包括:
所述控制器通过消息输入接口获取消息创建者的状态,并依据所述状态从所述消息创建者的缓冲区中提取消息;
或者,所述控制器通过消息输入接口定时从所述消息创建者的缓冲区中提取消息。
所述消息输入接口在控制器的控制下,以被动的方式获取消息创建者创建的消息,包括:
所述控制器通过消息输入接口接收所述消息创建者主动发来的消息。
所述消息输出接口在控制器的控制下,以主动的方式将读取的消息发送给消息使用者,包括:
所述控制器通过消息输出接口获取消息使用者的状态,依据所述状态从所述消息存储器中读取消息并通过消息输出接口发送到所述消息使用者;
或者,所述控制器器定时从所述消息存储器中读取消息并通过消息输出接口发送到消息使用者。
所述消息输出接口在控制器的控制下,以被动的方式将读取的消息发送给消息使用者,包括:
所述控制器通过消息输出接口向消息使用者提供消息队列状态,并通过所述消息输出接口获取消息使用者依据消息队列状态发出的读请求,依据所述读请求从所述消息存储器中读取消息并通过消息输出接口发送到所述消息使用者;
或者,所述控制器通过消息输出接口获取消息使用者定时发出的读请求,依据所述读请求从所述消息存储器中读取消息并通过消息输出接口发送到所述消息使用者。
本发明所提供的一种端到端硬件消息传输的实现方法和装置,采用硬件的HMP装置直接与消息创建者和消息使用者相连的方式,其端到端的消息传输不再经过复杂的互连系统,相比现有共享存储器的方案,数据访问通路的延时得以缩短,同时也省去了复杂的互连系统中竞争和判决的时延、以及判决失效等待时延;本发明的消息管理由硬件的控制器来完成,相比现有方案,省去了对消息的软件缓冲管理的开销。因此,本发明能够提高消息传输的效率,并减少软件管理的开销。
附图说明
图1为现有技术中共享存储器式的消息传输的硬件实现方式示意图;
图2为现有技术中通过直接接口进行消息传输的硬件实现方式示意图一;
图3为现有技术中通过直接接口进行消息传输的硬件实现方式示意图二;
图4为本发明实施例中HMP的硬件实现方式的示意图;
图5为本发明实施例中HMP装置的组成结构示意图;
图6为本发明实施例一的一对一从主模式的端到端硬件消息传输的示意图;
图7为本发明实施例二的一对一从从模式的端到端硬件消息传输的示意图;
图8为本发明实施例三的一对一主主模式的端到端硬件消息传输的示意图;
图9为本发明实施例四的一对一主从模式的端到端硬件消息传输的示意图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
本发明实施例提供的一种HMP的硬件实现方式的示意图,如图4所示,HMP装置外接各种功能单元(Function Module),用以实现不同功能单元之间的消息传输;此处的功能单元可以是core,也可以是硬件加速器(accelerator)、芯片等等。即本发明不仅适用于芯片内,也适用于片间功能单元的消息传递。
用以实现不同功能单元之间的消息传输的HMP装置结构如图5所示,主要包括:消息存储器(storage)、控制器(controller)、消息输入和输出接口(interface)。其中,消息存储器,用于执行消息的暂存。控制器,用于执行消息的硬件方式管理,将从消息输入接口获取的消息存储在消息存储器中,从消息存储器中读取消息并通过消息输出接口发送给消息使用者。消息输入接口(对应图5中的接口A),直连消息创建者,用于在控制器的控制下,以主动或被动的方式获取消息创建者创建的消息。消息输出接口(对应图5中的接口B),直连消息使用者,用于在控制器的控制下,以主动或被动的方式向消息使用者提供消息。
较佳的,消息输入接口和消息输出接口可以根据需要做成主设备(master)接口或从设备(slave)接口,其中master接口主要实现直接存储器访问(DMA,Direct Memory Access)功能。在消息创建者不能自主发送消息时,消息输入接口以master实现;否则,以slave接口实现。在消息接收者不能自主获取消息时,消息输出接口以master实现;否则,以slave接口实现。接口协议不限,可以是标准接口,也可以是自定义接口,具体根据实际需要设计。
也就是说,消息输入接口可以为master接口或slave接口,当消息输入接口为master接口时,消息输入接口在控制器的控制下,以主动的方式获取消息创建者创建的消息;当消息输入接口为slave接口时,消息输入接口在控制器的控制下,以被动的方式获取消息创建者创建的消息;
消息输出接口也可以为master接口或slave接口,当消息输出接口为master接口时,消息输出接口在控制器的控制下,以主动的方式向消息使用者提供消息;当消息输出接口为slave接口时,消息输出接口在控制器的控制下,以被动的方式向消息使用者提供消息。
由上述HMP装置实现的端到端硬件消息传输的方法主要包括:控制器通过消息输入接口获取直连的消息创建者创建的消息,并将获取的消息暂存在消息存储器中,对存储在消息存储器中的消息执行硬件方式管理;从消息存储器中读取消息,并通过消息输出接口将读取的消息发送给直连的消息使用者。
消息输入接口可以为master接口或slave接口,当消息输入接口为master接口时,消息输入接口在控制器的控制下,以主动的方式获取消息创建者创建的消息;当消息输入接口为slave接口时,消息输入接口在控制器的控制下,以被动的方式获取消息创建者创建的消息;
消息输出接口也可以为master接口或slave接口,当消息输出接口为master接口时,消息输出接口在控制器的控制下,以主动的方式向消息使用者提供消息;当消息输出接口为slave接口时,消息输出接口在控制器的控制下,以被动的方式向消息使用者提供消息。
其中,消息输入接口在控制器的控制下,以主动的方式获取消息创建者创建的消息,包括:
控制器通过消息输入接口获取消息创建者的状态,并依据状态从消息创建者的缓冲区中提取消息;
或者,控制器通过消息输入接口定时从消息创建者的缓冲区中提取消息。
消息输入接口在控制器的控制下,以被动的方式获取消息创建者创建的消息,包括:控制器通过消息输入接口接收消息创建者主动发来的消息。
消息输出接口在控制器的控制下,以主动的方式将读取的消息发送给消息使用者,包括:
控制器通过消息输出接口获取消息使用者的状态,依据状态从消息存储器中读取消息并通过消息输出接口发送到消息使用者;
或者,控制器器定时从消息存储器中读取消息并通过消息输出接口发送到消息使用者。
消息输出接口在控制器的控制下,以被动的方式将读取的消息发送给消息使用者,包括:
控制器通过消息输出接口向消息使用者提供消息队列状态,并通过消息输出接口获取消息使用者依据消息队列状态发出的读请求,依据读请求从消息存储器中读取消息并通过消息输出接口发送到消息使用者;
或者,控制器通过消息输出接口获取消息使用者定时发出的读请求,依据读请求从消息存储器中读取消息并通过消息输出接口发送到消息使用者。
下面参照图5所示的HMP装置结构,并结合具体实施例对本发明的端到端硬件消息传输方法和系统进一步详细阐述。
实施例可以根据需要组合,后续给出较常用的一对一的几种应用实施方式,如附图6~9所示,其中箭头所指示的方向表示消息的流向,Function Module 0(功能单元0)代表消息创建者,Function Module 1(功能单元1)代表消息使用者,“m”表示数据接口行为是master,“s”表示数据接口行为是slave,master是消息传输的发起者,slave是消息传输的接受者或响应者。另外,本发明实施例中的消息创建者和消息使用者可以是各种Function Module,如:core、硬件加速器、芯片等等。
如图6所示,本发明的实施例一是描述一对一从主模式的端到端硬件消息传输,其中HMP装置的消息输入接口以slave接口来实现(如图6中消息传输接口MPI的s接口即为消息输入接口),消息输出接口以master接口来实现(如图6中MPI的m接口即为消息输出接口)。其消息传输的流程主要包括:
步骤601,消息创建者(Function Module 0)将创建的消息直接送达HMP装置的消息输入接口interface A(即图6中MPI的s接口)。
本实施例中,消息创建者是消息传输的发起者,其主动将创建的消息直接送达HMP装置的消息输入接口。
步骤602,interface A将收到的消息传给HMP装置的controller。
步骤603,HMP装置的controller将消息存入HMP装置的buffer(缓冲区)或memory(存储器)、即消息存储器,同时维护写指针。
步骤604,HMP装置的controller通过interface B获取消息使用者(FunctionModule 1)的接收状态、或者根据定时(timer),来决定何时从buffer或memory取出消息,将消息送给interface B(即图6中MPI的m接口),同时维护读指针。
步骤605,HMP装置的消息输出接口interface B根据接口协议将消息送给消息使用者。
如图7所示,本发明的实施例一是描述一对一从从模式的端到端硬件消息传输,其中HMP装置的消息输入接口以slave接口来实现(如图7中MPI内左侧的s接口即为消息输入接口),消息输出接口也以slave接口来实现(如图7中MPI内右侧的s接口即为消息输出接口)。其消息传输的流程主要包括:
步骤701,消息创建者(Function Module 0)将创建的消息直接送达HMP装置的消息输入接口interface A(即图7中MPI内左侧的s接口)。
本实施例中,消息创建者是消息传输的发起者,其主动将创建的消息直接送达HMP装置的消息输入接口。
步骤702,interface A将收到的消息传给HMP装置的controller。
步骤703,HMP装置的controller将消息存入HMP装置的buffer或memory,同时维护写指针。
步骤704,消息使用者(Function Module 1)通过interface B(即图7中MPI内右侧的s接口)来获取消息队列状态、或者消息使用者根据定时,来决定何时获取信息。
步骤705,消息使用者通过HMP装置的消息输出接口interface B读取消息。
步骤706,HMP装置的interface B将读请求送给controller。
步骤707,HMP装置的controller从buffer或memory读取消息并送给interface B,同时维护读指针在自己的缓冲区中。
步骤708,HMP装置的interface B将controller提供的消息返回给消息使用者。
如图8所示,本发明的实施例一是描述一对一主主模式的端到端硬件消息传输,其中HMP装置的消息输入接口以master接口来实现(如图8中MPI内左侧的m接口即为消息输入接口),消息输出接口也以master接口来实现(如图8中MPI内右侧的m接口即为消息输入接口)。其消息传输的流程主要包括:
步骤801,消息创建者(Function Module 0)将创建的消息存在自己的缓冲区中。
步骤802,HMP装置通过interface A(即图8中MPI内左侧的m接口)获取消息创建者的状态、或者根据定时,来决定何时从消息创建者那里取消息,并将取回的消息送给HMP装置的controller。
步骤803,HMP装置的controller将消息存入HMP装置的buffer或memory,同时维护写指针。
步骤804,HMP装置的controller通过interface B获取消息使用者(FunctionModule 1)的接收状态、或者根据定时(timer),来决定何时从buffer或memory取出消息,送给interface B(即图8中MPI内右侧的m接口),同时维护读指针。
步骤805,HMP装置的消息输出接口interface B根据接口协议将消息送给消息使用者。
如图9所示,本发明的实施例一是描述一对一主从模式的端到端硬件消息传输,其中HMP装置的消息输入接口以master接口来实现(如图9中MPI的m接口即为消息输入接口),消息输出接口也以slave接口来实现(如图9中MPI的s接口即为消息输入接口)。其消息传输的流程主要包括:
步骤901,消息创建者(Function Module 0)将创建的消息存在自己的缓冲区中。
步骤902,HMP装置通过interface A(即图9中MPI的m接口)获取消息创建者的状态、或者根据定时,来决定何时从消息创建者那里取消息,并将取回的消息送给HMP装置的controller。
步骤903,HMP装置的controller将消息存入HMP装置的buffer或memory,同时维护写指针。
步骤904,消息使用者(Function Module 1)通过interface B(即图9中MPI的s接口)来获取消息队列状态、或者消息使用者根据定时,来决定何时获取信息。
步骤905,消息使用者通过HMP装置的消息输出接口interface B读取消息。
步骤906,HMP装置的interface B将读请求送给controller。
步骤907,HMP装置的controller从buffer或memory读取消息并送给interface B,同时维护读指针在自己的缓冲区中。
步骤908,HMP装置的interface B将消息返回给消息使用者。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (12)
1.一种端到端硬件消息传输的实现装置,其特征在于,该装置包括:消息存储器、控制器、消息输入和输出接口,
所述消息存储器,用于执行消息的暂存;
所述控制器,用于执行消息的硬件方式管理,将从消息输入接口获取的消息存储在所述消息存储器中,从所述消息存储器中读取消息并通过所述消息输出接口发送给消息使用者;
所述消息输入接口,直连消息创建者,用于在所述控制器的控制下,获取消息创建者创建的消息;
所述消息输出接口,直连消息使用者,用于在所述控制器的控制下,向消息使用者提供消息。
2.根据权利要求1所述端到端硬件消息传输的实现装置,其特征在于,
所述消息输入接口为主设备master接口或从设备slave接口,当所述消息输入接口为master接口时,所述消息输入接口在控制器的控制下,以主动的方式获取消息创建者创建的消息;当所述消息输入接口为slave接口时,所述消息输入接口在控制器的控制下,以被动的方式获取消息创建者创建的消息;
所述消息输出接口为master接口或slave接口,当所述消息输出接口为master接口时,所述消息输出接口在控制器的控制下,以主动的方式向消息使用者提供消息;当所述消息输出接口为slave接口时,所述消息输出接口在控制器的控制下,以被动的方式向消息使用者提供消息。
3.根据权利要求2所述端到端硬件消息传输的实现装置,其特征在于,所述在控制器的控制下,以主动的方式获取消息创建者创建的消息,包括:
所述控制器通过消息输入接口获取消息创建者的状态,并依据所述状态从所述消息创建者的缓冲区中提取消息;
或者,所述控制器通过消息输入接口定时从所述消息创建者的缓冲区中提取消息。
4.根据权利要求2所述端到端硬件消息传输的实现装置,其特征在于,所述在控制器的控制下,以被动的方式获取消息创建者创建的消息,包括:
所述控制器通过消息输入接口接收所述消息创建者主动发来的消息。
5.根据权利要求2所述端到端硬件消息传输的实现装置,其特征在于,所述在控制器的控制下,以主动的方式向消息使用者提供消息,包括:
所述控制器通过消息输出接口获取消息使用者的状态,依据所述状态从所述消息存储器中读取消息并通过消息输出接口发送到所述消息使用者;
或者,所述控制器器定时从所述消息存储器中读取消息并通过消息输出接口发送到消息使用者。
6.根据权利要求2所述端到端硬件消息传输的实现装置,其特征在于,所述在控制器的控制下,以被动的方式向消息使用者提供消息,包括:
所述控制器通过消息输出接口向消息使用者提供消息队列状态,并通过所述消息输出接口获取消息使用者依据消息队列状态发出的读请求,依据所述读请求从所述消息存储器中读取消息并通过消息输出接口发送到所述消息使用者;
或者,所述控制器通过消息输出接口获取消息使用者定时发出的读请求,依据所述读请求从所述消息存储器中读取消息并通过消息输出接口发送到所述消息使用者。
7.一种端到端硬件消息传输的实现方法,其特征在于,该方法包括:
控制器通过消息输入接口获取直连的消息创建者创建的消息,并将获取的消息暂存在消息存储器中,对存储在所述消息存储器中的消息执行硬件方式管理;从所述消息存储器中读取消息,并通过所述消息输出接口将读取的消息发送给直连的消息使用者。
8.根据权利要求7所述端到端硬件消息传输的实现方法,其特征在于,
所述消息输入接口为主设备master接口或从设备slave接口,当所述消息输入接口为master接口时,所述消息输入接口在控制器的控制下,以主动的方式获取消息创建者创建的消息;当所述消息输入接口为slave接口时,所述消息输入接口在控制器的控制下,以被动的方式获取消息创建者创建的消息;
所述消息输出接口为master接口或slave接口,当所述消息输出接口为master接口时,所述消息输出接口在控制器的控制下,以主动的方式向消息使用者提供消息;当所述消息输出接口为slave接口时,所述消息输出接口在控制器的控制下,以被动的方式向消息使用者提供消息。
9.根据权利要求8所述端到端硬件消息传输的实现方法,其特征在于,所述消息输入接口在控制器的控制下,以主动的方式获取消息创建者创建的消息,包括:
所述控制器通过消息输入接口获取消息创建者的状态,并依据所述状态从所述消息创建者的缓冲区中提取消息;
或者,所述控制器通过消息输入接口定时从所述消息创建者的缓冲区中提取消息。
10.根据权利要求8所述端到端硬件消息传输的实现方法,其特征在于,所述消息输入接口在控制器的控制下,以被动的方式获取消息创建者创建的消息,包括:
所述控制器通过消息输入接口接收所述消息创建者主动发来的消息。
11.根据权利要求8所述端到端硬件消息传输的实现方法,其特征在于,所述消息输出接口在控制器的控制下,以主动的方式将读取的消息发送给消息使用者,包括:
所述控制器通过消息输出接口获取消息使用者的状态,依据所述状态从所述消息存储器中读取消息并通过消息输出接口发送到所述消息使用者;
或者,所述控制器器定时从所述消息存储器中读取消息并通过消息输出接口发送到消息使用者。
12.根据权利要求8所述端到端硬件消息传输的实现方法,其特征在于,所述消息输出接口在控制器的控制下,以被动的方式将读取的消息发送给消息使用者,包括:
所述控制器通过消息输出接口向消息使用者提供消息队列状态,并通过所述消息输出接口获取消息使用者依据消息队列状态发出的读请求,依据所述读请求从所述消息存储器中读取消息并通过消息输出接口发送到所述消息使用者;
或者,所述控制器通过消息输出接口获取消息使用者定时发出的读请求,依据所述读请求从所述消息存储器中读取消息并通过消息输出接口发送到所述消息使用者。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110455211.0A CN103186491B (zh) | 2011-12-30 | 2011-12-30 | 一种端到端硬件消息传输的实现方法和装置 |
PCT/CN2012/075465 WO2013097397A1 (zh) | 2011-12-30 | 2012-05-14 | 一种端到端硬件消息传输的实现方法和装置 |
EP12862413.7A EP2800003B1 (en) | 2011-12-30 | 2012-05-14 | Method and device for realizing end-to-end hardware message passing |
US14/369,963 US9647976B2 (en) | 2011-12-30 | 2012-05-14 | Method and device for implementing end-to-end hardware message passing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110455211.0A CN103186491B (zh) | 2011-12-30 | 2011-12-30 | 一种端到端硬件消息传输的实现方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103186491A true CN103186491A (zh) | 2013-07-03 |
CN103186491B CN103186491B (zh) | 2017-11-07 |
Family
ID=48677663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110455211.0A Active CN103186491B (zh) | 2011-12-30 | 2011-12-30 | 一种端到端硬件消息传输的实现方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9647976B2 (zh) |
EP (1) | EP2800003B1 (zh) |
CN (1) | CN103186491B (zh) |
WO (1) | WO2013097397A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11366776B1 (en) | 2021-04-13 | 2022-06-21 | Renesas Electronics America Inc. | Network device configuration based on slave device type |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5319753A (en) * | 1992-09-29 | 1994-06-07 | Zilog, Inc. | Queued interrupt mechanism with supplementary command/status/message information |
US5815166A (en) * | 1995-03-24 | 1998-09-29 | 3Dlabs Inc., Ltd. | Graphics subsystem with slaveable rasterizer |
US6052754A (en) * | 1998-05-14 | 2000-04-18 | Vlsi Technology, Inc. | Centrally controlled interface scheme for promoting design reusable circuit blocks |
US20070121822A1 (en) * | 2005-11-01 | 2007-05-31 | Victor Carnale | Methods and apparatus to allow multiple clients to access a computer telephony interface server |
CN101442503A (zh) * | 2007-11-21 | 2009-05-27 | 国际商业机器公司 | 处理组件更新消息的方法和设备 |
US7584319B1 (en) * | 2005-03-31 | 2009-09-01 | Pmc-Sierra, Inc. | Connection management in serial attached SCSI (SAS) expanders |
CN102013981A (zh) * | 2010-07-23 | 2011-04-13 | 杭州每日科技有限公司 | 一种应用于移动通讯终端的网上银行数据认证装置及方法 |
CN102063406A (zh) * | 2010-12-21 | 2011-05-18 | 清华大学 | 用于多核处理器的网络共享Cache及其目录控制方法 |
CN102112974A (zh) * | 2008-07-31 | 2011-06-29 | 国际商业机器公司 | 传输控制通道程序处理 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2561759B2 (ja) * | 1991-03-29 | 1996-12-11 | インターナショナル・ビジネス・マシーンズ・コーポレイション | マルチプロセッサシステムおよびそのメッセージ送受信制御装置 |
US5948060A (en) * | 1997-01-24 | 1999-09-07 | International Business Machines Corporation | Speeding-up communication rates on links transferring data structures by a method of handing scatter/gather of storage blocks in commanded computer systems |
US6542926B2 (en) * | 1998-06-10 | 2003-04-01 | Compaq Information Technologies Group, L.P. | Software partitioned multi-processor system with flexible resource sharing levels |
US6226706B1 (en) * | 1997-12-29 | 2001-05-01 | Samsung Electronics Co., Ltd. | Rotation bus interface coupling processor buses to memory buses for interprocessor communication via exclusive memory access |
US6587961B1 (en) * | 1998-06-15 | 2003-07-01 | Sun Microsystems, Inc. | Multi-processor system bridge with controlled access |
US6629152B2 (en) * | 1998-06-29 | 2003-09-30 | International Business Machines Corporation | Message passing using shared memory of a computer |
US6425021B1 (en) * | 1998-11-16 | 2002-07-23 | Lsi Logic Corporation | System for transferring data packets of different context utilizing single interface and concurrently processing data packets of different contexts |
US7418470B2 (en) * | 2000-06-26 | 2008-08-26 | Massively Parallel Technologies, Inc. | Parallel processing systems and method |
US7051150B2 (en) * | 2002-07-29 | 2006-05-23 | Freescale Semiconductor, Inc. | Scalable on chip network |
US7054972B2 (en) * | 2002-12-13 | 2006-05-30 | Lsi Logic Corporation | Apparatus and method for dynamically enabling and disabling interrupt coalescing in data processing system |
US7937532B2 (en) * | 2007-03-30 | 2011-05-03 | Intel Corporation | Method and apparatus for speculative prefetching in a multi-processor/multi-core message-passing machine |
US9032128B2 (en) * | 2008-04-28 | 2015-05-12 | Hewlett-Packard Development Company, L.P. | Method and system for generating and delivering inter-processor interrupts in a multi-core processor and in certain shared memory multi-processor systems |
US8200908B2 (en) * | 2009-02-06 | 2012-06-12 | Freescale Semiconductor, Inc. | Method for debugger initiated coherency transactions using a shared coherency manager |
US10216692B2 (en) * | 2009-06-17 | 2019-02-26 | Massively Parallel Technologies, Inc. | Multi-core parallel processing system |
US8407444B2 (en) * | 2009-12-23 | 2013-03-26 | International Business Machines Corporation | Hardware off-load garbage collection acceleration for languages with finalizers |
US20120278814A1 (en) * | 2011-04-27 | 2012-11-01 | Sujith Shivalingappa | Shared Drivers in Multi-Core Processor |
-
2011
- 2011-12-30 CN CN201110455211.0A patent/CN103186491B/zh active Active
-
2012
- 2012-05-14 US US14/369,963 patent/US9647976B2/en active Active
- 2012-05-14 EP EP12862413.7A patent/EP2800003B1/en active Active
- 2012-05-14 WO PCT/CN2012/075465 patent/WO2013097397A1/zh active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5319753A (en) * | 1992-09-29 | 1994-06-07 | Zilog, Inc. | Queued interrupt mechanism with supplementary command/status/message information |
US5815166A (en) * | 1995-03-24 | 1998-09-29 | 3Dlabs Inc., Ltd. | Graphics subsystem with slaveable rasterizer |
US6052754A (en) * | 1998-05-14 | 2000-04-18 | Vlsi Technology, Inc. | Centrally controlled interface scheme for promoting design reusable circuit blocks |
US7584319B1 (en) * | 2005-03-31 | 2009-09-01 | Pmc-Sierra, Inc. | Connection management in serial attached SCSI (SAS) expanders |
US20070121822A1 (en) * | 2005-11-01 | 2007-05-31 | Victor Carnale | Methods and apparatus to allow multiple clients to access a computer telephony interface server |
CN101442503A (zh) * | 2007-11-21 | 2009-05-27 | 国际商业机器公司 | 处理组件更新消息的方法和设备 |
CN102112974A (zh) * | 2008-07-31 | 2011-06-29 | 国际商业机器公司 | 传输控制通道程序处理 |
CN102013981A (zh) * | 2010-07-23 | 2011-04-13 | 杭州每日科技有限公司 | 一种应用于移动通讯终端的网上银行数据认证装置及方法 |
CN102063406A (zh) * | 2010-12-21 | 2011-05-18 | 清华大学 | 用于多核处理器的网络共享Cache及其目录控制方法 |
Also Published As
Publication number | Publication date |
---|---|
US20140372547A1 (en) | 2014-12-18 |
EP2800003A4 (en) | 2015-07-01 |
CN103186491B (zh) | 2017-11-07 |
EP2800003B1 (en) | 2016-11-30 |
US9647976B2 (en) | 2017-05-09 |
EP2800003A1 (en) | 2014-11-05 |
WO2013097397A1 (zh) | 2013-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9971635B2 (en) | Method and apparatus for a hierarchical synchronization barrier in a multi-node system | |
CN102446158B (zh) | 多核处理器及多核处理器组 | |
CN105706403B (zh) | 片上网络与片上网络中发送数据的方法 | |
CN103810133B (zh) | 用于管理对共享读缓冲器资源的访问的方法和装置 | |
CN101916236B (zh) | 为邮递性中断事务提供留存机构的方法、装置和系统 | |
CN104657308A (zh) | 一种用fpga实现的服务器硬件加速的方法 | |
CN104081722B (zh) | SoC构造中的高效对等通信支持 | |
Psota et al. | ATAC: Improving performance and programmability with on-chip optical networks | |
CN105207957B (zh) | 一种基于片上网络多核架构的系统 | |
CN106095604A (zh) | 一种多核处理器的核间通信方法及装置 | |
CN102981992A (zh) | 基于异步结构的集成电路片上通讯方法及装置 | |
CN103019838A (zh) | 一种基于多dsp处理器平台的分布式实时多任务操作系统 | |
CN103282888B (zh) | 数据处理方法、图像处理器gpu及第一节点设备 | |
CN110430142A (zh) | 用于控制流量的方法和装置 | |
CN101650701A (zh) | 并行总线到RapidIO高速串行总线的转换装置 | |
US20160077985A1 (en) | Multi-mode agent | |
CN108664335A (zh) | 通过代理进行队列通信的方法与装置 | |
CN105359122A (zh) | 多cpu系统中的增强型数据传输 | |
CN112074822A (zh) | 具有针对流式数据传输的流压缩的数据处理网络 | |
CN103186491A (zh) | 一种端到端硬件消息传输的实现方法和装置 | |
US9170979B2 (en) | Converging interconnect node controlling operation related to associated future item in dependence upon data predicted based on current transaction data item passing through | |
CN103412849A (zh) | ARM处理器的NoC资源网络接口及其驱动方法 | |
CN104375967B (zh) | 一种应用于pci‑e的流量控制方法、设备及系统 | |
CN109254860A (zh) | 一种异构多核平台的数据处理系统及终端设备 | |
JP2016119066A (ja) | クロスダイ・インタフェース・スヌープ又はグローバル観測メッセージの順序付け |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221111 Address after: 518055 Zhongxing Industrial Park, Liuxian Avenue, Xili street, Nanshan District, Shenzhen City, Guangdong Province Patentee after: SANECHIPS TECHNOLOGY Co.,Ltd. Address before: 518057 Ministry of justice, Zhongxing building, South Science and technology road, Nanshan District hi tech Industrial Park, Shenzhen, Guangdong Patentee before: ZTE Corp. |