Patent ID: 9647976
Date: 2017-05-09
CPC Classifications: G06F,H04L

Claim:
1. A device for implementing end-to-end Hardware Message Passing (HMP), comprising: a message memory, a controller, a message input interface and a message output interface, wherein: the message memory is configured to temporarily store a message; the controller is configured to perform management on the message in the form of hardware, store the message obtained from the message input interface into the message memory, and read the message from the message memory and transmit the message to a message using device via the message output interface; the message input interface is directly connected with a message creating device and is configured to obtain the message created by the message creating device under control of the controller; and the message output interface is directly connected with the message using device and is configured to provide the message to the message using device under the control of the controller; wherein there is no other device between the device for implementing end-to-end HMP and the message creating device or the message using device; wherein the message input interface is a master interface or a slave interface, when the message input interface is the master interface, the message input interface actively obtains the message created by the message creating device under the control of the controller, and when the message input interface is the slave interface, the message input interface passively obtains the message created by the message creating device under the control of the controller; and the message output interface is a master interface or a slave interface, when the message output interface is the master interface, the message output interface actively provides the message to the message using device under the control of the controller, and when the message output interface is the slave interface, the message output interface passively provides the message to the message using device under the control of the controller; wherein the message input interface actively obtains the message created by the message creating device comprises: when the message creating device cannot transmit the message voluntarily, the message input interface is implemented as the master interface, and actively obtains the message created by the message creating device; wherein the message input interface passively obtains the message created by the message creating device comprises: when the message creating device can transmit the message voluntarily, the message input interface is implemented as the slave interface, and receives the message sent by the message creating device actively; wherein the message output interface actively provides the message to the message using device comprises: when the message using device cannot obtain the message voluntarily, the message output interface is implemented as the master interface, and sends the message actively to the message using device; wherein the message output interface passively provides the message to the message using device comprises: when the message using device can obtain the message voluntarily, the message output interface is implemented as the slave interface, and sends the message to the message using device in response to a message request from the message using device; wherein when the message output interface is the master interface, the controller is configured to: obtain a status of the message using device via the message output interface, read the message from the message memory based on the status, and transmit the message to the message using device via the message output interface; or read messages from the message memory periodically, and transmit the messages to the message using device via the message output interface; wherein when the message output interface is the slave interface, the controller is configured to: provide a message queue status to the message using device via the message output interface, obtain a read request transmitted by the message using device based on the message queue status via the message output interface, read the message from the message memory based on the read request, and transmit the message to the message using device via the message output interface; or obtain the read request transmitted periodically by the message using device via the message output interface, read the message from the message memory based on the read request, and transmit the message to the message using device via the message output interface.