WO2022141322A1 - 一种片上系统及相关方法 - Google Patents

一种片上系统及相关方法 Download PDF

Info

Publication number
WO2022141322A1
WO2022141322A1 PCT/CN2020/141852 CN2020141852W WO2022141322A1 WO 2022141322 A1 WO2022141322 A1 WO 2022141322A1 CN 2020141852 W CN2020141852 W CN 2020141852W WO 2022141322 A1 WO2022141322 A1 WO 2022141322A1
Authority
WO
WIPO (PCT)
Prior art keywords
session
request
response
context
noc0
Prior art date
Application number
PCT/CN2020/141852
Other languages
English (en)
French (fr)
Inventor
张志强
李晓博
郭鑫
Original Assignee
华为技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2020/141852 priority Critical patent/WO2022141322A1/zh
Priority to CN202080108260.4A priority patent/CN116711281A/zh
Publication of WO2022141322A1 publication Critical patent/WO2022141322A1/zh

Links

Images

Definitions

  • the present application relates to the field of semiconductor technology, and in particular, to a system-on-chip and related methods.
  • NOC refers to the integration of a large number of computing resources on a single chip and an on-chip communication network that connects these resources.
  • the NOC includes multiple subsystems with different functions (such as audio systems, etc.), and these subsystems can be connected through the NOC
  • the bus realizes the interconnection.
  • one NOC bus is used to interconnect two subsystems, there will be cases where the code of other subsystems changes due to internal structural adjustments of one subsystem (such as adding ports or topology changes).
  • an independent NOC bus is usually designed for some subsystems according to the requirements, which is decoupled from the NOC bus of other subsystems in the system, and then the information is converted between the NOC subsystems through the interface protocol, so as to realize the cross NOC interconnection.
  • Embodiments of the present invention provide a system-on-chip and a related method, so as to improve the protocol conversion efficiency of signals in the process of implementing cross-NOC interconnection.
  • an embodiment of the present invention provides a system-on-chip, wherein the system-on-chip includes a first network-on-chip NOC0 and a second network-on-chip NOC1; the NOC0 includes a first initial bridge IB1 and a first target Bridge TB1, the NOC1 includes a second initial bridge IB2; the first initial bridge IB1 is used to send a first session request, where the first session request includes a first session identifier, a first context entry number, and the IB1
  • the first target bridge TB1 is used to receive the first session request; generate a second session request based on the first session request, and send the second session request to the IB2; the second session request The request includes a second session identifier and the first context entry number; the second session identifier is generated after packaging based on the first session identifier and the number of the IB1; the second initial bridge IB2 is used for receiving the second session request; generating a first session response based on the second session request,
  • the signals need to undergo protocol conversion.
  • the first session request includes NOC0 internal network information
  • TB1 will store the NOC0 internal network information in the TB1 context table
  • TB1 will store the NOC0 internal network information in the TB1 context table according to
  • the NOC0 internal session identification information in the NOC0 internal network information is remapped to obtain the first NOC0 external session identification information, and then a second session request including the first NOC0 external session identification information is sent to the IB2 of the NOC1.
  • TB1 After TB1 receives the first session response to the first session request, it searches the TB1 context table for corresponding NOC0 internal network information according to the first NOC0 external session identification information in the first session response.
  • NOC0 communicates with NOC1 in the prior art
  • the second session request sent by TB1 to IB2 and the first session response received by TB1 do not carry NOC0 internal network information, and NOC0 internal network information is stored in the TB1 context table. Therefore, after TB1 receives the first session response to the first session request, it can only obtain NOC0 internal network information by looking up the TB1 context table, which increases the delay of NOC0 accessing NOC1 and also increases the chip area overhead.
  • the second session request and the first session response mentioned above carry the NOC0 internal network information, thereby simplifying the internal structure of the TB1 and at the same time. It can improve the protocol conversion efficiency of signals in the process of inter-NOC interconnection.
  • the NOC internal network information includes NOC0 internal session identification information, and the information used in IB1 for recording the request device and the The IB1 context entry number and IB1 number information of the NOC0 internal session identification information mapping relationship, so TB1 packages the NOC0 internal session identification information and IB1 number information to obtain the second NOC0 external session identification information, and then sends the second session request to the IB2 of NOC1 , the second session request includes the second NOC0 external session identification information and the IB1 context entry number, so the second session request carries the NOC0 internal network information.
  • IB2 After IB2 receives the second session request, IB2 generates a first session response for the second session request, and then sends the first session response to TB1.
  • TB1 After TB1 receives the first session response, since the first session response includes the NOC0 internal network information, wherein the NOC internal network information includes the second NOC0 external session identification information and the IB1 context entry number, TB1 sends the second NOC0 external
  • the session identification information is unpacked to obtain NOC0 internal session identification information and IB1 number information, and then a second session response is generated according to the NOC0 internal session identification information, IB1 number information and IB1 context entry number.
  • TB1 is improved, so that the second session request and the first session response carry NOC0 internal network information, which avoids the delay and delay caused by storing and searching NOC0 internal network information in the context table of TB1.
  • Unnecessary chip area overhead thereby simplifying the internal structure of TB1 and improving the protocol conversion efficiency of signals in the process of inter-NOC interconnection.
  • the NOC0 further includes a NOC0 internal network; the NOC0 internal network is configured to: receive the first session request sent by the IB1, where the first session request further includes a target node identification information; determine the TB1 matching the target node identification information according to the target node identification information; send the first session request to the TB1.
  • the NOC0 may further include the NOC0 internal network.
  • the IB1 After the requesting device initiates a request through the IB1, the IB1 will generate a first session request according to the request of the requesting device, and then send the first session request to the NOC0 internal network.
  • NOC0 will send the first session request to TB1 according to the target node identification information in the first session request, so that TB1 can generate the second session request and send the second session request to IB2 of NOC1, so that NOC0 can access more quickly NOC1.
  • the IB1 stores a first context table, and the first context table includes multiple IB1 context entries; the IB1 is further used for: in the multiple IB1 context entries
  • the mapping relationship between the requesting device session request identifier and the first session identifier is stored in the first context entry in the ; the number of the first context entry is the number of the first context entry.
  • IB1 in NOC0 after IB1 in NOC0 receives the session request of the requesting device, it will record the mapping relationship between the requesting device ID and NOC0 internal session ID in the IB1 context table. The reason is that IB1 can continuously receive There are multiple different session requests, each session request corresponds to a corresponding session response, and each session request identifier is consistent with its corresponding session response identifier. Therefore, after receiving the session response, IB1 can query the corresponding entry of IB1 according to the entry number in the session response, and obtain the session ID of the requesting device, which is the session response ID, so as to notify the requesting device that the corresponding request has been responded.
  • the IB2 packet stores a second context table, and the second context table includes multiple IB2 context entries; the IB2 is further configured to: according to the second session identifier Perform remapping to obtain a third session identifier; store the mapping relationship between the second session identifier and the third session identifier, the second session identifier and the the number of the first context entry; the number of the second context entry is the number of the second context entry; a third session request is generated; the third session request includes the IB2 number, the third session identifier, the 2. Context entry number.
  • the second session request to enter NOC1 needs to perform protocol conversion in IB2. Specifically, after TB1 sends the second session request to IB2, since the second session request carries NOC0 internal network information, wherein the NOC0 internal network information includes the second NOC0 external session identification information and the IB1 context entry number, so IB2 is in the After receiving the second session request, the NOC1 internal session identification information will be obtained by remapping according to the second NOC0 external session identification information, and then the mapping relationship between the second NOC0 external session identification information and the NOC1 internal session identification information, the second NOC0 external session identification information The information and IB1 context entry number is stored in the IB2 context entry of the IB2 context table.
  • the IB2 After the IB2 receives the response signal for the second session request, the corresponding NOC0 internal network information can be found in the IB2 context table according to the IB2 context entry number in the session response.
  • the delay and unnecessary chip area overhead caused by storing and searching NOC0's internal network information in the context table of TB1 are avoided, thereby simplifying the internal structure of TB1.
  • it can also improve the protocol conversion efficiency of signals in the process of inter-NOC interconnection.
  • the NOC1 further includes the NOC1 internal network; the IB2 is further configured to send the third session request to the NOC1 internal network; the NOC1 internal network is configured to: receiving the third session request and responding to the third session request; generating a third session response based on the third session request, and sending the third session response to the IB2; the third session response includes The second context entry number.
  • NOC1 may further include an internal network of NOC1.
  • IB2 When IB2 receives the second session request sent by NOC0, it will generate a third session request, and then send the third session request to the internal network of NOC1. Next The internal network of NOC1 will generate a third session response after responding accordingly according to the request, and send the third session response to IB2.
  • the IB2 context entry number is included in the third session response, the purpose of which is to facilitate the IB2 to search for the NOC0 internal network information previously stored in the IB2 context table according to the third session response after receiving the third session response.
  • the IB2 is further configured to: receive the third session response, and according to the second context entry number in the third session response, according to the second context entry number Look up the second context entry in the second context table, and obtain the second session identifier and the first context entry number stored in the second context entry; based on the second session identifier and the The first session response is generated using the first context entry number.
  • the IB2 after receiving the third session response sent by the NOC1 internal network, the IB2 can look up the previously stored NOC0 internal network information in the IB2 context table according to the IB2 context entry number in the third session response , wherein the NOC0 internal network information includes the NOC0 external session identification information and the NOC1 internal session identification information, the NOC0 external session identification information and the IB1 context entry number.
  • the IB2 may generate a first session response according to the NOC0 internal network information, and then send the first response to the TB1 of the NOC0.
  • IB2 can read the NOC0 internal network information in the IB2 context table according to the third session response, avoiding the delay and unnecessary chip area overhead caused by storing and searching the NOC0 internal network information in the context table of TB1. Therefore, the internal structure of TB1 can be simplified, and the protocol conversion efficiency of signals in the process of inter-NOC interconnection can also be improved.
  • the TB1 is further configured to send the second session response to the NOC0 internal network;
  • the NOC0 internal network is further configured to: receive the second session response, and send the second session response to the NOC0 internal network. Send the second session response to the IB1 according to the number of the IB1.
  • the TB1 after the TB1 of the NOC0 receives the first session response sent by the IB2 of the NOC1, the TB1 will unpack the second NOC0 external session identification information in the first session response to obtain the NOC0 internal session identification information and IB1 number information, and generate a second session response including NOC0 internal session identification information, IB1 number information and IB1 context entry number.
  • TB1 sends the second session response to the NOC0 internal network, and then the NOC0 internal network sends the second session response to IB1 according to the IB1 number information, notifying IB1 that NOC1 has responded to the first session request request.
  • the improved TB1 only needs to pack and unpack information, which avoids the delay and unnecessary chip area overhead caused by storing and searching NOC0's internal network information in the TB1 context table, thereby simplifying the internal structure of TB1. It can improve the protocol conversion efficiency of signals in the process of inter-NOC interconnection.
  • the IB1 is further configured to: receive the second session response, and according to the first context entry number in the second response signal, in the first context table Find the mapping relationship between the session request identifier of the requesting device and the first session identifier; the session request identifier of the requesting device corresponds to the target requesting device; send a fourth session response to the target requesting device based on the second session response ; The first session response is used to notify the requesting device that the request has been completed.
  • the IB1 of the NOC0 after the IB1 of the NOC0 receives the second session response sent by the NOC0 internal network, it searches the IB1 context table for the previously recorded requesting device and the NOC0 internal according to the IB1 context entry number in the second session response.
  • the session identification information is mapped, so that IB1 can send a fourth session response to the corresponding requesting device based on the second session response, notifying the requesting device that the request has been responded to on NOC1.
  • the delay and unnecessary chip area overhead caused by storing and searching NOC0 internal network information in the context table of TB1 are avoided, thereby simplifying the internal structure of TB1 and improving the cross-NOC
  • the protocol conversion efficiency of signals in the interconnection process enables NOC0 to access NOC1 more quickly.
  • the first initial bridge IB1 is specifically configured to: send multiple session requests in target order, where the multiple session requests include the first session request; receive in the target order multiple session responses, the session responses including the second session responses; according to the target order, based on the multiple session responses, respectively send the processed session responses to multiple requesting devices; the multiple requesting devices include For the target requesting device, one of the processed session responses is the fourth session response.
  • IB1 when IB1 receives multiple initial request sessions, and these initial session request identifiers are the same, then IB1 requires that the NOC0 internal session request identifiers be the same when converting into multiple first request sessions, and NOC0 and NOC1 are required to ensure that the same session request identifiers reach the NOC1 internal network in the target order, so that after the request is responded to by the NOC1 internal network, the response sessions are respectively sent to IB1 in the above target order.
  • an embodiment of the present invention provides a system-on-chip communication method, wherein the system-on-chip includes a first network-on-chip NOC0 and a second network-on-chip NOC1; the NOC0 includes a first initial bridge IB1 and a first The target bridge TB1, the NOC1 includes a second initial bridge; the method includes: the first initial bridge IB1 sends a first session request, where the first session request includes a first session identifier, a first context entry number and all the number of the IB1; the first target bridge TB1 receives the first session request; generates a second session request based on the first session request, and sends the second session request to the IB2; the second session request including the second session identifier and the first context entry number; the second session identifier is generated based on the first session identifier and the number of the IB1 after being packaged; the second initial bridge IB2 receives the first session identifier Two session requests; generate a first session response based
  • the NOC0 further includes a NOC0 internal network; the method further includes: the NOC0 internal network receives the first session request sent by the IB1, and the first session request further includes target node identification information; determine the TB1 matching the target node identification information according to the target node identification information; send the first session request to the TB1.
  • a first context table is stored in the IB1, and the first context table includes multiple IB1 context entries; the method further includes: the IB1 is stored in the multiple IB1 contexts
  • the first context entry in the entry stores the mapping relationship between the request device session request identifier and the first session identifier; the number of the first context entry is the number of the first context entry.
  • the IB2 packet stores a second context table, and the second context table includes multiple IB2 context entries; the method further includes: the IB2 according to the second session The identification is remapped to obtain a third session identification; the mapping relationship between the second session identification and the third session identification, the second session identification and the number of the first context entry; the number of the second context entry is the number of the second context entry; a third session request is generated; the third session request includes the IB2 number, the third session identifier, the Second context entry number.
  • the NOC1 further includes the NOC1 internal network; the method further includes: the IB2 sends the third session request to the NOC1 internal network; the NOC1 internal network receives the the third session request, and responding to the third session request; generating a third session response based on the third session request, and sending the third session response to the IB2; the third session response includes the Second context entry number.
  • the method further includes: the IB2 receives the third session response, and according to the second context entry number in the third session response, according to the second context entry number to look up the second context entry in the second context table, and obtain the second session identifier and the first context entry number stored in the second context entry; based on the second session identifier and the number of the first context entry; The first context entry number generates the first session response.
  • the method further includes: the TB1 sends the second session response to the NOC0 internal network; the NOC0 internal network receives the second session response, and sends the second session response to the NOCO internal network according to the The number of IB1 sends the second session response to the IB1.
  • the method further includes: the IB1 receives the second session response, and according to the first context entry number in the second response signal, in the first context table Find the mapping relationship between the session request ID of the requesting device and the first session ID; the session request ID of the requesting device corresponds to the target requesting device; send a fourth session to the target requesting device based on the second session response response; the first session response is used to notify the requesting device that the request has been completed.
  • the first initial bridge IB1 sends multiple session requests in target order, where the multiple session requests include the first session request; and receives multiple session responses in the target order,
  • the session response includes the second session response;
  • the processed session responses are respectively sent to multiple requesting devices based on the multiple session responses;
  • the multiple requesting devices include the target requesting device , and one of the processed session responses is the fourth session response.
  • the present application provides a computer-readable storage medium, characterized in that, the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, implements any one of the above claims. method.
  • the present application provides a computer program, characterized in that the computer-readable program includes instructions, when the computer program is executed by a processor, the processor causes the processor to execute any one of the above claims method described in item.
  • the present application provides a network-on-chip interface device, wherein the system-on-chip includes a first network-on-chip NOC0 and a second network-on-chip NOC1; the NOC0 includes a first initial bridge IB1 and a first target bridge TB1, the NOC1 includes a second initial bridge IB2; the first initial bridge IB1 is used to send a first session request, where the first session request includes a first session identifier, a first context entry number, and the IB1 number; the first target bridge TB1 is used to receive the first session request; generate a second session request based on the first session request, and send the second session request to the IB2; the second session request It includes a second session identifier and the first context entry number; the second session identifier is generated after packaging based on the first session identifier and the number of the IB1; the second initial bridge IB2 is used to receive the second session request; generating a first session response based on the second session request,
  • FIG. 1A is a schematic diagram of the connection of a NOC subsystem in the prior art.
  • FIG. 1B is a schematic diagram of an initial bridge structure in the prior art.
  • FIG. 1C is a schematic diagram of a protocol conversion signal in the prior art.
  • FIG. 1D is a schematic diagram of a network signal in the prior art.
  • FIG. 1E is a schematic structural diagram of a target bridge in the prior art.
  • FIG. 2 is a schematic structural diagram of an on-chip network according to an embodiment of the present invention.
  • FIG. 3A is a schematic diagram of a system-on-a-chip provided by an embodiment of the present invention.
  • FIG. 3B is a schematic diagram of another system-on-chip provided by an embodiment of the present invention.
  • FIG. 3C is a schematic diagram of an internal structure of an IB1 according to an embodiment of the present invention.
  • FIG. 3D is a schematic structural diagram of a TB according to an embodiment of the present invention.
  • FIG. 3E is a schematic diagram of a NOCO external signal provided by an embodiment of the present invention.
  • FIG. 3F is a schematic structural diagram of an IB2 provided by an embodiment of the present invention.
  • a component may be, but is not limited to, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer.
  • an application running on a computing device and the computing device may be components.
  • One or more components may reside within a process and/or thread of execution, and a component may be localized on one computer and/or distributed between 2 or more computers.
  • these components can execute from various computer readable media having various data structures stored thereon.
  • a component may, for example, be based on information having one or more data packets (such as data from two components interacting with another component between a local system, a distributed system, and/or a network, such as the Internet through which information interacts with other systems) Communicate through local and/or remote processes.
  • data packets such as data from two components interacting with another component between a local system, a distributed system, and/or a network, such as the Internet through which information interacts with other systems
  • NOC Network On Chip
  • SoC System On Chip
  • Protocol conversion refers to the process of converting the standard or protocol of one device into a protocol suitable for another device, in order to achieve interoperability between different protocols. Protocols usually come in the form of software. For example, a router converts the data format, data rate, etc. in one network into a protocol suitable for another network. There are many kinds of protocols in the network, which are used in different fields, such as power generation, oil and gas, automation, utilities, remote monitoring and so on. The main protocol conversion messages involve conversion of data messages, events, commands, and time synchronization.
  • FIG. 1A is a schematic diagram of the connection of a NOC subsystem in the prior art.
  • NOC0 includes two initial bridges and two target bridges, wherein the two initial bridges are respectively connected with two master devices (such as central processing unit CPU, etc.), the target bridge 022 is connected to the slave device 030 (such as memory DDR, etc.), and the other target bridge 023 is connected to the initial bridge 061 of NOC1;
  • NOC1 includes two initial bridges and two target bridges, Among them, two target bridges are respectively connected to two slave devices, one initial bridge 070 is connected to the master device 070, and the other initial bridge 061 is connected to the target bridge 023 of NOC0.
  • the interface protocol 010 in the figure needs to be used for protocol conversion when the master device and the NOC subsystem communicate; because the interface protocol between the NOC subsystem and the slave device is different, so When the NOC subsystem communicates with the slave device, the interface protocol 040 in the figure needs to be used for protocol conversion; because the interface protocols between different NOC subsystems are different, the interface protocol 050 in the figure needs to be used when communicating between the NOC subsystems. convert.
  • the interface protocol 010, the interface protocol 040 and the interface protocol 050 are three different protocols, but the embodiment of the present invention mainly improves the interface protocol 050, so the following will be based on FIG. 1B, FIG. 1C, FIG. 1D and FIG. 1E describes the interface protocol 050 in the prior art.
  • FIG. 1B is a schematic diagram of an initial bridge structure in the prior art.
  • the initial bridge 061 in FIG. 1A can be the initial bridge structure shown in FIG. 1B , then it is assumed that in FIG. 1A
  • the initial bridge 061 structure is shown in Figure 1B.
  • the structure of the initial bridge in FIG. 1B may include, an address decoder 110, an allocate 120, a context table 130, an index module (index) 140, and the interface 150 of the initial bridge 061 of NOC1 and
  • the interface 160 is connected to the target bridge 023 of NOC0, and the interface 170 and the interface 180 of the initial bridge 061 of NOC1 are connected to the NOC1 internal network.
  • FIG. 1C is a schematic diagram of a protocol conversion signal in the prior art, and the specific form of the NOC external session request is:
  • the information 510 in FIG. 1C includes request operation type information (request_operationalcode, req_opc), request address information (request_address, req_addr), request data size information (request_transactionsize, req_tsize), request data information (request_data , req_data), request session identification information (request_transaction identity document, req_tid).
  • the NOC external session request is processed by the initial bridge 061 to obtain the NOC1 internal request information, and the NOC1 internal request information is output from the interface 170 of the initial bridge 061 and enters the NOC1 internal network.
  • FIG. 1D is a schematic diagram of a network signal in the prior art, and the specific form of the NOC1 internal session request is shown in the information 610 in FIG. 1D .
  • the information 610 includes network request operation type information (network_request_operationalcode, network_req_opc), network request payload information (network_request_payload, network_req_pld), network request target node identification information (network_request_destinationidentity, network_req_dstid), network request origin identifier information (network_request_source identity, network_req_srcid), network request session identification information (network_request_transaction identity document, network_req_tid), network request return information ( network_request_returnmessage, network_req_retmsg).
  • the NOC external session request is processed in the initial bridge 061 and the main process of generating the NOC1 internal session request is as follows:
  • the address decoder 110 performs address decoding according to the request address information req_addr in the input NOC external session request 510 to generate the network request target node identification information network_req_dstid in the NOC1 internal request information 610 .
  • the distributor 120 performs remapping according to the request session identification information req_tid in the input NOC external session request 510 to generate the network request session identification information network_req_tid in the NOC1 internal session request 610 .
  • the allocator 120 allocates the entry entry in the contexttable 130, and assigns the entry number to the network request return information network_req_retmsg in the NOC1 internal session request 610.
  • the interface 170 assigns the number of the on-chip network of the IB currently performing the protocol conversion to the origin identifier information network_req_srcid.
  • the NOC external session request 510 can generate the NOC1 internal session request 610 after the above steps are processed in the initial bridge 061, so that the NOC0 bus and the NOC1 bus can better communicate.
  • NOC1 In the process of interconnection between NOC0 and NOC1, after the target bridge 023 of NOC0 sends a session request to the initial bridge 061 of NOC1, NOC1 will send a session response to NOC0, and the session response is sent by the initial bridge 061 of NOC1 to the target bridge 023 of NOC0 .
  • the specific form of the session response in the figure is as shown in the message 620
  • the NOC1 internal session response enters the initial bridge 061 through the interface 180 of the initial bridge 061 , and then generates the NOC after being processed by the initial bridge 061 External session response
  • the specific form of the NOC external session response is shown in the signal 520 in FIG.
  • the information 620 includes network response operation type information (network_respond_operationalcode, network_rsp_opc), network response payload information (network_request_payload, network_req_pld), network response destination node identification information (network_respond_destinationidentity document, network_rsp_dstid), network request origin identifier information (network_request_source, network_req_srcid), network response return information (network_respond_returnmessage, network_rsp_retmsg); the signal 520 includes response operation type information (respond_operationalcode, rsp_opc), response data information (respond_data, rsp_data), and response session identification information (respond_transactionidentity document, rsp_tid).
  • the NOC1 internal session response is processed in the initial bridge 061 and the main process of generating the NOC external
  • the index 140 in the initial bridge 061 returns the information network_rsp_retmsg according to the network response input from the interface 180, and queries the tid information of the interface 160 in the contexttable 130.
  • an NOC external session response can be generated, so that better communication can be performed between the NOC0 bus and the NOC1 bus.
  • FIG. 1E is a schematic diagram of a target bridge structure in the prior art.
  • the target bridge 023 in FIG. 1A can be the target bridge structure shown in FIG.
  • the structure of the target bridge 023 in FIG. 1A is shown in FIG. 1E .
  • the structure of the target bridge 023 may include an allocator (allocate) 210, a context table (context table) 220, an index module (index) 230, and the interface 240 and the interface 250 of the target bridge 023 of NOCO are connected to NOCO, NOC0 interface 260 and interface 270 are connected to the initial bridge 061 of NOC1.
  • the NOC0 internal session request enters the target bridge 023 from the interface 240 of the NOC0 target bridge 023.
  • the specific form of the NOC0 internal session request is the signal 610 in FIG.
  • Network request operation type information (network_request_operational code, network_req_opc), network request payload information (network_request_payload, network_req_pld), network request target node identification information (network_request_destination identity document, network_req_dstid), origin identifier information (network_request_source, network_req_srcid), network request Session identification information (network_request_transaction identity document, network_req_tid), network request return information (network_request_return message, network_req_retmsg).
  • the NOC0 internal session request is processed by the target bridge 023 to obtain the NOC external session request, and the NOC external session request is output from the interface 260 of the target bridge 023 and enters the initial bridge 061 .
  • the specific form of the NOC external session request is shown in the information 510 in FIG.
  • the information 510 includes request operation type information (request_operational code, req_opc), request address information (request_address , req_addr), request data size information (request_transaction size, req_tsize), request data information (request_data, req_data), request session identification information (request_transaction identity document, req_tid).
  • request operation type information (request_operational code, req_opc)
  • request address information (request_address , req_addr)
  • request data size information request_transaction size, req_tsize
  • request data information request_data, req_data
  • request session identification information request_transaction identity document, req_tid.
  • the distributor 210 decodes and generates the request session identification information req_tid in the NOC external session request according to the source identifier information network_req_srcid and the network request session identification information network_req_tid in the NOC0 internal session request 610 .
  • the allocator 210 allocates the entry in the contexttable 220, and records the network request return information network_req_retmsg of the NOC0 internal session request 610 input by the interface 240 in the entry.
  • the NOC external session request 510 can be generated, thereby enabling better communication between the NOC0 bus and the NOC1 bus.
  • NOC1 sends a response message to it, and the response message is transmitted from the initial bridge of NOC1 to the target bridge 023 of NOC0.
  • FIG. 1C the specific form of the NOC external session response is shown in the signal 520 .
  • the NOC external session response enters the target bridge 023 through the interface 270 of the target bridge 023 , and then is processed by the target bridge 023 .
  • a NOC0 internal session response is generated.
  • NOC0 internal session response The specific form of the NOC0 internal session response is shown in the signal 620 , and further NOC0 internal session responses are output from the interface 250 of the target bridge 023 .
  • the signal 520 includes response operation type information (respond_operational code, rsp_opc), response data information (respond_data, rsp_data), and response session identification information (respond_transaction identity document, rsp_tid);
  • the signal 620 includes network response operation type information (network_respond_operational code, network_rsp_opc), network response payload information (network_request_payload, network_req_pld), network response target node identification information (network_respond_destination identity document, network_rsp_dstid), network response source identifier information (network_respond_source, network_req_srcid), network response return information (network_respond_return message) , network_rsp_retmsg).
  • the index 230 of the target bridge 023 queries the network response target node identification information network_rsp_dstid and network response return information network_rsp_retmsg recorded in the contexttable 220 according to the response session identification information rsp_tid in the NOC external session response 520 input from the interface 270 of the target bridge 023.
  • NOC0 internal session response can be generated, thereby enabling better communication between the NOC0 bus and the NOC1 bus.
  • FIG. 2 is a schematic diagram of an on-chip network structure provided by an embodiment of the present invention.
  • the on-chip system 20 may be located in any electronic device, such as a computer , computers, mobile phones, tablets and other devices.
  • the network-on-chip 20 may specifically be a chip or a chip set or a circuit board on which the chip or the chip set is mounted.
  • the chip or chip set or the circuit board on which the chip or chip set is mounted can be driven by necessary software.
  • the system-on-chip 20 includes n+1 network-on-chip NOCs, and any one of the n+1 NOCs may include one or more initial bridges and one or more target bridges.
  • NOC0 and NOC1 in FIG. 2 take NOC0 and NOC1 in FIG. 2 as examples, NOC0 includes initial bridge 111, initial bridge 113, target bridge 112, target bridge 114, NOC0 bus 110; NOC1 includes initial bridge 211, initial bridge 213, target Bridge 212 , target bridge 214 , NOC1 bus 210 .
  • the initial bridge 113 is connected to the master device 115
  • the target bridge 112 is connected to the slave device 116
  • the target bridge 114 and the initial bridge 213 of NOC1 can be connected through the bus 110 of NOC0 and the bus 210 of NOC1
  • the target bridge of NOC1 212 is connected with the slave device 216, so that the master device 115 can communicate with the slave device 116, and the NOC0 can access the NOC1.
  • the initial bridge is a protocol conversion bridge that converts the interface protocol of the docking device to the internal network interface protocol of the NOC.
  • the initial bridge is connected to the main device (such as graphics processor GPU, etc.), since the interface protocol between the main device and the NOC internal network is different, so when the signal is output from the main device, the signal protocol will be performed in the initial bridge Converted so that the signal enters the NOC internal network.
  • the initial bridge of NOC1 is connected to the target bridge of NOC0, since the two NOCs have independent NOC buses, so the two different NOCs Signals cannot be directly transmitted between them.
  • the protocol conversion of the signal is performed in the target bridge according to the protocol rules, and the target bridge transmits the converted signal to the initial bridge of NOC1, and then the initial bridge will According to the received signal, do a protocol conversion again, so that the signal can enter the NOC1 internal network, so as to realize cross-NOC interconnection.
  • the target bridge is a protocol conversion bridge that converts the internal network protocol of the NOC to the interface protocol of the docking device.
  • the target bridge is connected to a slave device (such as memory, etc.), since the interface protocol between the slave device and the NOC internal network is different, when the signal is output from the NOC internal network, the signal protocol conversion will be performed in the target bridge. , so that the signal can enter the slave device.
  • NOC0 accesses NOC1 when two different NOCs are interconnected across NOCs, for example, NOC0 accesses NOC1, and the NOC0 target bridge is connected to the initial bridge of NOC1. Since NOC0 and NOC1 have independent NOC buses, the two NOCs cannot communicate with each other. Direct signal transmission.
  • the protocol conversion of the signal will be carried out in the target bridge according to the protocol rules, and the target bridge will send the converted signal to the initial bridge of NOC1, and then the initial bridge of NOC1.
  • the bridge will perform another protocol conversion according to the received signal, so that the signal can enter the NOC1 internal network, thereby realizing cross-NOC interconnection.
  • the main device connected to the initial bridge in the NOC can be an application processor (AP), a central processing unit (CPU), a graphics processing unit (GPU), Neural-network processing unit (NPU), modem processor, image signal processor (image signal processor, ISP), controller, memory, video codec, digital signal processor (digital signal processor) , DSP), baseband processor, etc.
  • AP application processor
  • CPU central processing unit
  • GPU graphics processing unit
  • NPU Neural-network processing unit
  • modem processor image signal processor
  • image signal processor image signal processor
  • ISP image signal processor
  • controller memory
  • video codec digital signal processor
  • DSP digital signal processor
  • baseband processor baseband processor
  • the slave device connected to the target bridge in the NOC can be Flash flash memory (eg, NAND flash memory, NOR flash memory, etc.), universal flash storage (UFS), embedded multimedia card eMMC, universal flash storage multi-chip package uMCP memory , Embedded multimedia card multi-chip package eMCP memory, solid state drive (SSD), mechanical hard disk (Hard Disk Drive, HDD), etc.
  • Flash flash memory eg, NAND flash memory, NOR flash memory, etc.
  • UFS universal flash storage
  • embedded multimedia card eMMC embedded multimedia card multi-chip package uMCP memory
  • Embedded multimedia card multi-chip package eMCP memory solid state drive (SSD), mechanical hard disk (Hard Disk Drive, HDD), etc.
  • SSD mechanical hard disk
  • HDD hard disk
  • FIG. 2 the structure of a system-on-chip in FIG. 2 is only an exemplary implementation in the embodiments of the present application, and the structural architecture of the system-on-chip in the embodiments of the present application includes but is not limited to the above architecture.
  • FIG. 3A is a schematic diagram of a system-on-chip provided by an embodiment of the present invention.
  • the system-on-chip 30 includes: a first network-on-chip NOC0 301 and a second network-on-chip NOC1 302.
  • the NOC0 301 includes a first initial bridge IB1 303 and a first target bridge TB1 304
  • the NOC1 302 includes a second initial bridge IB2 305. in:
  • the first initial bridge IB1 303 is configured to send a first session request, where the first session request includes a first session identifier, a first context entry number and the number of the IB1 303. It should be noted that the first initial bridge IB1 303 is the protocol conversion bridge that requests the initial session request of the device and is sent to the NOC0 internal network 306. When the initial session request passes through IB1 303, a first session request will be generated. It includes the request session identifier (such as the first session identifier), the number of the first context entry that records the request process in the IB1 303, and the number information of the IB1 303.
  • the requesting device is a GPU
  • the on-chip network of NOC1 302 is a register subsystem at this time, and the storage in the register subsystem multiple image data.
  • the GPU sends an initial session request to the IB1 303, and when the initial session request enters the IB1, the protocol conversion of the signal can be performed to generate the first session request.
  • the first session request may include NOC0 internal network request operation type information network0_req_opc, NOC0 internal network request payload information network0_req_pld, NOC0 internal network request target node identification information network0_req_dstid, NOC0 internal network request source identifier information network0_req_srcid, NOC0 internal network requests session identification information network0_req_tid, NOC0 internal network requests return information network0_req_retmsg.
  • the network0_req_opc information is the request read operation information
  • the network0_req_pld information carries other request information
  • the network0_req_dstid information can instruct the NOC0 internal network 306 to send the first session request to the TB corresponding to network0_req_dstid
  • network0_req_srcid is the number information of the IB1 mentioned above
  • network0_req_tid is the first session identifier mentioned above
  • network0_req_retmsg is the number of the first context entry mentioned above.
  • 3C is a schematic diagram of the internal structure of an IB1 provided by an embodiment of the present invention.
  • the initial session request enters the IB1 303 through the interface 1500, and the address decoder 1100 of the IB1 303 according to the initial session
  • the target address information in the request is decoded to obtain network0_req_dstid
  • the allocator 1200 in IB1 303 performs remapping according to the initial request device identification to obtain network0_req_tid
  • the allocator 1200 will allocate the entry in the first context table 308 for recording the request process information , at this time, IB1 303 can obtain network0_req_retmsg according to the entry number used to record the request process in the first upper text table.
  • FIG. 3B which is a schematic diagram of another system-on-chip provided by an embodiment of the present invention
  • the IB1 303 in the figure stores a first context table 308
  • the first context table 308 is stored in the first context table 308 .
  • the context table 308 includes multiple IB1 303 context entries; the IB1 303 is also used to store the requesting device session request identifier and the first session identifier in the first context entry 308 of the multiple IB1 303 context entries mapping relationship; the number of the first context entry 308 is the number of the first context entry.
  • the IB1 303 in the NOC0 301 when the IB1 303 in the NOC0 301 receives the session request of the requesting device, it will record the mapping relationship between the requesting device identification and the internal session identification of the NOC0 301 in the first context table 308 of the IB1 303. The reason is that the IB1 can Multiple different session requests are received continuously, each session request corresponds to a corresponding session response, and each session request identifier is consistent with its corresponding session response identifier. Therefore, when the IB1 303 receives the session response, it can find the corresponding requesting device according to the NOC0 301 internal session identifier in the session response, so as to notify the requesting device that the request has been responded to.
  • the requesting device is a GPU
  • the on-chip network of NOC1 302 is a register subsystem at this time, and the storage in the register subsystem multiple image data.
  • the IB1 303 in the figure includes the first context table 308, and the allocator 1200 in the IB1 303 will allocate the entries in the first context table 308 to record the request process information.
  • the entry number used to record the request process in the document table is network0_req_retmsg, it should be noted that network0_req_retmsg is the first context entry number mentioned above.
  • the NOC0 301 in the figure further includes a NOC0 internal network 306; the NOC0 internal network 306 is used for: receiving the first session sent by the IB1 303 request, the first session request further includes target node identification information; according to the target node identification information, determine the TB1 304 that matches the target node identification information; send the first session request to the TB1 304 .
  • the NOC0 301 may also include the NOC0 internal network 306.
  • the IB1 303 After the requesting device initiates a request through the IB1 303, the IB1 303 will generate a first session request according to the request of the requesting device, and then send the first session request to the NOC0 internal network 306, and then The NOC0 301 will send the first session request to the TB1 304 according to the target node identification information in the first session request, so that the TB1 304 can generate the second session request and send the second session request to the IB2 305 of the NOC1 302, thereby realizing NOC0 301 can access NOC1 302 more quickly.
  • the requesting device is a GPU
  • the on-chip network of NOC1 302 is a register subsystem at this time, and the storage in the register subsystem multiple image data.
  • the first session request also includes target node identification information.
  • the interface 1700 in the IB1 303 in the figure sends the first session request to the NOC0 internal network 306, and then the NOC0 internal network 306 sends the first session request according to the target node identification information.
  • the first session request is sent to the TB corresponding to the target node identification information.
  • the first target bridge TB1 304 is configured to receive the first session request; generate a second session request based on the first session request, and send the second session request to the IB2; the second session request includes the second session request The session identifier and the number of the first context entry; the second session identifier is generated after packaging the first session identifier and the number of the IB1.
  • FIG. 3D is a schematic structural diagram of a TB provided by an embodiment of the present invention.
  • TB1 304 includes a packing module 3500 and an unpacking module 3600.
  • the packaging module 3500 When TB1 304 receives the first input from the interface 3100 After the session request, in the packaging module 3500, the first session ID in the first session request and the serial number of IB1 are packaged to obtain the second session ID, and then a second session request carrying the second session ID is generated, and sent to the interface 3300 to the second session ID. IB2 305 of NOC1 302 sends the second session request.
  • the requesting device is a GPU
  • the on-chip network of NOC1 302 is a register subsystem at this time, and the storage in the register subsystem multiple image data.
  • the first session request sent by the IB1 303 of the NOC0 301 to the TB1 304 includes the NOC0 internal network request operation type information network0_req_opc, the NOC0 internal network request payload information network0_req_pld, the NOC0 internal network request target node identification information network0_req_dstid, the NOC0 internal network Request source identifier information network0_req_srcid, NOC0 internal network request session identification information network0_req_tid, NOC0 internal network request return information network0_req_retmsg, when the first session request enters TB1 through interface 3100 of TB1304, the packaging module 3500 of TB1 304 will The network request source identifier information network0_req_srcid and the NOC0 internal network request session identification information network0_req_tid are packaged to obtain the NOC0 external session identification information, thereby generating a second session request carrying the NOC0 external session identification information, and sending
  • the second initial bridge IB2 305 is configured to receive the second session request; generate a first session response based on the second session request, and send the first session response to the TB1; the first session response includes the second session identifier and the first context entry number.
  • IB2 305 of NOC1 302 can generate a first session response according to the second session request and send the first session response to TB1 304.
  • the second session request may include the information shown in the signal 810 in the figure, and the NOC0 external request operation type information req_opc, NOC0 External request address information req_addr, NOC0 external request data information req_data, NOC0 external request session identification information req_tid, NOC0 external request return information req_retmsg.
  • the first session response may include the information shown in the signal 820 in the figure, NOC0 external response operation type information rsp_opc, NOC0 external response data information rsp_data, NOC0 external response session identification information rsp_tid, and NOC0 external response rsp_retmsg return information.
  • NOC0 external request session identification information req_tid and the NOC0 external response session identification information rsp_tid are the above-mentioned second session identifiers
  • the NOC0 external request return information req_retmsg and the NOC0 external response rsp_retmsg return information are the first mentioned above. Context entry number.
  • the IB2 305 package in the figure stores a second context table 309, and the second context table 309 includes multiple IB2 context entries; the IB2 305 , and is further used for: performing remapping according to the second session identifier to obtain a third session identifier; storing the second session identifier and the third session identifier in the second context entry 309 of the multiple IB2 context entries
  • the second session request to enter NOC1 302 needs to perform protocol conversion at IB2 305.
  • the second session request carries NOC0 internal network information, wherein NOC0 internal network information includes the second NOC0 external session identification information and IB1 context entry number, so IB2 305 is in the
  • NOC1 internal session identification information is remapped according to the second NOC0 external session identification information, and then the mapping relationship between the second NOC0 external session identification information and the NOC1 internal session identification information, the second NOC0 external session identification information
  • the information and IB1 context entry number is stored in the IB2 context entry of the IB2 context table.
  • the corresponding NOCO internal network information can be found in the IB2 305 context table according to the IB2 context entry number in the session response.
  • the NOC0 internal network information By storing and searching the NOC0 internal network information in the context table of IB2 305, the delay and unnecessary chip area overhead caused by storing and searching NOC0 internal network information in the context table of TB1 304 are avoided, thereby simplifying the TB1 304
  • the internal structure can also improve the protocol conversion efficiency of signals in the process of inter-NOC interconnection.
  • FIG. 3F is a schematic structural diagram of an IB2 provided by an embodiment of the present invention.
  • the IB2 305 receives the second session request through the interface 4500, the IB2 305 generates a third session according to the second session request. request, and output the third session request from interface 4700.
  • the second session request may include NOC0 external request operation type information req_opc, NOC0 external request address information req_addr, NOC0 external request data information req_data, NOC0 external request session identification information req_tid, and NOC0 external request return information req_retmsg.
  • the third session request may include NOC1 internal network request operation type information network1_req_opc, NOC1 internal network request payload information network1_req_pld, NOC1 internal network request target node identification information network1_req_dstid, NOC1 internal network request source identifier information network1_req_srcid, NOC1 Internal network request session identification information network1_req_tid, NOC1 internal network request return information network1_req_retmsg.
  • the address decoder 4100 of IB2 305 decodes req_addr to obtain network1_req_dstid
  • the allocator 4200 of IB2 305 remaps req_tid to obtain network1_req_tid
  • the allocator 4200 allocates entries in the second context table 309 for storage
  • the mapping relationship between req_tid, req_tid and network1_req_tid and req_retmsg, and network1_req_retmsg is obtained according to the number of the entry.
  • req_tid is the second session identifier mentioned above
  • network1_req_tid is the third session identifier mentioned above
  • req_retmsg is the first context entry number mentioned above
  • network1_req_retmsg is the second context entry number mentioned above.
  • the NOC1 302 in the figure further includes the NOC1 internal network 307 ; the IB2 305 is further configured to send the third session to the NOC1 internal network 307
  • the NOC1 internal network 307 is configured to: receive the third session request and respond to the third session request; generate a third session response based on the third session request, and send the third session response to the IB2 305 the third session response; the third session response includes the second context entry number.
  • NOC1 302 may also include NOC1 internal network 307, when IB2 305 receives the second session request sent by NOC0 301, it will generate a third session request, and then send the third session request to NOC1 internal network 307, and then The NOC1 internal network 307 will generate a third session response after responding accordingly according to the request, and send the third session response to the IB2 305.
  • the IB2 context entry number is included in the third session response, and its purpose is to facilitate the IB2 305 to search for the NOCO internal network information previously stored in the IB2 context table according to the third session response after receiving the third session response.
  • the requesting device is a GPU
  • the on-chip network of NOC1 302 is a register subsystem at this time, and the storage in the register subsystem multiple image data.
  • the NOC1 302 can also include the NOC1 internal network 307.
  • the IB2 305 After the IB2 305 generates the third session request according to the second session request, it can send the third session request to the NOC1 internal network 307, instructing the NOC1 internal network 307 to read in the corresponding register image data.
  • the NOC1 internal network 307 reads the picture data in the corresponding register, and generates a third session response.
  • the third session response may include: NOC1 internal network response operation type information network1_rsp_opc, NOC1 internal network response payload information network1_rsp_pld, NOC1 internal network response target node identification information network1_rsp_dstid, NOC1 internal network response source identifier information network1_rsp_srcid,
  • the NOC1 internal network response returns the information network1_rsp_retmsg. It should be noted that network1_rsp_retmsg is the number of the second context entry mentioned above, and the third session response is used to notify the IB2 305 that the NOC1 internal network 307 has responded to the request of the third session request.
  • the IB2 305 is further configured to: receive the third session response, according to the second context entry number in the third session response, according to the second context entry number to look up the second context entry in the second context table, and obtain the second session identifier and the first context entry number stored in the second context entry; based on the second session identifier and the number of the first context entry; The first context entry number generates the first session response.
  • the IB2 305 can look up the previously stored NOC0 internal network information in the IB2 context table according to the IB2 context entry number in the third session response, wherein
  • the NOC0 internal network information includes the NOC0 external session identification information and the NOC1 internal session identification information, the NOC0 external session identification information and the IB1 context entry number.
  • the IB2 305 can generate the first session response according to the NOC0 internal network information, and then send the first response to the TB1 304 of the NOC0 301.
  • the IB2 305 can read the NOC0 internal network information in the IB2 context table according to the third session response, avoiding the delay and unnecessary chip area caused by storing and searching the NOC0 internal network information in the context table of the TB1 304 In this way, the internal structure of TB1 304 can be simplified, and the protocol conversion efficiency of signals in the process of inter-NOC interconnection can also be improved.
  • the requesting device is a GPU
  • the on-chip network of NOC1 302 is a register subsystem at this time, and the storage in the register subsystem multiple image data.
  • the NOC1 internal network 307 When the NOC1 internal network 307 reads the data in the corresponding register according to the request in the third session request, it sends the third session response to the IB2 305. After receiving the third session response, the IB2 305 generates the first session response.
  • the third session response may include NOC1 internal network response operation type information network1_rsp_opc, NOC1 internal network response payload information network1_rsp_pld, NOC1 internal network response target node identification information network1_rsp_dstid, NOC1 internal network response source identifier information network1_rsp_srcid, NOC1
  • the internal network response returns the information network1_rsp_retmsg.
  • the first session response may include NOC0 external response operation type information rsp_opc, NOC0 external response data information rsp_data, NOC0 external response session identification information rsp_tid, and NOC0 external response rsp_retmsg return information.
  • the third session response enters IB2 305 through interface 4800, and the index module 4400 in IB2 305 queries and obtains rsp_tid and rsp_retmsg information in the second context table 309 according to network1_rsp_retmsg in the third session response, thereby generating the first A response message.
  • the first response information is used to notify TB1 304 that the request for the second session request has been responded to on NOC1 302. It should be noted that req_tid is the second session identifier mentioned above, network1_req_tid is the third session identifier mentioned above, req_retmsg is the first context entry number mentioned above, and network1_req_retmsg is the second context entry number mentioned above. .
  • the first target bridge TB1 304 is further configured to receive the first session response; unpack the second session identifier to obtain the number of the IB1, and generate a second session response, where the second session response includes the IB1 number and the first context entry number.
  • the requesting device is a GPU
  • the on-chip network of NOC1 302 is a register subsystem at this time, and the storage in the register subsystem multiple image data.
  • the IB2 305 of the NOC1 302 will send the first session response to the TB1 304 of the NOC0 301.
  • the second session response is generated when the TB1 304 receives the first session response.
  • the first session response includes NOC0 external response operation type information rsp_opc, NOC0 external response data information rsp_data, NOC0 external response session identification information rsp_tid, and NOC0 external response rsp_retmsg return information.
  • the second session response includes NOC0 internal network response operation type information network0_rsp_opc, NOC0 internal network response payload information network0_rsp_pld, NOC0 internal network response target node identification information network0_rsp_dstid, NOC0 internal network response source identifier information network0_rsp_srcid, NOC0 internal network response source identifier information network0_rsp_srcid, NOC0 internal network response target node identification information network0_rsp_dstid
  • the network response returns the information network0_rsp_retmsg. Specifically, as shown in FIG.
  • network0_rsp_srcid is the serial number information of the TB1304 on NOC0. In this case, network0_rsp_srcid can be a fixed value.
  • rsp_tid is the above-mentioned second session identifier
  • network0_rsp_dstid is the above-mentioned number of the IB1
  • network0_rsp_retmsg is the above-mentioned first context entry number.
  • the TB1 304 is further configured to send the second session response to the NOCO internal network 306; the NOCO internal network 306 is further configured to: receive the second session response , and send the second session response to the IB1 303 according to the number of the IB1 303.
  • the TB1 304 of the NOC0 301 receives the first session response sent by the IB2 305 of the NOC1 302
  • the TB1 304 will unpack the second NOC0 external session identification information in the first session response to obtain the NOC0 internal session identification information and IB1 number information, generate a second session response including NOC0 internal session identification information, IB1 number information and IB1 context entry number.
  • TB1 304 will send the second session response to NOC0 internal network 306, and then NOC0 internal network 306 will send the second session response to IB1 303 according to the IB1 number information, notifying IB1 303 that NOC1 302 has responded to the first session A request for a session request. Therefore, the improved TB1 304 only needs to pack and unpack the information, avoiding the delay and unnecessary chip area overhead caused by storing and searching NOC0 internal network information in the TB1 303 context table, thereby simplifying the internal structure of the TB1303. At the same time, it can also improve the protocol conversion efficiency of signals in the process of inter-NOC interconnection.
  • the requesting device is a GPU
  • the on-chip network of NOC1 302 is a register subsystem at this time, and the storage in the register subsystem multiple image data.
  • the TB1 304 After the TB1 304 generates the second session response, it sends the second session response to the NOC0 internal network 306 through the interface 3200 in FIG. 3D .
  • the second session response includes the NOC0 internal network response operation type information network0_rsp_opc, the NOC0 internal network response Payload information network0_rsp_pld, NOC0 internal network response target node identification information network0_rsp_dstid, NOC0 internal network response source identifier information network0_rsp_srcid, NOC0 internal network response return information network0_rsp_retmsg.
  • the NOC0 internal network 306 sends the second session response to the IB corresponding to the network0_rsp_dstid according to the network0_rsp_dstid, in order to notify its request that the response has been received on the NOC1 302. It should be noted that network0_rsp_dstid is the number information of IB1 303 mentioned above.
  • the IB1 303 is further configured to: receive the second session response, and, according to the number of the first context entry in the second response signal, record in the first context table Find the mapping relationship between the session request ID of the requesting device and the first session ID; the session request ID of the requesting device corresponds to the target requesting device; send a fourth session to the target requesting device based on the second session response response; the first session response is used to notify the requesting device that the request has been completed.
  • the IB1 303 of the NOC0 301 searches the IB1 context table for the previously recorded session request identifier of the requesting device according to the IB1 context entry number in the second session response Mapping relationship with NOC0 internal session identification information, so that IB1 303 can send the fourth session response to the corresponding requesting device based on the second session response, notifying that the request of the requesting device has been responded to on NOC1 302.
  • the delay and unnecessary chip area overhead caused by storing and searching the NOC0 internal network information in the context table of the TB1 304 are avoided, thereby simplifying the internal structure of the TB1 304 and improving the The protocol conversion efficiency of signals in the process of interconnection across NOCs enables NOC0 303 to access NOC1 304 more quickly.
  • the requesting device is a GPU
  • the on-chip network of NOC1 302 is a register subsystem at this time, and the storage in the register subsystem multiple image data.
  • the second session response includes NOC0 internal network response operation type information network0_rsp_opc, NOC0 internal network response payload information network0_rsp_pld, NOC0 internal network response target node identification information network0_rsp_dstid, NOC0 internal network response
  • NOC0 internal network response In response to the origin identifier information network0_rsp_srcid and NOC0 internal network response return information network0_rsp_retmsg, as shown in FIG.
  • the index module 1400 of IB1 303 in the figure can query the previous request record in the first context table 308 according to network0_rsp_retmsg, which is convenient for subsequent notification requests The corresponding session request of the device has been responded in the NOC1 internal network 307 .
  • the first initial bridge IB1 is specifically configured to: send multiple session requests in target order, where the multiple session requests include the first session request; receive in the target order multiple session responses, the session responses including the second session responses; according to the target order, based on the multiple session responses, respectively send the processed session responses to multiple requesting devices; the multiple requesting devices include For the target requesting device, one of the processed session responses is the fourth session response.
  • IB1 when IB1 receives multiple initial request sessions, and these initial session request identifiers are the same, then when IB1 converts into multiple first request sessions, it requires NOC0 internal session request identifiers to be the same, and requires NOC0 and NOC1 It is ensured that the same session request identifiers reach the NOC1 internal network in the target order, so that after the request is responded to by the NOC1 internal network, the response sessions are respectively sent to IB1 in the above target order. For example, IB1 receives 100 request sessions sent from the master device, and these initial session request identifiers are the same. After IB1 receives the 100 request sessions, it should be noted that IB1 converts the 100 initial session requests into multiple first session requests. When requesting a session, it is required that the internal session request identifier of NOC0 be the same. Next, IB1 will send the request session to NOC1 according to the request sequence of this 100 request session. The request sequence receives the corresponding response session respectively.
  • the above-mentioned second session request and the first session response carry the NOC0 internal network information, thereby simplifying the internal structure of the TB1 304 at the same time It can also improve the protocol conversion efficiency of signals in the process of inter-NOC interconnection.
  • the NOC internal network information includes NOC0 internal session identification information, which is used for recording in IB1 303
  • the IB1 context entry number and IB1 number information of the mapping relationship between the requesting device and the NOC0 internal session identification information so the TB1 304 packs the NOC0 internal session identification information and the IB1 number information to obtain the second NOC0 external session identification information, and then sends it to the IB2 of the NOC1 302 305 Send a second session request, where the second session request includes the second NOC0 external session identification information and the IB1 context entry number, so that the second session request carries the NOC0 internal network information.
  • IB2 305 After IB2 305 receives the second session request, IB2 305 generates a first session response for the second session request, and then sends the first session response to TB1 304.
  • TB1 304 After TB1 304 receives the first session response, since the first session response includes NOC0 internal network information, wherein the NOC internal network information includes the second NOC0 external session identification information and the IB1 context entry number, TB1 304 will The NOC0 external session identification information is unpacked to obtain the NOC0 internal session identification information and the IB1 number information, and then a second session response is generated according to the NOC0 internal session identification information, the IB1 number information and the IB1 context entry number.
  • TB1 304 is improved, so that the second session request and the first session response carry NOC0 internal network information, avoiding the delay caused by storing and searching NOC0 internal network information in the context table of TB1 304 Time and unnecessary chip area overhead, thereby simplifying the internal structure of TB1 304 and improving the protocol conversion efficiency of signals in the process of cross-NOC interconnection.
  • An embodiment of the present invention provides a system-on-chip communication method, wherein the system-on-chip includes a first network-on-chip NOC0 and a second network-on-chip NOC1; the NOC0 includes a first initial bridge IB1 and a first target bridge TB1, The NOC1 includes a second initial bridge; the method includes: the first initial bridge IB1 sends a first session request, where the first session request includes a first session identifier, a first context entry number, and the number of the IB1 ; the first target bridge TB1 receives the first session request; generates a second session request based on the first session request, and sends the second session request to the IB2; the second session request includes the second session request the identifier and the first context entry number; the second session identifier is generated after packaging the first session identifier and the number of the IB1; the second initial bridge IB2 receives the second session request; Generate a first session response based on the second session request, and send the first session
  • the NOC0 further includes a NOC0 internal network; the method further includes: the NOC0 internal network receives the first session request sent by the IB1, and the first session request further includes target node identification information; determine the TB1 matching the target node identification information according to the target node identification information; send the first session request to the TB1.
  • a first context table is stored in the IB1, and the first context table includes multiple IB1 context entries; the method further includes: the IB1 is stored in the multiple IB1 contexts
  • the first context entry in the entry stores the mapping relationship between the request device session request identifier and the first session identifier; the number of the first context entry is the number of the first context entry.
  • the IB2 packet stores a second context table, and the second context table includes multiple IB2 context entries; the method further includes: the IB2 according to the second session The identification is remapped to obtain a third session identification; the mapping relationship between the second session identification and the third session identification, the second session identification and the number of the first context entry; the number of the second context entry is the number of the second context entry; a third session request is generated; the third session request includes the IB2 number, the third session identifier, the Second context entry number.
  • the NOC1 further includes the NOC1 internal network; the method further includes: the IB2 sends the third session request to the NOC1 internal network; the NOC1 internal network receives the the third session request, and responding to the third session request; generating a third session response based on the third session request, and sending the third session response to the IB2; the third session response includes the Second context entry number.
  • the method further includes: the IB2 receives the third session response, and according to the second context entry number in the third session response, according to the second context entry number to look up the second context entry in the second context table, and obtain the second session identifier and the first context entry number stored in the second context entry; based on the second session identifier and the number of the first context entry; The first context entry number generates the first session response.
  • the method further includes: the TB1 sends the second session response to the NOC0 internal network; the NOC0 internal network receives the second session response, and sends the second session response to the NOCO internal network according to the The number of IB1 sends the second session response to the IB1.
  • the method further includes: the IB1 receives the second session response, and according to the first context entry number in the second response signal, in the first context table Find the mapping relationship between the session request identifier of the requesting device and the first session identifier; send a fourth session response to the requesting device based on the second session response; the first session response is used to notify the The requesting device has completed the request.
  • the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method described in any one of the above claims is implemented.
  • the present application provides a computer program, characterized in that the computer-readable program includes instructions, which, when the computer program is executed by a processor, cause the processor to execute the method described in any one of the preceding claims. method.
  • the present application provides an on-chip network interface device, wherein the system-on-chip includes a first network-on-chip NOC0 and a second network-on-chip NOC1; the NOC0 includes a first initial bridge IB1 and a first target bridge TB1, and the NOC1 includes a second initial bridge IB2; the first initial bridge IB1 is configured to send a first session request, where the first session request includes a first session identifier, a first context entry number, and the number of the IB1; the The first target bridge TB1 is configured to receive the first session request; generate a second session request based on the first session request, and send the second session request to the IB2; the second session request includes the second session identifier and the number of the first context entry; the second session identifier is generated after packaging based on the first session identifier and the number of the IB1; the second initial bridge IB2 is used to receive the second a session request; generate a first session response based on the second session request, and send
  • An embodiment of the present invention further provides a computer-readable storage medium, wherein the computer-readable storage medium may store a program, and when the program is executed by a multi-core processor, the program includes part or all of any one of the foregoing method embodiments step.
  • An embodiment of the present invention also provides a computer program, the computer program includes instructions, when the computer program is executed by a multi-core processor, the multi-core processor can execute part or all of the steps of any multi-core processor processing method .
  • the disclosed apparatus may be implemented in other manners.
  • the device embodiments described above are only illustrative.
  • the division of the above-mentioned units is only a logical function division.
  • multiple units or components may be combined or integrated. to another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical or other forms.
  • the units described above as separate components may or may not be physically separated, and components shown as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
  • the integrated units are implemented in the form of software functional units and sold or used as independent products, they may be stored in a computer-readable storage medium.
  • the technical solutions of the present application can be embodied in the form of software products in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, and the computer software products are stored in a storage medium , including several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc., specifically a processor in the computer device) to execute all or part of the steps of the foregoing methods in the various embodiments of the present application.
  • a computer device which may be a personal computer, a server, or a network device, etc., specifically a processor in the computer device
  • the aforementioned storage medium may include: U disk, mobile hard disk, magnetic disk, optical disk, Read-Only Memory (Read-Only Memory, abbreviation: ROM) or Random Access Memory (Random Access Memory, abbreviation: RAM) and so on.
  • U disk mobile hard disk
  • magnetic disk magnetic disk
  • optical disk Read-Only Memory
  • Random Access Memory Random Access Memory

Landscapes

  • Computer And Data Communications (AREA)

Abstract

一种片上系统,片上系统包括NOC0(301)和NOC1(302);NOC0(301)包括IB1(303)和TB1(304),NOC1(302)包括第二初始桥IB2(305);IB1(303)用于发送第一会话请求,第一会话请求包括第一会话标识、第一上下文条目编号和IB1(303)的编号;TB1(304)用于接收第一会话请求;基于第一会话请求生成第二会话请求,并向IB2(305)发送第二会话请求;第二会话请求包括第二会话标识和第一上下文条目编号;IB2(305)用于接收第二会话请求;基于第二会话请求生成第一会话响应,并向TB1(304)发送第一会话响应;第一会话响应包括第二会话标识和第一上下文条目编号;第一目标桥TB1(304)用于接收第一会话响应生成第二会话响应。可以提升跨NOC互联过程中信号的协议转换效率。

Description

一种片上系统及相关方法 技术领域
本申请涉及半导体技术领域,尤其涉及一种片上系统及相关方法。
背景技术
随着半导体工艺技术步入纳米阶段,在单一芯片中集成上亿晶体管已经成为现实。目前,在单片系统芯片(System On Chip,SOC)上可以集成数十甚至更多的处理器,但相较于传统的总线结构无法有效支持越来越多的处理器,而片上网络(Network On Chip,NOC)就是用于解决多处理器互联最有效的方案。
NOC是指在单芯片上集成大量的计算资源以及连接这些资源的片上通信网络,其中在NOC中包括了多个不同功能的子系统(例如音频系统等),且这些子系统之间可通过NOC总线实现互联。然而,如果使用一个NOC总线将两个子系统进行互联,则会存在由于一个子系统内部结构调整(例如增加端口或拓扑结构变化),导致其他子系统代码变化的情况。为了避免这种情况,通常会根据需求给部分子系统设计独立的NOC总线,与系统中的其他子系统的NOC总线实现解耦,然后NOC子系统之间通过接口协议进行信息转换,从而实现跨NOC互联。
但在现有的跨NOC互联的接口协议设计中,信号在NOC子系统输出并进入到另一个NOC子系统的过程中需要进行较为复杂的协议转换,导致芯片面积和通信延时增加。因此,如何在实现跨NOC互联过程中,有效提高信号的协议转换是亟待解决的问题。
发明内容
本发明实施例提供一种片上系统及相关方法,以提升在实现跨NOC互联过程中信号的协议转换效率。
第一方面,本发明实施例提供了一种片上系统,其特征在于,所述片上系统包括第一片上网络NOC0和第二片上网络NOC1;所述NOC0包括第一初始桥IB1和第一目标桥TB1,所述NOC1包括第二初始桥IB2;所述第一初始桥IB1,用于发送第一会话请求,所述第一会话请求包括第一会话标识、第一上下文条目编号和所述IB1的编号;所述第一目标桥TB1,用于接收所述第一会话请求;基于所述第一会话请求生成第二会话请求,并向所述IB2发送第二会话请求;所述第二会话请求包括第二会话标识和所述第一上下文条目编号;所述第二会话标识为基于所述第一会话标识和所述IB1的编号打包后生成的;所述第二初始桥IB2,用于接收所述第二会话请求;基于所述第二会话请求生成第一会话响应,并向所述TB1发送所述第一会话响应;所述第一会话响应包括所述第二会话标识和所述第一上下文条目编号;所述第一目标桥TB1,还用于接收所述第一会话响应;将所述第二会话标识解包获得所述IB1的编号,生成第二会话响应,所述第二会话响应包括所述IB1的编号和所述第一上下文条目编号。
现有技术中,由于片上网络之间有独立的NOC总线,因此在第一片上网络NOC0与第二片上网络NOC1进行跨NOC通信时,信号需要进行协议转换。具体地,当NOC0的TB1接收到NOC0的IB1的第一会话请求后,在第一会话请求中包括了NOC0内部网络信 息,TB1会将这些NOC0内部网络信息存储在TB1上下文表中,并且TB1根据NOC0内部网络信息中的NOC0内部会话标识信息进行重新映射得到第一NOC0外部会话标识信息,然后向NOC1的IB2发送包括第一NOC0外部会话标识信息的第二会话请求。接下来,当TB1接收到针对第一会话请求的第一会话响应后,再根据第一会话响应中的第一NOC0外部会话标识信息在TB1上下文表中查找相应的NOC0内部网络信息。综上现有技术中在NOC0与NOC1进行通信时,TB1向IB2发送的第二会话请求和TB1接收到的第一会话响应中没有携带NOC0内部网络信息,而NOC0内部网络信息存储在TB1上下文表中,从而TB1接收到针对第一会话请求的第一会话响应后只能通过查找TB1上下文表,才能获取NOC0内部网络信息,导致了NOC0访问NOC1延时增加同时也会导致芯片面积开销增加。
基于上述,在本发明实施例中,通过对NOC0中的TB1进行改进,使得上述提及的第二会话请求和第一会话响应中携带上NOC0内部网络信息,从而简化TB1的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率。具体地,当TB1接收到IB1的第一会话请求后,由于在第一会话请求中包括了NOC0内部网络信息,其中NOC内部网络信息包括了NOC0内部会话标识信息、IB1中用于记录请求设备与NOC0内部会话标识信息映射关系的IB1上下文条目编号和IB1编号信息,因此TB1将NOC0内部会话标识信息和IB1编号信息进行打包得到第二NOC0外部会话标识信息,然后向NOC1的IB2发送第二会话请求,第二会话请求中包括了第二NOC0外部会话标识信息和IB1上下文条目编号,从而第二会话请求携带了NOC0内部网络信息。接下来,IB2接收到第二会话请求后,IB2会针对第二会话请求生成第一会话响应,然后向TB1发送第一会话响应。当TB1接收到第一会话响应后,由于第一会话响应中包括了NOC0内部网络信息,其中NOC内部网络信息包括了第二NOC0外部会话标识信息和IB1上下文条目编号,因此TB1将第二NOC0外部会话标识信息进行解包得到NOC0内部会话标识信息和IB1编号信息,然后根据NOC0内部会话标识信息、IB1编号信息和IB1上下文条目编号生成第二会话响应。通过实施本发明实施例,对TB1进行改进,使得第二会话请求和第一会话响应中携带NOC0内部网络信息,避免了在TB1的上下文表中存储和查找NOC0内部网络信息带来的延时和不必要的芯片面积开销,从而简化TB1的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率。
在一种可能的实现方式中,所述NOC0还包括NOC0内部网络;所述NOC0内部网络,用于:接收所述IB1发送的所述第一会话请求,所述第一会话请求还包括目标节点标识信息;根据所述目标节点标识信息,确定与所述目标节点标识信息匹配的所述TB1;向所述TB1发送所述第一会话请求。
在本发明实施例中,NOC0还可以包括NOC0内部网络,当请求设备通过IB1发起请求后,IB1会根据请求设备的请求生成第一会话请求,然后向NOC0内部网络发送第一会话请求,接下来NOC0会根据第一会话请求中的目标节点标识信息将第一会话请求发送给TB1,从而使得TB1能够生成第二会话请求并且向NOC1的IB2发送第二会话请求,从而实现NOC0可以更加快速的访问NOC1。
在一种可能的实现方式中,所述IB1中存储有第一上下文表,所述第一上下文表中包括多个IB1上下文条目;所述IB1,还用于:在所述多个IB1上下文条目中的第一上下文 条目中存储请求设备会话请求标识和所述第一会话标识的映射关系;所述第一上下文条目的编号为所述第一上下文条目编号。
在本发明实施例中,当NOC0中的IB1接收到请求设备的会话请求后,会在IB1上下文表中记录下该请求设备标识与NOC0内部会话标识的映射关系,其原因是IB1可以连续接收到多个不同的会话请求,每个会话请求都会对应一个相应的会话响应且每个会话请求标识与其对应的会话响应标识一致。因此当IB1接收会话响应后,可以根据会话响应中的条目编号,查询IB1对应的条目,得到请求设备的会话标识最为会话响应标识,便于通知该请求设备相应的请求已经得到响应。
在一种可能的实现方式中,所述IB2包中存储有第二上下文表,所述第二上下文表中包括多个IB2上下文条目;所述IB2,还用于:根据所述第二会话标识进行重映射得到第三会话标识;在所述多个IB2上下文条目中的第二上下文条目中存储所述第二会话标识与所述第三会话标识的映射关系、所述第二会话标识和所述第一上下文条目编号;所述第二上下文条目的编号为所述第二上下文条目编号;生成第三会话请求;所述第三会话请求包括IB2编号、所述第三会话标识、所述第二上下文条目编号。
在本发明实施例中,由于NOC0与NOC1跨NOC进行通信,所以第二会话请求进入NOC1需要在IB2进行协议转换。具体地,当TB1向IB2发送第二会话请求后,由于该第二会话请求中携带了NOC0内部网络信息,其中NOC0内部网络信息包括第二NOC0外部会话标识信息和IB1上下文条目编号,所以IB2在接收到第二会话请求后,会根据第二NOC0外部会话标识信息重映射得到NOC1内部会话标识信息,然后将第二NOC0外部会话标识信息与NOC1内部会话标识信息映射关系、第二NOC0外部会话标识信息和IB1上下文条目编号存储在IB2上下文表的IB2上下文条目中。当IB2接收到针对第二会话请求的响应信号后,可根据会话响应中的IB2上下文条目编号,在IB2上下文表中查找到相应的NOC0内部网络信息。通过在IB2的上下文表中存储和查找NOC0内部网络信息,避免了在TB1的上下文表中存储和查找NOC0内部网络信息带来的延时和不必要的芯片面积开销,从而简化TB1的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率。
在一种可能的实现方式中,所述NOC1还包括所述NOC1内部网络;所述IB2,还用于向所述NOC1内部网络发送所述第三会话请求;所述NOC1内部网络,用于:接收所述第三会话请求,响应于所述第三会话请求;基于所述第三会话请求生成第三会话响应,并向所述IB2发送所述第三会话响应;所述第三会话响应包括所述第二上下文条目编号。
在本发明实施例中,NOC1中还可以包括NOC1内部网络,当IB2接收到由NOC0发送的第二会话请求后会生成第三会话请求,然后向NOC1内部网络发送该第三会话请求,接下来NOC1内部网络会根据请求进行相应的响应后生成第三会话响应,并向IB2发送该第三会话响应。在第三会话响应中包括了IB2上下文条目编号,其目的是便于IB2接收到第三会话响应后根据该第三会话响应查找之前存储在IB2上下文表中的NOC0内部网络信息。
在一种可能的实现方式中,所述IB2,还用于:接收所述第三会话响应,根据所述第三会话响应中的所述第二上下文条目编号,根据所述第二上下文条目编号在所述第二上下文表中查找所述第二上下文条目,获取所述第二上下文条目中存储的所述第二会话标识和 所述第一上下文条目编号;基于所述第二会话标识和所述第一上下文条目编号生成所述第一会话响应。
在本发明实施例中,当IB2接收到由NOC1内部网络发送的第三会话响应后,可以根据该第三会话响应中的IB2上下文条目编号,在IB2上下文表中查找之前存储的NOC0内部网络信息,其中该NOC0内部网络信息中包括NOC0外部会话标识信息与NOC1内部会话标识信息、NOC0外部会话标识信息和IB1上下文条目编号。接下来IB2可根据NOC0内部网络信息生成第一会话响应,然后将该第一响应发送给NOC0的TB1。因此,IB2根据第三会话响应可在IB2上下文表中读取出NOC0内部网络信息,避免了在TB1的上下文表中存储和查找NOC0内部网络信息带来的延时和不必要的芯片面积开销,从而简化TB1的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率。
在一种可能的实现方式中,所述TB1,还用于向所述NOC0内部网络发送所述第二会话响应;所述NOC0内部网络,还用于:接收所述第二会话响应,并向根据所述IB1的编号向所述IB1发送所述第二会话响应。
在本发明实施例中,当NOC0的TB1接收到NOC1的IB2发送的第一会话响应后,TB1会将第一会话响应中的第二NOC0外部会话标识信息进行解包得到NOC0内部会话标识信息和IB1编号信息,生成包括NOC0内部会话标识信息、IB1编号信息和IB1上下文条目编号的第二会话响应。接下来,TB1会将该第二会话响应发送给NOC0内部网络,然后NOC0内部网络根据IB1编号信息将第二会话响应发送给IB1,通知IB1在NOC1上已经响应了第一会话请求的请求。因此改进后的TB1只需进行信息的打包和解包,避免了在TB1上下文表中存储和查找NOC0内部网络信息带来的延时和不必要的芯片面积开销,从而简化TB1的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率。
在一种可能的实现方式中,所述IB1,还用于:接收所述第二会话响应,根据所述第二响信号中的所述第一上下文条目编号,在所述第一上下文表中查找与所述请求设备会话请求标识和所述第一会话标识的映射关系;所述请求设备会话请求标识对应目标请求设备;基于所述第二会话响应向所述目标请求设备发送第四会话响应;所述第一会话响应用于通知所述请求设备已完成请求。
在本发明实施例中,当NOC0的IB1接收到NOC0内部网络发送的第二会话响应后,会根据第二会话响应中的IB1上下文条目编号在IB1上下文表中查找之前记录的请求设备与NOC0内部会话标识信息映射关系,从而IB1可基于第二会话响应将第四会话响应发送给相应的请求设备,通知该请求设备的请求已经在NOC1上得到响应。通过实施本发明提供的实施例,避免了在TB1的上下文表中存储和查找NOC0内部网络信息带来的延时和不必要的芯片面积开销,从而简化TB1的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率,实现了NOC0能够更加快速的访问NOC1。
在一种可能的实现方式中,所述第一初始桥IB1,具体用于:按照目标顺序发送多个会话请求,所述多个会话请求包括所述第一会话请求;按照所述目标顺序接收多个会话响应,所述会话响应包括所述第二会话响应;按照所述目标顺序,基于所述多个会话响应向多个请求设备分别发送处理后的会话响应;所述多个请求设备包括所述目标请求设备,所述处理后的会话响应中的其中一个为所述第四会话响应。
在本发明实施例中,当IB1接收到多个初始请求会话时,且这些初始会话请求标识相同,那么IB1在转换成多个第一请求会话时,要求NOC0内部会话请求标识是相同的,且要求NOC0和NOC1确保相同的会话请求标识到达NOC1内部网络是按照目标顺序的,从而使得请求在NOC1内部网络响应后,响应会话按照上述目标顺序分别发送给IB1。
第二方面,本发明实施例提供一种片上系统通信方法,其特征在于,所述片上系统包括第一片上网络NOC0和第二片上网络NOC1;所述NOC0包括第一初始桥IB1和第一目标桥TB1,所述NOC1包括第二初始桥;所述方法包括:所述第一初始桥IB1发送第一会话请求,所述第一会话请求包括第一会话标识、第一上下文条目编号和所述IB1的编号;所述第一目标桥TB1接收所述第一会话请求;基于所述第一会话请求生成第二会话请求,并向所述IB2发送第二会话请求;所述第二会话请求包括第二会话标识和所述第一上下文条目编号;所述第二会话标识为基于所述第一会话标识和所述IB1的编号打包后生成的;所述第二初始桥IB2接收所述第二会话请求;基于所述第二会话请求生成第一会话响应,并向所述TB1发送所述第一会话响应;所述第一会话响应包括所述第二会话标识和所述第一上下文条目编号;所述第一目标桥TB1接收所述第一会话响应;将所述第二会话标识解包获得所述IB1的编号,生成第二会话响应,所述第二会话响应包括所述IB1的编号和所述第一上下文条目编号。
在一种可能的实现方式中,所述NOC0还包括NOC0内部网络;所述方法还包括:所述NOC0内部网络接收所述IB1发送的所述第一会话请求,所述第一会话请求还包括目标节点标识信息;根据所述目标节点标识信息,确定与所述目标节点标识信息匹配的所述TB1;向所述TB1发送所述第一会话请求。
在一种可能的实现方式中,所述IB1中存储有第一上下文表,所述第一上下文表中包括多个IB1上下文条目;所述方法还包括:所述IB1在所述多个IB1上下文条目中的第一上下文条目中存储请求设备会话请求标识和所述第一会话标识的映射关系;所述第一上下文条目的编号为所述第一上下文条目编号。
在一种可能的实现方式中,所述IB2包中存储有第二上下文表,所述第二上下文表中包括多个IB2上下文条目;所述方法还包括:所述IB2根据所述第二会话标识进行重映射得到第三会话标识;在所述多个IB2上下文条目中的第二上下文条目中存储所述第二会话标识与所述第三会话标识的映射关系、所述第二会话标识和所述第一上下文条目编号;所述第二上下文条目的编号为所述第二上下文条目编号;生成第三会话请求;所述第三会话请求包括IB2编号、所述第三会话标识、所述第二上下文条目编号。
在一种可能的实现方式中,所述NOC1还包括所述NOC1内部网络;所述方法还包括:所述IB2向所述NOC1内部网络发送所述第三会话请求;所述NOC1内部网络接收所述第三会话请求,响应于所述第三会话请求;基于所述第三会话请求生成第三会话响应,并向所述IB2发送所述第三会话响应;所述第三会话响应包括所述第二上下文条目编号。
在一种可能的实现方式中,所述方法还包括:所述IB2接收所述第三会话响应,根据所述第三会话响应中的所述第二上下文条目编号,根据所述第二上下文条目编号在所述第二上下文表中查找所述第二上下文条目,获取所述第二上下文条目中存储的所述第二会话 标识和所述第一上下文条目编号;基于所述第二会话标识和所述第一上下文条目编号生成所述第一会话响应。
在一种可能的实现方式中,所述方法还包括:所述TB1向所述NOC0内部网络发送所述第二会话响应;所述NOC0内部网络接收所述第二会话响应,并向根据所述IB1的编号向所述IB1发送所述第二会话响应。
在一种可能的实现方式中,所述方法还包括:所述IB1接收所述第二会话响应,根据所述第二响信号中的所述第一上下文条目编号,在所述第一上下文表中查找与所述请求设备会话请求标识和所述第一会话标识的映射关系;所述请求设备会话请求标识对应目标请求设备;基于所述第二会话响应向所述目标请求设备发送第四会话响应;所述第一会话响应用于通知所述请求设备已完成请求。
在一种可能的实现方式中,所述第一初始桥IB1按照目标顺序发送多个会话请求,所述多个会话请求包括所述第一会话请求;按照所述目标顺序接收多个会话响应,所述会话响应包括所述第二会话响应;按照所述目标顺序,基于所述多个会话响应向多个请求设备分别发送处理后的会话响应;所述多个请求设备包括所述目标请求设备,所述处理后的会话响应中的其中一个为所述第四会话响应。
第三方面,本申请提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述权利要求上述任意一项所述的方法。
第四方面,本申请提供一种计算机程序,其特征在于,所述计算机可读程序包括指令,当所述计算机程序被处理器执行时,使得所述处理器执行如上述权利要求上述中任意一项所述的方法。
第五方面,本申请提供一种片上网络接口装置,其特征在于,所述片上系统包括第一片上网络NOC0和第二片上网络NOC1;所述NOC0包括第一初始桥IB1和第一目标桥TB1,所述NOC1包括第二初始桥IB2;所述第一初始桥IB1,用于发送第一会话请求,所述第一会话请求包括第一会话标识、第一上下文条目编号和所述IB1的编号;所述第一目标桥TB1,用于接收所述第一会话请求;基于所述第一会话请求生成第二会话请求,并向所述IB2发送第二会话请求;所述第二会话请求包括第二会话标识和所述第一上下文条目编号;所述第二会话标识为基于所述第一会话标识和所述IB1的编号打包后生成的;所述第二初始桥IB2,用于接收所述第二会话请求;基于所述第二会话请求生成第一会话响应,并向所述TB1发送所述第一会话响应;所述第一会话响应包括所述第二会话标识和所述第一上下文条目编号;所述第一目标桥TB1,还用于接收所述第一会话响应;将所述第二会话标识解包获得所述IB1的编号,生成第二会话响应,所述第二会话响应包括所述IB1的编号和所述第一上下文条目编号。
附图说明
图1A为现有技术中的一种NOC子系统连接示意图。
图1B为现有技术中的初始桥结构示意图。
图1C为现有技术中的协议转换信号示意图。
图1D为现有技术中的网络信号示意图。
图1E为现有技术中的目标桥结构示意图。
图2为本发明实施例提供的一种片上网络结构示意图。
图3A为本发明实施例提供的一种片上系统示意图。
图3B为本发明实施例提供的另一种片上系统示意图。
图3C为本发明实施例提供的一种IB1内部结构示意图。
图3D为本发明实施例提供的一种TB的结构示意图。
图3E为本发明实施例提供的一种NOC0外部信号示意图。
图3F为本发明实施例提供的一种IB2结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例进行描述。本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信息与其它系统交互的互联网)的信息通过本地和/或远程进程来通信。
首先,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)片上网络(Network On Chip,NOC),是单片系统芯片(System On Chip,SoC)的一种新的通信方法,它是多核技术的主要组成部分。NoC方法带来了一种全新的片上通信方法,显著优于传统总线式系统(bus)的性能。
(2)协议转换(Protocol conversion),协议转换指将一个设备的标准或协议转换成适用于另一设备的协议的过程,目的是为了使得不同协议之间实现互操作。协议通常是以软件的形式出现。比如路由器将一个网络中的数据格式、数据速率等转换成适用于另一个网 络的协议。网络中有很多种协议,分别应用在不同的领域,比如发电、石油与天然气、自动化、公用事业、远程监控等。主要的协议转换消息涉及数据消息、事件、命令和时间同步的转换。
首先,为了便于理解本发明实施例,进一步分析并提出本申请所具体要解决的技术问题。以下示例性的列举现有的关于片上网络接口协议的技术方案。其中,
如图1A所示,图1A为现有技术中的一种NOC子系统连接示意图,图中NOC0中包括两个初始桥和两个目标桥,其中,两个初始桥分别与两个主设备(如中央处理器CPU等)相连,目标桥022与从设备030(如存储器DDR等)相连,另一个目标桥023与NOC1的初始桥061相连;NOC1中包括两个初始桥和两个目标桥,其中,两个目标桥分别与两个从设备相连,一个初始桥与主设备070相连,另一个初始桥061与NOC0的目标桥023相连。由于主设备和NOC子系统之间的接口协议不同,所以主设备和NOC子系统进行通信时需要使用图中接口协议010进行协议转换;由于NOC子系统与从设备之间的接口协议不同,所以NOC子系统与从设备进行通信时需要使用图中接口协议040进行协议转换;由于NOC不同子系统之间的接口协议不同,所以NOC子系统之间进行通信时需要使用图中接口协议050进行协议转换。需要说明的是,接口协议010、接口协议040和接口协议050为三种不同的协议,但本发明实施例主要针对接口协议050进行改进,因此以下将基于图1B、图1C、图1D和图1E对现有技术中的接口协议050进行相关描述。
如图1B所示,图1B为现有技术中的初始桥结构示意图,需要说明的是,图1A中的初始桥061可以为图1B中所示的初始桥结构,那么在此假设图1A中的初始桥061结构为图1B所示。在图1B中初始桥的结构可包括,地址解码器(addressdecoder)110、分配器(allocate)120、上下文表(contexttable)130、索引模块(index)140,且NOC1的初始桥061的接口150和接口160与NOC0的目标桥023相连,NOC1的初始桥061的接口170和接口180与NOC1内部网络相连接。
NOC外部会话请求从NOC0的目标桥023进入到NOC1的初始桥061,需要说明的是,如图1C所示,图1C为现有技术中的协议转换信号示意图,NOC外部会话请求的具体形式为图1C中的信息510所示,在信息510中包括了请求操作类型信息(request_operationalcode,req_opc)、请求地址信息(request_address,req_addr)、请求数据量大小信息(request_transactionsize,req_tsize)、请求数据信息(request_data,req_data)、请求会话标识信息(request_transaction identity document,req_tid)。NOC外部会话请求在经过初始桥061的处理后得到NOC1内部请求信息,并且NOC1内部请求信息从初始桥061的接口170输出进入到NOC1内部网络中,需要说明的是,如图1D所示,图1D为现有技术中的网络信号示意图,NOC1内部会话请求的具体形式为图1D中的信息610所示,在信息610中包括了网络请求操作类型信息(network_request_operationalcode,network_req_opc)、网络请求有效载荷信息(network_request_payload,network_req_pld)、网络请求目标节点标识信息(network_request_destinationidentity,network_req_dstid)、网络请求原端标识符信息(network_request_source identity,network_req_srcid)、网络请求会话标识信息(network_request_transaction identity document,network_req_tid)、网络请求返回信息(network_ request_returnmessage,network_req_retmsg)。NOC外部会话请求在初始桥061中处理并生成NOC1内部会话请求的主要过程如下:
1、地址译码器110根据输入的NOC外部会话请求510中的请求地址信息req_addr,进行地址译码生成NOC1内部请求信息610中的网络请求目标节点标识信息network_req_dstid。
2、分配器120根据输入的NOC外部会话请求510中的请求会话标识信息req_tid,进行重新映射生成NOC1内部会话请求610中的网络请求会话标识信息network_req_tid。
3、分配器120分配contexttable130中的条目entry,并将entry编号赋值给NOC1内部会话请求610中的网络请求返回信息network_req_retmsg。
4、接口170将当前进行协议转换的IB在片上网络的编号赋值给原端标识符信息network_req_srcid。
NOC外部会话请求510在初始桥061中经过上述步骤处理后可生成NOC1内部会话请求610,使得NOC0的总线与NOC1的总线之间能够更好进行通信。
在NOC0与NOC1进行互联的过程中,NOC0的目标桥023向NOC1的初始桥061发送会话请求后,NOC1会向NOC0发送会话响应,该会话响应由NOC1的初始桥061发送到NOC0的目标桥023。需要说明的是,如图1D所示,图中会话响应的具体形式为信息620所示,NOC1内部会话响应通过初始桥061的接口180进入初始桥061,然后经过初始桥061的处理后生成NOC外部会话响应,NOC外部会话响应的具体形式如图1C中的信号520所示,进一步的NOC外部会话响应从初始桥061的接口160输出。需要说明的是,信息620包括网络响应操作类型信息(network_respond_operationalcode,network_rsp_opc)、网络响应有效载荷信息(network_request_payload,network_req_pld)、网络响应目标节点标识信息(network_respond_destinationidentity document,network_rsp_dstid)、网络请求原端标识符信息(network_request_source,network_req_srcid)、网络响应返回信息(network_respond_returnmessage,network_rsp_retmsg);信号520包括响应操作类型信息(respond_operationalcode,rsp_opc)、响应数据信息(respond_data,rsp_data)、响应会话标识信息(respond_transactionidentity document,rsp_tid)。NOC1内部会话响应在初始桥061中处理并生成NOC外部会话响应的主要过程如下:
1、初始桥061中的index140根据从接口180输入的网络响应返回信息network_rsp_retmsg,查询contexttable130中接口160的tid信息。
NOC1内部会话响应在初始桥061中经过上述步骤处理后可生成NOC外部会话响应,从而使得NOC0的总线与NOC1的总线之间能够更好进行通信。
接下来,如图1E所示,图1E为现有技术中的目标桥结构示意图,需要说明的是,图1A中的目标桥023可以为图1E中所示的目标桥结构,那么在此假设图1A中的目标桥023结构为图1E所示。在图1E中目标桥023结构可包括,分配器(allocate)210、上下文表(context table)220、索引模块(index)230,且NOC0的目标桥023的接口240和接口250与NOC0相连接,NOC0接口260和接口270与NOC1的初始桥061相连接。NOC0内部会话请求从NOC0的目标桥023的接口240进入目标桥023,需要说明的是,如图1D所示,NOC0内部会话请求的具体形式为图1D中的信号610,在信号610中包括了网络请 求操作类型信息(network_request_operational code,network_req_opc)、网络请求有效载荷信息(network_request_payload,network_req_pld)、网络请求目标节点标识信息(network_request_destination identity document,network_req_dstid)、原端标识符信息(network_request_source,network_req_srcid)、网络请求会话标识信息(network_request_transaction identity document,network_req_tid)、网络请求返回信息(network_request_return message,network_req_retmsg)。NOC0内部会话请求在经过目标桥023的处理后得到NOC外部会话请求,并且NOC外部会话请求从目标桥023的接口260输出进入到初始桥061中。需要说明的是,如图1C所示,NOC外部会话请求的具体形式为图1C中的信息510所示,在信息510中包括了请求操作类型信息(request_operational code,req_opc)、请求地址信息(request_address,req_addr)、请求数据量大小信息(request_transaction size,req_tsize)、请求数据信息(request_data,req_data)、请求会话标识信息(request_transaction identity document,req_tid)。NOC0内部会话请求在目标桥023中处理并生成NOC外部会话请求的主要过程如下:
1、分配器210根据NOC0内部会话请求610中的原端标识符信息network_req_srcid和网络请求会话标识信息network_req_tid,进行译码生成NOC外部会话请求中的请求会话标识信息req_tid。
2、分配器210分配contexttable220中的entry,并将接口240输入的NOC0内部会话请求610的网络请求返回信息network_req_retmsg记录在entry中。
NOC0内部会话请求610在目标桥023中经过上述步骤处理后可生成NOC外部会话请求510,从而使得NOC0的总线与NOC1的总线之间能够更好进行通信。
在NOC0与NOC1进行互联的过程中,NOC0的目标桥023向NOC1发送请求消息后,NOC1会向其发送响应消息,该响应消息从NOC1的初始桥传输到NOC0的目标桥023中。需要说明的是,如图1C所示,图中NOC外部会话响应的具体形式为信号520所示,NOC外部会话响应通过目标桥023的接口270进入目标桥023,然后经过目标桥023的处理后生成NOC0内部会话响应,NOC0内部会话响应的具体形式为信号620所示,进一步的NOC0内部会话响应从目标桥023的接口250输出。需要说明的是,信号520包括响应操作类型信息(respond_operational code,rsp_opc)、响应数据信息(respond_data,rsp_data)、响应会话标识信息(respond_transaction identity document,rsp_tid);信号620包括网络响应操作类型信息(network_respond_operational code,network_rsp_opc)、网络响应有效载荷信息(network_request_payload,network_req_pld)、网络响应目标节点标识信息(network_respond_destination identity document,network_rsp_dstid)、网络响应原端标识符信息(network_respond_source,network_req_srcid)、网络响应返回信息(network_respond_return message,network_rsp_retmsg)。NOC外部会话响应在目标桥023中处理并生成NOC0内部会话响应的主要过程如下:
1、目标桥023的index230根据从目标桥023的接口270输入的NOC外部会话响应520中的响应会话标识信息rsp_tid,查询contexttable220中记录的网络响应目标节点标识信息network_rsp_dstid和网络响应返回信息network_rsp_retmsg。
NOC外部会话响应在目标桥023中经过上述步骤处理后可生成NOC0内部会话响应, 从而使得NOC0的总线与NOC1的总线之间能够更好进行通信。
现有技术的缺点:在实现NOC0访问NOC1的过程中,信息从NOC0的目标桥中输出,然后经过上述协议转换后进入到NOC1的初始桥中再进行一次协议转换,从而实现跨NOC互联。但在现有技术复杂的协议转换过程会导致NOC0访问NOC1的时延增加同时也会导致芯片面积开销增加。
基于上述现有技术,本申请提供一种片上网络结构,请参见图2,图2为本发明实施例提供的一种片上网络结构示意图,该片上系统20可以位于任意一个电子设备中,如电脑、计算机、手机、平板等各类设备中。该片上网络20具体可以是芯片或芯片组或搭载有芯片或者芯片组的电路板。该芯片或芯片组或搭载有芯片或芯片组的电路板可在必要的软件驱动下工作。
片上系统20包括n+1个片上网络NOC,n+1个NOC中的任意一个NOC可包括一个或多个初始桥和一个或多个目标桥。接下来以图2中的NOC0、NOC1为例,NOC0中包括了初始桥111、初始桥113、目标桥112、目标桥114、NOC0总线110;NOC1中包括了初始桥211、初始桥213、目标桥212、目标桥214、NOC1总线210。在NOC0上初始桥113与主设备115相连接,目标桥112与从设备116相连接,目标桥114与NOC1的初始桥213可通过NOC0的总线110和NOC1的总线210进行连接,NOC1的目标桥212与从设备216相连接,从而可以实现主设备115与从设备116进行通信,NOC0访问NOC1。其中,
初始桥为对接设备接口协议转换为NOC内部网络接口协议的协议转换桥。在一种情况下,初始桥与主设备(如图形处理器GPU等)相连,由于主设备和NOC内部网络的接口协议不同,所以当信号从主设备输出时,会在初始桥中进行信号协议转换,使得信号进入NOC内部网络。在另一种情况下,当两个不同的NOC跨NOC互联时,例如NOC0访问NOC1,NOC1的初始桥与NOC0的目标桥相连,由于两个NOC有独立的NOC总线,所以两个不同的NOC之间不能直接进行信号传输,此时,信号从目标桥输出前在目标桥中根据协议规则进行信号的协议转换,并且目标桥将协议转换后的信号传输给NOC1的初始桥,然后初始桥会根据接收到的信号再做一次协议转换,使得信号能够进入到NOC1内部网络,从而实现跨NOC互联。
目标桥为NOC内部网络协议转换为对接设备接口协议的协议转换桥。在一种情况下,目标桥与从设备(如存储器等)相连,由于从设备和NOC内部网络的接口协议不同,所以当信号从NOC内部网络输出时,会在目标桥中进行信号的协议转换,使得信号能够进入从设备。在另一种情况下,当两个不同的NOC跨NOC互联时,例如NOC0访问NOC1,NOC0目标桥与NOC1的初始桥相连,由于NOC0与NOC1有独立的NOC总线,所以两个NOC之间不能直接进行信号传输,此时,信号从NOC0的目标桥输出前会在目标桥中根据协议规则进行信号的协议转换,并且目标桥将协议转换后的信号发送给NOC1的初始桥,然后NOC1的初始桥会根据接收到的信号再进行一次协议转换,使得信号能够进入到NOC1内部网络,从而实现跨NOC互联。
需要说明的是,与NOC中的初始桥相连接的主设备可以为应用处理器(application processor,AP),中央处理器(central processing unit,CPU),图形处理器(graphics processing  unit,GPU),神经网络处理器(neural-network processing unit,NPU),调制解调处理器,图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器等。例如,GPU获取存储器中的图片信息,并根据图片信息进行数学和几何计算实现图形渲染等。
与NOC中目标桥相连接的从设备可以为Flash闪存(例如,NAND闪存、NOR闪存等),通用闪存存储器(universal flash storage,UFS),嵌入式多媒体卡eMMC,通用闪存存储多芯片封装uMCP存储器,嵌入式多媒体卡多芯片封装eMCP存储器,固态驱动器(SSD),机械硬盘(Hard Disk Drive,HDD)等。例如,将手机运行数据存储在相应存储器中,记录手机运行情况等。
可以理解的是,图2中的一种片上系统的结构只是本申请实施例中的一种示例性的实施方式,本申请实施例中的片上系统的结构架构包括但不仅限于以上架构。
下面基于上述片上网络结构,结合本申请中提供的片上系统的实施例,对本申请中提出的技术问题进行具体分析和解决。请参见图3A,图3A为本发明实施例提供的一种片上系统示意图,如图3A所示,片上系统30包括:第一片上网络NOC0 301和第二片上网络NOC1 302,需要说明的是在NOC0 301包括第一初始桥IB1 303和第一目标桥TB1 304,NOC1 302包括第二初始桥IB2 305。其中:
第一初始桥IB1 303,用于发送第一会话请求,所述第一会话请求包括第一会话标识、第一上下文条目编号和所述IB1 303的编号。需要说明的是,第一初始桥IB1 303为请求设备的初始会话请求发送给NOC0内部网络306的协议转换桥,当初始会话请求经过IB1 303后会生成第一会话请求,该第一会话请求中包括了请求会话标识(如第一会话标识)、在IB1 303中记录请求过程的第一上下文条目的编号和IB1 303的编号信息。例如,当请求设备为GPU时,在GPU通过NOC0 301访问NOC1 302的片上网络并读取NOC1 302中的数据的场景下,此时NOC1 302片上网络为寄存器子系统,在该寄存器子系统中存储了多个图片数据。GPU向IB1 303发送初始会话请求,当初始会话请求进入IB1时会进行信号的协议转换可生成第一会话请求。可选的,第一会话请求中可包括NOC0内部网络请求操作类型信息network0_req_opc、NOC0内部网络请求有效载荷信息network0_req_pld、NOC0内部网络请求目标节点标识信息network0_req_dstid、NOC0内部网络请求原端标识符信息network0_req_srcid、NOC0内部网络请求会话标识信息network0_req_tid、NOC0内部网络请求返回信息network0_req_retmsg。需要说明的是,在GPU通过NOC0 301访问NOC1 302过程中network0_req_opc信息为请求读操作信息,network0_req_pld信息中携带其他请求信息,network0_req_dstid信息可以指示NOC0内部网络306将第一会话请求发送给network0_req_dstid对应的TB,network0_req_srcid为上述提到的IB1的编号信息,network0_req_tid为上述提到的第一会话标识,network0_req_retmsg为上述提到的第一上下文条目编号。需要说明的是,如图3C所示,图3C为本发明实施例提供的一种IB1内部结构示意图,图中初始会话请求通过接口1500进入IB1 303,IB1 303的地址译码器1100根据初始会话请求中的目标地址信息译码后得到network0_req_dstid,IB1 303中的分配器1200根据初始请求设备标识进行重映射得到network0_req_tid,同时分配器1200 会分配第一上下文表308中的条目用于记录请求过程信息,此时IB1 303可根据第一上边文表中用于记录请求过程的条目编号得到network0_req_retmsg。
在一种可能的实现方式中,如图3B所示,图3B为本发明实施例提供的另一种片上系统示意图,图中所述IB1 303中存储有第一上下文表308,所述第一上下文表308中包括多个IB1 303上下文条目;所述IB1 303,还用于在所述多个IB1 303上下文条目中的第一上下文条目308中存储请求设备会话请求标识和所述第一会话标识的映射关系;所述第一上下文条目308的编号为所述第一上下文条目编号。具体地,当NOC0 301中的IB1 303接收到请求设备的会话请求后,会在IB1 303第一上下文表308中记录下该请求设备标识与NOC0 301内部会话标识的映射关系,其原因是IB1可以连续接收到多个不同的会话请求,每个会话请求都会对应一个相应的会话响应且每个会话请求标识与其对应的会话响应标识一致。因此当IB1 303接收会话响应后,可以根据会话响应中的NOC0 301内部会话标识找到相应的请求设备,便于通知该请求设备请求已经得到响应。例如,当请求设备为GPU时,在GPU通过NOC0 301访问NOC1 302的片上网络并读取NOC1 302中的数据的场景下,此时NOC1 302片上网络为寄存器子系统,在该寄存器子系统中存储了多个图片数据。如图3C所示,图中IB1 303包括第一上下文表308,IB1 303中的分配器1200会分配第一上下文表308中的条目用于记录请求过程信息,此时IB1 303可根据第一上边文表中用于记录请求过程的条目编号得到network0_req_retmsg,需要说明的是,network0_req_retmsg为上述提及的第一上下文条目编号。
在一种可能的实现方式中,如图3B所示,图中所述NOC0 301还包括NOC0内部网络306;所述NOC0内部网络306,用于:接收所述IB1 303发送的所述第一会话请求,所述第一会话请求还包括目标节点标识信息;根据所述目标节点标识信息,确定与所述目标节点标识信息匹配的所述TB1 304;向所述TB1 304发送所述第一会话请求。具体地,NOC0 301还可以包括NOC0内部网络306,当请求设备通过IB1 303发起请求后,IB1 303会根据请求设备的请求生成第一会话请求,然后向NOC0内部网络306发送第一会话请求,接下来NOC0 301会根据第一会话请求中的目标节点标识信息将第一会话请求发送给TB1 304,从而使得TB1 304能够生成第二会话请求并且向NOC1 302的IB2 305发送第二会话请求,从而实现NOC0 301可以更加快速的访问NOC1 302。例如,当请求设备为GPU时,在GPU通过NOC0 301访问NOC1 302的片上网络并读取NOC1 302中的数据的场景下,此时NOC1 302片上网络为寄存器子系统,在该寄存器子系统中存储了多个图片数据。在第一会话请求中还包括目标节点标识信息,如图3C所示,图中IB1 303中的接口1700向NOC0内部网络306发送第一会话请求,接下来NOC0内部网络306根据目标节点标识信息将该第一会话请求发送给目标节点标识信息所对应的TB。
第一目标桥TB1 304,用于接收所述第一会话请求;基于所述第一会话请求生成第二会话请求,并向所述IB2发送第二会话请求;所述第二会话请求包括第二会话标识和所述第一上下文条目编号;所述第二会话标识为基于所述第一会话标识和所述IB1的编号打包后生成的。具体地,如图3D所示,图3D为本发明实施例提供的一种TB的结构示意图,图中TB1 304包括打包模块3500和解包模块3600,当TB1 304接收到从接口3100输入的第一会话请求后,在打包模块3500中将第一会话请求中的第一会话标识和IB1的编号进行 打包得到第二会话标识,然后生成携带第二会话标识的第二会话请求,并通过接口3300向NOC1 302的IB2 305发送该第二会话请求。例如,当请求设备为GPU时,在GPU通过NOC0 301访问NOC1 302的片上网络并读取NOC1 302中的数据的场景下,此时NOC1 302片上网络为寄存器子系统,在该寄存器子系统中存储了多个图片数据。可选的,NOC0 301的IB1 303向TB1 304发送的第一会话请求包括NOC0内部网络请求操作类型信息network0_req_opc、NOC0内部网络请求有效载荷信息network0_req_pld、NOC0内部网络请求目标节点标识信息network0_req_dstid、NOC0内部网络请求原端标识符信息network0_req_srcid、NOC0内部网络请求会话标识信息network0_req_tid、NOC0内部网络请求返回信息network0_req_retmsg,当该第一会话请求通过TB1304的接口3100进入TB1后,TB1 304的打包模块3500会将NOC0内部网络请求原端标识符信息network0_req_srcid和NOC0内部网络请求会话标识信息network0_req_tid进行打包得到NOC0外部会话标识信息,从而生成携带NOC0外部会话标识信息的第二会话请求,并通过接口3300将第二会话请求发送给NOC1 302的IB2 305。
第二初始桥IB2 305,用于接收所述第二会话请求;基于所述第二会话请求生成第一会话响应,并向所述TB1发送所述第一会话响应;所述第一会话响应包括所述第二会话标识和所述第一上下文条目编号。具体地,NOC1 302的IB2 305在接收到NOC0 301的TB1 304发送的第二会话请求后,可根据第二会话请求生成第一会话响应并将该第一会话响应发送给TB1 304。可选的,如图3E所示,图3E为本发明实施例提供的一种NOC0外部信号示意图,第二会话请求可以包括图中信号810所示的信息,NOC0外部请求操作类型信息req_opc、NOC0外部请求地址信息req_addr、NOC0外部请求数据信息req_data、NOC0外部请求会话标识信息req_tid、NOC0外部请求返回信息req_retmsg。第一会话响应可以包括图中信号820所示的信息,NOC0外部响应操作类型信息rsp_opc、NOC0外部响应数据信息rsp_data、NOC0外部响应会话标识信息rsp_tid、NOC0外部响应rsp_retmsg返回信息。需要说明的是,NOC0外部请求会话标识信息req_tid和NOC0外部响应会话标识信息rsp_tid为上述提及的第二会话标识,NOC0外部请求返回信息req_retmsg和NOC0外部响应rsp_retmsg返回信息为上述提及的第一上下文条目编号。
在一种可能的实现方式中,如图3B所示,图中所述IB2 305包中存储有第二上下文表309,所述第二上下文表309中包括多个IB2上下文条目;所述IB2 305,还用于:根据所述第二会话标识进行重映射得到第三会话标识;在所述多个IB2上下文条目中的第二上下文条目309中存储所述第二会话标识与所述第三会话标识的映射关系、所述第二会话标识和所述第一上下文条目编号;所述第二上下文条目的编号为所述第二上下文条目编号;生成第三会话请求;所述第三会话请求包括IB2 305编号、所述第三会话标识、所述第二上下文条目编号。具体地,由于NOC0 301与NOC1 302跨NOC进行通信,所以第二会话请求进入NOC1 302需要在IB2 305进行协议转换。当TB1 304向IB2 305发送第二会话请求后,由于该第二会话请求中携带了NOC0内部网络信息,其中NOC0内部网络信息包括第二NOC0外部会话标识信息和IB1上下文条目编号,所以IB2 305在接收到第二会话请求后,会根据第二NOC0外部会话标识信息重映射得到NOC1内部会话标识信息,然后将第二NOC0外部会话标识信息与NOC1内部会话标识信息映射关系、第二NOC0外部会话标 识信息和IB1上下文条目编号存储在IB2上下文表的IB2上下文条目中。当IB2 305接收到针对第二会话请求的响应信号后,可根据会话响应中的IB2上下文条目编号,在IB2 305上下文表中查找到相应的NOC0内部网络信息。通过在IB2 305的上下文表中存储和查找NOC0内部网络信息,避免了在TB1 304的上下文表中存储和查找NOC0内部网络信息带来的延时和不必要的芯片面积开销,从而简化TB1 304的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率。例如,当请求设备为GPU时,在GPU通过NOC0 301访问NOC1 302的片上网络并读取NOC1 302中的数据的场景下,此时NOC1 302片上网络为寄存器子系统,在该寄存器子系统中存储了多个图片数据。接下来结合图3F进行说明,图3F为本发明实施例提供的一种IB2结构示意图,图中当IB2 305通过接口4500接收到第二会话请求后,IB2 305根据第二会话请求生成第三会话请求,并从接口4700输出该第三会话请求。可选的,第二会话请求可包括NOC0外部请求操作类型信息req_opc、NOC0外部请求地址信息req_addr、NOC0外部请求数据信息req_data、NOC0外部请求会话标识信息req_tid、NOC0外部请求返回信息req_retmsg。可选的,第三会话请求可包括NOC1内部网络请求操作类型信息network1_req_opc、NOC1内部网络请求有效载荷信息network1_req_pld、NOC1内部网络请求目标节点标识信息network1_req_dstid、NOC1内部网络请求原端标识符信息network1_req_srcid、NOC1内部网络请求会话标识信息network1_req_tid、NOC1内部网络请求返回信息network1_req_retmsg。具体地,IB2 305的地址译码器4100将req_addr进行译码得到network1_req_dstid,IB2 305的分配器4200根据req_tid进行重新映射得到network1_req_tid,同时分配器4200会分配第二上下文表309中的条目用于存储req_tid、req_tid与network1_req_tid的映射关系和req_retmsg,并根据该条目的编号得到network1_req_retmsg。需要说明的是,req_tid为上述提及的第二会话标识,network1_req_tid为上述提及的第三会话标识,req_retmsg为上述提及的第一上下文条目编号,network1_req_retmsg为上述提及的第二上下文条目编号。
在一种可能的实现方式中,如图3B所示,图中所述NOC1 302还包括所述NOC1内部网络307;所述IB2305,还用于向所述NOC1内部网络307发送所述第三会话请求;所述NOC1内部网络307,用于:接收所述第三会话请求,响应于所述第三会话请求;基于所述第三会话请求生成第三会话响应,并向所述IB2 305发送所述第三会话响应;所述第三会话响应包括所述第二上下文条目编号。具体地,NOC1 302中还可以包括NOC1内部网络307,当IB2 305接收到由NOC0 301发送的第二会话请求后会生成第三会话请求,然后向NOC1内部网络307发送该第三会话请求,接下来NOC1内部网络307会根据请求进行相应的响应后生成第三会话响应,并向IB2 305发送该第三会话响应。在第三会话响应中包括了IB2上下文条目编号,其目的是便于IB2 305接收到第三会话响应后根据该第三会话响应查找之前存储在IB2上下文表中的NOC0内部网络信息。例如,当请求设备为GPU时,在GPU通过NOC0 301访问NOC1 302的片上网络并读取NOC1 302中的数据的场景下,此时NOC1 302片上网络为寄存器子系统,在该寄存器子系统中存储了多个图片数据。在NOC1 302中还可以包括NOC1内部网络307,IB2305根据第二会话请求生成第三会话请求后,可将第三会话请求发送给NOC1内部网络307,指示NOC1内部网络307在相应 的寄存器中读取图片数据。接下来NOC1内部网络307接收到第三请求后,在相应的寄存器中读取图片数据,并生成第三会话响应。可选的,第三会话响应可包括,NOC1内部网络响应操作类型信息network1_rsp_opc、NOC1内部网络响应有效载荷信息network1_rsp_pld、NOC1内部网络响应目标节点标识信息network1_rsp_dstid、NOC1内部网络响应原端标识符信息network1_rsp_srcid、NOC1内部网络响应返回信息network1_rsp_retmsg。需要说明的是,network1_rsp_retmsg为上述提及的第二上下文条目编号,该第三会话响应用于通知IB2 305在NOC1内部网络307已经响应了第三会话请求的请求。
在一种可能的实现方式中,所述IB2 305,还用于:接收所述第三会话响应,根据所述第三会话响应中的所述第二上下文条目编号,根据所述第二上下文条目编号在所述第二上下文表中查找所述第二上下文条目,获取所述第二上下文条目中存储的所述第二会话标识和所述第一上下文条目编号;基于所述第二会话标识和所述第一上下文条目编号生成所述第一会话响应。具体地,当IB2 305接收到由NOC1内部网络307发送的第三会话响应后,可以根据该第三会话响应中的IB2上下文条目编号,在IB2上下文表中查找之前存储的NOC0内部网络信息,其中该NOC0内部网络信息中包括NOC0外部会话标识信息与NOC1内部会话标识信息、NOC0外部会话标识信息和IB1上下文条目编号。接下来IB2 305可根据NOC0内部网络信息生成第一会话响应,然后将该第一响应发送给NOC0 301的TB1 304。因此,IB2 305根据第三会话响应可在IB2上下文表中读取出NOC0内部网络信息,避免了在TB1 304的上下文表中存储和查找NOC0内部网络信息带来的延时和不必要的芯片面积开销,从而简化TB1 304的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率。例如,当请求设备为GPU时,在GPU通过NOC0 301访问NOC1 302的片上网络并读取NOC1 302中的数据的场景下,此时NOC1 302片上网络为寄存器子系统,在该寄存器子系统中存储了多个图片数据。当NOC1内部网络307根据第三会话请求中的请求,在相应的寄存器中读取完数据后,向IB2 305发送第三会话响应。IB2 305接收到第三会话响应后,生成第一会话响应。可选的,第三会话响应可包括NOC1内部网络响应操作类型信息network1_rsp_opc、NOC1内部网络响应有效载荷信息network1_rsp_pld、NOC1内部网络响应目标节点标识信息network1_rsp_dstid、NOC1内部网络响应原端标识符信息network1_rsp_srcid、NOC1内部网络响应返回信息network1_rsp_retmsg。可选的,第一会话响应可包括NOC0外部响应操作类型信息rsp_opc、NOC0外部响应数据信息rsp_data、NOC0外部响应会话标识信息rsp_tid、NOC0外部响应rsp_retmsg返回信息。如在图3F中,第三会话响应通过接口4800进入IB2 305,IB2 305中的索引模块4400根据第三会话响应中的network1_rsp_retmsg在第二上下文表309中查询获取到rsp_tid和rsp_retmsg信息,从而生成第一响应信息。该第一响应信息用于通知TB1 304第二会话请求的请求在NOC1 302上已经得到响应。需要说明的是,req_tid为上述提及的第二会话标识,network1_req_tid为上述提及的第三会话标识,req_retmsg为上述提及的第一上下文条目编号,network1_req_retmsg为上述提及的第二上下文条目编号。
第一目标桥TB1 304,还用于接收所述第一会话响应;将所述第二会话标识解包获得所述IB1的编号,生成第二会话响应,所述第二会话响应包括所述IB1的编号和所述第一上下文条目编号。例如,当请求设备为GPU时,在GPU通过NOC0 301访问NOC1 302 的片上网络并读取NOC1 302中的数据的场景下,此时NOC1 302片上网络为寄存器子系统,在该寄存器子系统中存储了多个图片数据。当NOC1 302根据会话请求在NOC1内部网络307中读取完数据后,NOC1 302的IB2 305会向NOC0 301的TB1 304发送第一会话响应。当TB1 304接收到第一会话响应后会生成第二会话响应。可选的,第一会话响应包括NOC0外部响应操作类型信息rsp_opc、NOC0外部响应数据信息rsp_data、NOC0外部响应会话标识信息rsp_tid、NOC0外部响应rsp_retmsg返回信息。可选的,第二会话响应包括NOC0内部网络响应操作类型信息network0_rsp_opc、NOC0内部网络响应有效载荷信息network0_rsp_pld、NOC0内部网络响应目标节点标识信息network0_rsp_dstid、NOC0内部网络响应原端标识符信息network0_rsp_srcid、NOC0内部网络响应返回信息network0_rsp_retmsg。具体地,如图3D所示,当TB1 304通过接口3400接收到第一会话响应后,TB1 304的解包模块3600将rsp_tid进行解包得到network0_rsp_dstid信息,从而生成携带network0_rsp_dstid和network0_rsp_retmsg的第二会话响应。可选的,network0_rsp_srcid为TB1304在NOC0上的编号信息,此时network0_rsp_srcid可以接固定值。需要说明的是,rsp_tid为上述提及的第二会话标识,network0_rsp_dstid为上述提及的IB1的编号,network0_rsp_retmsg为上述提及的第一上下文条目编号。
在一种可能的实现方式中,所述TB1 304,还用于向所述NOC0内部网络306发送所述第二会话响应;所述NOC0内部网络306,还用于:接收所述第二会话响应,并向根据所述IB1 303的编号向所述IB1 303发送所述第二会话响应。具体地,当NOC0 301的TB1 304接收到NOC1 302的IB2 305发送的第一会话响应后,TB1 304会将第一会话响应中的第二NOC0外部会话标识信息进行解包得到NOC0内部会话标识信息和IB1编号信息,生成包括NOC0内部会话标识信息、IB1编号信息和IB1上下文条目编号的第二会话响应。接下来,TB1 304会将该第二会话响应发送给NOC0内部网络306,然后NOC0内部网络306根据IB1编号信息将第二会话响应发送给IB1 303,通知IB1 303在NOC1 302上已经响应了第一会话请求的请求。因此改进后的TB1 304只需进行信息的打包和解包,避免了在TB1 303上下文表中存储和查找NOC0内部网络信息带来的延时和不必要的芯片面积开销,从而简化TB1303的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率。例如,当请求设备为GPU时,在GPU通过NOC0 301访问NOC1 302的片上网络并读取NOC1 302中的数据的场景下,此时NOC1 302片上网络为寄存器子系统,在该寄存器子系统中存储了多个图片数据。当TB1 304生成第二会话响应后,通过图3D中的接口3200向NOC0内部网络306发送第二会话响应,可选的,第二会话响应包括NOC0内部网络响应操作类型信息network0_rsp_opc、NOC0内部网络响应有效载荷信息network0_rsp_pld、NOC0内部网络响应目标节点标识信息network0_rsp_dstid、NOC0内部网络响应原端标识符信息network0_rsp_srcid、NOC0内部网络响应返回信息network0_rsp_retmsg。NOC0内部网络306根据network0_rsp_dstid将该第二会话响应发送给network0_rsp_dstid对应的IB,为了通知其请求已经在NOC1 302上得到响应。需要说明的是,network0_rsp_dstid为上述提及的IB1 303的编号信息。
在一种可能的实现方式中,所述IB1 303,还用于:接收所述第二会话响应,根据所述第二响信号中的所述第一上下文条目编号,在所述第一上下文表中查找与所述请求设备会 话请求标识和所述第一会话标识的映射关系;所述请求设备会话请求标识对应目标请求设备;基于所述第二会话响应向所述目标请求设备发送第四会话响应;所述第一会话响应用于通知所述请求设备已完成请求。具体地,当NOC0 301的IB1 303接收到NOC0内部网络306发送的第二会话响应后,会根据第二会话响应中的IB1上下文条目编号在IB1上下文表中查找之前记录的请求设备的会话请求标识与NOC0内部会话标识信息映射关系,从而IB1 303可基于第二会话响应将第四会话响应发送给相应的请求设备,通知该请求设备的请求已经在NOC1 302上得到响应。通过实施本发明提供的实施例,避免了在TB1 304的上下文表中存储和查找NOC0内部网络信息带来的延时和不必要的芯片面积开销,从而简化TB1 304的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率,实现了NOC0 303能够更加快速的访问NOC1 304。例如,当请求设备为GPU时,在GPU通过NOC0 301访问NOC1 302的片上网络并读取NOC1 302中的数据的场景下,此时NOC1 302片上网络为寄存器子系统,在该寄存器子系统中存储了多个图片数据。当IB1接收到第二会话响应后,可选的,第二会话响应包括NOC0内部网络响应操作类型信息network0_rsp_opc、NOC0内部网络响应有效载荷信息network0_rsp_pld、NOC0内部网络响应目标节点标识信息network0_rsp_dstid、NOC0内部网络响应原端标识符信息network0_rsp_srcid、NOC0内部网络响应返回信息network0_rsp_retmsg,如图3C所示,图中IB1 303的索引模块1400可根据network0_rsp_retmsg在第一上下文表308中查询之前的请求记录,便于后续通知请求设备相应的会话请求已经在NOC1内部网络307中得到响应。
在一种可能的实现方式中,所述第一初始桥IB1,具体用于:按照目标顺序发送多个会话请求,所述多个会话请求包括所述第一会话请求;按照所述目标顺序接收多个会话响应,所述会话响应包括所述第二会话响应;按照所述目标顺序,基于所述多个会话响应向多个请求设备分别发送处理后的会话响应;所述多个请求设备包括所述目标请求设备,所述处理后的会话响应中的其中一个为所述第四会话响应。具体地,当IB1接收到多个初始请求会话时,且这些初始会话请求标识相同,那么IB1在转换成多个第一请求会话时,要求NOC0内部会话请求标识是相同的,且要求NOC0和NOC1确保相同的会话请求标识到达NOC1内部网络是按照目标顺序的,从而使得请求在NOC1内部网络响应后,响应会话按照上述目标顺序分别发送给IB1。例如,IB1接收到100个从主设备发送的请求会话,且这些初始会话请求标识相同,IB1接收到该100请求会话后,需要说明的是,IB1根据这100个初始会话请求转换成多个第一请求会话时要求NOC0内部会话请求标识是相同的,接下来IB1会按照这个100请求会话的请求顺序向NOC1发送请求会话,当请求在NOC1上得到响应后,同样会按照这100请求会话初始的请求顺序分别接收到相应的响应会话。
因此,在本发明实施例中,通过对NOC0中的TB1 304进行改进,使得上述提及的第二会话请求和第一会话响应中携带上NOC0内部网络信息,从而简化TB1 304的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率。具体地,当TB1 304接收到IB1 303的第一会话请求后,由于在第一会话请求中包括了NOC0内部网络信息,其中NOC内部网络信息包括了NOC0内部会话标识信息、IB1 303中用于记录请求设备与NOC0内部会话标识信息映射关系的IB1上下文条目编号和IB1编号信息,因此TB1 304将NOC0内部会话标识信息和IB1编号信息进行打包得到第二NOC0外部会话标识信息,然后向 NOC1 302的IB2 305发送第二会话请求,第二会话请求中包括了第二NOC0外部会话标识信息和IB1上下文条目编号,从而第二会话请求携带了NOC0内部网络信息。接下来,IB2 305接收到第二会话请求后,IB2 305会针对第二会话请求生成第一会话响应,然后向TB1 304发送第一会话响应。当TB1 304接收到第一会话响应后,由于第一会话响应中包括了NOC0内部网络信息,其中NOC内部网络信息包括了第二NOC0外部会话标识信息和IB1上下文条目编号,因此TB1 304将第二NOC0外部会话标识信息进行解包得到NOC0内部会话标识信息和IB1编号信息,然后根据NOC0内部会话标识信息、IB1编号信息和IB1上下文条目编号生成第二会话响应。通过实施本发明实施例,对TB1 304进行改进,使得第二会话请求和第一会话响应中携带NOC0内部网络信息,避免了在TB1 304的上下文表中存储和查找NOC0内部网络信息带来的延时和不必要的芯片面积开销,从而简化TB1 304的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率。
上述详细阐述了本发明实施例的装置,下面提供了本发明实施例的相关方法。
本发明实施例提供一种片上系统通信方法,其特征在于,所述片上系统包括第一片上网络NOC0和第二片上网络NOC1;所述NOC0包括第一初始桥IB1和第一目标桥TB1,所述NOC1包括第二初始桥;所述方法包括:所述第一初始桥IB1发送第一会话请求,所述第一会话请求包括第一会话标识、第一上下文条目编号和所述IB1的编号;所述第一目标桥TB1接收所述第一会话请求;基于所述第一会话请求生成第二会话请求,并向所述IB2发送第二会话请求;所述第二会话请求包括第二会话标识和所述第一上下文条目编号;所述第二会话标识为基于所述第一会话标识和所述IB1的编号打包后生成的;所述第二初始桥IB2接收所述第二会话请求;基于所述第二会话请求生成第一会话响应,并向所述TB1发送所述第一会话响应;所述第一会话响应包括所述第二会话标识和所述第一上下文条目编号;所述第一目标桥TB1接收所述第一会话响应;将所述第二会话标识解包获得所述IB1的编号,生成第二会话响应,所述第二会话响应包括所述IB1的编号和所述第一上下文条目编号。
在一种可能的实现方式中,所述NOC0还包括NOC0内部网络;所述方法还包括:所述NOC0内部网络接收所述IB1发送的所述第一会话请求,所述第一会话请求还包括目标节点标识信息;根据所述目标节点标识信息,确定与所述目标节点标识信息匹配的所述TB1;向所述TB1发送所述第一会话请求。
在一种可能的实现方式中,所述IB1中存储有第一上下文表,所述第一上下文表中包括多个IB1上下文条目;所述方法还包括:所述IB1在所述多个IB1上下文条目中的第一上下文条目中存储请求设备会话请求标识和所述第一会话标识的映射关系;所述第一上下文条目的编号为所述第一上下文条目编号。
在一种可能的实现方式中,所述IB2包中存储有第二上下文表,所述第二上下文表中包括多个IB2上下文条目;所述方法还包括:所述IB2根据所述第二会话标识进行重映射得到第三会话标识;在所述多个IB2上下文条目中的第二上下文条目中存储所述第二会话标识与所述第三会话标识的映射关系、所述第二会话标识和所述第一上下文条目编号;所述第二上下文条目的编号为所述第二上下文条目编号;生成第三会话请求;所述第三会话 请求包括IB2编号、所述第三会话标识、所述第二上下文条目编号。
在一种可能的实现方式中,所述NOC1还包括所述NOC1内部网络;所述方法还包括:所述IB2向所述NOC1内部网络发送所述第三会话请求;所述NOC1内部网络接收所述第三会话请求,响应于所述第三会话请求;基于所述第三会话请求生成第三会话响应,并向所述IB2发送所述第三会话响应;所述第三会话响应包括所述第二上下文条目编号。
在一种可能的实现方式中,所述方法还包括:所述IB2接收所述第三会话响应,根据所述第三会话响应中的所述第二上下文条目编号,根据所述第二上下文条目编号在所述第二上下文表中查找所述第二上下文条目,获取所述第二上下文条目中存储的所述第二会话标识和所述第一上下文条目编号;基于所述第二会话标识和所述第一上下文条目编号生成所述第一会话响应。
在一种可能的实现方式中,所述方法还包括:所述TB1向所述NOC0内部网络发送所述第二会话响应;所述NOC0内部网络接收所述第二会话响应,并向根据所述IB1的编号向所述IB1发送所述第二会话响应。
在一种可能的实现方式中,所述方法还包括:所述IB1接收所述第二会话响应,根据所述第二响信号中的所述第一上下文条目编号,在所述第一上下文表中查找与所述请求设备会话请求标识和所述第一会话标识的映射关系;基于所述第二会话响应向所述请求设备发送第四会话响应;所述第一会话响应用于通知所述请求设备已完成请求。
需要说明的是,本发明实施例中所描述的片上系统通信方法中各个步骤的实现在所述的装置实施例中的模斑转换装置中完成,此处不再赘述。
本申请提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述权利要求上述任意一项所述的方法。
本申请提供一种计算机程序,其特征在于,所述计算机可读程序包括指令,当所述计算机程序被处理器执行时,使得所述处理器执行如上述权利要求上述中任意一项所述的方法。
本申请提供一种片上网络接口装置,其特征在于,所述片上系统包括第一片上网络NOC0和第二片上网络NOC1;所述NOC0包括第一初始桥IB1和第一目标桥TB1,所述NOC1包括第二初始桥IB2;所述第一初始桥IB1,用于发送第一会话请求,所述第一会话请求包括第一会话标识、第一上下文条目编号和所述IB1的编号;所述第一目标桥TB1,用于接收所述第一会话请求;基于所述第一会话请求生成第二会话请求,并向所述IB2发送第二会话请求;所述第二会话请求包括第二会话标识和所述第一上下文条目编号;所述第二会话标识为基于所述第一会话标识和所述IB1的编号打包后生成的;所述第二初始桥IB2,用于接收所述第二会话请求;基于所述第二会话请求生成第一会话响应,并向所述TB1发送所述第一会话响应;所述第一会话响应包括所述第二会话标识和所述第一上下文条目编号;所述第一目标桥TB1,还用于接收所述第一会话响应;将所述第二会话标识解包获得所述IB1的编号,生成第二会话响应,所述第二会话响应包括所述IB1的编号和所述第一上下文条目编号。
本发明实施例还提供一种计算机可读存储介质,其中,该计算机可读存储介质可存储有程序,该程序被多核处理器执行时包括上述方法实施例中记载的任意一种的部分或全部步骤。
本发明实施例还提供一种计算机程序,该计算机程序包括指令,当该计算机程序被多核处理器执行时,使得所述多核处理器可以执行任意一种多核处理器的处理方法的部分或全部步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本申请各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:U盘、移动硬盘、磁碟、光盘、只读存储器(Read-Only Memory,缩写:ROM)或者随机存取存储器(Random Access Memory,缩写:RAM)等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (20)

  1. 一种片上系统,其特征在于,所述片上系统包括第一片上网络NOC0和第二片上网络NOC1;所述NOC0包括第一初始桥IB1和第一目标桥TB1,所述NOC1包括第二初始桥IB2;
    所述第一初始桥IB1,用于发送第一会话请求,所述第一会话请求包括第一会话标识、第一上下文条目编号和所述IB1的编号;
    所述第一目标桥TB1,用于接收所述第一会话请求;基于所述第一会话请求生成第二会话请求,并向所述IB2发送第二会话请求;所述第二会话请求包括第二会话标识和所述第一上下文条目编号;所述第二会话标识为基于所述第一会话标识和所述IB1的编号打包后生成的;
    所述第二初始桥IB2,用于接收所述第二会话请求;基于所述第二会话请求生成第一会话响应,并向所述TB1发送所述第一会话响应;所述第一会话响应包括所述第二会话标识和所述第一上下文条目编号;
    所述第一目标桥TB1,还用于接收所述第一会话响应;将所述第二会话标识解包获得所述IB1的编号,生成第二会话响应,所述第二会话响应包括所述IB1的编号和所述第一上下文条目编号。
  2. 根据权利要求1所述的片上系统,其特征在于,所述NOC0还包括NOC0内部网络;所述NOC0内部网络,用于:
    接收所述IB1发送的所述第一会话请求,所述第一会话请求还包括目标节点标识信息;
    根据所述目标节点标识信息,确定与所述目标节点标识信息匹配的所述TB1;
    向所述TB1发送所述第一会话请求。
  3. 根据权利要求1或2所述的片上系统,其特征在于,所述IB1中存储有第一上下文表,所述第一上下文表中包括多个IB1上下文条目;所述IB1,还用于:
    在所述多个IB1上下文条目中的第一上下文条目中存储请求设备会话请求标识和所述第一会话标识的映射关系;所述第一上下文条目的编号为所述第一上下文条目编号。
  4. 根据权利要求1-3所述的任意一项所述片上系统,其特征在于,所述IB2包中存储有第二上下文表,所述第二上下文表中包括多个IB2上下文条目;所述IB2,还用于:
    根据所述第二会话标识进行重映射得到第三会话标识;
    在所述多个IB2上下文条目中的第二上下文条目中存储所述第二会话标识与所述第三会话标识的映射关系、所述第二会话标识和所述第一上下文条目编号;所述第二上下文条目的编号为所述第二上下文条目编号;生成第三会话请求;所述第三会话请求包括IB2编号、所述第三会话标识、所述第二上下文条目编号。
  5. 根据权利要求4所述的任意一项所述片上系统,其特征在于,所述NOC1还包括所述NOC1内部网络;所述IB2,还用于向所述NOC1内部网络发送所述第三会话请求;
    所述NOC1内部网络,用于:
    接收所述第三会话请求,响应于所述第三会话请求;
    基于所述第三会话请求生成第三会话响应,并向所述IB2发送所述第三会话响应;所述第三会话响应包括所述第二上下文条目编号。
  6. 根据权利要求5所述的片上系统,其特征在于,所述IB2,还用于:
    接收所述第三会话响应,根据所述第三会话响应中的所述第二上下文条目编号,根据所述第二上下文条目编号在所述第二上下文表中查找所述第二上下文条目,获取所述第二上下文条目中存储的所述第二会话标识和所述第一上下文条目编号;
    基于所述第二会话标识和所述第一上下文条目编号生成所述第一会话响应。
  7. 根据权利要求6所述的片上系统,其特征在于,所述TB1,还用于向所述NOC0内部网络发送所述第二会话响应;
    所述NOC0内部网络,还用于:
    接收所述第二会话响应,并向根据所述IB1的编号向所述IB1发送所述第二会话响应。
  8. 根据权利要求7所述的片上系统,其特征在于,所述IB1,还用于:
    接收所述第二会话响应,根据所述第二响信号中的所述第一上下文条目编号,在所述第一上下文表中查找与所述请求设备会话请求标识和所述第一会话标识的映射关系;所述请求设备会话请求标识对应目标请求设备;
    基于所述第二会话响应向所述目标请求设备发送第四会话响应;所述第一会话响应用于通知所述请求设备已完成请求。
  9. 根据权利要求8所述的片上系统,其特征在于,所述第一初始桥IB1,具体用于:
    按照目标顺序发送多个会话请求,所述多个会话请求包括所述第一会话请求;
    按照所述目标顺序接收多个会话响应,所述会话响应包括所述第二会话响应;
    按照所述目标顺序,基于所述多个会话响应向多个请求设备分别发送处理后的会话响应;所述多个请求设备包括所述目标请求设备,所述处理后的会话响应中的其中一个为所述第四会话响应。
  10. 一种片上系统通信方法,其特征在于,所述片上系统包括第一片上网络NOC0和第二片上网络NOC1;所述NOC0包括第一初始桥IB1和第一目标桥TB1,所述NOC1包括第二初始桥;所述方法包括:
    所述第一初始桥IB1发送第一会话请求,所述第一会话请求包括第一会话标识、第一上下文条目编号和所述IB1的编号;
    所述第一目标桥TB1接收所述第一会话请求;基于所述第一会话请求生成第二会话请求,并向所述IB2发送第二会话请求;所述第二会话请求包括第二会话标识和所述第一上下文条目编号;所述第二会话标识为基于所述第一会话标识和所述IB1的编号打包后生成的;
    所述第二初始桥IB2接收所述第二会话请求;基于所述第二会话请求生成第一会话响应,并向所述TB1发送所述第一会话响应;所述第一会话响应包括所述第二会话标识和所述第一上下文条目编号;
    所述第一目标桥TB1接收所述第一会话响应;将所述第二会话标识解包获得所述IB1的编号,生成第二会话响应,所述第二会话响应包括所述IB1的编号和所述第一上下文条目编号。
  11. 根据权利要求10所述的方法,其特征在于,所述NOC0还包括NOC0内部网络; 所述方法还包括:
    所述NOC0内部网络接收所述IB1发送的所述第一会话请求,所述第一会话请求还包括目标节点标识信息;根据所述目标节点标识信息,确定与所述目标节点标识信息匹配的所述TB1;向所述TB1发送所述第一会话请求。
  12. 根据权利要求10或11所述的方法,其特征在于,所述IB1中存储有第一上下文表,所述第一上下文表中包括多个IB1上下文条目;所述方法还包括:
    所述IB1在所述多个IB1上下文条目中的第一上下文条目中存储请求设备标识和所述第一会话标识的映射关系;所述第一上下文条目的编号为所述第一上下文条目编号。
  13. 根据权利要求10-12所述的任意一项所述方法,其特征在于,所述IB2包中存储有第二上下文表,所述第二上下文表中包括多个IB2上下文条目;所述方法还包括:
    所述IB2根据所述第二会话标识进行重映射得到第三会话标识;在所述多个IB2上下文条目中的第二上下文条目中存储所述第二会话标识与所述第三会话标识的映射关系、所述第二会话标识和所述第一上下文条目编号;所述第二上下文条目的编号为所述第二上下文条目编号;生成第三会话请求;所述第三会话请求包括IB2编号、所述第三会话标识、所述第二上下文条目编号。
  14. 根据权利要求13所述的任意一项所述方法,其特征在于,所述NOC1还包括所述NOC1内部网络;所述方法还包括:
    所述IB2向所述NOC1内部网络发送所述第三会话请求;
    所述NOC1内部网络接收所述第三会话请求,响应于所述第三会话请求;基于所述第三会话请求生成第三会话响应,并向所述IB2发送所述第三会话响应;所述第三会话响应包括所述第二上下文条目编号。
  15. 根据权利要求14所述的方法,其特征在于,所述方法还包括:
    所述IB2接收所述第三会话响应,根据所述第三会话响应中的所述第二上下文条目编号,根据所述第二上下文条目编号在所述第二上下文表中查找所述第二上下文条目,获取所述第二上下文条目中存储的所述第二会话标识和所述第一上下文条目编号;基于所述第二会话标识和所述第一上下文条目编号生成所述第一会话响应。
  16. 根据权利要求15所述的方法,其特征在于,所述方法还包括:
    所述TB1向所述NOC0内部网络发送所述第二会话响应;
    所述NOC0内部网络接收所述第二会话响应,并向根据所述IB1的编号向所述IB1发送所述第二会话响应。
  17. 根据权利要求16所述的方法,其特征在于,所述方法还包括:
    所述IB1接收所述第二会话响应,根据所述第二响信号中的所述第一上下文条目编号,在所述第一上下文表中查找与所述请求设备会话请求标识和所述第一会话标识的映射关系;所述请求设备会话请求标识对应目标请求设备;基于所述第二会话响应向所述目标请求设备发送第四会话响应;所述第一会话响应用于通知所述请求设备已完成请求。
  18. 根据权利要求17所述的方法,其特征在于,所述方法包括:
    所述第一初始桥IB1按照目标顺序发送多个会话请求,所述多个会话请求包括所述第一会话请求;按照所述目标顺序接收多个会话响应,所述会话响应包括所述第二会话响应; 按照所述目标顺序,基于所述多个会话响应向多个请求设备分别发送处理后的会话响应;所述多个请求设备包括所述目标请求设备,所述处理后的会话响应中的其中一个为所述第四会话响应。
  19. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述权利要求9-16任意一项所述的方法。
  20. 一种计算机程序,其特征在于,所述计算机可读程序包括指令,当所述计算机程序被处理器执行时,使得所述处理器执行如上述权利要求9-16中任意一项所述的方法。
PCT/CN2020/141852 2020-12-30 2020-12-30 一种片上系统及相关方法 WO2022141322A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2020/141852 WO2022141322A1 (zh) 2020-12-30 2020-12-30 一种片上系统及相关方法
CN202080108260.4A CN116711281A (zh) 2020-12-30 2020-12-30 一种片上系统及相关方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/141852 WO2022141322A1 (zh) 2020-12-30 2020-12-30 一种片上系统及相关方法

Publications (1)

Publication Number Publication Date
WO2022141322A1 true WO2022141322A1 (zh) 2022-07-07

Family

ID=82260048

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/141852 WO2022141322A1 (zh) 2020-12-30 2020-12-30 一种片上系统及相关方法

Country Status (2)

Country Link
CN (1) CN116711281A (zh)
WO (1) WO2022141322A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117370231A (zh) * 2023-12-07 2024-01-09 芯动微电子科技(武汉)有限公司 实现gpu核内片上网络总线访问的协议转换模块及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753388A (zh) * 2008-11-28 2010-06-23 中国科学院微电子研究所 适用于多核处理器片上和片间扩展的路由及接口装置
CN102567277A (zh) * 2010-12-30 2012-07-11 世意法(北京)半导体研发有限责任公司 用于通过片上网络系统来降低功耗的方法
US20150103822A1 (en) * 2013-10-15 2015-04-16 Netspeed Systems Noc interface protocol adaptive to varied host interface protocols
US20150188847A1 (en) * 2013-12-30 2015-07-02 Netspeed Systems STREAMING BRIDGE DESIGN WITH HOST INTERFACES AND NETWORK ON CHIP (NoC) LAYERS

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753388A (zh) * 2008-11-28 2010-06-23 中国科学院微电子研究所 适用于多核处理器片上和片间扩展的路由及接口装置
CN102567277A (zh) * 2010-12-30 2012-07-11 世意法(北京)半导体研发有限责任公司 用于通过片上网络系统来降低功耗的方法
US20150103822A1 (en) * 2013-10-15 2015-04-16 Netspeed Systems Noc interface protocol adaptive to varied host interface protocols
US20150188847A1 (en) * 2013-12-30 2015-07-02 Netspeed Systems STREAMING BRIDGE DESIGN WITH HOST INTERFACES AND NETWORK ON CHIP (NoC) LAYERS

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LI JIAO, GUO RUNLONG, CAI SHENG, CHONG YUNFENG, XU HAIPENG, RAN FENG: "A conscious fault-tolerant routing algorithm with turn balanced in 3D NoC", JOURNAL OF SHANGHAI UNIVERSITY (NATURAL SCIENCE EDITION), vol. 26, no. 5, 31 October 2020 (2020-10-31), pages 726 - 734, XP055948221 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117370231A (zh) * 2023-12-07 2024-01-09 芯动微电子科技(武汉)有限公司 实现gpu核内片上网络总线访问的协议转换模块及方法
CN117370231B (zh) * 2023-12-07 2024-04-12 芯动微电子科技(武汉)有限公司 实现gpu核内片上网络总线访问的协议转换模块及方法

Also Published As

Publication number Publication date
CN116711281A (zh) 2023-09-05

Similar Documents

Publication Publication Date Title
JP6871957B2 (ja) エミュレートされたエンドポイントコンフィグレーション
US9940123B1 (en) Updating device code through a bus
CN112631959B (zh) 用于一致性消息的高带宽链路层
WO2022126919A1 (zh) 文件传输方法、装置、计算机设备及存储介质
US20160077999A1 (en) Remote Memory Ring Buffers in a Cluster of Data Processing Nodes
US10248607B1 (en) Dynamic interface port assignment for communication transaction
WO2022001417A1 (zh) 一种数据传输方法、处理器系统及内存访问系统
WO2019129167A1 (zh) 一种处理数据报文的方法和网卡
JP5681782B2 (ja) オン・ダイ・システム・ファブリック・ブロックの制御
US20150026286A1 (en) Iwarp rdma read extensions
TW201423422A (zh) 具有PCIe介面的裝置共享系統及方法
WO2015000302A1 (zh) 一种数据传输方法、设备及系统
WO2016119469A1 (zh) 业务上下文管理方法、物理主机、pcie设备及迁移管理设备
WO2015027806A1 (zh) 一种内存数据的读写处理方法和装置
WO2024041412A1 (zh) 存储系统、方法以及硬件卸载卡
WO2023066268A1 (zh) 一种处理请求的方法、装置及系统
JP2017537404A (ja) メモリアクセス方法、スイッチ、およびマルチプロセッサシステム
WO2014075255A1 (zh) 一种基于PCIE Switch通信的方法、装置及系统
WO2022228485A1 (zh) 一种数据传输方法、数据处理方法及相关产品
US11929926B2 (en) Traffic service threads for large pools of network addresses
WO2014086219A1 (zh) 一种基于外设部件互联总线的内容查找芯片及系统
JP2024517706A (ja) Smartnicにおけるネットワーク接続型mpi処理アーキテクチャ
WO2022141322A1 (zh) 一种片上系统及相关方法
CN113678104A (zh) 设备内符号数据移动系统
WO2015055117A1 (zh) 一种内存访问的方法、设备和系统

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 202080108260.4

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20967661

Country of ref document: EP

Kind code of ref document: A1