Data transmission device and electronic equipment
The data transmission device with grouped routing units addresses winding congestion and area challenges in AI chips, enhancing data exchange efficiency between processing units and SRAM by reducing windings and chip area overhead.
Patent Information
- Application Number
- CN202411411920.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-10
- Publication Date
- 2024-12-27
AI Technical Summary
The existing data transmission methods between a processing unit and static random access memory (SRAM) in artificial intelligence chips face challenges with high winding congestion, timing, and area convergence issues, particularly when multiple ports and large bit widths are involved, leading to difficulties in implementing logical multiplexers and physical structures.
A data transmission device is introduced, comprising multiple routing units divided into groups, which receive and transmit data through a network-on-chip (NOC) architecture, reducing windings and congestion by grouping first and second routing units to alleviate chip area overhead and improve efficiency.
The proposed solution effectively reduces winding congestion and chip area overhead while maintaining data transmission efficiency, ensuring timely and efficient data exchange between processing units and SRAM.
Smart Images

Figure CN119201837A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of artificial intelligence technology, and in particular to the technical fields of chips, crossbars, and network on chip (NOC). More specifically, the present disclosure provides a data transmission device and an electronic device. Background Art
[0002] With the development of artificial intelligence technology, the application of artificial intelligence chips is increasing. Data can be transmitted between the chip's processing unit and the static random access memory (SRAM) via the on-chip network. Summary of the invention
[0003] The present disclosure provides a data transmission device, equipment and chip.
[0004] According to one aspect of the present disclosure, a data transmission device is provided, which includes: a plurality of first routing units, wherein the first routing unit is configured to: receive first data provided via at least one of K first ports, wherein the K first ports are respectively from K different first port groups, and K is an integer greater than 1; provide the first data to at least one of a plurality of second routing units of a second routing unit group; and a plurality of second routing units, wherein the second routing unit is configured to provide the received first data to a second port of a storage unit.
[0005] According to another aspect of the present disclosure, a data transmission device is provided, which includes: a plurality of third routing units, wherein the third routing units are configured to: receive second data provided via at least one of M second ports of a storage unit, wherein the M second ports are from the same second port group, and M is an integer greater than 1; provide the second data to at least one of N fourth routing units, wherein the N fourth routing units are respectively from N different fourth routing unit groups, and N is an integer greater than 1; and a plurality of fourth routing units, wherein the fourth routing units are configured to provide the received second data to the first port.
[0006] According to another aspect of the present disclosure, a chip is provided, including a data transmission device and another data transmission device provided by the present disclosure.
[0007] According to another aspect of the present disclosure, an electronic device is provided, including the chip provided by the present disclosure.
[0008] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure.
[0010] Figure 1 is a schematic diagram of a system architecture of an exemplary chip to which a data transmission device can be applied according to an embodiment of the present disclosure;
[0011] Figure 2 is a schematic block diagram of a data transmission device according to an embodiment of the present disclosure;
[0012] Figure 3A is a schematic diagram of a chip according to an embodiment of the present disclosure;
[0013] Figure 3B is a schematic diagram of data transmission according to an embodiment of the present disclosure;
[0014] Figure 3C is a schematic diagram of providing data via a first port according to an embodiment of the present disclosure;
[0015] Figure 4A is a logical schematic diagram of a first routing unit according to an embodiment of the present disclosure
[0016] Figure 4B is a schematic diagram of the physical structure of a first routing unit according to an embodiment of the present disclosure;
[0017] Figure 4C is a schematic diagram of the physical structure of a first routing subunit according to an embodiment of the present disclosure;
[0018] Figure 4D is a schematic diagram of the physical structure of a second routing subunit according to an embodiment of the present disclosure;
[0019] Figure 5A is a schematic diagram of the logical structure of a second routing unit according to an embodiment of the present disclosure;
[0020] Figure 5B is a schematic diagram of the physical structure of a second routing unit according to an embodiment of the present disclosure;
[0021] Figure 6 is a schematic diagram of a data transmission device according to an embodiment of the present disclosure;
[0022] Fig. 7A is a schematic diagram of a chip according to an embodiment of the present disclosure;
[0023] Figure 7B is a schematic diagram of data transmission according to an embodiment of the present disclosure;
[0024] Figure 7C is a schematic diagram of providing data via a second port according to an embodiment of the present disclosure;
[0025] Figure 8 is a schematic block diagram of a chip according to an embodiment of the present disclosure;
[0026] Fig. 9 is a schematic diagram of the principle of data transmission according to an embodiment of the present disclosure; and
[0027] Fig.10 is a schematic diagram of an electronic device according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0028] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.
[0029] The processing unit can write data into the static random access memory cell, and can also read data from the static random access memory cell. Thus, the static random access memory cell can correspond to a write path and a read path. Via the write path, the processing unit can write data into the static random access memory cell. Via the read path, the processing unit can read data from the static random access memory cell. The write path and the read path can be implemented by a large-scale cross switch. The structure of the write path and the read path is basically the same.
[0030] In some embodiments, one or more processing units may access static random access memory cells via I first ports. There may also be multiple static random access memory cells. Multiple static random access memory cells may include J storage areas. J storage areas may correspond to J second ports. If the bit width of the data to be accessed is W and a read path or a write path is implemented by a cross switch, the total number of windings may be IxJxW. If I, J, and W are large, the total number of windings determined by multiplying the three will be very large, making it difficult to converge the timing and area of the chip. In addition, a large number of windings will cause winding congestion, making it more difficult to converge the timing and area. In addition, a logical multiplexer of J to 1 or a logical multiplexer of I to 1 needs to be implemented at the port, and the physical implementation is very difficult. If the read path and the write path use the same winding method to implement a substantially identical structure, the difficulty of winding will be further increased. I may be an integer greater than 1. J may be an integer greater than 1. W may be an integer greater than 1, and the unit of W is bits or bits. For example, I=J=16, and W equals 32 bits.
[0031] Therefore, in order to reduce routing congestion and reduce chip timing and area convergence risks, the present disclosure provides a data transmission device, which will be described below.
[0032] Figure 1 is a schematic diagram of the system architecture of an exemplary chip to which a data transmission device can be applied according to an embodiment of the present disclosure. It should be noted that: Figure 1 What is shown is merely an example of a system architecture to which the embodiments of the present disclosure can be applied, in order to help those skilled in the art understand the technical content of the present disclosure, but it does not mean that the embodiments of the present disclosure cannot be used in other devices, systems, environments or scenarios.
[0033] like Figure 1 As shown, the chip 10 may include a plurality of first ports, a data transmission device 100, and a plurality of second ports. The plurality of first ports may include a first port c100, ... a first port c115. The first port may be a port of a processing unit. The plurality of second ports may include a second port b100, ... a second port b115. The second port may be a port of a storage unit. The storage unit may be, for example, the above-mentioned static random access memory unit.
[0034] For example, the processing unit of the chip 10 may write data into the storage unit via the first port c100, the data transmission device 100 and the second port b100 in sequence. For another example, the processing unit of the chip 10 may read data from the storage unit via the second port b100, the data transmission device 100 and the first port c100 in sequence.
[0035] It can be understood that the above describes the system architecture of the present disclosure, and the following will describe the device of the present disclosure.
[0036] Figure 2 is a schematic block diagram of a data transmission device according to an embodiment of the present disclosure.
[0037] like Figure 2 As shown, the device 201 may include a plurality of first routing units 210 and a plurality of second routing units 220. It can be understood that, via the device 201, the processing unit may write data into the storage unit.
[0038] In the embodiment of the present disclosure, the first routing unit 210 may be configured to: receive first data provided via at least one of the K first ports. The first data may include data to be written into the storage unit. The first port may be one of the first ports c101, ..., c116 described above.
[0039] In the embodiment of the present disclosure, the K first ports are respectively from K different first port groups. K is an integer greater than 1. For example, taking K=2 as an example, the first routing unit can receive the first data provided via at least one of a first port of the first first port group and a first port of the second first port group.
[0040] In the embodiment of the present disclosure, the first routing unit 210 may also be configured to provide the first data to at least one of the plurality of second routing units of the second routing unit group. For example, taking two second routing unit groups as an example, the first routing unit may provide the received first data to one or more second routing units in the first second routing group.
[0041] In the embodiment of the present disclosure, the second routing unit 220 may be configured to provide the received first data to the second port of the storage unit. For example, the storage unit may be the static random access memory unit described above. Each second routing unit may provide the second data to one or more second ports.
[0042] Through the embodiments of the present disclosure, the K first ports are respectively from K different first port groups, which can reduce the number of windings between the first routing unit and the first port, and can alleviate winding congestion. The first routing unit provides the first data to a second routing unit group. The number of windings between the first routing unit and the second routing unit is also small, which can also alleviate congestion. The second routing unit provides the first data to one or more second ports, which can effectively reduce the number of windings and fully alleviate winding congestion. While ensuring data transmission efficiency, the number of windings can be fully reduced to save chip area overhead.
[0043] It can be understood that the above describes the device of the present disclosure, and the device of the present disclosure will be further described below.
[0044] Figure 3A is a schematic diagram of a chip according to an embodiment of the present disclosure.
[0045] like Figure 3A As shown, the chip 30 may include a plurality of first ports, a plurality of second ports, and a data transmission device 301. The plurality of first ports may include a first port c300 to a first port c315. The plurality of second ports may include a second port b300 to a second port b315. The data transmission device 301 may include a plurality of first routing units and a plurality of second routing units. The plurality of first routing units may include a first routing unit 3100 to a first routing unit 3115. The plurality of second routing units may include a second routing unit 3200 to a first routing unit 3215. It can be understood that the above description of the chip 10 and the data transmission device 201 is also applicable to the chip 30 and the data transmission device 301, and the present disclosure will not repeat them here.
[0046] In some embodiments, the plurality of first ports are divided into K first port groups. Figure 3A As shown, K may be, for example, 4. The first first port group may include a first port c300, a first port c301, a first port c302, and a first port c303. The second first port group may include a first port c304, a first port c305, a first port c306, and a first port c307. The third first port group may include a first port c308, a first port c309, a first port c310, and a first port c311. The fourth first port group may include a first port c312, a first port c313, a first port c314, and a first port c315.
[0047] In some embodiments, the number of first ports may be greater than K. Figure 3A As shown, the number of first ports may be 16 and K may be 4.
[0048] In some embodiments, the plurality of first routing units are divided into a plurality of first routing unit groups. Figure 3A As shown, the first first routing unit group may include a first routing unit 3100, a first routing unit 3101, a first routing unit 3102, and a first routing unit 3103. The second first routing unit group may include a first routing unit 3104, a first routing unit 3105, a first routing unit 3106, and a first routing unit 3107. The third first routing unit group may include a first routing unit 3108, a first routing unit 3109, a first routing unit 3110, and a first routing unit 3111. The fourth first routing unit group may include a first routing unit 3112, a first routing unit 3113, a first routing unit 3114, and a first routing unit 3115.
[0049] In some embodiments, the second routing unit group is multiple. Figure 3B As shown, the first second routing unit group may include a second routing unit 3200, a second routing unit 3201, a second routing unit 3202, and a second routing unit 3203. The second second routing unit group may include a second routing unit 3204, a second routing unit 3205, a second routing unit 3206, and a second routing unit 3207. The third second routing unit group may include a second routing unit 3208, a second routing unit 3209, a second routing unit 3210, and a second routing unit 3211. The fourth second routing unit group may include a second routing unit 3212, a second routing unit 3213, a second routing unit 3214, and a second routing unit 3215. Through the embodiments of the present disclosure, a plurality of first ports, a plurality of first routing units, and a plurality of second routing units are divided into a plurality of groups for wiring.
[0050] It can be understood that the above describes multiple hardware unit groups, and some methods of data transmission will be described below.
[0051] Figure 3B is a schematic diagram of data transmission according to an embodiment of the present disclosure.
[0052] In some embodiments, the first routing unit group is configured to receive the first data provided via a plurality of first ports. For example, the first routing unit group may be configured to receive the first data provided by all first ports.
[0053] In the embodiment of the present disclosure, different first routing units in the first routing unit group are configured to receive first data provided via at least one of K different first ports. In addition, in the embodiment of the present disclosure, in order to realize data transmission, the first routing unit and the corresponding first port can be electrically connected via wiring.
[0054] like Figure 3A and Figure 3BAs shown, via wiring, the first routing unit 3100 can be connected to the first port c300, the first port c304, the first port c308 and the first port c312 respectively. The first routing unit 3100 can receive the first data provided via at least one of the first port c300, the first port c304, the first port c308 and the first port c312. Via wiring, the first routing unit 3101 can be connected to the first port c301, the first port c305, the first port c309 and the first port c313 respectively. The first routing unit 3101 can receive the first data provided via at least one of the first port c301, the first port c305, the first port c309 and the first port c313. Via wiring, the first routing unit 3102 can be connected to the first port c302, the first port c306, the first port c310 and the first port c314 respectively. The first routing unit 3102 may receive first data provided via at least one of the first port c302, the first port c306, the first port c310, and the first port c314. The first routing unit 3103 may be connected to the first port c303, the first port c307, the first port c311, and the first port c315 via wiring, respectively. The first routing unit 3103 may receive first data provided via at least one of the first port c303, the first port c307, the first port c311, and the first port c315. Thus, the first first routing unit group may receive first data provided from the first port c300 to the first port c315. It can be understood that the kth first routing unit of the first routing unit group is configured to receive first data provided via the kth first port of each of the K first port groups. k is an integer greater than or equal to 1 and less than or equal to K. For example, for the first first routing unit group, the first routing unit 3100 may serve as the first first routing unit, and the first port c300 , the first port c304 , the first port c308 , and the first port c312 may serve as the first first ports of different first port groups, respectively.
[0055] like Figure 3A and Figure 3BAs shown, via wiring, the first routing unit 3104 can be connected to the first port c300, the first port c304, the first port c308 and the first port c312 respectively. The first routing unit 3104 can receive the first data provided via at least one of the first port c300, the first port c304, the first port c308 and the first port c312. Via wiring, the first routing unit 3105 can be connected to the first port c301, the first port c305, the first port c309 and the first port c313 respectively. The first routing unit 3105 can receive the first data provided via at least one of the first port c301, the first port c305, the first port c309 and the first port c313. Via wiring, the first routing unit 3106 can be connected to the first port c302, the first port c306, the first port c310 and the first port c314 respectively. The first routing unit 3106 may receive the first data provided via at least one of the first port c302, the first port c306, the first port c310, and the first port c314. The first routing unit 3107 may be connected to the first port c303, the first port c307, the first port c311, and the first port c315 via wiring. The first routing unit 3107 may receive the first data provided via at least one of the first port c303, the first port c307, the first port c311, and the first port c315. Thus, the second first routing unit group may receive the first data provided from the first port c300 to the first port c315.
[0056] like Figure 3A and Figure 3BAs shown, via wiring, the first routing unit 3108 can be connected to the first port c300, the first port c304, the first port c308 and the first port c312 respectively. The first routing unit 3108 can receive the first data provided via at least one of the first port c300, the first port c304, the first port c308 and the first port c312. Via wiring, the first routing unit 3109 can be connected to the first port c301, the first port c305, the first port c309 and the first port c313 respectively. The first routing unit 3109 can receive the first data provided via at least one of the first port c301, the first port c305, the first port c309 and the first port c313. Via wiring, the first routing unit 3110 can be connected to the first port c302, the first port c306, the first port c310 and the first port c314 respectively. The first routing unit 3110 may receive first data provided via at least one of the first port c302, the first port c306, the first port c310, and the first port c314. The first routing unit 3111 may be connected to the first port c303, the first port c307, the first port c311, and the first port c315 via wiring, respectively. The first routing unit 3111 may receive first data provided via at least one of the first port c303, the first port c307, the first port c311, and the first port c315. Thus, the third first routing unit group may receive first data provided from the first port c300 to the first port c315.
[0057] like Figure 3A and Figure 3BAs shown, via wiring, the first routing unit 3112 can be connected to the first port c300, the first port c304, the first port c308 and the first port c312 respectively. The first routing unit 3112 can receive the first data provided via at least one of the first port c300, the first port c304, the first port c308 and the first port c312. Via wiring, the first routing unit 3113 can be connected to the first port c301, the first port c305, the first port c309 and the first port c313 respectively. The first routing unit 3113 can receive the first data provided via at least one of the first port c301, the first port c305, the first port c309 and the first port c313. Via wiring, the first routing unit 3114 can be connected to the first port c302, the first port c306, the first port c310 and the first port c314 respectively. The first routing unit 3114 may receive the first data provided via at least one of the first port c302, the first port c306, the first port c310, and the first port c314. The first routing unit 3115 may be connected to the first port c303, the first port c307, the first port c311, and the first port c315 via wiring, respectively. The first routing unit 3115 may receive the first data provided via at least one of the first port c303, the first port c307, the first port c311, and the first port c315. Thus, the third first routing unit group may receive the first data provided from the first port c300 to the first port c315.
[0058] Through the embodiments of the present disclosure, the first routing unit group can receive data provided by all first ports. When multiple first routing units in the group receive data provided by different first ports respectively, the number of windings near the first ports can be reduced, which helps to reduce chip area overhead. It is also possible to receive first data provided by multiple first ports through one first routing unit group, thereby improving data transmission efficiency.
[0059] It can be understood that the above describes the manner in which multiple first routing units receive data, and the following describes the manner in which the second routing unit receives data.
[0060] In some embodiments, the second routing unit group corresponds to the first routing unit group, and the second routing unit of the second routing unit group is further configured to receive first data provided by at least one of the plurality of first routing units in the first routing unit group corresponding to the second routing unit group.
[0061] In the embodiment of the present disclosure, in order to realize data transmission between the first routing unit and the second routing unit, each second routing unit in the second routing unit group is connected to each first routing unit in the corresponding first routing unit group via wiring.
[0062] like Figure 3A and Figure 3B As shown, via wiring, the first routing unit 3100, the first routing unit 3101, the first routing unit 3102 and the first routing unit 3103 can all be connected to the second routing unit 3200, the second routing unit 3201, the second routing unit 3202 and the second routing unit 3203. The second routing unit 3200, the second routing unit 3201, the second routing unit 3202 and the second routing unit 3203 can all receive the first data provided by at least one of the first routing unit 3100, the first routing unit 3101, the first routing unit 3102 and the first routing unit 3103.
[0063] like Figure 3A and Figure 3B As shown, via wiring, the first routing unit 3104, the first routing unit 3105, the first routing unit 3106 and the first routing unit 3107 can be connected to the second routing unit 3204, the second routing unit 3205, the second routing unit 3206 and the second routing unit 3207. The second routing unit 3204, the second routing unit 3205, the second routing unit 3206 and the second routing unit 3207 can receive the first data provided by at least one of the first routing unit 3104, the first routing unit 3105, the first routing unit 3106 and the first routing unit 3107.
[0064] like Figure 3A and Figure 3B As shown, via wiring, the first routing unit 3108, the first routing unit 3109, the first routing unit 3110 and the first routing unit 3111 can be connected to the second routing unit 3208, the second routing unit 3209, the second routing unit 3210 and the second routing unit 3211. The second routing unit 3208, the second routing unit 3209, the second routing unit 3210 and the second routing unit 3211 can respectively receive the first data provided by at least one of the first routing unit 3108, the first routing unit 3109, the first routing unit 3110 and the first routing unit 3111.
[0065] like Figure 3A and Figure 3BAs shown, via wiring, the first routing unit 3112, the first routing unit 3113, the first routing unit 3114 and the first routing unit 3115 can be connected to the second routing unit 3212, the second routing unit 3213, the second routing unit 3214 and the second routing unit 3215. The second routing unit 3212, the second routing unit 3213, the second routing unit 3214 and the second routing unit 3215 can respectively receive the first data provided by at least one of the first routing unit 3112, the first routing unit 3113, the first routing unit 3114 and the first routing unit 3115.
[0066] Through the embodiments of the present disclosure, each second routing unit in the second routing unit group can receive data provided by each first routing unit in the first routing unit group, which can effectively improve data transmission efficiency.
[0067] It can be understood that the above describes the data transmission method between different routing units, and the following describes the data transmission method between the second routing unit and the second port.
[0068] In some embodiments, the second routing unit is configured to provide the received first data to the second port of the storage unit.
[0069] In the embodiment of the present disclosure, in order to implement data transmission between the second routing unit and the second port, the second routing unit may be connected to a second port via wiring.
[0070] like Figure 3A and Figure 3BAs shown, via wiring, the second routing unit 3200 is connected to the second port b300. The second routing unit 3200 can provide the received first data to the second port b300. Via wiring, the second routing unit 3201 is connected to the second port b301. The second routing unit 3201 can provide the received first data to the second port b301. Via wiring, the second routing unit 3202 is connected to the second port b302. The second routing unit 3202 can provide the received first data to the second port b302. Via wiring, the second routing unit 3203 is connected to the second port b303. The second routing unit 3203 can provide the received first data to the second port b303. Via wiring, the second routing unit 3204 is connected to the second port b304. The second routing unit 3204 can provide the received first data to the second port b304. Via wiring, the second routing unit 3205 is connected to the second port b305. The second routing unit 3205 can provide the received first data to the second port b305. The second routing unit 3206 is connected to the second port b306 via wiring. The second routing unit 3206 may provide the received first data to the second port b306. The second routing unit 3207 is connected to the second port b307 via wiring. The second routing unit 3207 may provide the received first data to the second port b307. The second routing unit 3208 is connected to the second port b308 via wiring. The second routing unit 3208 may provide the received first data to the second port b308. The second routing unit 3209 is connected to the second port b309 via wiring. The second routing unit 3209 may provide the received first data to the second port b309. The second routing unit 3210 is connected to the second port b310 via wiring. The second routing unit 3210 may provide the received first data to the second port b310. The second routing unit 3211 is connected to the second port b311 via wiring. The second routing unit 3211 may provide the received first data to the second port b311. The second routing unit 3212 is connected to the second port b312 via wiring. The second routing unit 3212 may provide the received first data to the second port b312. The second routing unit 3213 is connected to the second port b313 via wiring. The second routing unit 3213 may provide the received first data to the second port b313. The second routing unit 3214 is connected to the second port b314 via wiring. The second routing unit 3214 may provide the received first data to the second port b314. The second routing unit 3215 is connected to the second port b315 via wiring. The second routing unit 3215 may provide the received first data to the second port b315.
[0071] Through the embodiment of the present disclosure, the second routing unit provides the received data to the second port, which can effectively reduce the number of windings at the second port, fully reduce winding congestion, effectively reduce chip area overhead, and improve data transmission efficiency.
[0072] The following will be combined Figure 3C The effects of the present disclosure will be further described.
[0073] Figure 3C is a schematic diagram of providing data via a first port according to an embodiment of the present disclosure.
[0074] like Figure 3C As shown, based on the data transmission device 301 of the present disclosure, data provided via the first port c300 can be transmitted to any second port from the second port b300 to the second port b315. It can be understood that data provided via the first port c301 to the first port c315 can also be transmitted to any second port.
[0075] It can be understood that the above description uses 16 first routing units and 16 second routing units as an example to illustrate the present disclosure, but the present disclosure is not limited thereto, and the number of the first routing units and the number of the second routing units are arbitrary values, which are not limited by the present disclosure.
[0076] In some other embodiments, the number of the first ports and the number of the second ports may be consistent, thereby further improving data transmission efficiency.
[0077] It can be understood that the data transmission device of the present disclosure is described above, and the first routing unit of the present disclosure will be described below.
[0078] Figure 4A is a logical schematic diagram of a first routing unit according to an embodiment of the present disclosure.
[0079] like Figure 4A As shown, the first routing unit 410 may be a 4-out-of-4 logical routing unit. It is understood that the first routing unit 410 may be Figure 3A In some other embodiments, the first routing unit may also be an 8-out-of-8 logical routing unit, which is not limited in the present disclosure. Some implementation methods of implementing the 4-out-of-4 logical routing unit will be described below in conjunction with the first routing unit 3115.
[0080] Figure 4B is a schematic diagram of the physical structure of a first routing unit according to an embodiment of the present disclosure.
[0081] In the embodiment of the present disclosure, the first routing unit includes at least one first routing sub-unit and at least one second routing sub-unit. Figure 4B As shown, the first routing unit 410 may include a first routing sub-unit r4110, a first routing sub-unit r4111, a first routing sub-unit r4112, a first routing sub-unit r4113, a second routing sub-unit r4210, a second routing sub-unit r4211, a second routing sub-unit r4212, and a second routing sub-unit r4213.
[0082] In the embodiment of the present disclosure, the first routing subunit is configured to: receive first data provided via at least one of a plurality of different first ports, and provide the received first data to at least one second routing subunit. For example, the first sub-routing unit r4110 may receive first data provided via at least one of the first port c303 and the first port c311. The first sub-routing unit r4110 may also provide the received first data to at least one of the second routing subunit r4210 and the second routing subunit r4211. The first sub-routing unit r4111 may receive first data provided via at least one of the first port c307 and the first port c315. The first sub-routing unit r4111 may also provide the received first data to at least one of the second routing subunit r4210 and the second routing subunit r4211. The first sub-routing unit r4112 may receive first data provided via at least one of the first port c303 and the first port c311. The first sub-routing unit r4112 may also provide the received first data to at least one of the second routing subunit r4212 and the second routing subunit r4213. The first sub-routing unit r4113 may receive the first data provided via at least one of the first port c307 and the first port c315. The first sub-routing unit r4113 may also provide the received first data to at least one of the second routing sub-unit r4212 and the second routing sub-unit r4213.
[0083] In the embodiment of the present disclosure, the second routing subunit is configured to: receive the first data provided via at least one of the multiple different first routing subunits, and provide the received first data to the second routing unit. For example, the second routing subunit r4210 can receive the first data provided via at least one of the first routing subunit r4110 and the first routing subunit r4111. The second routing subunit r4210 can also provide the first data to the above-mentioned second routing unit 3212. The second routing subunit r4211 can receive the first data provided via at least one of the first routing subunit r4110 and the first routing subunit r4111. The second routing subunit r4211 can also provide the first data to the above-mentioned second routing unit 3213. The second routing subunit r4212 can receive the first data provided via at least one of the first routing subunit r4112 and the first routing subunit r4113. The second routing subunit r4212 can also provide the first data to the above-mentioned second routing unit 3214. The second routing subunit r4213 may receive the first data provided by at least one of the first routing subunit r4112 and the first routing subunit r4113. The second routing subunit r4213 may also provide the first data to the second routing unit 3215.
[0084] Through the embodiments of the present disclosure, a first routing unit is implemented using a plurality of routing sub-units, which can efficiently receive data from a plurality of ports and provide the data to a plurality of second routing units, thereby helping to improve data transmission efficiency.
[0085] The physical implementation of the first routing sub-unit and the second routing sub-unit will be described below.
[0086] Figure 4C is a schematic diagram of the physical structure of a first routing subunit according to an embodiment of the present disclosure.
[0087] In an embodiment of the present disclosure, the first routing subunit includes a plurality of first distributors and a plurality of first multiplexers. The plurality of first distributors are configured to respectively receive first data provided via a plurality of different first ports, and the first distributor is further configured to provide the received first data to at least one of the plurality of first multiplexers. The plurality of first multiplexers are configured to provide the received first data to at least one second routing subunit. Figure 4CAs shown, the first routing subunit R4113 includes a first distributor D410, a first distributor 411, a first multiplexer Mux410 and a first multiplexer Mux411. The first distributor D410 can be configured to receive the first data provided via the first port C307, and provide the received first data to at least one of the first multiplexer Mux410 and the first multiplexer Mux411. The first distributor D411 can be configured to receive the first data provided via the first port C315, and provide the received first data to at least one of the first multiplexer Mux410 and the first multiplexer Mux411. The first multiplexer Mux410 can provide the received first data to the second routing subunit R4212. The first multiplexer Mux411 can provide the received first data to the second routing subunit R4213. It can be understood that the physical implementation of the first routing subunit r4110 to the first routing subunit r4112 is the same as or similar to the first routing subunit r4113, and will not be described in detail in this disclosure.
[0088] Figure 4D is a schematic diagram of the physical structure of a second routing subunit according to an embodiment of the present disclosure.
[0089] In an embodiment of the present disclosure, the second routing subunit includes a second multiplexer, and the second multiplexer is configured to: receive first data provided by at least one of the plurality of different first routing subunits, and provide the received first data to the second routing unit. Figure 4D As shown, the second routing subunit r4213 may include a second multiplexer mux420. The second multiplexer mux420 may receive the first data provided via the first routing subunit r4212 and the first routing subunit r4213. The second multiplexer mux420 may also provide the received first data to the second routing unit 3215.
[0090] It can be understood that the implementation of the first routing unit is described above, and the implementation of the second routing unit will be described below.
[0091] Figure 5A is a schematic diagram of the logical structure of a second routing unit according to an embodiment of the present disclosure.
[0092] like Figure 5A As shown, the second routing unit 520 may be a 4-to-1 logical routing unit. It is understood that the second routing unit 520 may be Figure 3AIn some other embodiments, the second routing unit may also be an 8-to-1 logical routing unit, which is not limited in the present disclosure. Some implementation methods of implementing the 4-to-1 logical routing unit will be described below in conjunction with the second routing unit 3215.
[0093] Figure 5B is a schematic diagram of the physical structure of a second routing unit according to an embodiment of the present disclosure.
[0094] In the embodiment of the present disclosure, the second routing unit includes a third multiplexer and a fourth multiplexer. Figure 5B As shown, the second routing unit 520 may include a third multiplexer mux530 , a third multiplexer mux531 , and a fourth multiplexer mux540 .
[0095] In the embodiment of the present disclosure, a plurality of third multiplexers are configured to respectively receive first data provided by different first routing units. For example, the third multiplexers mux530 and mux531 may respectively receive first data provided by different first routing units.
[0096] In the embodiment of the present disclosure, the third multiplexer is further configured to: receive the first data provided via at least one of the plurality of first routing units, and provide the received first data to the fourth multiplexer. For example, the third multiplexer mux530 may receive the first data provided via at least one of the first routing unit 3112 and the first routing unit 3113, and provide the received first data to the fourth multiplexer mux540. The third multiplexer mux530 may receive the first data provided via at least one of the first routing unit 3114 and the first routing unit 3115, and provide the received first data to the fourth multiplexer mux540.
[0097] In the embodiment of the present disclosure, the fourth multiplexer is configured to provide the received first data to the second port of the storage unit. For example, the fourth multiplexer mux540 can provide the received first data to the second port b315.
[0098] It can be understood that the data transmission device for writing data disclosed in the present invention is described above, and the data transmission device for reading data disclosed in the present invention will be described below.
[0099] Figure 6 is a schematic diagram of a data transmission device according to an embodiment of the present disclosure.
[0100] like Figure 6As shown, the device 602 may include a plurality of third routing units 630 and a plurality of fourth routing units 640. It can be understood that, via the device 602, the processing unit may read data from the storage unit.
[0101] In the embodiment of the present disclosure, the third routing unit 630 may be configured to: receive second data provided via at least one of the M second ports of the storage unit. The second data may be data requested to be read by the processing unit. The second port may be one of the second ports b100, ..., second ports b115 described above.
[0102] In the embodiment of the present disclosure, the M second ports are from the same second port group. M is an integer greater than 1. For example, taking M=2 as an example, the third routing unit can receive data provided via at least one of the two second ports of the first second port group.
[0103] In the embodiment of the present disclosure, the third routing unit 630 may be configured to provide the second data to at least one of the N fourth routing units. The N fourth routing units are respectively from N different fourth routing unit groups, where N is an integer greater than 1. For example, taking N=2 as an example, the third routing unit may provide the received second data to at least one of a fourth routing unit of the first fourth routing unit group and a fourth routing unit of the second fourth routing unit group.
[0104] In the embodiment of the present disclosure, the fourth routing unit 640 is configured to provide the received second data to the first port. For example, each fourth routing unit can provide the second data to a first port.
[0105] Through the disclosed embodiment, M second ports are in the same second port group, which can reduce the number of windings between the third routing unit and the third port, and can alleviate winding congestion. The third routing unit provides the second data to N different fourth routing unit groups, and the number of windings between the third routing unit and the fourth routing unit is also small, which can also alleviate congestion. The fourth routing unit provides the second data to the first port, which can effectively reduce the number of windings and fully alleviate winding congestion. While ensuring data transmission efficiency, the number of windings can be fully reduced to save chip area overhead.
[0106] It can be understood that the above describes the device of the present disclosure, and the device of the present disclosure will be further described below.
[0107] Fig. 7A is a schematic diagram of a chip according to an embodiment of the present disclosure.
[0108] like Fig. 7AAs shown, the chip 70 may include a plurality of first ports, a plurality of second ports, and a data transmission device 702. The plurality of first ports may include a first port c700 to a first port c715. The plurality of second ports may include a second port b700 to a second port b715. The data transmission device 702 may include a plurality of third routing units and a plurality of fourth routing units. The plurality of third routing units may include a third routing unit 7300 to a third routing unit 7315. The plurality of fourth routing units may include a fourth routing unit 7400 to a fourth routing unit 7415. It can be understood that the above description of the chip 10 and the data transmission device 602 is also applicable to the chip 70 and the data transmission device 702, and the present disclosure will not repeat them here.
[0109] In some embodiments, the plurality of third routing units are divided into a plurality of third routing unit groups. Fig. 7A As shown, the first third routing unit group may include a third routing unit 7300, a third routing unit 7301, a third routing unit 7302, and a third routing unit 7303. The second third routing unit group may include a third routing unit 7304, a third routing unit 7305, a third routing unit 7306, and a third routing unit 7307. The third third routing unit group may include a third routing unit 7308, a third routing unit 7309, a third routing unit 7310, and a third routing unit 7311. The fourth third routing unit group may include a third routing unit 7312, a third routing unit 7313, a third routing unit 7314, and a third routing unit 7315.
[0110] In some embodiments, the fourth routing unit group is N. Fig. 7A As shown, N may be, for example, 4, and the first fourth routing unit group may include a fourth routing unit 7400, a fourth routing unit 7401, a fourth routing unit 7402, and a fourth routing unit 7403. The second fourth routing unit group may include a fourth routing unit 7404, a fourth routing unit 7405, a fourth routing unit 7406, and a fourth routing unit 7407. The third fourth routing unit group may include a fourth routing unit 7408, a fourth routing unit 7409, a fourth routing unit 7410, and a fourth routing unit 7411. The fourth fourth routing unit group may include a fourth routing unit 7412, a fourth routing unit 7413, a fourth routing unit 7414, and a fourth routing unit 7415.
[0111] In some embodiments, the plurality of second ports are divided into M second port groups. Fig. 7AAs shown, M may be, for example, 4. The first second port group may include a second port b700, a second port b701, a second port b702, and a second port b703. The second second port group may include a second port b704, a second port b705, a second port b706, and a second port b707. The third second port group may include a second port b708, a second port b709, a second port b710, and a second port b711. The fourth second port group may include a second port b712, a second port b713, a second port b714, and a second port b715.
[0112] In some embodiments, the number of second ports may be greater than M. Fig. 7A As shown, the number of second ports may be 16 and M may be 4.
[0113] According to the embodiment of the present disclosure, the plurality of second ports, the plurality of third routing units and the plurality of fourth routing units are divided into a plurality of groups for convenience of wiring and to reduce the number of windings.
[0114] It can be understood that the above describes multiple hardware unit groups, and some methods of data transmission will be described below.
[0115] Figure 7B is a schematic diagram of data transmission according to an embodiment of the present disclosure.
[0116] In some embodiments, the third routing unit group corresponds to the second port group, and the third routing unit of the third routing unit group is further configured to receive second data provided via at least one of a plurality of second ports in the second port group corresponding to the third routing unit group.
[0117] In the embodiment of the present disclosure, in order to realize data transmission between the third routing units and the second ports, each third routing unit in the third routing unit group is connected to each second port in the corresponding second port group via wiring.
[0118] like Fig. 7A and Figure 7B As shown, via wiring, the third routing unit 7300, the third routing unit 7301, the third routing unit 7302 and the third routing unit 7303 can all be connected to the second port b700, the second port b701, the second port b702 and the second port b703. The third routing unit 7300, the third routing unit 7301, the third routing unit 7302 and the third routing unit 7303 can all receive the second data provided via at least one of the second port 3200, the second port 3201, the second port 3202 and the second port 3203.
[0119] like Fig. 7A and Figure 7BAs shown, via wiring, the third routing unit 7304, the third routing unit 7305, the third routing unit 7306 and the third routing unit 7307 can all be connected to the second port b704, the second port b705, the second port b706 and the second port b707. The third routing unit 7304, the third routing unit 7305, the third routing unit 7306 and the third routing unit 7307 can all receive the second data provided via at least one of the second port b704, the second port b705, the second port b706 and the second port b707.
[0120] like Fig. 7A and Figure 7B As shown, via wiring, the third routing unit 7308, the third routing unit 7309, the third routing unit 7310 and the third routing unit 7311 can all be connected to the second port b708, the second port b709, the second port b710 and the second port b711. The third routing unit 7308, the third routing unit 7309, the third routing unit 7310 and the third routing unit 7311 can all receive the second data provided via at least one of the second port b708, the second port b709, the second port b710 and the second port b711.
[0121] like Fig. 7A and Figure 7B As shown, via wiring, the third routing unit 7312, the third routing unit 7313, the third routing unit 7314 and the third routing unit 7315 can be connected to the second port b712, the second port b713, the second port b714 and the second port b715. The third routing unit 7312, the third routing unit 7313, the third routing unit 7314 and the third routing unit 7315 can receive the second data provided via at least one of the second port b712, the second port b713, the second port b714 and the second port b715.
[0122] Through the embodiments of the present disclosure, each third routing unit in the third routing unit group can receive data provided via each second port in the second port group, which can effectively improve data transmission efficiency.
[0123] It can be understood that the above describes the manner in which multiple third routing units receive data, and the following describes the manner in which the fourth routing unit receives data.
[0124] In some embodiments, the fourth routing unit group is configured to receive the second data provided by the plurality of third routing units. For example, the first routing unit group may be configured to receive the first data provided by all first ports.
[0125] In the embodiment of the present disclosure, different fourth routing units of the fourth routing unit group are configured to receive second data provided by at least one of the N different third routing units. The N different third routing units are from the N third routing unit groups. In addition, in the embodiment of the present disclosure, in order to realize data transmission, the third routing unit and the corresponding fourth routing unit can be electrically connected via wiring.
[0126] like Fig. 7A and Figure 7B As shown, via wiring, the fourth routing unit 7400 can be connected to the third routing unit 7300, the third routing unit 7304, the third routing unit 7308 and the third routing unit 7312 respectively. The fourth routing unit 7400 can receive the second data provided by at least one of the third routing unit 7300, the third routing unit 7304, the third routing unit 7308 and the third routing unit 7312. The fourth routing unit 7401 can be connected to the third routing unit 7301, the third routing unit 7305, the third routing unit 7309 and the third routing unit 7313 respectively via wiring. The fourth routing unit 7401 can receive the second data provided by at least one of the third routing unit 7301, the third routing unit 7305, the third routing unit 7309 and the third routing unit 7313. The fourth routing unit 7402 can be connected to the third routing unit 7302, the third routing unit 7306, the third routing unit 7310 and the third routing unit 7314 respectively via wiring. The fourth routing unit 7402 may receive second data provided by at least one of the third routing unit 7302, the third routing unit 7306, the third routing unit 7310, and the third routing unit 7314. The fourth routing unit 7403 may be connected to the third routing unit 7303, the third routing unit 7307, the third routing unit 7311, and the third routing unit 7315 via wiring, respectively. The fourth routing unit 7403 may receive second data provided by at least one of the third routing unit 7303, the third routing unit 7307, the third routing unit 7311, and the third routing unit 7315. It can be understood that the mth fourth routing unit of the fourth routing unit group is configured to receive the second data provided by at least one of the mth third routing units of each of the plurality of third routing unit groups. m is an integer greater than or equal to 1 and less than or equal to M. For example, for the first fourth routing unit group, fourth routing unit 7400 may serve as the first fourth routing unit, and third routing unit 7300, third routing unit 7304, third routing unit 7308, and third routing unit 7312 may serve as the first third routing units of different third routing unit groups, respectively.
[0127] like Fig. 7A and Figure 7BAs shown, via wiring, the fourth routing unit 7404 can be connected to the third routing unit 7300, the third routing unit 7304, the third routing unit 7308 and the third routing unit 7312 respectively. The fourth routing unit 7404 can receive the second data provided by at least one of the third routing unit 7300, the third routing unit 7304, the third routing unit 7308 and the third routing unit 7312. The fourth routing unit 7405 can be connected to the third routing unit 7301, the third routing unit 7305, the third routing unit 7309 and the third routing unit 7313 respectively via wiring. The fourth routing unit 7405 can receive the second data provided by at least one of the third routing unit 7301, the third routing unit 7305, the third routing unit 7309 and the third routing unit 7313. The fourth routing unit 7406 can be connected to the third routing unit 7302, the third routing unit 7306, the third routing unit 7310 and the third routing unit 7314 respectively via wiring. The fourth routing unit 7406 may receive the second data provided via at least one of the third routing unit 7302, the third routing unit 7306, the third routing unit 7310, and the third routing unit 7314. The fourth routing unit 7407 may be connected to the third routing unit 7303, the third routing unit 7307, the third routing unit 7311, and the third routing unit 7315 via wiring. The fourth routing unit 7407 may receive the second data provided via at least one of the third routing unit 7303, the third routing unit 7307, the third routing unit 7311, and the third routing unit 7315.
[0128] like Fig. 7A and Figure 7BAs shown, via wiring, the fourth routing unit 7408 can be connected to the third routing unit 7300, the third routing unit 7304, the third routing unit 7308 and the third routing unit 7312 respectively. The fourth routing unit 7408 can receive the second data provided by at least one of the third routing unit 7300, the third routing unit 7304, the third routing unit 7308 and the third routing unit 7312. The fourth routing unit 7409 can be connected to the third routing unit 7301, the third routing unit 7305, the third routing unit 7309 and the third routing unit 7313 respectively via wiring. The fourth routing unit 7409 can receive the second data provided by at least one of the third routing unit 7301, the third routing unit 7305, the third routing unit 7309 and the third routing unit 7313. The fourth routing unit 7410 can be connected to the third routing unit 7302, the third routing unit 7306, the third routing unit 7310 and the third routing unit 7314 respectively via wiring. The fourth routing unit 7410 may receive the second data provided via at least one of the third routing unit 7302, the third routing unit 7306, the third routing unit 7310, and the third routing unit 7314. The fourth routing unit 7411 may be connected to the third routing unit 7303, the third routing unit 7307, the third routing unit 7311, and the third routing unit 7315, respectively, via wiring. The fourth routing unit 7411 may receive the second data provided via at least one of the third routing unit 7303, the third routing unit 7307, the third routing unit 7311, and the third routing unit 7315.
[0129] like Fig. 7A and Figure 7BAs shown, via wiring, the fourth routing unit 7412 can be connected to the third routing unit 7300, the third routing unit 7304, the third routing unit 7308 and the third routing unit 7312 respectively. The fourth routing unit 7412 can receive the second data provided by at least one of the third routing unit 7300, the third routing unit 7304, the third routing unit 7308 and the third routing unit 7312. The fourth routing unit 7413 can be connected to the third routing unit 7301, the third routing unit 7305, the third routing unit 7309 and the third routing unit 7313 respectively via wiring. The fourth routing unit 7413 can receive the second data provided by at least one of the third routing unit 7301, the third routing unit 7305, the third routing unit 7309 and the third routing unit 7313. The fourth routing unit 7414 can be connected to the third routing unit 7302, the third routing unit 7306, the third routing unit 7310 and the third routing unit 7314 respectively via wiring. The fourth routing unit 7414 may receive the second data provided via at least one of the third routing unit 7302, the third routing unit 7306, the third routing unit 7310, and the third routing unit 7314. The fourth routing unit 7415 may be respectively connected to the third routing unit 7303, the third routing unit 7307, the third routing unit 7311, and the third routing unit 7315 via wiring. The fourth routing unit 7415 may receive the second data provided via at least one of the third routing unit 7303, the third routing unit 7307, the third routing unit 7311, and the third routing unit 7315.
[0130] Through the disclosed embodiment, the fourth routing unit group can receive data provided by all third routing units. When multiple fourth routing units in the group receive data provided by different third routing units respectively, the number of windings between different routing units can be reduced, which helps to reduce chip area overhead. The first data provided by multiple second ports can also be received through one third routing unit group, which improves data transmission efficiency.
[0131] It can be understood that the above describes the data transmission mode between different routing units, and the following describes the data transmission mode between the fourth routing unit and the first port.
[0132] In some embodiments, the fourth routing unit is configured to provide the received second data to the first port.
[0133] In the embodiment of the present disclosure, in order to implement data transmission between the fourth routing unit and the first port, the fourth routing unit may be connected to one of the first ports via wiring.
[0134] like Fig. 7A and Figure 7BAs shown, via wiring, the fourth routing unit 7400 is connected to the first port c700. The fourth routing unit 7400 can provide the received second data to the first port c700. The fourth routing unit 7401 is connected to the first port c701 via wiring. The fourth routing unit 7401 can provide the received second data to the first port c701. The fourth routing unit 7402 is connected to the first port c702 via wiring. The fourth routing unit 7402 can provide the received second data to the first port c702. The fourth routing unit 7403 is connected to the first port c703 via wiring. The fourth routing unit 7403 can provide the received second data to the first port c703. The fourth routing unit 7404 is connected to the first port c704 via wiring. The fourth routing unit 7404 can provide the received second data to the first port c704. The fourth routing unit 7405 is connected to the first port c705 via wiring. The fourth routing unit 7405 can provide the received second data to the first port c705. The fourth routing unit 7406 is connected to the first port c706 via wiring. The fourth routing unit 7406 may provide the received second data to the first port c706. The fourth routing unit 7407 is connected to the first port c707 via wiring. The fourth routing unit 7407 may provide the received second data to the first port c707. The fourth routing unit 7408 is connected to the first port c708 via wiring. The fourth routing unit 7408 may provide the received second data to the first port c708. The fourth routing unit 7409 is connected to the first port c709 via wiring. The fourth routing unit 7409 may provide the received second data to the first port c709. The fourth routing unit 7410 is connected to the first port c710 via wiring. The fourth routing unit 7410 may provide the received second data to the first port c710. The fourth routing unit 7411 is connected to the first port c711 via wiring. The fourth routing unit 7411 may provide the received second data to the first port c711. The fourth routing unit 7412 is connected to the first port c712 via wiring. The fourth routing unit 7412 may provide the received second data to the first port c712. The fourth routing unit 7413 is connected to the first port c713 via wiring. The fourth routing unit 7413 may provide the received second data to the first port c713. The fourth routing unit 7414 is connected to the first port c714 via wiring. The fourth routing unit 7414 may provide the received second data to the first port c714. The fourth routing unit 7415 is connected to the first port c715 via wiring. The fourth routing unit 7415 may provide the received second data to the first port c715.
[0135] Through the embodiment of the present disclosure, the fourth routing unit provides the received data to the first port, which can effectively reduce the number of windings at the first port, fully reduce winding congestion, effectively reduce chip area overhead, and improve data transmission efficiency.
[0136] The following will be combined Figure 7C The effects of the present disclosure will be further described.
[0137] Figure 7C is a schematic diagram of providing data via a second port according to an embodiment of the present disclosure.
[0138] like Figure 7C As shown, based on the data transmission device 702 of the present disclosure, data provided via the second port b700 can be transmitted to any first port from the first port c700 to the first port c715. It can be understood that data provided via the second port b701 to the second port b715 can also be transmitted to any first port.
[0139] It can be understood that the above description uses 16 third routing units and 16 fourth routing units as examples to illustrate the present disclosure, but the present disclosure is not limited thereto, and the number of the third routing units and the number of the fourth routing units are arbitrary values, which are not limited by the present disclosure.
[0140] In some other embodiments, the number of the first ports and the number of the second ports may be consistent, thereby further improving data transmission efficiency.
[0141] It can be understood that the data transmission device of the present disclosure is described above, and the third routing unit and the fourth routing unit of the present disclosure will be described below.
[0142] In some embodiments, the third routing unit includes at least one third routing subunit and at least one fourth routing subunit. The third routing subunit is configured to: receive second data provided via at least one of the plurality of different second ports, and provide the received second data to at least one fourth routing subunit. The fourth routing subunit is configured to: receive second data provided via at least one of the plurality of different third routing subunits, and provide the received second data to the fourth routing unit.
[0143] In some embodiments, the third routing unit includes a plurality of second distributors and a plurality of fifth multiplexers, the plurality of second distributors are configured to respectively receive second data provided via a plurality of different second ports, the second distributors are further configured to provide the received second data to at least one of the plurality of fifth multiplexers; the plurality of fifth multiplexers are configured to provide the received second data to at least one fourth routing sub-unit. The fourth routing sub-unit includes a sixth multiplexer, the sixth multiplexer is configured to: receive the second data provided via at least one of the plurality of different third routing sub-units, and provide the received second data to the fourth routing unit.
[0144] It can be understood that the logical structure and physical results of the third routing unit are the same as or similar to those of the first routing unit, and the present disclosure will not elaborate on them here.
[0145] In some embodiments, the fourth routing unit includes a seventh multiplexer and an eighth multiplexer, and the plurality of seventh multiplexers are configured to respectively receive the second data provided by different third routing units. The seventh multiplexer is further configured to: receive the second data provided via at least one of the plurality of third routing units, and provide the received second data to the eighth multiplexer. The eighth multiplexer is configured to provide the received second data to the first port.
[0146] It can be understood that the logical structure and physical results of the fourth routing unit are the same as or similar to those of the second routing unit, and the present disclosure will not elaborate on them here.
[0147] It can be understood that the above describes the device of the present disclosure, and the following will describe the chip of the present disclosure.
[0148] Figure 8 is a schematic block diagram of a chip according to an embodiment of the present disclosure.
[0149] like Figure 8 As shown, the chip 80 may include a data transmission device 801 and a data transmission device 802. The data transmission device 801 may be the above-mentioned device 201. The data transmission device 802 may be the above-mentioned data transmission device 602. The data transmission device 801 and the data transmission device 802 may be located between the first port and the second port, for example, may be located at the above-mentioned data transmission device 100.
[0150] Through the embodiments of the present disclosure, two data transmission devices are provided between the first port and the second port, so that the area resources of the chip can be fully utilized.
[0151] Fig. 9 It is a schematic diagram of the principle of data transmission according to an embodiment of the present disclosure.
[0152] like Fig. 9As shown, the chip 90 includes a data transmission device 901 and a data transmission device 902. The above descriptions on the data transmission device 301 and the data transmission device 702 are also applicable to the data transmission device 901 and the data transmission device 902, and will not be repeated in this disclosure.
[0153] It can be understood that the data transmission device 902 is actually deployed between the first port and the second port.
[0154] like Fig. 9 As shown, the chip area can be fully utilized through the embodiments of the present disclosure. Taking the number of ports as 16 as an example, the number of windings at each port is about 5, which is much smaller than the 16 of the cross switch, which can effectively reduce winding congestion and reduce the difficulty of chip manufacturing.
[0155] It can be understood that the chip of the present disclosure is described above, and the electronic device of the present disclosure will be described below.
[0156] Fig.10 is a schematic diagram of an electronic device according to an embodiment of the present disclosure.
[0157] like Fig.10 As shown, the device 10000 may include a chip 1000. The chip 1000 may be the chip 90 described above.
[0158] In the technical solution of the present disclosure, the collection, storage, use, processing, transmission, provision and disclosure of user personal information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0159] It should be understood that the various forms of units and subunits shown above can be used to reorder, add or delete units. For example, the number of each unit recorded in this disclosure can be increased or decreased, as long as the desired results of the technical solution disclosed in this disclosure can be achieved, and this document is not limited here.
[0160] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.
Claims
1. A data transmission device, comprising: A plurality of first routing units, wherein the first routing units are configured as: Receiving first data provided via at least one of K first ports, wherein the K first ports are respectively from K different first port groups, and K is an integer greater than 1; providing the first data to at least one of a plurality of second routing units of a second routing unit group; A plurality of the second routing units, wherein the second routing unit is configured to provide the received first data to a second port of the storage unit.
2. The device according to claim 1, wherein: The plurality of first routing units are divided into a plurality of first routing unit groups, the number of the first ports is greater than K, The first routing unit group is configured to receive the first data provided via a plurality of the first ports, wherein different first routing units in the first routing unit group are configured to receive the first data provided via at least one of K different first ports.
3. The device according to claim 2, wherein: The first routing unit group includes K first routing units, The kth first routing unit of the first routing unit group is configured to receive the first data provided via the kth first port of each of K first port groups, where k is an integer greater than or equal to 1 and less than or equal to K.
4. The device according to claim 1, wherein: The first routing unit includes at least one first routing sub-unit and at least one second routing sub-unit, The first routing subunit is configured to: receive the first data provided via at least one of a plurality of different first ports, and provide the received first data to at least one of the second routing subunits; The second routing subunit is configured to: receive the first data provided via at least one of a plurality of different first routing subunits, and provide the received first data to the second routing subunit.
5. The device according to claim 4, wherein: The first routing subunit includes a plurality of first distributors and a plurality of first multiplexers, the plurality of first distributors are configured to respectively receive the first data provided via a plurality of different first ports, and the first distributor is further configured to provide the received first data to at least one of the plurality of first multiplexers; A plurality of the first multiplexers are configured to provide the received first data to at least one of the second routing subunits; The second routing subunit includes a second multiplexer configured to receive the first data provided via at least one of a plurality of different first routing subunits, and provide the received first data to the second routing subunit.
6. The device according to claim 2, wherein: There are multiple second routing unit groups, and the second routing unit group corresponds to the first routing unit group. The second routing unit of the second routing unit group is further configured to: receive the first data provided by at least one of the multiple first routing units in the first routing unit group corresponding to the second routing unit group.
7. The device according to claim 1, wherein: The second routing unit includes a third multiplexer and a fourth multiplexer, and a plurality of the third multiplexers are configured to respectively receive the first data provided by different first routing units. The third multiplexer is further configured to: receive the first data provided via at least one of the plurality of the first routing units, and provide the received first data to the fourth multiplexer; The fourth multiplexer is configured to provide the received first data to the second port of the storage unit.
8. The device according to claim 1, wherein: The number of the first ports is the same as the number of the second ports.
9. A data transmission device, comprising: A plurality of third routing units, wherein the third routing units are configured as: Receiving second data provided via at least one of M second ports of the storage unit, wherein the M second ports are from the same second port group, and M is an integer greater than 1; Providing the second data to at least one of the N fourth routing units, wherein the N fourth routing units are respectively from N different fourth routing unit groups, and N is an integer greater than 1; A plurality of the fourth routing units, wherein the fourth routing unit is configured to provide the received second data to the first port.
10. The device according to claim 9, wherein: The plurality of third routing units are divided into a plurality of third routing unit groups, The third routing unit group corresponds to the second port group, and the third routing unit of the third routing unit group is further configured to receive the second data provided via at least one of a plurality of second ports in the second port group corresponding to the third routing unit group.
11. The device according to claim 9, wherein: The third routing unit includes at least one third routing sub-unit and at least one fourth routing sub-unit, The third routing subunit is configured to: receive the second data provided via at least one of a plurality of different second ports, and provide the received second data to at least one of the fourth routing subunit; The fourth routing subunit is configured to: receive the second data provided via at least one of a plurality of different third routing subunits, and provide the received second data to the fourth routing unit.
12. The device according to claim 11, wherein The third routing unit includes a plurality of second distributors and a plurality of fifth multiplexers, the plurality of second distributors are configured to respectively receive the second data provided via a plurality of different second ports, and the second distributor is further configured to provide the received second data to at least one of the plurality of fifth multiplexers; The plurality of fifth multiplexers are configured to provide the received second data to at least one of the fourth routing subunits; The fourth routing subunit includes a sixth multiplexer configured to receive the second data provided via at least one of a plurality of different third routing subunits, and provide the received second data to the fourth routing unit.
13. The device according to claim 9, wherein: The fourth routing unit group is configured to receive the second data provided by multiple third routing units, wherein the number of third routing units is greater than M, and different fourth routing units of the fourth routing unit group are configured to receive the second data provided by at least one of N different third routing units.
14. The device according to claim 13, wherein: The fourth routing unit group includes M fourth routing units, The mth fourth routing unit of the fourth routing unit group is configured to receive the second data provided by at least one of the mth third routing units of each of the plurality of third routing unit groups, wherein m is an integer greater than or equal to 1 and less than or equal to M.
15. The device according to claim 9, wherein: The fourth routing unit includes a seventh multiplexer and an eighth multiplexer, and a plurality of the seventh multiplexers are configured to respectively receive the second data provided by different third routing units. The seventh multiplexer is further configured to: receive the second data provided via at least one of the plurality of third routing units, and provide the received second data to the eighth multiplexer; The eighth multiplexer is configured to provide the received second data to the first port.
16. The device according to claim 9, wherein: The number of the first ports is the same as the number of the second ports.
17. A chip, comprising: The data transmission device according to any one of claims 1 to 8; as well as A data transmission device as claimed in any one of claims 9 to 16.
18. An electronic device comprising the chip according to claim 17.