CN117851332A - Data transmission method and device for network on chip - Google Patents

Data transmission method and device for network on chip Download PDF

Info

Publication number
CN117851332A
CN117851332A CN202311632068.7A CN202311632068A CN117851332A CN 117851332 A CN117851332 A CN 117851332A CN 202311632068 A CN202311632068 A CN 202311632068A CN 117851332 A CN117851332 A CN 117851332A
Authority
CN
China
Prior art keywords
target
transmission
routing node
transmitted
data packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311632068.7A
Other languages
Chinese (zh)
Inventor
赵顺鹏
康一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Science and Technology of China USTC
Original Assignee
University of Science and Technology of China USTC
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 University of Science and Technology of China USTC filed Critical University of Science and Technology of China USTC
Priority to CN202311632068.7A priority Critical patent/CN117851332A/en
Publication of CN117851332A publication Critical patent/CN117851332A/en
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The disclosure provides a data transmission method for a network on chip, which can be applied to the technical field of data transmission. The data transmission method for the network on chip comprises the following steps: responding to a received first data transmission request sent by a host to at least one slave, acquiring a first data packet to be transmitted, format information of the first data packet to be transmitted and a plurality of routing nodes between the host and the slave, wherein the routing nodes comprise a plurality of transmission ports, and at least one transmission port for transmitting data to a diagonal direction of the routing nodes is included in the plurality of transmission ports; determining a target routing node and a target transmission port of the target routing node according to format information of a first data packet to be transmitted; and transmitting the first data packet to be transmitted to at least one slave computer through the target transmission port of the target routing node by the host computer. The disclosure also provides a data transmission device, equipment and storage medium for the network on chip.

Description

Data transmission method and device for network on chip
Technical Field
The present disclosure relates to the field of data transmission technologies, and in particular, to a data transmission method, apparatus, device, storage medium, and program product for a network on chip.
Background
With the continuous development of integrated circuits, the number of transistors integrated on a chip is increasing, and the communication complexity inside the chip is also increasing. The advent of network-on-chip has solved the problem that traditional bus architectures cannot meet high performance, high bandwidth.
In the process of realizing the conception of the present disclosure, the inventor finds that in the related art, in the data packet transmission process of the network on chip, since the data packet can only be transmitted horizontally or longitudinally between each routing node of the network on chip, the number of routing nodes passing in the transmission process is large, resulting in higher transmission delay and lower data packet transmission efficiency.
Disclosure of Invention
In view of the foregoing, the present disclosure provides a data transmission method, apparatus, device, storage medium, and program product for a network on chip.
According to a first aspect of the present disclosure, there is provided a data transmission method for a network on chip, comprising: responding to a received first data transmission request sent by a host to at least one slave, obtaining a first data packet to be transmitted, format information of the first data packet to be transmitted and a plurality of routing nodes between the host and the slave, wherein the routing nodes comprise a plurality of transmission ports, and at least one transmission port used for transmitting data in a diagonal direction with the routing nodes is included in the plurality of transmission ports; determining a target routing node and a target transmission port of the target routing node according to the format information of the first data packet to be transmitted; and transmitting the first data packet to be transmitted from the host to the at least one slave through the target transmission port of the target routing node.
According to an embodiment of the present disclosure, the format information of the first data packet to be transmitted includes an attribute value of a data valid bit and a data transmission distance bit. The determining a target routing node and a target transmission port of the target routing node according to the format information and the data transmission distance bit of the first data packet to be transmitted includes: and determining the starting states of the transmission ports on the plurality of routing nodes according to the attribute values of the data valid bits. And determining a target routing node and a target transmission port of the target routing node from the plurality of routing nodes according to the starting states of the transmission ports on the plurality of routing nodes.
According to an embodiment of the present disclosure, the plurality of routing nodes includes K; k is an integer greater than 1; the determining, from the plurality of routing nodes, a target routing node and a target transmission port of the target routing node according to the enabled states of the transmission ports on the plurality of routing nodes, includes: and determining the target transmission port of the kth target routing node according to the transmission port enabling state of the kth target routing node. And determining the data transmission direction of the kth target routing node according to the target transmission port. And determining a (k+1) th target routing node from a plurality of routing nodes in a transmission direction corresponding to the data transmission direction of the kth target routing node according to the data transmission direction of the kth target routing node, wherein K is an integer greater than or equal to 1 and less than or equal to K-1.
According to an embodiment of the present disclosure, the determining, according to the target transmission port, a data transmission direction of the kth target routing node includes: and determining that the data transmission direction of the kth target routing node is right transmission under the condition that the target transmission port is the first port. And determining the data transmission direction of the kth target routing node as downward transmission under the condition that the target transmission port is a second port. And when the target transmission port is a third port, determining the data transmission direction of the kth target routing node as diagonal transmission to the kth target routing node. And when the target transmission port is a fourth port, determining the data transmission direction of the kth target routing node as the local transmission.
According to an embodiment of the present disclosure, the data transmission method for a network on chip further includes: and responding to the received second data transmission request sent by at least two slaves to the host, and acquiring a second data packet to be transmitted, a third data packet to be transmitted, format information of the second data packet to be transmitted and format information of the third data packet to be transmitted. And determining a second target routing node and a second transmission port of the second target routing node according to the format information of the second data packet to be transmitted. And determining a third target routing node and a third transmission port of the third target routing node according to the format information of the third data packet to be transmitted. And in response to the second target routing node being the same as the third target routing node, determining a target data packet to be transmitted and a second target transmission port corresponding to the target data packet to be transmitted according to the use state of the third transmission port and the use state of the second transmission port. And transmitting the target data packet to be transmitted from the at least one slave to the host through the second target transmission port.
According to an embodiment of the present disclosure, the determining, according to the usage state of the third transmission port and the usage state of the second transmission port, a target data packet to be transmitted and a second target transmission port corresponding to the target data packet to be transmitted includes: and determining the second data packet to be transmitted as a target data packet to be transmitted and determining the second transmission port as the second target transmission port under the condition that the use state of the third transmission port is determined to be that the buffer memory is full. And when the use state of the second transmission port is determined to be full, determining the third data packet to be transmitted as a target data packet to be transmitted, and determining the third transmission port as the second target transmission port.
According to an embodiment of the present disclosure, the format information further includes a data cross-domain crossing sub-network identification bit, and the network on chip includes a plurality of sub-networks; the method further comprises the following steps: and under the condition that the data crossing sub-network identification bit is true, constructing a register unit. And storing the first data packet to be transmitted into the register unit. And transmitting the first data packet to be transmitted from one sub-network to another sub-network by using a forwarding unit.
A second aspect of the present disclosure provides a data transmission apparatus for a network on chip, comprising: the device comprises an acquisition module, a first determination module and a second determination module.
The system comprises an acquisition module, a transmission module and a transmission module, wherein the acquisition module is used for responding to a received first data transmission request sent by a host to at least one slave, acquiring a first data packet to be transmitted, format information of the first data packet to be transmitted and a plurality of routing nodes between the host and the slave, wherein the routing nodes comprise a plurality of transmission ports, and at least one transmission port used for transmitting data to the diagonal direction of the routing nodes is included in the plurality of transmission ports;
the first determining module is used for determining a target routing node and a target transmission port of the target routing node according to the format information of the first data packet to be transmitted;
and the second determining module is used for transmitting the first data packet to be transmitted to the at least one slave computer through the target transmission port of the target routing node by the host computer.
A third aspect of the present disclosure provides an electronic device, comprising: one or more processors; and a memory for storing one or more programs, wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to perform the data transmission method for a network on chip.
A fourth aspect of the present disclosure also provides a computer-readable storage medium having stored thereon executable instructions that, when executed by a processor, cause the processor to perform the above-described data transmission method for a network on chip.
A fifth aspect of the present disclosure also provides a computer program product comprising a computer program which, when executed by a processor, implements the above-described data transmission method for a network on chip.
According to the data transmission method, the device, the equipment and the storage medium for the network on chip, the target routing node and the target transmission port of the target routing node are determined according to the received first data transmission request, and the host transmits a first data packet to be transmitted to the slave according to the target transmission port of the target routing node. Because the plurality of transmission ports comprise at least one transmission port for transmitting the data packets to the direction of the diagonal line with the routing nodes, the number of the target routing nodes passing through in the transmission process is smaller, thereby reducing the transmission delay of the first data packet to be transmitted and improving the transmission efficiency of the data packet.
Drawings
The foregoing and other objects, features and advantages of the disclosure will be more apparent from the following description of embodiments of the disclosure with reference to the accompanying drawings, in which:
FIG. 1 schematically illustrates a network-on-chip architecture schematic diagram of a tree according to an embodiment of the present disclosure;
fig. 2 schematically illustrates a flow chart of a data transmission method for a network on chip according to an embodiment of the disclosure;
FIG. 3 schematically illustrates a network-on-chip architecture schematic diagram of a tree according to yet another embodiment of the present disclosure;
fig. 4 schematically illustrates format information of a first data packet to be transmitted according to an embodiment of the present disclosure;
fig. 5 schematically illustrates a flow chart of a data transmission method for a network on chip according to a further embodiment of the present disclosure;
fig. 6 schematically illustrates a transmission process of a data packet to be transmitted according to an embodiment of the present disclosure;
fig. 7 schematically illustrates a schematic diagram of sub-network partitioning according to an embodiment of the present disclosure;
fig. 8 schematically illustrates a timing diagram of data transmission in a forwarding unit according to an embodiment of the present disclosure;
fig. 9 schematically illustrates a transmission process of a data packet to be transmitted according to still another embodiment of the present disclosure;
fig. 10 schematically illustrates a block diagram of a data transmission apparatus for a network on chip according to an embodiment of the present disclosure; and
fig. 11 schematically illustrates a block diagram of an electronic device adapted to implement a data transmission method for a network on chip according to an embodiment of the present disclosure.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is only exemplary and is not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the present disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. In addition, in the following description, descriptions of well-known structures and techniques are omitted so as not to unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and/or the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It should be noted that the terms used herein should be construed to have meanings consistent with the context of the present specification and should not be construed in an idealized or overly formal manner.
Where expressions like at least one of "A, B and C, etc. are used, the expressions should generally be interpreted in accordance with the meaning as commonly understood by those skilled in the art (e.g.," a system having at least one of A, B and C "shall include, but not be limited to, a system having a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
In the technical scheme of the invention, the related user information (including but not limited to user personal information, user image information, user equipment information, such as position information and the like) and data (including but not limited to data for analysis, stored data, displayed data and the like) are information and data authorized by a user or fully authorized by all parties, and the processing of the related data such as collection, storage, use, processing, transmission, provision, disclosure, application and the like are all conducted according to the related laws and regulations and standards of related countries and regions, necessary security measures are adopted, no prejudice to the public welfare is provided, and corresponding operation inlets are provided for the user to select authorization or rejection.
In the process of realizing the disclosure, it is found that in the related art, a data packet is transmitted transversely or longitudinally between routing nodes in the data packet transmission process of the network on chip, so that the data packet transmission needs to pass through more routing nodes under the condition that no congestion exists in the network on chip, and the data packet transmission delay is higher and the efficiency is lower.
In view of this, an embodiment of the present disclosure provides a data transmission method for a network on chip, including: responding to a received first data transmission request sent by a host to at least one slave, acquiring a first data packet to be transmitted, format information of the first data packet to be transmitted and a plurality of routing nodes between the host and the slave, wherein the routing nodes comprise a plurality of transmission ports, and at least one transmission port for transmitting data to a diagonal direction of the routing nodes is included in the plurality of transmission ports; determining a target routing node and a target transmission port of the target routing node according to format information of a first data packet to be transmitted; and transmitting the first data packet to be transmitted to at least one slave computer by the host computer through a target transmission port of the target routing node.
Fig. 1 schematically illustrates a network-on-chip architecture schematic diagram of a tree according to an embodiment of the present disclosure.
As shown in fig. 1, the tree network-on-chip 100 may include a host Master, a routing node R 1 Routing node R 2 Routing node R 3 Routing node R 4 Routing node R 5 Routing node R 6 Routing node R 7 Routing node R 8 Routing node R 9 Routing node R 10 Routing node R 11 Routing node R 12 Routing node R 13 Routing node R 14 And routing node R 15 . Host Master can be connected with routing node R 1 Routing node R 2 Routing node R 3 Routing node R 4 Routing node R 5 Routing node R 6 Routing node R 7 Routing node R 8 Routing node R 9 Routing node R 10 Routing node R 11 Routing node R 12 Routing node R 13 Routing node R 14 Or routing node R 15 And transmitting the data packet to be transmitted. And route node R 1 Routing sectionPoint R 2 Routing node R 3 Routing node R4, routing node R 5 Routing node R 6 Routing node R 7 Routing node R 8 Routing node R 9 Routing node R 10 Routing node R 11 Routing node R 12 Routing node R 13 Routing node R 14 Or routing node R 15 The method can be used as a slave to receive the data packet to be transmitted by the Master. The data transmission directions of the data packets to be transmitted, which are transmitted from the Master to the slave, may include a first data transmission direction 101, a second data transmission direction 102, a third data transmission direction 103, a fourth data transmission direction 104, a fifth data transmission direction 105, a sixth data transmission direction 106, and a seventh data transmission direction 107.
For example, routing node R 15 As slave, master routes to node R 15 Transmitting a data packet, where the data transmission direction is the fourth transmission direction 104, the data packet may be transmitted from the host Master to the routing node R 1 Routing node R 1 Transmitting data packets to a routing node R 6 Routing node R 6 Transmitting data packets to a routing node R 11 Routing node R 11 Transmitting data packets to a routing node R 15 The transmission path of the data packet is a host Master and a routing node R 1 Routing node R 6 Routing node R 11 Routing node R as slave 15
The data transmission method for the network on chip according to the embodiment of the present disclosure will be described in detail with reference to fig. 2 to 9 based on the tree network on chip architecture described in fig. 1.
Fig. 2 schematically illustrates a flow chart of a data transmission method for a network on chip according to an embodiment of the disclosure.
As shown in fig. 2, the data transmission method 200 for a network on chip of this embodiment includes operations S210 to S230.
In operation S210, in response to a received first data transmission request sent by the host to at least one slave, a first data packet to be transmitted, format information of the first data packet to be transmitted, and a plurality of routing nodes between the host and the slave are acquired, wherein the routing nodes include a plurality of transmission ports, and at least one transmission port for transmitting data in a direction diagonal to the routing nodes is included in the plurality of transmission ports.
In operation S220, the destination routing node and the destination transmission port of the destination routing node are determined according to the format information of the first data packet to be transmitted.
In operation S230, the first data packet to be transmitted is transmitted from the host to at least one slave via the destination transmission port of the destination routing node.
According to embodiments of the present disclosure, a host may characterize a device that sends a request to a slave, and a slave may characterize a device that provides services to the host, processing the request sent by the host. For example, the master may be a client device and the slave may be a server device. The client device sends a request to the server device, which may process the request sent by the client device.
According to the embodiment of the disclosure, the host sends a first data packet to be transmitted, and the slave receives the first data packet to be transmitted through the transmission port of the routing node.
According to an embodiment of the present disclosure, the format information of the first data packet to be transmitted may include information such as a data valid bit, a data read/write bit, a data cross sub-network identification bit, and a data transmission distance bit.
Routing nodes at different locations of the network on chip may have different numbers of transmission ports according to embodiments of the present disclosure. For example, a routing node at an edge location of the network on chip may have two transmission ports and a routing node at a non-edge location of the network on chip may have four transmission ports.
According to the embodiment of the disclosure, a specific transmission path of the first data packet to be transmitted may be determined according to format information of the first data packet to be transmitted. The destination routing node and the destination transmission port of the destination routing node may be determined based on the specific transmission path of the first data packet to be transmitted. Wherein the target routing node may comprise a plurality of routing nodes. For example, in the case where the target routing node includes 3 routing nodes, there may be a first target routing node, a second target routing node, and a third target routing node.
According to the embodiment of the disclosure, based on a specific transmission path, a first data packet to be transmitted may be transmitted from a host to a slave through a target transmission port of a target routing node.
According to the embodiment of the disclosure, the host transmits a first data packet to be transmitted to the slave according to the target transmission port of the target routing node by determining the target routing node and the target transmission port of the target routing node according to the received first data transmission request. Because the plurality of transmission ports comprise at least one transmission port for transmitting the data packets to the direction of the diagonal line with the routing nodes, the number of the target routing nodes passing through in the transmission process is smaller, thereby reducing the transmission delay of the first data packet to be transmitted and improving the transmission efficiency of the data packet.
According to an embodiment of the present disclosure, the format information of the first data packet to be transmitted includes an attribute value of a data valid bit and a data transmission distance bit. Determining a target routing node and a target transmission port of the target routing node according to format information of a first data packet to be transmitted, including: and determining the enabling states of the transmission ports on the plurality of routing nodes according to the attribute values of the data valid bits and the data transmission distance bits. And determining a target routing node and a target transmission port of the target routing node from the plurality of routing nodes according to the enabling states of the transmission ports on the plurality of routing nodes.
According to the embodiment of the disclosure, the data transmission direction of the first data packet to be transmitted can be determined according to the attribute value of the data valid bit of the first data packet to be transmitted. The slave for transmission of the first data packet to be transmitted may be determined based on the data transmission distance bit of the first data packet to be transmitted. Accordingly, the transmission path of the first data packet to be transmitted can be determined based on the attribute value of the data valid bit and the data transmission distance bit of the first data packet to be transmitted.
According to embodiments of the present disclosure, the enablement status of a transmission port on a routing node may characterize whether the transmission port on the routing node is open. The enabled states of the transport ports on the routing node may include an open state and a closed state. For example, in the case where a transmission port on a routing node is open, a first data packet to be transmitted may be transmitted on the transmission port on the routing node.
According to embodiments of the present disclosure, at the same time, there may be one transmission port in an open state for multiple transmission ports on one routing node.
According to embodiments of the present disclosure, a target routing node and a target transmission port of the target routing node may be determined from a plurality of routing nodes according to an enablement status of transmission ports on the plurality of routing nodes. For example, there are 16 routing nodes in total, and 3 destination routing nodes and destination transmission ports of the 3 destination routing nodes are determined from the 16 routing nodes according to the enabled states of the transmission ports on the 16 routing nodes.
According to the embodiment of the disclosure, the target routing node and the target transmission port of the target routing node can be determined according to the attribute value of the data valid bit and the data transmission distance bit, so that the accuracy of a data packet transmission path is improved, and the effectiveness and the efficiency of data transmission are further improved.
Fig. 3 schematically illustrates a tree network-on-chip architecture diagram according to a further embodiment of the present disclosure.
As shown in fig. 3, the tree network-on-chip architecture 300 includes a host Master, routing nodes R 1 Routing node R 2 Routing node R 3 Routing node R 4 Routing node R 5 Routing node R 6 Routing node R 7 Routing node R 8 Routing node R 9 Routing node R 10 Routing node R 11 Routing node R 12 Routing node R 13 Routing node R 14 Routing node R 15 And input ports and transmission ports of the routing nodes. For example, routing node R in FIG. 3 13 Is represented by black dot 108 of routing node R 13 An input port and a transmission port. In a 16-routing-node tree network-on-chip architecture, there may beSeven data transmission directions are a first data transmission direction 101, a second data transmission direction 102, a third data transmission direction 103, a fourth data transmission direction 104, a fifth data transmission direction 105, a sixth data transmission direction 106, and a seventh data transmission direction 107, respectively, and each data transmission direction may include a plurality of routing nodes thereon. For example, the first data transmission direction may include a routing node R 1 Routing node R 5 Routing node R 9 Routing node R 12
According to the embodiment of the disclosure, based on the data transmission direction and the data transmission distance bit, a first data packet to be transmitted can be transmitted from the Master to the slave through the target transmission port of the target routing node. For example, in the case where the data transmission direction is the fourth data transmission direction 104 and the data transmission distance bit is 4, the first data packet to be transmitted may pass from the host Master through the routing node R 1 Target transmission port, routing node R of (c) 6 Target transmission port, routing node R of (c) 11 Is transmitted to the slave routing node R by the target transmission port of the (E) 15 . Wherein the routing node R 1 The destination transmission port of (2) is the first destination transmission port of the fourth data transmission direction 104, the routing node R 6 The destination transmission port of (2) is the second destination transmission port of the fourth data transmission direction 104, the routing node R 11 Is the third destination port of the fourth data transmission direction 104.
For another example, in the case that the data transmission direction is the first data transmission direction 101 and the data transmission distance bit is 4, the first data packet to be transmitted may pass through the routing node R from the host Master 1 Target transmission port, routing node R of (c) 5 Target transmission port, routing node R of (c) 9 Is transmitted to the slave routing node R by the target transmission port of the (E) 12 . Wherein the routing node R 1 Is the first destination transmission port of the first data transmission direction 101, routing node R 5 The target transmission port of (a) is the second target transmission port of the first data transmission direction 101, and the routing node R 9 The target transmission port of (1) is the first data transmission direction101 a third destination transmission port.
Fig. 4 schematically illustrates format information of a first data packet to be transmitted according to an embodiment of the present disclosure.
As shown in fig. 4, the format information of the first data packet to be transmitted may include 1-bit data valid bit 410, 1-bit data read/write bit 420, 1-bit data span sub-network identification bit 430 and 2-bit data transmission distance bit 440.
According to an embodiment of the present disclosure, the plurality of routing nodes includes K, K being an integer greater than 1. Determining a target routing node and a target transmission port of the target routing node from the plurality of routing nodes according to the enabling state of the transmission ports on the plurality of routing nodes, comprising: and determining the target transmission port of the kth target routing node according to the transmission port enabling state of the kth target routing node. And determining the data transmission direction of the kth target routing node according to the target transmission port. And determining the (k+1) th target routing node from a plurality of routing nodes in the transmission direction corresponding to the data transmission direction of the (K) th target routing node according to the data transmission direction of the (K) th target routing node, wherein K is an integer greater than or equal to 1 and less than or equal to K-1.
According to the embodiment of the disclosure, in the case where k is 1 and k is 3, the target transmission port of the 1 st target routing node may be determined according to the enabled state of the transmission port on the 1 st target routing port node. Each transmission port may transmit data in a different direction. Therefore, the data transmission direction of the 1 st target routing node can be determined according to the target transmission port. The 2 nd target routing node may be determined from among the plurality of routing nodes in the transmission direction corresponding to the data transmission direction of the 1 st target routing node according to the data transmission direction of the 1 st target routing node.
For example, in the case where the transmission port transmitting to the right on the 1 st target routing node is in an open state, it may be determined that the 1 st target transmission port is a port transmitting to the right of data. From the port from which data is transferred to the right, it can be determined that data is transferred to the right. From the data transmission to the right, the 2 nd target routing node may be determined from among the plurality of routing nodes in the direction of transmission to the right.
According to the embodiment of the disclosure, according to the transmission port enabling state of the kth target routing node, the data transmission direction of the kth target routing node is determined, and then the kth+1th target routing node is determined, so that the accuracy of a transmission path is improved, and the reliability and the efficiency of data transmission are further improved.
According to an embodiment of the present disclosure, determining a data transmission direction of a kth target routing node according to a target transmission port includes: and under the condition that the target transmission port is the first port, determining the data transmission direction of the kth target routing node to be rightward transmission. And under the condition that the target transmission port is the second port, determining the data transmission direction of the kth target routing node as downward transmission. And determining the data transmission direction of the kth target routing node as diagonal transmission to the kth target routing node under the condition that the target transmission port is the third port. And under the condition that the target transmission port is the fourth port, determining the data transmission direction of the kth target routing node as the local transmission.
According to an embodiment of the present disclosure, the first port may be an X port, and in a case where the target transmission port is the X port, it is determined that the data transmission direction of the kth target routing node is right transmission.
According to an embodiment of the present disclosure, the second port may be a Y port, and in a case where the target transmission port is the Y port, it is determined that the data transmission direction of the kth target routing node is downward transmission.
According to an embodiment of the present disclosure, the third port may be a diagnostic port, and in the case that the target transmission port is a diagnostic port, the data transmission direction of the kth target routing node is determined to be diagonally transmitted to the kth target routing node.
According to an embodiment of the present disclosure, the fourth port may be a Local port, and in the case that the target transmission port is a Local port, the data transmission direction of the kth target routing node is determined to be a Local transmission.
According to the embodiment of the disclosure, the data packet can be transmitted in different directions according to different target transmission ports, so that the accuracy of the transmission direction of the data packet is improved, and the reliability and the efficiency of data transmission are further improved.
Fig. 5 schematically illustrates a flow chart of a data transmission method for a network on chip according to a further embodiment of the present disclosure.
As shown in fig. 5, the data transmission method 500 for a network on chip of this embodiment includes operations S510 to S550.
In operation S510, in response to the received second data transmission request sent by the at least two slaves to the host, the second data packet to be transmitted, the third data packet to be transmitted, the format information of the second data packet to be transmitted, and the format information of the third data packet to be transmitted are obtained.
In operation S520, the second destination routing node and the second transmission port of the second destination routing node are determined according to the format information of the second data packet to be transmitted.
In operation S530, a third destination routing node and a third transmission port of the third destination routing node are determined according to format information of the third data packet to be transmitted.
In operation S540, in response to the second target routing node and the third target routing node being the same, the target data packet to be transmitted and the second target transmission port corresponding to the target data packet to be transmitted are determined according to the usage state of the third transmission port and the usage state of the second transmission port.
In operation S550, the target data packet to be transmitted is transmitted to the host by the at least one slave through the second target transmission port.
According to embodiments of the present disclosure, one data transmission request may include a plurality of data packets to be transmitted. For example, a second data packet to be transmitted and a third data packet to be transmitted.
According to an embodiment of the present disclosure, the format information of the second data packet to be transmitted may include an attribute value of a data valid bit.
According to the embodiment of the disclosure, the second destination routing node and the second transmission port of the second destination routing node may be determined according to the attribute value of the data valid bit of the second data packet to be transmitted.
According to the embodiment of the disclosure, the third destination routing node and the third transmission port of the third destination routing node may be determined according to the attribute value of the data valid bit of the third data packet to be transmitted.
According to the embodiment of the disclosure, when the second target routing node and the third target routing node are the same, the target data packet to be transmitted and the second target transmission port corresponding to the target data packet to be transmitted may be determined according to the use state of the third transmission port and the use state of the second transmission port. And transmitting the target data packet to be transmitted to the host computer through the second target transmission port by at least one slave computer. For example, according to the usage state of the third transmission port and the usage state of the second transmission port, the second data packet to be transmitted may be determined as the target data packet to be transmitted, and the second transmission port of the second target routing node is the second target transmission port corresponding to the target data packet to be transmitted. And transmitting the second data packet to be transmitted to the host through the second transmission port.
According to the embodiment of the disclosure, under the condition that a plurality of data packets to be transmitted exist and the plurality of data packets to be transmitted have the same target routing node, the target data packets to be transmitted and the second target transmission ports corresponding to the target data packets to be transmitted can be determined according to the use states of the plurality of transmission ports, so that the data transmission order is improved, and the data transmission efficiency is further improved.
According to an embodiment of the present disclosure, determining a target data packet to be transmitted and a second target transmission port corresponding to the target data packet to be transmitted according to a usage state of a third transmission port and a usage state of the second transmission port, includes: and determining the second data packet to be transmitted as a target data packet to be transmitted and determining the second transmission port as a second target transmission port under the condition that the use state of the third transmission port is determined to be that the buffer memory is full. And under the condition that the using state of the second transmission port is determined to be full, determining the third data packet to be transmitted as the target data packet to be transmitted, and determining the third transmission port as the second target transmission port.
According to an embodiment of the present disclosure, the usage state of the third transmission port may include two states of cache-underfill and cache-full. The usage state of the second transmission port may include both a cache not full and a cache full state.
According to the embodiment of the disclosure, when the usage state of the third transmission port is determined to be that the buffer is full, the third data packet to be transmitted cannot be transmitted in time, the second data packet to be transmitted may be determined to be the target data packet to be transmitted, and the second transmission port may be determined to be the second target transmission port. So that the second data packet to be transmitted can be transmitted through the second transmission port.
According to the embodiment of the disclosure, when the usage state of the second transmission port is determined to be that the buffer is full, the second data packet to be transmitted cannot be transmitted in time, and the third data packet to be transmitted may be determined to be the target data packet to be transmitted. Therefore, the third data packet to be transmitted can be transmitted through the third transmission port.
According to the embodiment of the disclosure, under the condition that the use state of the transmission port is that the buffer memory is full, another data packet to be transmitted is determined to be the target data packet to be transmitted, and the other transmission port is determined to be the second target transmission port, so that the possibility of data packet loss is reduced, and the data packet transmission efficiency is improved.
Fig. 6 schematically illustrates a transmission process of a data packet to be transmitted according to an embodiment of the present disclosure.
As shown in fig. 6, packet represents a first Packet to be transmitted, MSR represents a data transmission direction of the first Packet to be transmitted, the first Packet to be transmitted may have multiple transmission directions, local port represents a Local port, diagnostic port represents a diagnostic port, X port represents an X port, and Y port represents a Y port. The format information of the first data packet to be transmitted may determine a data transmission direction of the first data packet to be transmitted, and according to the data transmission direction of the first data packet to be transmitted and the data transmission distance bit of the first data packet to be transmitted, the Switch allocation may determine a target transmission port of the target routing node.
As shown in fig. 6, the arbiter is configured to determine an input port of target data to be transmitted in a case where at least one slave sends a plurality of data packets to be transmitted to a host. The port controller is used for determining the buffer usage of the input port of the second data packet to be transmitted. The port controller may generate a Buffer mux sel (BM for short sel ) The signal is used to select whether the second data packet to be transmitted originates from a bypass (bypass) or a buffer. The arbiter can generate Buffer write enable (BW for short) ena ) Signal, BW ena The signal may be used to determine whether the next cycle of data is written to the cache or is transferred through a bypass. The port controller may send a second packet request to be transmitted to the packer, and the packer generates crossbar sel (abbreviated as XB sel ) The signal determines a second target transmission port. Among the plurality of transmission ports, there may be one transmission port for transmission of the second data packet to be transmitted.
According to the embodiment of the disclosure, in the case that the routing node buffer area is full, the port controller generates a full signal, where the full signal is used to indicate that there is not enough buffer to receive the data packet to be transmitted, and the arbiter does not determine the input port of the data to be transmitted of the target when receiving the full signal.
According to an embodiment of the present disclosure, the format information further includes a data crossing sub-network identification bit, the network on chip including a plurality of sub-networks; the data transmission method for the network on chip further comprises the following steps:
under the condition that the data crossing sub-network identification bit is true, a register unit is constructed;
storing the first data packet to be transmitted into a registering unit; and
and transmitting the first data packet to be transmitted from one sub-network to another sub-network by using the forwarding unit.
According to embodiments of the present disclosure, the data crossing sub-network identification bits may include both true and false cases.
According to an embodiment of the present disclosure, the register unit may be used to store the first data packet to be transmitted. In the case that the data crossing sub-network identification bit is true, a register unit may be constructed and the first data packet to be transmitted is stored to the register unit.
According to an embodiment of the present disclosure, in the case that the data cross sub-network identification bit is true, a first data packet to be transmitted at the edge of one sub-network may be transmitted to another sub-network through the forwarding unit.
According to the embodiment of the disclosure, under the condition that the crossing sub-network identification bit is true, the first data packet to be transmitted can be transmitted from one sub-network to another sub-network, so that the complexity of the routing node is reduced, the scale of the network is increased, and the frequency reduction of the network caused by overlong global connecting lines can be avoided.
Fig. 7 schematically illustrates a schematic diagram of sub-network partitioning according to an embodiment of the present disclosure.
As shown in fig. 7, the network includes a first sub-network 710, a second sub-network 720, a third sub-network 730, and a fourth sub-network 740 for a total of 4 sub-networks and a plurality of forwarding units between the sub-networks. For example, a forwarding unit 712 between the first subnetwork 710 and the fourth subnetwork 740. Each subnetwork includes a plurality of routing nodes, each routing node corresponding to a local processing unit. For example, routing node 0"711" in the first subnetwork 710 corresponds to local processing unit 713. In the case where the target transmission port is the fourth port, the data of the target routing node may be transmitted to the processing unit 713 through the Local port. In the case that the maximum hop count is equal to 4, the data packet to be transmitted of the 49 # routing node of the fourth sub-network 740 is transmitted to the 0 # routing node of the first sub-network 710, the transmission path of the data packet to be transmitted of the 49 # routing node of the fourth sub-network 740 is transmitted to the 15 # routing node at the boundary of the first sub-network 710, and in the case that the sub-network crossing sub-network identification bit is true, the data packet to be transmitted of the 15 # routing node of the first sub-network 710 is transmitted to the 0 # routing node of the first sub-network.
Fig. 8 schematically illustrates a timing diagram of data transmission in a forwarding unit according to an embodiment of the present disclosure.
As shown in fig. 8, req from router indicates a request signal of the kth+1th destination routing node, data indicates a data transmission signal of a data packet to be transmitted of the kth+1th destination routing node, the data transmission signal is one cycle later than the request signal, forward req indicates a request signal transmitted from the forwarding unit to the kth-1 st routing node, data register indicates a data transmission signal of the data packet to be transmitted stored in the forwarding unit, flag indicates that the data packet to be transmitted in the forwarding unit has not been transmitted yet, aful indicates that the kth-1 st routing node buffers a full signal, full indicates that the kth-1 st destination routing node buffers a full signal. Under the condition that only one data idle area is cached by the (k+1) th target routing node, the corresponding afull is high level, since the (k+1) th target routing node sends two continuous requests req1 and req2, a data packet d2 to be transmitted corresponding to the request req2 is not available for caching, a period is pulled up by the level of forward req in the forwarding unit, the condition that the level of forward req is pulled down is that the afull is high and the level of forward req in the last period is high, the second data cannot be transmitted timely, the data packet d2 to be transmitted corresponding to the request req2 is stored in a register of the forwarding unit, the flag signal is high level in the next period, the flag signal is high level, the data packet d2 to be transmitted is not transmitted by the forwarding unit, when the (k+1) th routing node has enough caching, the request signal can be restarted, the (k-1) th routing node can also send the next request req3, and therefore the function of not losing the data of the data packet to be transmitted is guaranteed.
Fig. 9 schematically illustrates a transmission process of a data packet to be transmitted according to still another embodiment of the present disclosure.
As shown in fig. 9, routing node 0"910" … …, routing node n-1"920" and routing node n "930" are included. In the case where each routing node includes two request signals, MSR SA-G "901" indicates a destination transmission port for determining a packet according to the request signals, ST "902" indicates transmission of the packet between the routing nodes, and BW "903" indicates transmission of the packet to the slave. For example, the routing node 0"910" determines, in the first period, a destination transmission port corresponding to the first request according to the first request signal, performs packet transmission corresponding to the first request in the second period, determines, in the second period, a destination transmission port corresponding to the second request signal according to the second request signal, and performs packet transmission corresponding to the second request in the third period.
Based on the data transmission method for the network-on-chip, the disclosure also provides a data transmission device for the network-on-chip. The device will be described in detail below in connection with fig. 9.
Fig. 10 schematically illustrates a block diagram of a data transmission apparatus for a network on chip according to an embodiment of the present disclosure.
As shown in fig. 10, the data transmission apparatus 1000 for a network on chip of this embodiment includes a first acquisition module 1010, a first determination module 1020, and a first transmission module 1030.
The first obtaining module 1010 is configured to obtain, in response to a received first data transmission request sent by the host to at least one slave, a first data packet to be transmitted, format information of the first data packet to be transmitted, and a plurality of routing nodes between the host and the slave, where the routing nodes include a plurality of transmission ports, and at least one of the plurality of transmission ports is used for transmitting data in a direction diagonal to the routing nodes. In an embodiment, the first obtaining module 1010 may be configured to perform the operation S210 described above, which is not described herein.
The first determining module 1020 is configured to determine the target routing node and the target transmission port of the target routing node according to the format information of the first data packet to be transmitted. In an embodiment, the first determining module 1020 may be configured to perform the operation S220 described above, which is not described herein.
The first transmission module 1030 is configured to transmit, to at least one slave, a first data packet to be transmitted from the master through a destination transmission port of the destination routing node. In an embodiment, the first transmission module 1030 may be used to perform the operation S230 described above, which is not described herein.
According to an embodiment of the present disclosure, the format information of the first data packet to be transmitted includes an attribute value of a data valid bit and a data transmission distance bit, and the first determining module 1020 includes:
and the first determining submodule is used for determining the starting states of the transmission ports on the plurality of routing nodes according to the attribute of the data valid bit and the data transmission distance bit.
And the second determining submodule is used for determining a target routing node and a target transmission port of the target routing node from the routing nodes according to the starting states of the transmission ports on the routing nodes.
According to an embodiment of the present disclosure, the plurality of routing nodes includes K; k is an integer greater than 1, and the second determining submodule includes:
and the first determining unit is used for determining the target transmission port of the kth target routing node according to the transmission port enabling state of the kth target routing node.
And the second determining unit is used for determining the data transmission direction of the kth target routing node according to the target transmission port.
And a third determining unit configured to determine, according to determining the data transmission direction of the kth target routing node, a kth+1th routing node from among the plurality of routing nodes in the transmission direction corresponding to the data transmission direction of the kth target routing node, where K is an integer greater than or equal to 1 and less than or equal to K-1.
According to an embodiment of the present disclosure, the second determining unit includes:
and the first determining subunit is used for determining that the data transmission direction of the kth target routing node is right transmission under the condition that the target transmission port is the first port.
And the second determining subunit is used for determining the data transmission direction of the kth target routing node to be downward transmission under the condition that the target transmission port is the second port.
And the third determining subunit is configured to determine, when the target transmission port is the third port, that the data transmission direction of the kth target routing node is diagonal to the kth target routing node.
And the fourth determining subunit is configured to determine, when the target transmission port is the fourth port, that the data transmission direction of the kth target routing node is to be transmitted locally.
According to an embodiment of the present disclosure, the data transmission method for a network on chip further includes:
the second obtaining module is used for responding to the received second data transmission request sent by the at least two slaves to the host computer and obtaining a second data packet to be transmitted, a third data packet to be transmitted, format information of the second data packet to be transmitted and format information of the third data packet to be transmitted.
And the second determining module is used for determining a second target routing node and a second transmission port of the second target routing node according to the format information of the second data packet to be transmitted.
The third determining module is used for determining a third target routing node and a third transmission port of the third target routing node according to format information of a third data packet to be transmitted;
and the fourth determining module is used for determining the target data packet to be transmitted and the second target transmission port corresponding to the target data packet to be transmitted according to the use state of the third transmission port and the use state of the second transmission port in response to the fact that the second target routing node and the third target routing node are identical.
And the second transmission module is used for transmitting the target data packet to be transmitted to the host computer through the second target transmission port by at least one slave computer.
According to an embodiment of the present disclosure, the fourth determination module includes:
and the third determining submodule is used for determining the second data packet to be transmitted as a target data packet to be transmitted and determining the second transmission port as a second target transmission port according to the situation that the use state of the third transmission port is determined to be that the buffer is full.
And the fourth determining submodule is used for determining the third data packet to be transmitted as the target data packet to be transmitted and determining the third transmission port as the second target transmission port under the condition that the using state of the second transmission port is determined to be that the buffer is full.
According to the disclosed embodiment, the format information further includes a data crossing sub-network identification bit, the network-on-chip includes a plurality of sub-networks, and the data transmission method for the network-on-chip further includes:
and the construction module is used for constructing the register unit under the condition that the data crossing sub-network identification bit is true.
And the storage module is used for storing the first data packet to be transmitted to the register unit.
And the third transmission module is used for transmitting the first data packet to be transmitted from one sub-network to another sub-network by utilizing the forwarding unit.
According to an embodiment of the present disclosure, any of the first acquisition module 1010, the first determination module 1020, and the first transmission module 1030 may be combined in one module to be implemented, or any of the modules may be split into a plurality of modules. Alternatively, at least some of the functionality of one or more of the modules may be combined with at least some of the functionality of other modules and implemented in one module. According to embodiments of the present disclosure, at least one of the first acquisition module 1010, the first determination module 1020, and the first transmission module 1030 may be implemented at least in part as hardware circuitry, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in hardware or firmware in any other reasonable manner of integrating or packaging circuitry, or in any one of or a suitable combination of three of software, hardware, and firmware. Alternatively, at least one of the first acquisition module 1010, the first determination module 1020, and the first transmission module 1030 may be at least partially implemented as a computer program module which, when executed, may perform the corresponding functions.
Fig. 11 schematically illustrates a block diagram of an electronic device adapted to implement a data transmission method for a network on chip according to an embodiment of the present disclosure.
As shown in fig. 11, an electronic device 1100 according to an embodiment of the present disclosure includes a processor 1101 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 1102 or a program loaded from a storage section 1108 into a Random Access Memory (RAM) 1103. The processor 1101 may include, for example, a general purpose microprocessor (e.g., a CPU), an instruction set processor and/or an associated chipset and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), or the like. The processor 1101 may also include on-board memory for caching purposes. The processor 1101 may comprise a single processing unit or a plurality of processing units for performing the different actions of the method flow according to embodiments of the present disclosure.
In the RAM 1103, various programs and data necessary for the operation of the electronic device 1100 are stored. The processor 1101, ROM 1102, and RAM 1103 are connected to each other by a bus 1104. The processor 1101 performs various operations of the method flow according to the embodiments of the present disclosure by executing programs in the ROM 1102 and/or the RAM 1103. Note that the program may be stored in one or more memories other than the ROM 1102 and the RAM 1103. The processor 1101 may also perform various operations of the method flow according to embodiments of the present disclosure by executing programs stored in the one or more memories.
According to an embodiment of the disclosure, the electronic device 1100 may also include an input/output (I/O) interface 1105, the input/output (I/O) interface 1105 also being connected to the bus 1104. The electronic device 1100 may also include one or more of the following components connected to the I/O interface 1105: an input section 1106 including a keyboard, a mouse, and the like; an output portion 1107 including a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, a speaker, and the like; a storage section 1108 including a hard disk or the like; and a communication section 1109 including a network interface card such as a LAN card, a modem, and the like. The communication section 1109 performs communication processing via a network such as the internet. The drive 1110 is also connected to the I/O interface 1105 as needed. Removable media 1111, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like, is installed as needed in drive 1110, so that a computer program read therefrom is installed as needed in storage section 1108.
The present disclosure also provides a computer-readable storage medium that may be embodied in the apparatus/device/system described in the above embodiments; or may exist alone without being assembled into the apparatus/device/system. The computer-readable storage medium carries one or more programs which, when executed, implement methods in accordance with embodiments of the present disclosure.
According to embodiments of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, which may include, for example, but is not limited to: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this disclosure, a computer-readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. For example, according to embodiments of the present disclosure, the computer-readable storage medium may include ROM 1102 and/or RAM 1103 described above and/or one or more memories other than ROM 1102 and RAM 1103.
Embodiments of the present disclosure also include a computer program product comprising a computer program containing program code for performing the methods shown in the flowcharts. The program code, when executed in a computer system, causes the computer system to implement the item recommendation method provided by embodiments of the present disclosure.
The above-described functions defined in the system/apparatus of the embodiments of the present disclosure are performed when the computer program is executed by the processor 1101. The systems, apparatus, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the disclosure.
In one embodiment, the computer program may be based on a tangible storage medium such as an optical storage device, a magnetic storage device, or the like. In another embodiment, the computer program can also be transmitted, distributed over a network medium in the form of signals, downloaded and installed via the communication portion 1109, and/or installed from the removable media 1111. The computer program may include program code that may be transmitted using any appropriate network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the foregoing.
In such an embodiment, the computer program can be downloaded and installed from a network via the communication portion 1109, and/or installed from the removable media 1111. The above-described functions defined in the system of the embodiments of the present disclosure are performed when the computer program is executed by the processor 1101. The systems, devices, apparatus, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the disclosure.
According to embodiments of the present disclosure, program code for performing computer programs provided by embodiments of the present disclosure may be written in any combination of one or more programming languages, and in particular, such computer programs may be implemented in high-level procedural and/or object-oriented programming languages, and/or assembly/machine languages. Programming languages include, but are not limited to, such as Java, c++, python, "C" or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of remote computing devices, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., connected via the Internet using an Internet service provider).
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Those skilled in the art will appreciate that the features recited in the various embodiments of the disclosure and/or in the claims may be provided in a variety of combinations and/or combinations, even if such combinations or combinations are not explicitly recited in the disclosure. In particular, the features recited in the various embodiments of the present disclosure and/or the claims may be variously combined and/or combined without departing from the spirit and teachings of the present disclosure. All such combinations and/or combinations fall within the scope of the present disclosure.
The embodiments of the present disclosure are described above. However, these examples are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although the embodiments are described above separately, this does not mean that the measures in the embodiments cannot be used advantageously in combination. The scope of the disclosure is defined by the appended claims and equivalents thereof. Various alternatives and modifications can be made by those skilled in the art without departing from the scope of the disclosure, and such alternatives and modifications are intended to fall within the scope of the disclosure.

Claims (10)

1. A data transmission method for a network on chip, comprising:
responding to a received first data transmission request sent by a host to at least one slave, acquiring a first data packet to be transmitted, format information of the first data packet to be transmitted and a plurality of routing nodes between the host and the slave, wherein the routing nodes comprise a plurality of transmission ports, and at least one transmission port used for transmitting data to a direction diagonal to the routing nodes is included in the plurality of transmission ports;
Determining a target routing node and a target transmission port of the target routing node according to the format information of the first data packet to be transmitted; and
and transmitting the first data packet to be transmitted to the at least one slave computer through the target transmission port of the target routing node by the host computer.
2. The method of claim 1, wherein the format information of the first data packet to be transmitted includes an attribute of a data valid bit and a data transmission distance bit;
the determining, according to the format information of the first data packet to be transmitted, a target routing node and a target transmission port of the target routing node includes:
determining the starting states of the transmission ports on the plurality of routing nodes according to the attribute values of the data valid bits and the data transmission distance bits;
and determining a target routing node and a target transmission port of the target routing node from the plurality of routing nodes according to the starting states of the transmission ports on the plurality of routing nodes.
3. The method of claim 2, wherein the plurality of routing nodes includes K; k is an integer greater than 1; the determining, according to the enabling states of the transmission ports on the plurality of routing nodes, a target routing node and a target transmission port of the target routing node from the plurality of routing nodes includes:
Determining a target transmission port of the kth target routing node according to the transmission port enabling state of the kth target routing node;
determining the data transmission direction of the kth target routing node according to the target transmission port;
and determining a (k+1) th target routing node from a plurality of routing nodes in a transmission direction corresponding to the data transmission direction of the kth target routing node according to the data transmission direction of the kth target routing node, wherein K is an integer greater than or equal to 1 and less than or equal to K-1.
4. A method according to claim 3, wherein said determining a data transmission direction of the kth target routing node according to the target transmission port comprises:
under the condition that the target transmission port is a first port, determining that the data transmission direction of the kth target routing node is right transmission;
under the condition that the target transmission port is a second port, determining that the data transmission direction of the kth target routing node is downward transmission;
determining the data transmission direction of the kth target routing node as diagonal transmission to the kth target routing node under the condition that the target transmission port is a third port;
And under the condition that the target transmission port is a fourth port, determining the data transmission direction of the kth target routing node as the local transmission.
5. The method of claim 1, further comprising:
responding to a received second data transmission request sent by at least two slaves to a host, and acquiring a second data packet to be transmitted, a third data packet to be transmitted, format information of the second data packet to be transmitted and format information of the third data packet to be transmitted;
determining a second target routing node and a second transmission port of the second target routing node according to the format information of the second data packet to be transmitted;
determining a third target routing node and a third transmission port of the third target routing node according to the format information of the third data packet to be transmitted;
in response to the second target routing node and the third target routing node being the same, determining a target data packet to be transmitted and a second target transmission port corresponding to the target data packet to be transmitted according to the use state of the third transmission port and the use state of the second transmission port;
and transmitting the target data packet to be transmitted to the host computer through the second target transmission port by the at least one slave computer.
6. The method of claim 5, wherein the determining, according to the usage status of the third transmission port and the usage status of the second transmission port, the target data packet to be transmitted and the second target transmission port corresponding to the target data packet to be transmitted includes:
determining the second data packet to be transmitted as a target data packet to be transmitted and determining the second transmission port as the second target transmission port under the condition that the use state of the third transmission port is determined to be that the buffer memory is full;
and under the condition that the using state of the second transmission port is determined to be full, determining the third data packet to be transmitted as a target data packet to be transmitted, and determining the third transmission port as the second target transmission port.
7. The method of claim 1, wherein the format information further comprises data spanning sub-network identification bits, the network-on-chip comprising a plurality of sub-networks; the method further comprises the steps of:
under the condition that the data crossing sub-network identification bit is true, a registering unit is constructed;
storing the first data packet to be transmitted to the registering unit; and
And transmitting the first data packet to be transmitted from one sub-network to another sub-network by using a forwarding unit.
8. A data transmission apparatus for a network on chip, comprising:
the first acquisition module is used for responding to a received first data transmission request sent by a host computer to at least one slave computer, acquiring a first data packet to be transmitted, format information of the first data packet to be transmitted and a plurality of routing nodes between the host computer and the slave computer, wherein the routing nodes comprise a plurality of transmission ports, and at least one transmission port used for transmitting data to the direction diagonal to the routing nodes is included in the plurality of transmission ports;
the first determining module is used for determining a target routing node and a target transmission port of the target routing node according to the format information of the first data packet to be transmitted;
and the first transmission module is used for transmitting the first data packet to be transmitted from the host to the at least one slave through the target transmission port of the target routing node.
9. An electronic device, comprising:
one or more processors;
storage means for storing one or more programs,
Wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to perform the method of any of claims 1-7.
10. A computer readable storage medium having stored thereon executable instructions which, when executed by a processor, cause the processor to perform the method according to any of claims 1-7.
CN202311632068.7A 2023-11-30 2023-11-30 Data transmission method and device for network on chip Pending CN117851332A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311632068.7A CN117851332A (en) 2023-11-30 2023-11-30 Data transmission method and device for network on chip

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311632068.7A CN117851332A (en) 2023-11-30 2023-11-30 Data transmission method and device for network on chip

Publications (1)

Publication Number Publication Date
CN117851332A true CN117851332A (en) 2024-04-09

Family

ID=90542533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311632068.7A Pending CN117851332A (en) 2023-11-30 2023-11-30 Data transmission method and device for network on chip

Country Status (1)

Country Link
CN (1) CN117851332A (en)

Similar Documents

Publication Publication Date Title
US7676603B2 (en) Write combining protocol between processors and chipsets
US8718065B2 (en) Transmission using multiple physical interface
US7472299B2 (en) Low power arbiters in interconnection routers
US10802995B2 (en) Unified address space for multiple hardware accelerators using dedicated low latency links
US6715008B2 (en) Method and system for over-run protection in a message passing multi-processor computer system using a credit-based protocol
US20180159786A1 (en) Interface virtualization and fast path for network on chip
US20180077649A1 (en) Communications fabric with split paths for control and data packets
US20080069094A1 (en) Urgent packet latency control of network on chip (NOC) apparatus and method of the same
US7978693B2 (en) Integrated circuit and method for packet switching control
US20160028634A1 (en) Data processing method of noc without buffer and noc electronic element
CN108768778B (en) Network delay calculation method, device, equipment and storage medium
CN111200561B (en) Data packet transmission method and device, computer system and readable storage medium
US20230251839A1 (en) Head Of Line Blocking Mitigation In A Reconfigurable Data Processor
CN117851332A (en) Data transmission method and device for network on chip
US8630181B2 (en) Communication system and corresponding integrated circuit and method
US20110029706A1 (en) Electronic device and method for controlling an electronic device
US8571016B2 (en) Connection arrangement
US20090077289A1 (en) Bus interconnect with flow control
Swain et al. Network on chip for consumer electronics devices: An architectural and performance exploration of synchronous and asynchronous network-on-chip-based systems
US10565346B1 (en) Placement, routing, and deadlock removal for network-on-chip using integer linear programming
CN110580240A (en) Peripheral device management method and device for electronic device, electronic device and medium
CN116506366A (en) Message transmission method, device, equipment, medium and product
US20240073136A1 (en) Reconfigurable dataflow unit with remote read/write functionality
US20240073129A1 (en) Peer-to-peer communication between reconfigurable dataflow units
US20230251993A1 (en) Two-Level Arbitration in a Reconfigurable Processor

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination