Integrated circuit, communication method, and communication system
By using the main control unit and synchronization signal collection unit in the integrated circuit, the target device is identified by the task flag and the data transmission path is optimized, which solves the efficiency problem of multi-terminal data reading and writing in multi-core interaction scenarios and improves the performance of the communication system.
Patent Information
- Application Number
- CN202110969867.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-08-23
- Publication Date
- 2026-01-02
- Estimated Expiration
- 2041-08-23
AI Technical Summary
Existing on-chip network communication systems struggle to efficiently implement multi-terminal data read/write functions in multi-core interactive scenarios, resulting in insufficient communication system performance.
By using the main control unit and synchronization signal collection unit in the integrated circuit, the target device is identified by the task flag and the data transmission path is optimized to realize the multi-end to multi-end data read and write function, and the sequential transmission of information is ensured by the synchronization signal collection unit.
It improved the performance of the communication system, reduced business interactions, increased task execution efficiency, and enabled multi-terminal data read and write functions.
Smart Images

Figure CN115720240B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of communication, and more particularly, to an integrated circuit, a communication method and a communication system. BACKGROUND
[0002] With the society entering the digital era and the intelligent era, various industries have put forward higher and higher requirements for the computing power of chips. The internal chip is no longer a single core, so more cores or more information interaction between devices in the internal chip puts higher requirements on the network on chip. SUMMARY
[0003] Therefore, the embodiments of the present application provide an integrated circuit, a communication method and a communication system to realize the data read-write function of multiple terminals to multiple terminals and improve the performance of the communication system.
[0004] In a first aspect, the embodiments of the present application provide a communication method, which comprises:
[0005] receiving a first information request of a first device, the first device comprising at least one, the first information request comprising a task flag and an identifier of a target second device, the task flag being used to represent the request state of the first device to the target second device;
[0006] determining a target first device from each of the first devices according to the task flag;
[0007] sending the first information request of the target first device to the target second device;
[0008] sending the first information requested from the target second device to the corresponding first device, the corresponding first device being the first device indicated in the task flag;
[0009] determining that the first information request task is completed in response to the first device indicated in the task flag all receiving the first information.
[0010] Optionally, the method further comprises:
[0011] receiving a second information request of at least one first device;
[0012] in response to the target second device in the second information request being different from the target second device in the first information request, collecting a synchronization signal set, the synchronization signal in the synchronization signal set being used to represent that the corresponding first device receives the first information;
[0013] in response to the corresponding first device of the synchronization signal set corresponding to the first device indicated in the task flag, executing the second information request task.
[0014] Optionally, sending the first information fed back by the target second device to the corresponding first device comprises:
[0015] In response to receiving the first information request of all the first devices required to perform the first information request task, sending the first information fed back by the target second device to the corresponding first device;
[0016] The first device required to perform the first information request task is determined according to the task flag.
[0017] Optionally, determining the target first device from the first devices according to the task flag comprises:
[0018] The first device represented by the lowest bit of the predetermined value in the task flag is determined as the target first device.
[0019] In a second aspect, an embodiment of the present application provides an integrated circuit, comprising at least one first network port, the first network port having a corresponding master unit;
[0020] The first network port is configured to receive an information request of the corresponding first device, the information request comprising a task flag and an identification of a target second device, the task flag being used to represent a request state of the first device to the target second device.
[0021] The master unit is configured to determine a target first device from the first devices according to the task flag, and send the information request of the target first device to the target second device.
[0022] The first network port is further configured to send information fed back by the target second device to the corresponding first device, the corresponding first device being the first device indicated in the task flag.
[0023] The master unit is further configured to determine that the information request task is completed in response to the information being received by the first device indicated in the task flag.
[0024] Optionally, the integrated circuit further comprises a synchronization signal collection unit.
[0025] The master unit sends a corresponding synchronization signal to the synchronization signal collection unit when the information corresponding to the current information request task is received, in response to the target second devices corresponding to multiple information requests being different.
[0026] The synchronization signal collecting unit is configured to send a message of performing a next information request task to the master unit in response to the collected synchronization signal set corresponding to the first device corresponding to the first device indicated in the task flag of the current information request.
[0027] Optionally, the integrated circuit further comprises at least one second network port.
[0028] The second network port is configured to send an information request to a corresponding target second device and receive feedback information.
[0029] Optionally, the integrated circuit further comprises at least one broadcast router.
[0030] The broadcast router is configured to relay information between the corresponding first device and the second device.
[0031] Optionally, the master unit is further configured to, in response to receiving information and not receiving an information request corresponding to the information, cache the information until receiving the information request corresponding to the information, and send the information to the corresponding first device through the corresponding first network port.
[0032] In a third aspect, an embodiment of the present application provides a communication system, the communication system comprising:
[0033] At least one first device;
[0034] At least one second device; and
[0035] The integrated circuit as described above.
[0036] In a fourth aspect, an embodiment of the present application provides a communication device, the device comprising:
[0037] A first receiving unit configured to receive a first information request of a first device, the first device comprising at least one, the first information request comprising a task flag and an identification of a target second device, the task flag being used to represent a request state of the first device to the target second device;
[0038] A device determining unit configured to determine a target first device from each of the first devices according to the task flag;
[0039] A first sending unit configured to send the first information request of the target first device to the target second device;
[0040] A second sending unit configured to send the first information requested from the target second device to a corresponding first device, the corresponding first device being the first device indicated in the task flag.
[0041] A task state determining unit is configured to determine that a first information request task is completed in response to the first devices indicated in the task flag all receiving the first information.
[0042] Optionally, the apparatus further comprises:
[0043] A second receiving unit is configured to receive a second information request of at least one first device.
[0044] An information collecting unit is configured to collect a set of synchronization signals in response to the target second device in the second information request being different from the target second device in the first information request, the synchronization signals in the set of synchronization signals being used to represent that the corresponding first device receives the first information.
[0045] A judging unit is configured to execute the second information request task in response to the first devices corresponding to the set of synchronization signals corresponding to the first devices indicated in the task flag.
[0046] Optionally, the second sending unit is further configured to send the first information fed back by the target second device to the corresponding first device in response to receiving the first information request of all the first devices required to execute the first information request task.
[0047] The first devices required to execute the first information request task are determined according to the task flag.
[0048] Optionally, the device determining unit is further configured to determine the first device represented by the lowest bit of the predetermined value in the task flag as the target first device.
[0049] In a fifth aspect, an embodiment of the present application provides an electronic device, including a memory and a processor, the memory is used to store one or more computer program instructions, wherein the one or more computer program instructions are executed by the processor to implement the method described above.
[0050] In a sixth aspect, an embodiment of the present application provides a computer readable storage medium, the computer readable storage medium stores a computer program, the computer program is executed by a processor to implement the method described above.
[0051] In a seventh aspect, an embodiment of the present application provides a computer program product, when the computer program product runs on a computer, the computer program product makes the computer execute the method described above.
[0052] In the embodiment of the present application, at least one first device first information request is received, a target first device is determined from each first device according to a task mark in the first information request, the first information request of the target first device is sent to a target second device, and the first information fed back by the target second device is sent to the corresponding first device. The first information request task is determined to be completed in response to the fact that each first device indicated in the task mark receives the first information. Thus, the embodiment of the present application can realize the multi-end-to-multi-end data read-write function, and improve the performance of the communication system. BRIEF DESCRIPTION OF DRAWINGS
[0053] The above and other objects, features and advantages of the present application will become more apparent from the following description when taken in conjunction with the accompanying drawings, in which:
[0054] Figure 1 is a schematic diagram of an information interaction system of the prior art;
[0055] Figure 2 is a schematic diagram of a communication system of the embodiment of the present application;
[0056] Figure 3 is a schematic diagram of a communication method of the embodiment of the present application;
[0057] Figure 4 is a schematic diagram of a communication device of the embodiment of the present application;
[0058] Figure 5 is a schematic diagram of an electronic device of the embodiment of the present application. DETAILED DESCRIPTION
[0059] The present application is described below based on embodiments, but the present application is not limited to only these embodiments. In the following detailed description of the present application, some specific details are described in detail. The present application can also be completely understood without the description of these details by those skilled in the art. In order to avoid confusion of the essence of the present application, well-known methods, processes, flows, elements and circuits are not described in detail.
[0060] In addition, those of ordinary skill in the art should understand that the drawings provided herein are for illustrative purposes only and are not necessarily drawn to scale.
[0061] Unless the context clearly requires otherwise, throughout the description, the words "comprise", "comprising", and the like are to be construed in an inclusive sense as opposed to an exclusive or exhaustive sense; that is to say, in the sense of "including, but not limited to".
[0062] In the description of the present application, it should be understood that the terms "first", "second" and the like are used only for descriptive purposes and are not to be construed as indicating or implying relative importance. In addition, in the description of the present application, the meaning of "a plurality of" is two or more, unless otherwise specified.
[0063] Figure 1 is a schematic diagram of an information interaction system of the prior art. The network on chip currently used in the market usually supports two scenes, single master to single slave operation and single master to multiple slave operation. Taking the single master to multiple slave operation as an example, as shown in Figure 1 When the master 11 initiates a write data service to multiple slaves slave0-slave5 at the same time, the master 11 first writes the write data service to the nearest broadcast station BS1, and the broadcast station BS1 sends the write data service to the broadcast stations BS2, BS3 and BS4 where the slaves slave0-slave5 corresponding to the write data service are located. Among them, the broadcast station where the slaves slave0 and slave1 are located is the broadcast station BS2, that is, the broadcast station BS2 can send broadcast information to the slaves slave0 and slave1. The broadcast station where the slaves slave2 and slave3 are located is the broadcast station BS3, that is, the broadcast station BS3 can send broadcast information to the slaves slave2 and slave3. The broadcast station where the slaves slave4 and slave5 are located is the broadcast station BS4, that is, the broadcast station BS4 can send broadcast information to the slaves slave4 and slave5. Then, the broadcast station BS2 sends the write data service to the slaves slave0 and / or slave1 according to the slave identifier in the write data service, the broadcast station BS3 sends the write data service to the slaves slave2 and / or slave3 according to the slave identifier in the write data service, and the broadcast station BS4 sends the write data service to the slaves slave4 and / or slave5 according to the slave identifier in the write data service.
[0064] With the increasing diversity of technology development, the two scenes of single master to single slave operation and single master to multiple slave operation cannot meet the design requirements, especially the interaction of multiple cores in neural network chips. Therefore, embodiments provide an integrated circuit, a communication method and a communication system to realize the data read-write function of multiple terminals to multiple terminals and improve the performance of the communication system.
[0065] Figure 2This is a schematic diagram of a communication system according to an embodiment of the present invention. The communication system of this embodiment includes at least one first device, at least one second device, and an integrated circuit. Optionally, the integrated circuit can be applied to any electronic device, and this embodiment is not limited thereto. The integrated circuit includes at least one first network port, and the first network port has a corresponding main control unit. This embodiment uses a communication system including three first devices and three second devices as an example for illustration. It should be understood that this embodiment does not limit the number of first devices and second devices, which can be set according to specific application scenarios.
[0066] In this embodiment, as Figure 2 As shown, the communication system 2 includes a first device master0, a first device master1, a first device master2, an integrated circuit 21, and a second device slave0, a second device slave1, and a second device slave2.
[0067] In this embodiment, integrated circuit 21 includes network ports noc_slv0, noc_slv1, and noc_slv2 (i.e., multiple first network ports). Network ports noc_slv0-noc_slv2 correspond to first devices master0-master2, respectively. That is, first device master0 sends various task requests to integrated circuit 21 through network port noc_slv0, first device master1 sends various task requests to integrated circuit 21 through network port noc_slv1, and first device master2 sends various task requests to integrated circuit 21 through network port noc_slv2. Network port noc_slv0 has a corresponding master control unit sync_mnt0, network port noc_slv1 has a corresponding master control unit sync_mnt1, and network port noc_slv2 has a corresponding master control unit sync_mnt2. All task requests are collectively referred to as information requests, and information includes data, signals, etc. The following description uses data requests as an example.
[0068] In this embodiment, network ports noc_slv0-noc_slv2 are configured to receive data requests from the corresponding first devices master0-master2, and to send corresponding data information back to the first devices master0-master2. That is, network port noc_slv0 can be used to receive data requests from the first device master0, network port noc_slv1 can be used to receive data requests from the first device master1, and network port noc_slv2 can be used to receive data requests from the first device master2.
[0069] In an embodiment, assuming that multiple first devices run the same task (i.e. one-to-many broadcast service) and they need to request the same data information from the same second device, the multiple first devices send data requests to the integrated circuit 21 simultaneously or successively. The data request includes a task flag and an identification of the target second device, and the task flag is used to represent the request state of at least one first device to the target second device. For example, the data request is a read request, and the multiple first devices include first devices master0-master2, and the task flag is used to indicate which or which first device of the first devices master0-master2 needs to read data from the target second device to respond to the request.
[0070] In an alternative implementation, the request state of the first device, i.e. whether the first device needs to run the task. Alternatively, the embodiment represents that the corresponding first device runs the task by setting the flag bit to 1, and represents that the corresponding first device does not run the task by setting the flag bit to 0.
[0071] Further alternatively, the lowest bit to the highest bit of the flag bit in the task flag corresponds to the order of the first devices. That is, the lowest bit of the flag bit in the task flag corresponds to the first device master0. It should be understood that the embodiment does not limit the correspondence between the flag bit in the task flag and each first device, and other correspondence modes, such as the highest bit to the lowest bit of the flag bit in the task flag corresponding to the order of the first devices, can also be applied to the embodiment.
[0072] In an alternative implementation, the task flag can be a bc_map (Broadcast mapping, broadcast mapping) broadcast information. For example, assuming that the first devices master0-master2 run the same task, the first device master0 sends a data request a to the network port noc_slv0, the first device master1 sends a data request a to the network port noc_slv1, and the first device master2 sends a data request a to the network port noc_slv2. The task flag can be 3'b111, for example, where "3" represents the number of first devices in the communication system 2, and each flag bit in "111" represents the request state of each device. Since each flag bit in the task flag is 1, the task flag indicates that master0-master2 all run the task.
[0073] Optionally, in the task flag, the lowest bit corresponds to the request state of the first device master0, the middle bit corresponds to the request state of the first device master1, and the highest bit corresponds to the request state of the first device master2, that is, the three flag bits in the task flag "111" correspond to the first devices master2, master1 and master0 respectively, indicating that the states of the three devices are the same, and all run the task.
[0074] In an optional implementation, since the multiple first devices execute the same task, only one first device needs to send a data request to the target second device. In this embodiment, the master unit corresponding to each network port determines the target first device through the task flag in the data request.
[0075] Optionally, after the network port receives the data request, the master unit identifies whether the first device corresponding to the lowest bit where the predetermined value (for example, 1) in the task flag is located is the first device corresponding to the network port, if yes, it is determined that the first device corresponding to the network port is the target first device, and the data request is sent to the corresponding target second device through the network port of the target first device; if the first device corresponding to the lowest bit where the predetermined value (for example, 1) in the task flag is located is not the first device corresponding to the network port, the data request is cached in the network port. Thus, this embodiment can reduce business interaction and improve task execution efficiency.
[0076] Suppose the task flag in the data request is 3'b111, that is, the first devices master0-master2 run the same task. After the network port noc_slv0 receives the data request of the first device master0, the master unit sync_mnt0 can determine through the task flag 3'b111 that the first device corresponding to the lowest bit where the preset value 1 in the task flag is located is the first device master0, and thus it is determined that the first device master0 is the target first device, and the data request is sent to the target second device through the network port of the first device master0. After the network port noc_slv1 receives the data request of the first device master1, the master unit sync_mnt1 can determine through the task flag 3'b111 that the first device corresponding to the lowest bit where the preset value 1 in the task flag is located is the first device master0, and the first device master1 corresponds to the middle bit in the task flag, and thus it is determined that the first device master1 is not the target first device, and the data request of the first device master1 is cached, so as to verify whether the returned data information corresponds to the data request.
[0077] For another example, assume that the task flag in the data request is 3'b110, i.e. the first device master0 does not run the task, and the first devices master1-master2 run the same task. After the network port noc_slv1 receives the data request of the first device master1, the master unit sync_mnt1 identifies the task flag from the lowest bit, where the lowest bit of the task flag is 0, indicating that the first device master0 does not run the task, and the middle bit is 1 (i.e. the lowest bit where the predetermined value 1 is located is the middle bit of the task flag), thus it can be determined that the first device master1 corresponding to the middle bit of the task flag is the target first device, and the data request of the first device master1 is sent to the target second device.
[0078] In an alternative implementation, the integrated circuit further comprises at least one broadcast router BR. Each broadcast router is capable of covering at least one second device, i.e. capable of routing messages to at least one second device. Optionally, as shown in Figure 2 The integrated circuit 21 comprises broadcast routers BR0-BR2. The broadcast router BR0 can relay information between the first device master0 and the second device slave0, the broadcast router BR1 can relay information between the first device master1 and the second device slave1, and the broadcast router BR2 can relay information between the first device master2 and the second device slave2. Optionally, the broadcast routers can also relay information to each other.
[0079] In an alternative implementation, the integrated circuit further comprises at least one second network port. Each second network port corresponds to a second device. Optionally, as shown in Figure 2 The integrated circuit 21 comprises network ports noc_mas0-noc_mas2 (i.e. multiple second network ports). The second device slave0 corresponds to the network port noc_mas0, and the second device slave0 can receive data requests and feedback data information through the network port noc_mas0. The second device slave1 corresponds to the network port noc_mas1, and the second device slave1 can receive data requests and feedback data information through the network port noc_mas1. The second device slave2 corresponds to the network port noc_mas2, and the second device slave2 can receive data requests and feedback data information through the network port noc_mas2.
[0080] In this embodiment, network ports noc_slv0-noc_slv2 are further configured to send data information fed back by the target second device to the corresponding first device. The main control unit is further configured to determine that the first data request task is completed in response to the first device indicated in the task flag receiving the first information. The first device indicated in the task flag refers to the first device that needs to perform the same first data request task.
[0081] like Figure 2 As shown, taking the first devices master0-master2 running the same task as an example, the first devices master0-master2 send data request 'a' to their respective network ports noc_slv0-noc_slv2. The task flag in data request 'a' is 3'b111, and the target second device is the second device slave0. The master control unit of each network port determines the target first device as master0 based on the task flag in the data request. Then, network port noc_slv0 sends data request 'a' to the second device slave0 through broadcast router BR0 and network port noc_mas0. Network ports noc_slv1 and noc_slv2 cache data request 'a' but do not send it. After receiving data request 'a', the second device slave0 returns the corresponding data information 'x' to network port noc_mas0. Network port noc_mas0 then feeds back data information 'x' to the first device master0 through broadcast router BR0 and network port noc_slv0. Furthermore, broadcast router BR0 routes data information x to broadcast router BR1, and broadcast router BR1 feeds back data information x to the first device master1 through network port noc_slv1. Broadcast router BR0 then routes data information x to broadcast router BR2 through broadcast router BR1, and broadcast router BR2 feeds back data information x to the first device master2 through network port noc_slv2.
[0082] Specifically, after receiving data information x, the main control units sync_mnt0-sync_mnt2 corresponding to the network port verify whether the received data information x matches data request a, that is, whether data information x is the data requested by data request a, and the integrated circuit determines whether the first devices master0-master2 have all received data information x. If the verification results are all that data information x matches the corresponding data request a, and the first devices master0-master2 have all received data information x, then it is determined that the data request task is completed.
[0083] In one alternative implementation, the first device running the same task does not need to send data requests to the corresponding network port simultaneously.
[0084] Optionally, the first device can send the data request at any time, if the corresponding data information of the broadcast router feedback is received at the first network port, and no matching data request is found, the data information is cached by the master unit corresponding to the first network port until the data request matching the data information is received, and the data information is sent to the corresponding first device through the corresponding first network port. For example, assuming that the network port noc_slv2 receives the data information x, the master unit sync_mnt2 judges whether there is a matching data request in response to receiving the data information x, if no data request a matching the data information x is received, the data information x is cached until the data request a matching the data information x is received, and the data information x is sent to the first device master2 through the corresponding network port noc_slv2.
[0085] Further optionally, a waiting time can be set, if the data information is cached by the master unit corresponding to the first network port, and the data request matching the data information is not received after the waiting time, an alarm feedback or the cached data information can be deleted.
[0086] In the embodiment of the application, at least one first data request is received, the target first device is determined from the first devices according to the task mark in the first data request, the first data request of the target first device is sent to the target second device, and the data information fed back by the target second device is sent to the corresponding first device, and the first data request task is determined to be completed in response to the first device receiving the first information indicated by the task mark. Thus, the embodiment of the application can realize the data read-write function of multiple-to-multiple, and the feedback of the data information of each first device is realized by selecting the target first device, which reduces the business interaction and improves the performance of the communication system.
[0087] In an optional implementation, when the first device needs to request the data information on different second devices, the data information fed back to the first device needs to be in order, that is, the order of the requested data information is guaranteed. Thus, the integrated circuit of the embodiment further includes a synchronization signal collection unit to realize the order preservation through the integrated circuit, which reduces the order preservation intervention of the first device end and further improves the performance of the communication system.
[0088] In one optional implementation, in response to the different target second devices corresponding to the multiple received data requests, the master control unit sends a corresponding synchronization signal to the synchronization signal collection unit upon receiving data information corresponding to the current data task request. Optionally, this synchronization signal is used to indicate that the first network port corresponding to the control unit that sent the synchronization signal has sent data information to the corresponding first device. The synchronization signal collection unit is configured to send a message to the master control unit of the target first device to execute the next data request task in response to the first device corresponding to the collected set of synchronization signals matching the first device indicated in the task flag.
[0089] In other words, in this embodiment, the first network port can receive multiple data requests simultaneously or sequentially. If the target second devices corresponding to the multiple data requests are different, the synchronization signal collection unit determines whether the data information corresponding to the first data request is fed back to all the corresponding first devices. After the data information corresponding to the first data request is fed back to all the corresponding first devices, the data request task corresponding to the next data request is executed, thereby achieving order preservation.
[0090] Optionally, if a next data request is received before the current data request task is completed, the first network port suppresses the data request until the current data request task is completed.
[0091] like Figure 2 As shown, taking the first devices master0-master2 running the same task as an example, the first devices master0-master2 send data request a and data request b to the corresponding network ports noc_slv0-noc_slv2 respectively. The task flag in data request a is 3'b111, and the target second device is the second device slave0. The task flag in data request b is 3'b111, and the target second device is the second device slave1. Data request b is sent by the first devices master0-master2 to the corresponding network ports noc_slv0-noc_slv2 before the data request task corresponding to data request a is completed. It can be sent simultaneously with data request a, or it can be sent separately; this embodiment does not impose any restrictions on this.
[0092] The master control unit of each network port determines the target first device as the first device master0 based on the task flag in data request a. Then, network port noc_slv0 sends data request a to the target second device slave0 through broadcast router BR0 and network port noc_mas0. Network ports noc_slv1 and noc_slv2 cache data request a, but do not need to send data request a to the target second device slave0.
[0093] The target second device slave0 returns the corresponding data information x to the network port noc_mas0 in response to the data request a. The network port noc_mas0 feeds back the data information x to the first device master0 through the broadcast router BR0 and the network port noc_slv0. After the network port noc_slv0 feeds back the received data information x to the first device master0, the corresponding master control unit sync_mnt0 sends the synchronization signal T1 to the synchronization signal collection unit sync_gt.
[0094] The broadcast router BR0 routes the data information x to the broadcast router BR1, and the broadcast router BR1 feeds back the data information x to the first device master1 through the network port noc_slv1. After the network port noc_slv1 feeds back the received data information x to the first device master1, the corresponding master control unit sync_mnt1 sends the synchronization signal T2 to the synchronization signal collection unit sync_gt.
[0095] The broadcast router BR0 routes the data information x to the broadcast router BR2 through the broadcast router BR0, and the broadcast router BR2 feeds back the data information x to the first device master2 through the network port noc_slv2. After the network port noc_slv2 feeds back the received data information x to the first device master2, the corresponding master control unit sync_mnt2 sends the synchronization signal T3 to the synchronization signal collection unit sync_gt.
[0096] The synchronization signal collection unit sync_gt sends a message to the master control units sync_mnt0-sync_mnt2 to execute the next data request task in response to the collected synchronization signal set {T1, T2, T3} corresponding to the first device, which corresponds to the first device indicated by the task flag 3'b111 of the data request a. That is, the synchronization signal collection unit sync_gt receives that the first devices master0-master2 running the same task have all received the feedback data information x, and informs each master control unit that the next data request task can be executed.
[0097] Further, the master unit of each network port determines that the target first device is the first device master0 according to the task flag in the data request b, and then the network port noc_slv0 routes the data request b to the broadcast router BR1 through the broadcast router BR0, and the broadcast router BR1 sends the data request b to the second device slave1 (the target second device of the data request b) through the network port noc_mas1. The network port noc_slv1 and the network port noc_slv2 cache the data request b, but do not need to send the data request b to the second device slave1. It should be understood that the process of feeding back the corresponding data information y with respect to the data request b is similar to that of the data request a, and will not be described here.
[0098] The embodiment determines whether the data information corresponding to the current data request is fed back to all corresponding first devices through the synchronous signal collection unit on the integrated circuit, so that the different order preservation functions of the target second device corresponding to multiple data requests are realized, thereby reducing the order preservation intervention of the first device end and further improving the performance of the communication system.
[0099] Figure 3 is a schematic diagram of the communication method of the embodiment of the application. The communication method of the embodiment of the application can be applied to the integrated circuit described above. As shown in Figure 3 The communication method of the embodiment of the application comprises the following steps:
[0100] In step S110, a first information request of a first device is received. The first device comprises at least one, and the first information request comprises a task flag and the identification of a target second device. The task flag is used to represent the request state of the first device to the target second device, that is, whether the first device makes an information request to the target second device. Optionally, the information requested by the first device can include any information such as data and signals. For example, the first information request is a read request, and the plurality of first devices comprise the first devices master0-master2. The task flag is used to indicate which or which first device of the first devices master0-master2 needs to read data from the target second device to respond to the request.
[0101] In the embodiment, it is assumed that a plurality of first devices run the same task, and need to request the same information from the same second device through the integrated circuit. Therefore, the integrated circuit can receive first information requests for requesting the same information from the plurality of first devices. It should be understood that the first information requests can be received simultaneously or sequentially, and the embodiment does not limit this.
[0102] In an alternative implementation, the request state of the first device, i.e. whether the first device needs to run the task. Alternatively, the embodiment represents that the corresponding first device runs the task by 1, and represents that the corresponding first device does not run the task by 0.
[0103] Further alternatively, the lowest bit to the highest bit of the flag bit in the task flag corresponds to the order of the first device. That is, the lowest bit of the flag bit in the task flag corresponds to the first first device master0. It should be understood that the embodiment does not limit the correspondence between the flag bit in the task flag and each first device, and other correspondence modes, such as the highest bit to the lowest bit of the flag bit in the task flag corresponds to the order of the first device, can also be applied in the embodiment.
[0104] In an alternative implementation, the task flag can be a bc_map (Broadcast mapping, broadcast mapping) broadcast information. For example, assuming that the first devices master0-master2 run the same task, the task flag in the information request corresponding to the first devices master0-master2 can be 3'b111, for example. "3" represents the number of first devices in the communication system, and the flag bit in "111" represents the request state of the corresponding first device. Since each flag bit in the task flag is 1, the task flag indicates that master0-master2 all run the task. Then master0-master2 are the first devices indicated in the task flag 3'b111.
[0105] Alternatively, in the task flag, the lowest bit corresponds to the request state of the first device master0, the middle bit corresponds to the request state of the first device master1, and the highest bit corresponds to the request state of the first device master2. That is, the three flag bits in the task flag "111" correspond to the first devices master2, master1, and master0, respectively, indicating that the three device states are the same, and all run the task.
[0106] Step S120, determining the target first device from each first device according to the task flag in the first information request.
[0107] Step S130, sending the first information request of the target first device to the target second device.
[0108] In an alternative implementation, since multiple first devices perform the same task, only one first device needs to send an information request to the target second device. In the embodiment, the target first device is determined according to the task flag in the information request.
[0109] In an optional implementation, after receiving the first information request, the first device corresponding to the lowest bit where the predetermined value (e.g. 1) in the task flag is located is determined as the target first device, and the first information request of the target first device is sent to the corresponding target second device, and the non-target first device caches the information request. Thus, the embodiment can reduce business interaction and improve task execution efficiency.
[0110] For example, assume that the task flag in the first information request is 3'b111, i.e. the first devices master0-master2 run the same task. After receiving the first information request, the first device corresponding to the lowest bit where the predetermined value 1 in the task flag is located can be determined as the first device master0 according to the task flag 3'b111, and thus the first device master0 can be determined as the target first device. In the embodiment, the first information request corresponding to the target first device master0 is sent to the target second device. And the first device master1 corresponding to the middle bit in the task flag can be determined according to the task flag 3'b111, and thus the first device master1 can be determined as the non-target first device, and the first information request of the first device master1 is cached to verify whether the returned data information corresponds to the information request.
[0111] For another example, assume that the task flag in the first information request is 3'b110, i.e. the first device master0 does not run the task, and the first devices master1-master2 run the same task. Optionally, the first devices are identified in sequence from the lowest bit of the task flag, where the lowest bit of the task flag is 0, indicating that the first device master0 does not run the task, and the middle bit is 1 (i.e. the lowest bit where the predetermined value 1 is located is the middle bit), and thus the first device master1 corresponding to the middle bit in the task flag can be determined as the target first device, and the first information request of the first device master1 is sent to the target second device, and the first information request of the non-target first device master2 is cached to verify whether the returned data information corresponds to the information request.
[0112] In step S140, the first information fed back by the target second device is sent to the corresponding first device.
[0113] In step S150, the first information request task is determined as completed in response to the fact that the first information is received by all the first devices indicated in the task flag. Further optionally, the first information request task is determined as completed in response to the fact that the first information is the information requested by the first information request and the first information is received by all the first devices indicated in the task flag. The first devices indicated in the task flag are the first devices indicated in the task flag that need to execute the same task.
[0114] In an alternative implementation, step 140 comprises: sending the first information fed back by the target second device to the corresponding first device in response to receiving all the first information requests of the first devices required to perform the first information request task. Wherein the first devices required to perform the first information request task are determined according to the task flag.
[0115] That is, in the embodiment, the first devices running the same task do not need to send the first information requests to the corresponding network ports at the same time. Alternatively, the first devices can send the first information requests at any time, and if the integrated circuit does not find the first information request matched with the first information fed back by a target second device after receiving the first information, the integrated circuit caches the received first information until the first information matched with the first information request is received, and then sends the first information to the corresponding first device. Alternatively, if the first information request of any first device required to perform the first information request task indicated by the task flag is not received, the first information is cached until the first information requests of all the first devices required to perform the first information request task indicated by the task flag are received, and then the first information is sent to each first device. Thus, the data sequence can be more easily preserved. In other alternative implementations, the first information can be first fed back to the first device having sent the corresponding first information request, and the first information is cached until the first device having not sent the first information request sends the corresponding first information request, and then the first information is sent to the first device. The embodiment does not limit this.
[0116] Further alternatively, a waiting time can be set, and if the integrated circuit caches the data information and the first information matched with the first information request is not received after the waiting time, an alarm feedback or deletion of the cached first information can be performed.
[0117] In the embodiment, at least one first information request is received, the target first device is determined from the first devices according to the task flag in the first information request, the first information request of the target first device is sent to the target second device, the first information fed back by the target second device is sent to the corresponding first device, and it is determined that the first information request task is completed in response to the first devices indicated in the task flag all receiving the first information. Thus, the embodiment can realize the data read-write function of multi-end to multi-end, and the feedback of the data information of each first device is realized by selecting the target first device, the business interaction is reduced, and the performance of the communication system is improved.
[0118] In an optional implementation, when the first device needs to request information on a different second device, the information fed back to the first device needs to be in order, i.e., the order of the requested information is guaranteed. Thus, the present embodiment collects the synchronization signals through the integrated circuit to realize the in-order function, which reduces the in-order intervention of the first device end and further improves the performance of the communication system.
[0119] Optionally, the communication method of the present embodiment further includes: receiving at least one second information request, in response to the target second device in the second information request being different from the target second device in the first information request, collecting a synchronization signal set, and in response to the first device corresponding to the synchronization signal set corresponding to the first device indicated in the task flag, executing a second information request task. The synchronization signal in the synchronization signal set is used to represent that the corresponding first device receives the first information. The first device corresponding to the synchronization signal set is the first device corresponding to the synchronization signal in the synchronization signal set.
[0120] In the present embodiment, in response to the target second device corresponding to the received multiple information requests (e.g., the first information request and the second information request) being different, the corresponding synchronization signal is collected when the information corresponding to the current information request task is received, and in response to the first device corresponding to the synchronization signal set collected corresponding to the first device indicated in the task flag corresponding to the current information request (i.e., the first information request), the next information request task (i.e., the information request task corresponding to the second information request) is executed. That is, in the present embodiment, the integrated circuit can receive multiple information requests at the same time or in sequence, and if the target second devices corresponding to the multiple information requests are different, the synchronization signal corresponding to the feedback of the information corresponding to the first information request to the corresponding first device is collected to determine whether the information corresponding to the first information request is fed back to all corresponding first devices. After the information corresponding to the first information request is fed back to all corresponding first devices, the information request task corresponding to the next information request is executed, thereby realizing in-order.
[0121] Optionally, if the next information request is received before the current information request task is completed, the integrated circuit suppresses the information request until the current information request task is completed.
[0122] The present embodiment determines whether the information corresponding to the current information request is fed back to all corresponding first devices by collecting the synchronization signal corresponding to the feedback of the information corresponding to the first information request to the corresponding first device, thereby realizing the in-order function when the target second devices corresponding to multiple information requests are different. Thus, the present embodiment reduces the in-order intervention of the first device end and further improves the performance of the communication system.
[0123] Figure 4 is a schematic diagram of a communication device of an embodiment of the present application. As shown in Figure 4As shown, the communication apparatus 4 of the embodiment of the present application comprises a first receiving unit 41, a device determining unit 42, a first sending unit 43, a second sending unit 44 and a task status determining unit 45.
[0124] The first receiving unit 41 is configured to receive a first information request of a first device, the first device comprising at least one, the first information request comprising a task flag and an identification of a target second device, the task flag being used to represent a request state of the first device to the target second device. The device determining unit 42 is configured to determine a target first device from each of the first devices according to the task flag. The first sending unit 43 is configured to send the first information request of the target first device to the target second device. The second sending unit 44 is configured to send the first information requested from the target second device to a corresponding first device, the corresponding first device being the first device indicated in the task flag. The task status determining unit 45 is configured to determine that a first information request task is completed in response to that the first information is received by each of the first devices indicated in the task flag.
[0125] In an optional implementation, the communication apparatus 4 further comprises a second receiving unit, an information collecting unit and a judging unit. The second receiving unit is configured to receive a second information request of at least one first device. The information collecting unit is configured to collect a synchronization signal set in response to that the target second device in the second information request is different from the target second device in the first information request, the synchronization signal in the synchronization signal set being used to represent that the corresponding first device receives the first information. The judging unit is configured to execute the second information request task in response to that the corresponding first device of the synchronization signal set corresponds to the first device indicated in the task flag.
[0126] In an optional implementation, the second sending unit 44 is further configured to send the first information fed back by the target second device to the corresponding first device in response to that the first information request of all the first devices required to execute the first information request task is received. The first devices required to execute the first information request task are determined according to the task flag.
[0127] In an optional implementation, the device determining unit 42 is further configured to determine the first device represented by the lowest bit of the predetermined value in the task flag as the target first device.
[0128] In the embodiment of the present application, at least one first device first information request is received, a target first device is determined from the first devices according to a task mark in the first information request, the first information request of the target first device is sent to a target second device, and the first information fed back by the target second device is sent to the corresponding first device. The first information request task is determined to be completed in response to the fact that the first information is received by all the first devices indicated in the task mark. Thus, the embodiment of the present application can realize the multi-end-to-multi-end data read-write function, and improve the performance of the communication system.
[0129] Figure 5 is a schematic diagram of an electronic device according to an embodiment of the present application. As shown in Figure 5 The electronic device 5 is a general data processing device, which includes a general computer hardware structure, at least including a processor 51 and a memory 52. The processor 51 and the memory 52 are connected through a bus 53. The memory 52 is adapted to store instructions or programs executable by the processor 51. The processor 51 can be a stand-alone microprocessor, or a set of one or more microprocessors. Thus, the processor 51 performs the processing of data and the control of other devices by executing the instructions stored in the memory 52, thereby implementing the method flow of the embodiment of the present application as described above. The bus 53 connects the above components together, and connects the above components to a display controller 54 and a display device, and an input / output (I / O) device 55. The input / output (I / O) device 55 can be a mouse, a keyboard, a modem, a network interface, a touch input device, a body sense input device, a printer, and other devices known in the art. Typically, the input / output device 55 is connected to the system through an input / output (I / O) controller 56.
[0130] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a device (apparatus) or a computer program product. Therefore, the present application can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-readable storage media (including, but not limited to, disk memory, CD-ROM, optical memory, etc.) containing computer usable program code.
[0131] The present application is described with reference to flowcharts according to the method, device (apparatus) and computer program product of the embodiments of the present application. It should be understood that each flow in the flowcharts can be implemented by computer program instructions.
[0132] These computer program instructions can be stored in a computer readable memory capable of directing a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce a manufactured product including instruction devices, which implement the flowFigure 1 a function specified in the flow or in the plurality of flows.
[0133] These computer program instructions can also be loaded into a computer, a special purpose computer, an embedded processor or other programmable data processing devices to produce a machine, so that the instructions executed by the computer or other programmable data processing devices generate a device that realizes the functions specified in the flow or in the plurality of flows. Figure 1 a device that realizes the functions specified in the flow or in the plurality of flows.
[0134] Another embodiment of the present application relates to a computer program product, which, when running on a computer, causes the computer to execute some or all of the method embodiments described above.
[0135] Another embodiment of the present application relates to a non-volatile storage medium for storing a computer readable program for causing a computer to execute some or all of the method embodiments described above.
[0136] That is, those skilled in the art can understand that all or part of the steps in the above-mentioned method embodiments can be completed by a program stored in a storage medium, including a plurality of instructions for causing a device (which can be a single-chip microcomputer, a chip, etc.) or a processor to execute all or part of the method described in the embodiments of the present application. The aforementioned storage medium includes a U disk, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk or an optical disk, and various media that can store program codes.
[0137] The above only describes the preferred embodiments of the present application and is not used to limit the present application. For those skilled in the art, the present application can have various modifications and changes. Any modification, equivalent replacement, improvement, etc. within the spirit and principles of the present application shall be included in the protection scope of the present application.
Claims
1. A communication method characterized by comprising: The method comprises: receiving a first information request of a first device, the first device comprising at least one, the first information request comprising a task flag and an identification of a target second device, the task flag being used to represent a request state of the first device to the target second device; determining a target first device from each of the first devices according to the task flag; sending the first information request of the target first device to the target second device; sending first information requested from the target second device to a corresponding first device, the corresponding first device being the first device indicated in the task flag; determining that a first information request task is completed in response to the first device indicated in the task flag all receiving the first information; wherein the sending of the first information requested from the target second device to the corresponding first device comprises: sending the first information to the first device having sent the first information request, and in response to there being a first device needing to perform the first information request task not sending a first information request, buffering the first information until receiving an information request corresponding to the first information, and sending the first information to the corresponding first device.
2. The communication method according to claim 1, characterized by, The method further comprises: receiving a second information request of at least one first device; in response to a target second device in the second information request being different from a target second device in the first information request, collecting a set of synchronization signals, a synchronization signal in the set of synchronization signals being used to represent that a corresponding first device receives the first information; in response to a corresponding first device of the set of synchronization signals corresponding to the first device indicated in the task flag, performing the second information request task.
3. The communication method according to claim 1 or 2, characterized by, The determining of the target first device from each of the first devices according to the task flag comprises: determining a first device represented by a lowest bit of a predetermined value in the task flag as the target first device.
4. An integrated circuit, characterized by The integrated circuit comprises at least one first network port, the first network port having a corresponding master unit; wherein the first network port is configured to receive an information request of a corresponding first device, the information request comprising a task flag and an identification of a target second device, the task flag being used to represent a request state of the first device to the target second device; the master unit is configured to determine a target first device from each of the first devices according to the task flag, and send the information request of the target first device to the target second device; the first network port is further configured to send information fed back by the target second device to a corresponding first device, the corresponding first device being the first device indicated in the task flag; the master unit is further configured to determine that the information request task is completed in response to the first device indicated in the task flag all receiving the information; The first network port is further configured to send the information to the first device that has sent the information request, in response to there being no first device that needs to perform the information request task sending the information request, cache the information until receiving the information request corresponding to the information, and send the information to the corresponding first device through the corresponding first network port.
5. The integrated circuit of claim 4, wherein, The integrated circuit further comprises a synchronization signal collection unit; The master unit sends a corresponding synchronization signal to the synchronization signal collection unit when receiving the information corresponding to the current information request task, in response to the target second devices corresponding to the multiple information requests received being different, the synchronization signal being used to represent that the corresponding first network port has sent the information to the corresponding first device; The synchronization signal collection unit is configured to send a message to the master unit to perform the next information request task, in response to the first device corresponding to the set of collected synchronization signals corresponding to the first device indicated in the task flag of the current information request.
6. The integrated circuit of claim 4 or 5, wherein, The integrated circuit further comprises at least one second network port; The second network port is configured to send an information request to the corresponding target second device and receive the feedback information.
7. The integrated circuit of claim 6, wherein, The integrated circuit further comprises at least one broadcast router; The broadcast router is configured to relay the information between the corresponding first device and second device.
8. A communication system, characterized by The communication system comprises: at least one first device; at least one second device; and The integrated circuit of any one of claims 4-7.
Citation Information
Patent Citations
System-on-a-chip, data transmission method and broadcast module
CN111797051A
Bus system for order preserving, integrated circuit device, board card and order preserving method
CN113033789A