Crossbar switch device and control method adapting to uneven physical delay
Through variable node configuration and routing vector control, a crossbar switch with non-uniform physical delay is realized, which solves the delay and area mismatch problem of crossbar switch devices in heterogeneous systems and adapts to the connection requirements of different modules.
Patent Information
- Application Number
- CN202310587429.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-23
- Publication Date
- 2025-09-30
- Estimated Expiration
- 2043-05-23
AI Technical Summary
In the prior art, a crossbar switch device with uniform delay is difficult to adapt to integrated units of different areas in a heterogeneous system, resulting in the system being unable to reasonably balance delay and area.
The variable node configuration module and routing vector controller are used to flexibly configure the number of switching nodes, the number of interfaces and the data transmission direction. Combined with the double buffer register and the output state controller, a crossbar switch structure with non-uniform physical delay is realized.
It achieves flexible and efficient non-uniform physical delay, adapts to the connection of different modules in complex systems, and matches node delay and unit area.
Smart Images

Figure CN116633887B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of integrated circuit chips, and in particular to a crossbar switch device and a control method capable of adapting to uneven physical delays. Background Art
[0002] In the prior art, the connection is usually made by constructing a standard uniform delay cross switch, that is, each cross switch node has a uniform delay. Figure 1 Taking the formed uniform delay crossbar switch as an example, each box with a number represents a switching node (including nodes 0, 1, and 2). Each switching node is connected to an output functional unit and can only have one fixed input unit (node 0).
[0003] However, in heterogeneous systems, the areas of different integrated units are different. It is difficult to connect the uneven unit areas with uniform crossbar switch nodes. Therefore, traditional uniform crossbar switches are not suitable for connecting with integrated units of different areas. If integrated units of different areas are integrated with uniform crossbar switch nodes in an interconnected system, the system may not be able to reasonably balance delay and area. Summary of the Invention
[0004] The technical problem to be solved by the present invention is: in response to the technical problems existing in the prior art, the present invention provides a cross-switch device and control method that are simple in structure, low in cost, and highly flexible and adaptable to uneven physical delays. The device can flexibly implement a cross-switch with non-uniform physical delays, thereby adapting to the physical delays of different modules and matching the node delay with the unit area.
[0005] In order to solve the above technical problems, the technical solution proposed by the present invention is:
[0006] A crossbar switch device adapted to uneven physical delay, comprising:
[0007] Multiple switching nodes;
[0008] A variable node configuration module is used to select a required number of switching nodes according to the configuration information, and configure the number of interfaces of each node, the number of outputs of each node, and the data transmission direction between each node, so as to form a crossbar switch structure with non-uniform physical delay, wherein the number of outputs of each node is zero or one or more. When the output of a switching node is set to zero, the switching node is only used for transmission between nodes;
[0009] Each switching node includes a double buffer register for temporarily storing messages when output is blocked, an output state controller for recording all output states of messages, and a routing vector controller for determining the egress of the message and transmitting routing vector information required by the next node.
[0010] Furthermore, the variable node configuration module selects a first switching node and a second switching node to connect, configures the first switching node with an output terminal to connect to an output functional unit, configures the second switching node with two output terminals to connect to two output functional units, configures data transmission from the first switching node to the second switching node, and configures the first switching node or the second switching node as an input node to connect to an input unit; or the variable node configuration module selects a first switching node, a second switching node, and a third switching node to connect, configures the second switching node as an input node to connect to an input unit, configures the first switching node, the second switching node, and the third switching node with an output terminal to connect to an output functional unit respectively, and configures the second switching node to transmit data to the first switching node and the third switching node respectively.
[0011] Furthermore, the variable node configuration module selects a first switching node, a second switching node, and a third switching node for connection, configures the first switching node as an input node to connect to an input unit and configures an output end to connect to an output functional unit, the second switching node is 0 output for data transmission between the first switching node and the second switching node, and the third switching node is configured with two output ends to connect to two output functional units; or the variable node configuration module selects a switching node, and the selected switching node is used as an input node to connect to an input unit and to connect to multiple output functional units.
[0012] Furthermore, the routing vector controller stores an m-bit routing vector, where m is the number of output devices, and each bit of the routing vector corresponds to an output device. The routing vector controller selects a low-bit routing vector corresponding to the number of node outputs based on the routing vector, and uses the low-bit routing vector to select and enable output to the corresponding output functional unit.
[0013] Furthermore, the routing vector controller is also used to process the initial routing vector according to the position of the input node. If it is a uniform node, the routing vector is clipped according to the position of the input node and then spliced with the input node as the lowest bit. If it is a non-uniform node, the vector bits corresponding to each output device in the routing vector are clipped and spliced as a whole.
[0014] Furthermore, the routing vector controller is also used to determine the flow direction of the message based on the direction information, and to splice the routing vectors according to the output direction, wherein when transmitting to the right, the current routing vector is shifted right by one position, and the shifted vector is spliced to the highest position; when transmitting to the left, the current routing vector is shifted left by one position, and the shifted vector is spliced to the lowest position.
[0015] A control method using the above crossbar switch device comprises the following steps:
[0016] Input information including a transmission message and routing information is inputted by an input node, wherein the routing information includes a routing vector and direction information;
[0017] The transmission message input is stored in a register, and the output is selected according to the routing information, wherein the low-order routing vector corresponding to the node output quantity is selected according to the routing vector to select and enable output to the corresponding output functional unit, and the flow direction of the message is determined according to the direction information.
[0018] Further, the selecting output according to the routing information includes:
[0019] Obtain the corresponding number of switching nodes and routing vector bit width in the routing vector controller;
[0020] When a message is input, the routing vector is processed according to the position of the input node. If it is a uniform node, the routing vector is clipped according to the input node position and then spliced with the input node as the lowest bit. If it is a non-uniform node, the vector bits corresponding to each output device in the routing vector are clipped and spliced as a whole.
[0021] After the message enters each switching node and is stored, the transmission direction control bit and the broadcast control bit determine the message's transmission direction. The message's transmission direction includes left transmission, right transmission, and transmission to all nodes.
[0022] Furthermore, when determining the transmission direction of the message, if the message broadcast bit is set, it is output to all adjacent nodes; if a single message corresponds to multiple outputs, the channel that has completed the transmission is recorded, and the output to the completed transmission channel is stopped. The register will not start receiving the next message until all transmission channels have successfully completed the transmission.
[0023] Furthermore, when determining the transmission direction of the message, the routing vectors are also spliced according to the output direction, wherein when transmitting to the right, the current routing vector is shifted right by one position, and the moved vector is spliced to the highest position; when transmitting to the left, the current routing vector is shifted left by one position, and the moved vector is spliced to the lowest position.
[0024] Compared with the prior art, the advantages of the present invention are: by configuring the number of switching nodes, the number of interfaces of a single switching node, the number of outputs, and the data transmission direction, the present invention provides a double buffer register in each switching node for temporarily storing messages when output is blocked, provides an output state controller for responding after output is completed, and provides a routing vector controller for determining the egress of the message and transmitting the routing vector information required by the next node. Thus, the present invention can flexibly and efficiently implement a crossbar switch with multiple non-uniform physical delays, thereby facilitating adaptation to the physical delays of connections to different modules in a complex system, and matching the node delay with the unit area. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Figure 1 This is a schematic diagram of the structural principle of a uniform delay crossbar switch in the prior art.
[0026] Figure 2 FIG. 4 is a schematic structural diagram of a crossbar switch device adapted to uneven physical delay according to the embodiment of the present invention.
[0027] Figure 3 This is a schematic structural diagram of the first and second types of crossbar switches with non-balanced physical delays formed in specific application embodiments of the present invention.
[0028] Figure 4 It is a schematic structural diagram of a third crossbar switch with non-balanced physical delay formed in a specific application embodiment of the present invention.
[0029] Figure 5 1 is a schematic structural diagram of a fourth crossbar switch with non-balanced physical delay formed in a specific application embodiment of the present invention.
[0030] Figure 6 4 is a schematic structural diagram of a fifth crossbar switch with non-balanced physical delay formed in a specific application embodiment of the present invention.
[0031] Figure 7 It is a schematic diagram of the principle of uniform node processing of routing vectors in a specific application embodiment of the present invention.
[0032] Figure 8 It is a schematic diagram of the principle of non-uniform node processing of routing vectors in a specific application embodiment of the present invention.
[0033] Figure 9 It is a schematic diagram of the principle of routing vector transmission in a specific application embodiment of the present invention. DETAILED DESCRIPTION
[0034] The present invention will be further described below in conjunction with the accompanying drawings and specific preferred embodiments, but the scope of protection of the present invention is not limited thereby.
[0035] like Figure 2As shown, the crossbar switch device adapted to uneven physical delay in this embodiment includes:
[0036] Multiple switching nodes;
[0037] A variable node configuration module is used to select a required number of switching nodes according to the configuration information, and configure the number of interfaces of each node, the number of outputs of each node, and the data transmission direction between each node, so as to form a crossbar switch structure with non-uniform physical delay, wherein the number of outputs of each node is zero or one or more. When the output of a switching node is set to zero, the switching node is only used for transmission between nodes;
[0038] Each switching node includes a double buffer register for temporarily storing messages when output is blocked, an output state controller for recording all message output states and promptly stopping the transmission of completed messages, and giving a response after all outputs are completed, and a routing vector controller for determining the message output and transmitting the routing vector information required by the next node.
[0039] In the cross-switch device of this embodiment, since the nodes can be set to 0 output mode and are only used for inter-node transmission, interleaving between two nodes is achieved, increasing the physical delay, thereby achieving a variable number of nodes, and the number of interfaces and outputs of a single node is configurable, so that a variable number of node outputs can be achieved. Based on the above mechanism, the change of physical delay can be achieved.
[0040] This embodiment configures the number of switching nodes, the number of interfaces of a single switching node, the number of outputs, and the data transmission direction. A double-buffer register is provided in each switching node for temporarily storing messages when output is blocked. An output state controller is provided for responding after output is completed. A routing vector controller is provided for determining the message egress and transmitting routing vector information required by the next node. This embodiment can flexibly and efficiently implement crossbar switches with various non-uniform physical delays, thereby facilitating adaptation to the physical delays associated with connections to different modules in a complex system and matching node delay with unit area.
[0041] In a specific application embodiment, taking three switching nodes as an example, the present invention can form the following five structures:
[0042] (1) The first structure:
[0043] like Figure 3As shown in (a), this structure selects the first switching node 0 and the second switching node 1 for connection through the variable node configuration module, configures the first switching node 0 with an output terminal to connect to an output functional unit, configures the second switching node 1 with two output terminals to connect to two output functional units, configures data transmission from the first switching node 0 to the second switching node 1, and configures the first switching node 0 as an input node to connect to an input unit (input functional unit), forming a first type of cross switch with non-balanced physical delay.
[0044] (2) The second structure
[0045] like Figure 3 As shown in (b), this structure is similar to the first structure, except that second switch node 1 is used as an input node to connect input units, adapting to different input scenarios. Specifically, the second structure uses a variable node configuration module to select the connection between first switch node 0 and second switch node 1. First switch node 0 is configured with one output terminal to connect to an output functional unit, and second switch node 1 is configured with two output terminals to connect to two output functional units. Data is transmitted from first switch node 0 to second switch node 1, and second switch node 1 is configured as an input node to connect to input units, forming a second type of crossbar switch with uneven physical delay.
[0046] The crossbar switch with non-balanced physical delay formed by the first structure and the second structure uses only two switching nodes, and the second switching node 1 can be connected to two output functional units at the same time.
[0047] (3) The third structure
[0048] like Figure 4 As shown, this structure uses a variable node configuration module to select the first switching node 0, the second switching node 1, and the third switching node 2 for connection. The second switching node 1 is configured as an input node to connect to an input unit. The first switching node 0, the second switching node 1, and the third switching node 2 are each configured with an output terminal to connect to an output functional unit. The second switching node 1 is also configured to transmit data to the first switching node 0 and the third switching node 2, respectively, forming a third type of crossbar switch with uneven physical delay. With this uneven physical delay crossbar switch structure, any node can be set to connect to an input unit, and data can be transmitted from the second switching node 1 to the first switching node 0 and the third switching node 2, rather than in a single direction.
[0049] (4) The fourth structure
[0050] like Figure 5As shown, this structure uses a variable node configuration module to select the first switching node 0, the second switching node 1, and the third switching node 2 for connection. The first switching node 0 is configured as an input node to connect to an input unit and an output terminal to connect to an output functional unit. The second switching node 1 is configured as a 0 output for data transmission between the first switching node 0 and the second switching node 2. The third switching node 0 is configured with two output terminals to connect to two output functional units, thereby forming a fourth type of crossbar switch with uneven physical delay. With this uneven physical delay crossbar switch structure, the second switching node 1 can be set to be used only for data transmission, while the first switching node 0 and the third switching node 2 are configured with different outputs.
[0051] (5) The fifth structure
[0052] like Figure 6 As shown, this structural variable node configuration module selects a switch node 0 as an input node to connect input units and multiple output functional units, thereby forming a fifth type of crossbar switch with uneven physical delay. With this uneven physical delay crossbar switch structure, only one switch node is required, which serves as both an input node and multiple outputs.
[0053] The above five crossbar switch structures with non-balanced physical delays can be applied to different application scenarios to adapt to the physical delays of different modules in different scenarios.
[0054] In this embodiment, the routing vector controller specifically includes an m-bit routing vector, where m is the number of output devices. Each bit of the routing vector corresponds to an output device. A low-bit routing vector corresponding to the number of node outputs is selected based on the routing vector. The low-bit routing vector is used to select and enable output to the corresponding output functional unit, thereby realizing the output quantity configuration of each switching node.
[0055] In this embodiment, the routing vector controller is further configured to process the initial routing vector based on the position of the input node. For uniform nodes, the routing vector is clipped based on the position of the input node and then concatenated with the input node as the lowest bit. For non-uniform nodes, the vector bits corresponding to the output devices in the routing vector are clipped and concatenated as a whole.
[0056] In this embodiment, the routing vector controller is further configured to determine the flow direction of the message based on the direction information and to re-join the routing vectors based on the output direction. When transmitting to the right, the current routing vector is shifted right by one position and the shifted vector is joined to the highest position. When transmitting to the left, the current routing vector is shifted left by one position and the shifted vector is joined to the lowest position, thereby implementing data transmission direction configuration.
[0057] The specific steps of the control method of the crossbar switch device in this embodiment include:
[0058] S01 input node input includes transmission message and routing information input information, routing information includes routing vector and direction information;
[0059] S02. The transmission message input is stored in a register and the output is selected according to the routing information. The low-order routing vector corresponding to the number of node outputs is selected according to the routing vector to enable the output to the corresponding output functional unit, and the flow direction of the message is determined according to the direction information.
[0060] In this embodiment, the specific steps of the routing vector controller selecting output according to the routing information include:
[0061] S201. Obtain the corresponding number of switching nodes and routing vector bit width in the routing vector controller.
[0062] The number of switching nodes and the bit width of the routing vector are not necessarily the same. A switching node can connect to multiple output devices, each device uses one bit vector, and the bit width of the routing vector is the number of devices.
[0063] S202. The initial routing vector is processed differently based on the position of the input node. If the node is uniform, the routing vector is pruned based on the position of the input node and then concatenated with the input node as the lowest bit. If the node is non-uniform, the vectors corresponding to the output devices of the nodes in the routing vector are pruned and concatenated as a whole.
[0064] like Figure 7 As shown in , for uniform nodes, the original vector sent to the second position needs to be adjusted according to the different input nodes, so as to clip the vector according to the position of the input node and then splice it with the input node as the lowest bit; Figure 8 As shown in FIG, for a non-uniform node, node 2 is connected to two devices, and the vectors corresponding to the two devices are considered as a whole for cropping and splicing.
[0065] S203. After the message enters each switching node for storage, the transmission direction control bit and the broadcast control bit determine the message's transmission direction. The message's transmission direction includes leftward transmission, rightward transmission, and transmission to all nodes. For example, 00 can be used to indicate leftward transmission, x1 to indicate all nodes, and 10 to indicate rightward transmission.
[0066] In this embodiment, when determining the transmission direction of a message, if the message broadcast bit is set, it is output to all adjacent nodes; if a single message corresponds to multiple outputs, the channel that has completed the transmission is recorded, and the output to the completed transmission channel is stopped. The register will not start receiving the next message until all transmission channels have successfully completed the transmission.
[0067] like Figure 9 As shown in the figure, a crossbar switch structure with four switching nodes, five devices, and two devices mounted on node 2 is used as an example. The input node is switching node 1, and data needs to be transmitted to device 0 and device 3, respectively. A 5-bit routing vector is used based on the number of devices, where 10001 indicates transmission to device 0 and device 3. This vector is the original vector (initial vector). First, the original vector is processed. With input node 1 as the input node, the vector is clipped to 1000 and 1 based on the input node position. The vector is then concatenated to 11000, with the input node as the least significant bit. Based on the input vector and the number of functional units connected to the node, node 1 uses the least significant bit of the input vector to determine whether output is required at the current node. It then processes the routing vector based on the direction vector and outputs it to the next node. The vectors are concatenated again based on the output direction. For example, if the data is being transmitted to node 0, the vector is shifted left by one bit, and the shifted vector is concatenated to the least significant bit. This is the vector output to node 0. For example, if the data is being transmitted to node 2, the vector is shifted right by one bit, and the shifted vector is concatenated to the most significant bit. This is the vector output to node 2.
[0068] The control logic for multi-path message transmission based on the crossbar switch structure specifically includes:
[0069] Each node has only one input port, which can come from either the device or a neighboring node. The input includes transmission messages and routing information. Routing information includes routing vectors (device outputs) and direction information (the direction of flow between nodes). The message input is stored in a register, and the output is selected based on the routing information.
[0070] Output is divided into adjacent node output and device output. For device output, the low-order routing vector corresponding to the number of node outputs is selected and enabled based on the routing vector in the routing information. For inter-node output, the direction of the message flow is determined based on the direction information, and whether the routing vector is all zero determines whether to continue the flow. If the broadcast bit of the message is set, the message is output to all adjacent nodes.
[0071] If a single message corresponds to multiple outputs, it is necessary to record the channel that has completed the transmission and stop the output of the channel in time. The register can receive the next message only after all transmission channels are successful.
[0072] The above description is merely a preferred embodiment of the present invention and does not constitute any form of limitation to the present invention. Although the present invention has been disclosed above with reference to the preferred embodiment, it is not intended to limit the present invention. Therefore, any simple modifications, equivalent variations, and modifications to the above embodiment that do not depart from the technical solution of the present invention and are based on the technical essence of the present invention shall fall within the scope of protection of the technical solution of the present invention.
Claims
1. A crossbar switch device adapted to uneven physical delay, characterized in that: include: Multiple switching nodes; A variable node configuration module is used to select a required number of switching nodes according to the configuration information, and configure the number of interfaces of each node, the number of outputs of each node, and the data transmission direction between each node, so as to form a crossbar switch structure with non-uniform physical delay, wherein the number of outputs of each node is zero or one or more. When the output of a switching node is set to zero, the switching node is only used for transmission between nodes; Each switching node includes a double buffer register for temporarily storing messages when output is blocked, an output state controller for recording all output states of messages, and a routing vector controller for determining the egress of the message and transmitting routing vector information required by the next node.
2. The crossbar switch device adapted to uneven physical delay according to claim 1, characterized in that: The variable node configuration module selects a first switching node and a second switching node to connect, configures an output terminal of the first switching node to connect to an output functional unit, configures two output terminals of the second switching node to connect to two output functional units, configures data transmission from the first switching node to the second switching node, and configures the first switching node or the second switching node as an input node to connect to an input unit; or the variable node configuration module selects a first switching node, a second switching node, and a third switching node to connect, configures the second switching node as an input node to connect to the input unit, configures an output terminal of each of the first switching node, the second switching node, and the third switching node to connect to an output functional unit, and configures the second switching node to transmit data to the first switching node and the third switching node, respectively.
3. The crossbar switch device adapted to uneven physical delay according to claim 1, characterized in that: The variable node configuration module selects a first switching node, a second switching node, and a third switching node for connection, configures the first switching node as an input node to connect to an input unit and configures an output end to connect to an output functional unit, the second switching node is 0 output for data transmission between the first switching node and the second switching node, and the third switching node is configured with two output ends to connect to two output functional units, or the variable node configuration module selects a switching node and uses the selected switching node as an input node to connect to an input unit and connect to multiple output functional units.
4. The crossbar switch device adapted to uneven physical delay according to claim 1, characterized in that: The routing vector controller stores an m-bit routing vector, where m is the number of output devices and each bit of the routing vector corresponds to an output device. The routing vector controller selects a low-bit routing vector corresponding to the number of node outputs based on the routing vector, and uses the low-bit routing vector to select and enable output to the corresponding output functional unit.
5. The crossbar switch device adapted to uneven physical delay according to any one of claims 1 to 4, characterized in that: The routing vector controller is further configured to process the initial routing vector based on the position of the input node. For uniform nodes, the routing vector is pruned based on the position of the input node and then concatenated with the input node as the lowest bit. For non-uniform nodes, the vector bits corresponding to the output devices in the routing vector are pruned and concatenated as a whole.
6. The crossbar switch device adapted to uneven physical delay according to claim 5, characterized in that: The routing vector controller is further configured to determine a flow direction of a message based on the output direction information and to splice routing vectors based on the output direction information. When transmitting to the right, the current routing vector is shifted right by one position and the shifted vector is spliced to the highest position. When transmitting to the left, the current routing vector is shifted left by one position and the shifted vector is spliced to the lowest position.
7. A control method using the crossbar switch device according to any one of claims 1 to 6, characterized in that the steps include: Input information including a transmission message and routing information is inputted by an input node, wherein the routing information includes a routing vector and direction information; The transmission message input is stored in a register, and the output is selected according to the routing information, wherein the low-order routing vector corresponding to the node output quantity is selected according to the routing vector to select and enable output to the corresponding output functional unit, and the flow direction of the message is determined according to the direction information.
8. The control method of the crossbar switch device according to claim 7, characterized in that: The selecting output according to the routing information includes: Obtain the corresponding number of switching nodes and routing vector bit width in the routing vector controller; When a message is input, the routing vector is processed according to the position of the input node. If it is a uniform node, the routing vector is clipped according to the input node position and then spliced with the input node as the lowest bit. If it is a non-uniform node, the vector bits corresponding to each output device in the routing vector are clipped and spliced as a whole. After the message enters each switching node and is stored, the transmission direction control bit and the broadcast control bit determine the message's transmission direction. The message's transmission direction includes left transmission, right transmission, and transmission to all nodes.
9. The control method of the crossbar switch device according to claim 7 or 8, characterized in that: When determining the transmission direction of the message, if the message broadcast bit is set, it is output to all adjacent nodes; if a single message corresponds to multiple outputs, the channel that has completed the transmission is recorded, and the output of the completed transmission channel is stopped. The register will not start receiving the next message until all transmission channels have successfully completed the transmission.
10. The control method of the crossbar switch device according to claim 7 or 8, characterized in that: When determining the transmission direction of the message, the method further includes splicing the routing vectors according to the output direction. When transmitting to the right, the current routing vector is shifted right by one position, and the shifted vector is spliced to the highest position. When transmitting to the left, the current routing vector is shifted left by one position, and the shifted vector is spliced to the lowest position.
Citation Information
Patent Citations
Adaptive router in NoC (network-on-chip) on basis of virtual output queue mechanism
CN105871742A
Crossbar circuitry and method of operation of such crossbar circuitry
US20100211719A1