Apparatus and method for transmission sequence control, and chip
By adopting a dual-channel transmission scheme and transmission sequence control module in the North Bridge chip, the problem of low read and write transmission sequence control efficiency is solved, and data transmission with high bandwidth and high reliability is achieved.
Patent Information
- Application Number
- CN202411897448.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-20
- Publication Date
- 2025-04-25
AI Technical Summary
The North Bridge chip has inefficient problems in the control of read and write transmission sequence, resulting in unstable data transmission and affecting system reliability and stability.
A two-channel transmission scheme is adopted, and independent transmission channels are set for read data and written data, and the transmission batch number comparison module and the transmission sequence determination module are used to control the transmission order according to the transmission priority to ensure that data with high priority is output first.
Without significantly increasing the internal frequency, high bandwidth data transmission is achieved, system reliability and stability are improved, and accurate data transmission and stable system operation are ensured.
Smart Images

Figure CN119884012A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to the field of chips, and more particularly to an apparatus and method for transmission sequence control in a chip. Background Art
[0002] The Northbridge chip is one of the core components on a computer motherboard, which is responsible for managing data transmission and communication between the CPU, memory, and other system components. The communication speed between the Northbridge chip and the CPU directly affects the operating efficiency of the entire system, so its performance is crucial. In particular, the read and write transmission sequence control of the Northbridge chip is one of the key functions on the computer motherboard to ensure accurate data transmission and stable operation of the system. Accurately controlling the read and write timing of the memory can ensure the accuracy of data during transmission, and also help prevent data loss or corruption, thereby improving the reliability of the system. In addition, stable read and write timing helps reduce the possibility of system errors and crashes, thereby improving the overall stability of the system. By optimizing the read and write timing, the Northbridge chip can ensure that data is transmitted between the CPU, memory, and other components at the fastest speed, thereby improving the overall performance of the system.
[0003] Therefore, a technology is needed to optimize the read and write transmission sequence control of the north bridge chip, so as to improve the reliability and stability of the system while achieving a higher transmission bandwidth. Summary of the invention
[0004] In order to solve the above problems, the present invention provides a transmission sequence control device and method for a chip and a chip including the transmission sequence control device.
[0005] According to one aspect of the present invention, there is provided a transmission sequence control device for controlling the transmission sequence of first type data and second type data, each having an independent transmission channel, wherein the first type data has a higher transmission priority than the second type data. The transmission sequence control device may include a transmission batch number comparison module and a transmission sequence determination module. The transmission batch number comparison module is configured to compare the second transmission batch number of the to-be-output transmission of the second type data to be transmitted by the first node with the first transmission batch number of one or more transmissions of the first type data to be transmitted by the first node, wherein the first transmission batch number set for each transmission of the first type data and the second transmission batch number set for each transmission of the second type data are associated with the transmission priority. The transmission sequence determination module is configured to determine whether to suspend the to-be-output transmission of the second type data to be output to the next node of the first node based on the comparison result from the transmission batch number comparison module.
[0006] According to another aspect of the present invention, a chip is provided. The chip includes at least one transmission node. The at least one transmission node includes the above-mentioned transmission sequence control device.
[0007] According to another aspect of the present invention, a method for transmission sequence control is provided, for controlling the transmission sequence of first type data and second type data, each having an independent transmission channel, wherein the first type data has a higher transmission priority than the second type data. The method may include: comparing the second transmission batch sequence number of the to-be-output transmission of the second type data with the first transmission batch sequence number of one or more transmissions of the first type data, wherein the first transmission batch sequence number set for each transmission of the first type data and the second transmission batch sequence number set for each transmission of the second type data are associated with the transmission priority. The method may also include: determining whether to suspend the output of the to-be-output transmission of the second type data to the next node of the first node based on the comparison result from the transmission batch sequence number comparison module.
[0008] The transmission sequence control device, method and chip according to the embodiments of the present invention can be applied to scenarios where the transmission sequence needs to be controlled when performing various types of data transmission, and can achieve the priority output of data with high data priority. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Hereinafter, by describing the embodiments of the present invention in detail in conjunction with the accompanying drawings, the above and other purposes, features and advantages of the present invention will become clearer. In the accompanying drawings, the same reference numerals represent the same elements from beginning to end. It should be understood that the embodiments described herein are merely illustrative and should not be construed as limiting the scope of the present invention.
[0010] Figure 1 An exemplary transmission architecture of a north bridge chip is shown;
[0011] Figure 2 An exemplary transmission architecture having independent transmission channels for different types of data transmission according to an embodiment of the present invention is shown;
[0012] Figure 3 An exemplary block diagram of a transmission sequence control device according to an embodiment of the present invention is shown;
[0013] Figure 4 A schematic diagram showing the operation of a transmission batch sequence number comparison module in a transmission sequence control device according to an embodiment of the present invention is shown;
[0014] Figure 5 Another operation schematic diagram of the transmission batch sequence number comparison module in the transmission sequence control device according to an embodiment of the present invention is shown;
[0015] Figure 6 A schematic diagram showing the operation of the transmission sequence control device according to an embodiment of the present invention when transmission discard occurs;
[0016] Figure 7 Another operation schematic diagram of the transmission sequence control device according to an embodiment of the present invention when resetting the transmission batch number according to the destination node is shown;
[0017] Figure 8 A flow chart of a transmission sequence control method according to an embodiment of the present invention is shown.
[0018] Those skilled in the art will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. DETAILED DESCRIPTION
[0019] To assist with the details provided above, the following description is provided to enable those skilled in the art to understand, make and use the invention as described herein and expressly claimed herein. Because the specific combination of each feature will produce a large number of practical embodiments in which the present invention can be practiced, and for the purpose of providing a reasonably clear and concise description, only preferred embodiments will be presented herein. However, it should be appreciated that other embodiments not expressly described herein can be practiced by those of ordinary skill in the art in a similar manner. Thus, any assessment of the scope of the present invention should be made with respect to the claims expressly provided herein, and the scope of the present invention should be interpreted in light of its broadest reasonable interpretation considering this description and considering the common knowledge and technical level of the art. Nothing in this description is intended to limit the spirit and scope of the present invention.
[0020] The following will describe a transmission sequence control device, method and corresponding chip for a transmission chip according to an embodiment of the present invention with reference to the accompanying drawings. It should be understood that the embodiments described herein are merely illustrative and should not be construed as limiting the scope of the present invention.
[0021] Figure 1 FIG. 1 shows an exemplary transmission architecture of the north bridge chip 100. Figure 1 As shown, the north bridge chip 100 can be connected to the CPU / DRAM modules 121-124 and the external devices 131-134, so that various types of data can be transmitted between the CPU modules 121-124 and the external devices 131-134 via the north bridge chip 100. For example, the various types of data may include read data or write data. The data transmission of the external devices 131-134 may involve different transmission protocols or transmission formats, so as Figure 1As further shown, the north bridge chip 100 and the external devices 131-134 can also be connected through the interface controller 141-144, and the interface controller 141-144 can convert the data from the external devices into the transmission format adapted to the north bridge chip 100, or convert the data sent to the external devices 131-134 into the transmission format adapted to the external devices 131-134 respectively. The interface controller can be outside or inside the north bridge chip, which is not limited here. In the following description, the "interface controller" can also apply the device or method described in the embodiment of the present invention, and can be alternatively referred to as the "first node".
[0022] like Figure 1 As shown, the north bridge chip 100 includes at least one transmission node (such as Figure 1 110_01, Node 110_02, Node 110_03, Node 110_04, Node 110_41 to Node 110_44, etc.), various types of data transmitted between CPU modules 121-124 and external devices 131-134 flow through at least some of at least one transmission node. As an example, at least one transmission node may include a starting node, a destination node, and an intermediate node. The starting node may refer to a transmission node that directly receives data from the CPU modules 121-124 or the external devices 131-134, and the destination node may refer to a transmission node that directly outputs data to the CPU modules 121-124 or the external devices 131-134. For example, in the case where data transmission is initiated by the external devices 131-134, the starting nodes may include Node 110_15, Node 110_25, Node 110_35, etc., and the destination nodes may include, for example, Node 110_01, Node 110_02, Node 110_03, and Node 110_04, etc. For another example, in the case where data transmission is initiated by the CPU module, the starting nodes may include, for example, Node 110_01, Node 110_02, Node 110_03, and Node 110_04, etc., and the destination nodes may include, for example, Node 110_15, Node 110_25, Node 110_35, etc. The intermediate node refers to a forwarding node between the start node and the destination node that is not directly connected to the CPU modules 121-124 and the external devices 131-134, such as Node 110_11 to Node 110_14, ..., Node 110_41 to Node 110_44.
[0023] Traditionally, only one channel is provided inside the north bridge chip for data transmission, such as the read / write channel is combined in one channel for transmission, so that the control of the transmission order is relatively simple, such as the data can be transmitted in the order in which the data enters, without the need for additional sequence control. However, the setting of this single-channel data transmission limits the data transmission bandwidth that the chip can provide, and cannot meet the increasing chip transmission bandwidth requirements. In this case, if the north bridge chip still uses a single-channel transmission setting, it is necessary to significantly increase its internal frequency. Therefore, the present invention adopts a dual-channel transmission scheme for separately transmitting two different types of data, which can achieve high-bandwidth transmission without significantly increasing the internal frequency.
[0024] Figure 2 An exemplary transmission architecture in which different types of data transmission have independent transmission channels according to an embodiment of the present invention is shown. The following description will mainly take two different types of data, read data and write data, as examples to describe the solution of the present invention, but the present invention is not limited thereto, but can also be applied to other types of data.
[0025] like Figure 2 As shown, the two different types of data, read / write data, are transmitted separately using independent channels. The interface controllers 141-142 connecting the nodes of the north bridge chip and the external devices 131-132 are each provided with two independent channels for read data transmission and write data transmission, such as the read data transmission channel shown by the thin arrow and the write data transmission channel shown by the thick arrow. In addition, the entire transmission process performed via the transmission nodes in the north bridge chip all uses two independent channels for read data transmission and write data transmission, such as the read data transmission channel shown by the thin arrow and the write data transmission channel shown by the thick arrow. Except for the necessary transmission sequence control between channels, the two types of data can be transmitted in their respective channels without interfering with each other, and high-bandwidth transmission can be achieved without significantly increasing the internal frequency.
[0026] As described above, unlike the single-channel solution, in the dual-channel solution, it is necessary to control the transmission order of data transmitted in different channels, so as to ensure that different types of data are transmitted in order according to their priorities. In order to solve this problem, the present invention provides a transmission order control device and method for a chip for controlling the transmission order of various types of data each having an independent transmission channel, and a chip including the transmission order control device.
[0027] Figure 3 FIG. 4 shows an exemplary block diagram of a transmission sequence control device 300 according to an embodiment of the present invention.
[0028] According to one aspect of the present invention, Figure 3As shown, a transmission sequence control device 300 for a first node in a chip is provided. The transmission sequence control device 300 can be used to control the transmission sequence of first type data and second type data, each having an independent transmission channel, wherein the first type data has a higher transmission priority than the second type data. The transmission sequence control device 300 can determine whether to suspend the output of low priority data to be output based on the transmission batch sequence number set for different types of data, so that even when different priority data are transmitted through independent channels, it can be ensured that the high priority data is output first.
[0029] In one embodiment of the present invention, Figure 3 As shown, the transmission sequence control device 300 may include a transmission batch number comparison module 320 and a transmission sequence determination module 330 .
[0030] The transmission batch number comparison module 320 can be configured to compare the second transmission batch number of the to-be-output transmission of the second type of data to be transmitted by the first node with the first transmission batch number of one or more transmissions of the first type of data to be transmitted by the first node, wherein the first transmission batch number set for each transmission of the first type of data and the second transmission batch number set for each transmission of the second type of data are associated with the transmission priority.
[0031] The transmission order determination module 330 may be configured to determine whether to suspend the transmission of the second type of data to be output to the next node of the first node based on the comparison result from the transmission batch sequence number comparison module.
[0032] As used herein, a transmission to be output may be a transmission that the first node expects to push / output to the next node, for example, it may be a transmission stored at the top / front end of each cache queue of the first node. As described above, the transmission sequence control device 300 according to an embodiment of the present disclosure may decide whether to suspend outputting the transmission to be output to control the transmission sequence.
[0033] In an exemplary embodiment, if Figure 3 As shown, the transmission sequence control device 300 may also optionally include a transmission batch setting module 310. The transmission batch setting module 310 may be configured to: set a first transmission batch number for each transmission of the first type of data, and set a second transmission batch number for each transmission of the second type of data, so that the transmission batch number comparison module can compare the batch numbers.
[0034] It is worth noting that the above embodiments are merely exemplary and not restrictive. For example, in other embodiments, the transmission sequence control device 300 of the first node in the chip may not include the transmission batch setting module 310. In one example, when the transmission sequence control device 300 of the first node includes the transmission batch setting module 310, the first transmission batch number of each transmission of the first type of data and the second transmission batch number of each transmission of the second type of data can be set by the transmission batch setting module 310 in the first node before the transmission batch number comparison module 320 compares them. In addition, in another example, the first transmission batch number and the second transmission batch number can also be set by the transmission batch setting module in the upstream node of the first node, and in this case, the transmission sequence control device 300 of the first node may not include the transmission batch setting module 310, or the transmission batch setting module 310 may not reset the first transmission batch number and the second transmission batch number.
[0035] As an exemplary embodiment, the transmission batch setting module 310 may be further configured to set a first transmission batch sequence number for each transmission of the first type of data by the following operation: if one or more transmissions of the second type of data are transmitted at the first node during the last transmission of the first type of data and the current transmission of the first type of data, the first transmission batch sequence number value of the current transmission of the first type of data is increased by the number of the one or more transmissions of the second type of data transmitted compared to the first transmission batch sequence number value of the last transmission. Conversely, if one or more transmissions of the second type of data are not transmitted at the first node during the last transmission of the first type of data and the current transmission of the first type of data, the first transmission batch sequence number value of the current transmission of the first type of data remains unchanged compared to the first transmission batch sequence number value of the last transmission. As an example, the last transmission may refer to a transmission immediately preceding the current transmission and immediately adjacent to the current transmission. As another example, the last transmission may also refer to a previous transmission that is not immediately adjacent to the current transmission, such as a previous transmission that is separated from the current transmission by 2 or more transmissions.
[0036] As an exemplary embodiment, the transmission batch setting module 310 can also be further configured to set a second transmission batch sequence number for each transmission of the second type of data by the following operations: setting the second transmission batch sequence number value of each transmission of the second type of data to increase sequentially in the order in which each transmission is transmitted to the first node.
[0037] As an exemplary embodiment, the transmission batch setting module 310 may set a first transmission batch sequence number and a second transmission batch sequence number for each transmission of the first type of data and each transmission of the second type of data that arrive at the first node simultaneously, respectively.
[0038] Table 1 below shows the setting or generation of the transmission batch number by taking read and write transmission as examples, wherein read data and write data are respectively used as examples of first type data and second type data. The following specifically describes how to set the transmission batch number for data with different transmission priorities in conjunction with Table 1.
[0039] Table 1 Transmission batch number (stamp) generation
[0040]
[0041] In this example, the transmission priority of write data is higher than that of read data. In this case, the transmission control rule is: the transmission of write data can surpass the transmission of read data, and vice versa, the transmission of read data cannot surpass the write data.
[0042] For each read / write operation entering the north bridge chip, its batch information is recorded by assigning its transmission batch number value (i.e., stamp value). Based on the above transmission control rules, for read / write operations entering the same node, when a write operation passes, the value of the current node stamp data of the write operation is assigned, and the value of the stamp data remains unchanged. However, when a read operation passes, the current stamp data value of the read operation is assigned, and the value of the stamp data is incremented.
[0043] Specifically, as exemplified in Table 1 above, the initial value of the stamp data is 0. When a read operation passes, for example, when RA enters, it is assigned a stamp value of 0, and the stamp data value is incremented from 0 to 1. When RB enters, it is assigned a stamp value of 1, and the stamp data value is incremented from 1 to 2. Similarly, when RC enters, it is assigned a stamp value of 2, and the stamp data value is incremented from 2 to 3. When RD enters, it is assigned a stamp value of 3, and the stamp data value is incremented from 3 to 4. When RE enters, it is assigned a stamp value of 4, and the stamp data value is incremented from 4 to 5. Preferably, when a read operation passes, the stamp value of the read operation can be obtained based on the stamp value of the previous read operation immediately adjacent to it. For example, the stamp value of the previous read operation immediately adjacent to it is incremented to obtain the stamp value of the read operation.
[0044] When a write operation passes, for example, when WA enters, its stamp value is assigned to be 0. When WB and WC enter, since RA is entered between WA and WB and WC, the stamp data value increases from 0 to 1, so the stamp value assigned to WB and WC is 1. Similarly, when WD and WE enter, since RB is entered between WD and WE and WB and WC, the stamp data value increases from 1 to 2, so the stamp value assigned to WD and WE is 2, and the stamp data value increases from 2 to 3. Preferably, when a write operation passes, the stamp value of the write operation can be obtained based on the stamp value of the previous write operation immediately adjacent to it. For example, when a read operation occurs between a write operation and an immediately preceding write operation, the stamp value of the immediately preceding write operation may be incremented to obtain the stamp value of the write operation; and if a read operation does not occur between the write operation and the immediately preceding write operation, the stamp value of the immediately preceding write operation may be directly used as the stamp value of the write operation.
[0045] Optionally, when a read operation passes, the stamp value of the read operation can be obtained based on the stamp value of the previous read operation that is not immediately adjacent to it. Similarly, when a write operation passes, the stamp value of the write operation can also be obtained based on the stamp value of the previous write operation that is not immediately adjacent to it. Exemplarily, when WG enters, since RC and RD enter between WG and WD and WE, the stamp data value increases from 2 to 4, and its stamp value 4 is given.
[0046] Through the above-mentioned setting method, the stamp value of the write data in the same batch is less than or equal to the stamp value of the read data. In this way, when the read data is to be pushed to the next node, the stamp value of the read data can be compared with the stamp value of the write data to decide whether to suspend pushing the read data, thereby ensuring that the write data with a higher priority is pushed to the next node first. It should be noted here that when the write data is to be pushed to the next node, since the write data has a higher priority, it is not necessary to decide whether to suspend pushing the write data by comparing the stamp value, but directly transmit it. That is to say, in an embodiment of the present invention, the transmission of the first type of data with a higher priority may not be restricted by the transmission batch number.
[0047] As an exemplary embodiment, the transmission batch number comparison module 320 can also be further configured as follows: when it is determined that each transmission of the first type of data is from the same external device as the transmission to be output of the second type of data, the second transmission batch number of the transmission to be output of the second type of data is compared with the first transmission batch number of the transmission to be output of the first type of data. When it is determined that the partial transmission of the first type of data and the transmission to be output of the second type of data are from different external devices, the second transmission batch number of the transmission to be output of the second type of data is compared with the first transmission batch number of each transmission of the first type of data in the first cache queue of the first node. It should be noted that in this article, since the first type of data and the second type of data are transmitted in their respective transmission channels, even when these two types of data enter the same node, they are in their respective cache queues. For example, each transmission of the first type of data is in the first cache queue, and each transmission of the second type of data is in the second cache queue independent of the first cache queue.
[0048] Figure 4 FIG. 2 shows an operation diagram of a transmission batch number comparison module in a transmission sequence control device according to an embodiment of the present invention. Figure 4 , taking read and write transmission as an example to illustrate the batch comparison operation of the transmission batch sequence number comparison module when the data comes from the same or different external devices.
[0049] like Figure 4 As shown, for the interface controller 410, write data and read data are input from the external device 401. These data are first assigned batch numbers by the transmission batch setting unit (such as Stamp_A unit 411), for example, using the method shown in Table 1, and then enter their respective FIFO cache queues (such as Read FIFO_A unit 412 and Write FIFO_A unit 413) to wait for being pushed to the next node 430. The FIFO cache queue can be divided into multiple layers, and the data is pushed from the lower layer to the upper layer in the order of first-in-first-out. The top layer data is the output data currently expected to be pushed to the next node. Since the above-mentioned write data and read data are all from the same external device 401, when the transmission batch number comparison module (such as Order_chk_A unit 414) performs batch comparison, it only needs to compare the stamp value of the top layer read data transmission currently expected to be pushed in the Read FIFO_A unit with the top layer write data transmission currently expected to be pushed in the Write FIFO_A, so as to complete the transmission order judgment of data of different priorities.
[0050] Similarly, for the interface controller 420, write data and read data are input from the external device 402. These data are first assigned batch numbers by the transmission batch setting unit (such as Stamp_B unit 421), for example, using the method shown in Table 1, and then enter their respective cache queues (such as Read FIFO_B unit 422 and Write FIFO_B unit 423) to wait for being pushed to the next node 430. Similarly, since the above-mentioned write data and read data are from the same external device 402, when the transmission batch number comparison module (such as Order_chk_B unit 424) performs batch comparison, it only needs to compare the stamp value of the top-level read data transmission currently expected to be pushed in the Read FIFO_B unit with the top-level write data transmission currently expected to be pushed in the Write FIFO_B, so as to complete the transmission order judgment of data of different priorities.
[0051] Differently, for the next node 430, write data and read data are transmitted from the external device 401 via the interface controller 410, and write data and read data are transmitted from the external device 402 via the interface controller 420. It can be seen that the read and write data entering the cache queue (such as the Read FIFO unit 431 and the Write FIFO unit 432) waiting to be pushed to the next node come from two different external devices 131 and 132. At this time, for the top-level read data transmission currently expected to be pushed in the Read FIFO unit 431, it is necessary to compare with the stamp of the multi-layer write data transmission expected to be pushed in the Write FIFO unit 432, so as to complete the transmission order judgment of data of different priorities.
[0052] As an exemplary embodiment, the transmission batch number comparison module 320 may be further configured to: when the transmission channel of the first type of data and the transmission channel of the second type of data in the first node are synchronous in timing, compare the second transmission batch number of the to-be-output transmission of the second type of data with the first transmission batch number of the to-be-output transmission of the first type of data. When the transmission channel of the first type of data and the transmission channel of the second type of data in the first node are not synchronous in timing, compare the second transmission batch number of the to-be-output transmission of the second type of data with the first transmission batch number of each transmission of the first type of data in the first cache queue of the first node.
[0053] Figure 5 Another operation schematic diagram of the transmission batch number comparison module in the transmission sequence control device according to an embodiment of the present invention is shown. Figure 5 , taking read and write transmission as an example to illustrate the batch comparison operation performed by the transmission batch number comparison module when the clock cycles of transmission channels of different types of data are synchronized.
[0054] After being assigned a stamp value by the Stamp_1st unit 511 , the write data transmission and the read data transmission enter respective FIFO cache queues, such as the Read FIFO unit 512 and the Write FIFO unit 513 .
[0055] like Figure 5 As shown below, at this time, the timing of the write transmission channel and the read transmission channel are synchronized, that is, the same clock cycle is separated between the front and rear layers of the ReadFIFO unit 512 and the Write FIFO unit 513. At this time, when the Order_chk_1st unit 514, which is a transmission batch number comparison module, performs batch comparison, it only needs to compare the stamp value of the top-level transmission currently expected to be pushed by the Read FIFO unit 512 with the top-level transmission currently expected to be pushed by the Write FIFO unit 513 to complete the transmission order judgment of different priority data.
[0056] like Figure 5 As shown above, at this time, the timing of the write transmission channel and the read transmission channel are not synchronized. For example, the front and rear layers of the ReadFIFO unit 512' are separated by one clock cycle, while the front and rear layers of the Write FIFO unit 513' are separated by multiple clock cycles. At this time, when the Order_chk_2nd unit 515, which is a transmission batch number comparison module, performs batch comparison, it is necessary to compare the stamp value of the top-level transmission currently expected to be pushed by the Read FIFO unit 512' with each layer of transmission in the Write FIFO unit 513', so as to complete the transmission order judgment of data of different priorities.
[0057] As an exemplary embodiment, the first transmission batch sequence number and the second transmission batch sequence number are set by an upstream node of the first node, and a transmission discard operation is performed at an upstream node of the first node. At this time, the transmission sequence control device 300 also includes a transmission batch setting module 310, and the transmission batch setting module 310 is configured to: reset a new first transmission batch sequence number for each transmission of the first type of data, and reset a new second transmission batch sequence number for each transmission of the second type of data.
[0058] Figure 6 FIG. 2 shows a schematic diagram of the operation of the transmission sequence control device according to an embodiment of the present invention when transmission loss occurs. Figure 6 , taking read and write transmission as an example, the operation of the transmission batch setting module and the transmission batch sequence number comparison module when transmission discard occurs.
[0059] like Figure 6As shown, for node 610, write data and read data are input from the external device 601. These data are first assigned batch numbers by the transmission batch setting unit (such as Stamp_1st unit 611), for example, using the method shown in Table 1, and then enter their respective cache queues (such as Read FIFO unit 612 and Write FIFO unit 613) and are pushed to the next node 620 in sequence based on the stamp value comparison results.
[0060] When the read / write data is transmitted from node 610 to node 620, a transmission discard operation is performed due to reasons such as being judged as illegal transmission. At this time, the original transmission batch order is disrupted, so it is necessary to recalculate and assign a new stamp value for each transmission of write data and read data in the transmission batch setting module (such as Stamp_2nd unit 621) at node 620. After the new stamp value is set, these read and write transmissions enter their respective cache queues, such as ReadFIFO unit 622 and Write FIFO unit 623. Afterwards, based on the comparison result obtained by the new stamp value, various types of data are controlled to be pushed to the downstream nodes in order.
[0061] As an exemplary embodiment, the first transmission batch sequence number and the second transmission batch sequence number are set by the upstream node of the first node without determining the destination node of each transmission, and the destination node of each transmission has been determined at the first node. At this time, the transmission sequence control device 300 also includes a transmission batch setting module 310, and the transmission batch setting module 310 is configured to: reset a new first transmission batch sequence number for each transmission of the first type of data, and reset a new second transmission batch sequence number for each transmission of the second type of data, wherein each transmission of the first type of data and each transmission of the second type of data having the same starting node and the same destination node are divided into the same group, and the new first transmission batch sequence number and the new second transmission batch sequence number are reset for each group.
[0062] Figure 7 Another operation diagram of the transmission sequence control device according to an embodiment of the present invention when resetting the transmission batch number according to the destination node is shown. Figure 7 , taking read and write transmission as an example, the operation of the transmission batch setting module and the transmission batch sequence number comparison module in the transmission sequence control device after the destination node changes from uncertain to certain.
[0063] Generally, transmissions with the same starting node and destination node (and, optionally, from or to the same external device) will follow the same transmission path, and accordingly, only the transmission order between transmissions with the same starting node and destination node (and, optionally, corresponding to the same external device) needs to be controlled. Therefore, stamp values can be set separately for transmissions with the same starting node and destination node (and, optionally, corresponding to the same external device), so that stamp value comparison and transmission order control can be performed between these transmissions.
[0064] However, if Figure 7 As shown, when data transmission reaches a certain node, conditions such as the source or destination of the data may not be determined yet, but can only be determined in a subsequent node. In this case, the stamp value can be recalculated and assigned at the subsequent node.
[0065] refer to Figure 7 Taking the data transmission initiated by the CPU as an example, when entering the north bridge chip, the destination to be accessed cannot be determined. That is to say, each transmission at this time only has a starting node but no destination node. For the write transmission and read transmission entering the north bridge chip node 710, the stamp value can be calculated and assigned by the stamp_1st unit 711 as a transmission batch setting module without considering the destination and the corresponding external device, and then enter the respective cache queues Read FIFO unit 712 and Write FIFO unit 713, and the order_chk_1st unit 714 as a transmission batch sequence number comparison module performs stamp value comparison to determine the transmission order pushed to the next node.
[0066] After the write transmission and the read transmission enter the next node 720 through the address decoding unit, their destination node and its corresponding external device become known. Since there is no priority relationship between different types of data between different external devices, these transmissions can be grouped according to different destinations at this time, and then the stamp_2nd unit 721, which is a transmission batch setting module, recalculates multiple groups of stamp values for each transmission group independently and assigns them to each corresponding transmission group. Then, the write transmission and the read transmission enter their respective cache queues Read FIFO unit 722 and WriteFIFO unit 723, and then the order_chk_2nd unit 724, which is a transmission batch sequence number comparison module, performs stamp value comparison to determine the transmission order pushed to the next node. In this way, the subsequent transmission batch sequence number comparison and transmission order determination can be performed only within each group, so that the transmission efficiency order can be controlled more simply and accurately to obtain higher transmission efficiency.
[0067] As an exemplary embodiment, each transmission of the first type of data and each transmission of the second type of data is also provided with a starting node identifier and a destination node identifier, and wherein the transmission batch number comparison module 320 is configured to compare the second transmission batch number of the to-be-output transmission of the second type of data with the first transmission batch number of one or more transmissions of the first type of data having the same starting node identifier and destination node identifier.
[0068] As an exemplary embodiment, the transmission order determination module 330 can also be further configured to: in response to the second transmission batch number being the same as the first transmission batch number, suspend each transmission of the second type of data to the next node; in response to the second transmission batch number being different from the first transmission batch number, transmit each transmission of the second type of data to the next node.
[0069] As an exemplary embodiment, the first type data may refer to write data, and the second type data may refer to read data.
[0070] However, it should be understood by those skilled in the art that the apparatus and method of the present invention are described and illustrated herein using read / write operations as examples, but this is merely exemplary and not restrictive. For example, the first type of data herein is not limited to read data, and the second type of data is not limited to write data. In addition, the embodiments herein describe that the priority of write data transmission is higher than that of read data transmission, which is also merely exemplary and not restrictive. For example, the priority of read data transmission can also be higher than the priority of write data transmission.
[0071] According to another aspect of the present invention, a chip (such as Figure 1 The chip 100 shown in the figure comprises at least one transmission node, and the transmission sequence control device 300 is included in at least one transmission node. Figures 3 to 7 The transmission sequence control device 300 included in the chip 100 has been described in detail, but will not be described again for the sake of brevity.
[0072] Figure 8 An exemplary flow chart of a transmission order control method 800 according to an embodiment of the present invention is shown.
[0073] According to another aspect of the present invention, Figure 8As shown, a transmission sequence control method 800 is provided. The transmission sequence control method 800 can be used to control the transmission sequence of first type data and second type data, each having an independent transmission channel, wherein the first type data has a higher transmission priority than the second type data. The transmission sequence control method 800 can determine whether to suspend the output of low priority data to be output based on the transmission batch sequence number for different types of data, so that even when different priority data are transmitted through independent channels, it can be ensured that high priority data is output first.
[0074] In one embodiment of the present invention, Figure 8 As shown, the method 800 may start with a transmission batch sequence number comparison step S810. In step S810, a second transmission batch sequence number of a to-be-output transmission of the second type of data to be transmitted by the first node is compared with a first transmission batch sequence number of one or more transmissions of the first type of data to be transmitted by the first node, wherein the first transmission batch sequence number set for each transmission of the first type of data and the second transmission batch sequence number set for each transmission of the second type of data are associated with a transmission priority.
[0075] Afterwards, in the transmission sequence determination step S820, based on the comparison result of the second transmission batch sequence number with the first transmission batch sequence number, it is determined whether to suspend the transmission of the second type of data to be output to the next node of the first node.
[0076] In an exemplary embodiment, before step S810, a transmission batch number setting step S801 may be performed to set a first transmission batch number for each transmission of the first type of data and a second transmission batch number for each transmission of the second type of data.
[0077] As an exemplary embodiment, step S801 may further include: when setting the first transmission batch sequence number for each transmission of the first type of data, if one or more transmissions of the second type of data are transmitted at the first node during the period between the last transmission of the first type of data and the current transmission of the first type of data, then the first transmission batch sequence number value of the current transmission of the first type of data is increased by the number of the one or more transmissions of the second type of data transmitted compared to the first transmission batch sequence number value of the last transmission. Conversely, if one or more transmissions of the second type of data are not transmitted at the first node during the period between the last transmission of the first type of data and the current transmission of the first type of data, then the first transmission batch sequence number value of the current transmission of the first type of data remains unchanged compared to the first transmission batch sequence number value of the last transmission.
[0078] As an exemplary embodiment, step S801 may further include: when setting the second transmission batch number for each transmission of the second type of data, setting the second transmission batch number value of each transmission of the second type of data to be incremented in the order in which each transmission is transmitted to the first node.
[0079] For details on setting or generating the transmission batch number, please refer to the description in conjunction with Table 1 in the above device embodiment. For the sake of brevity, it will not be repeated here.
[0080] As an exemplary embodiment, step S810 may also include: when the first type of data and the second type of data come from the same external device, comparing the second transmission batch number of the second type of data to be output and the first transmission batch number of the first type of data to be output. When the first type of data and the second type of data come from different external devices, comparing the second transmission batch number of the second type of data to be output and the first transmission batch number of each transmission of the first type of data in the first cache queue of the first node. It should be noted that in this article, since the first type of data and the second type of data are transmitted in their respective transmission channels, even when these two types of data enter the same node, they are in their respective cache queues. For example, each transmission of the first type of data is in the first cache queue, and each transmission of the second type of data is in the second cache queue independent of the first cache queue.
[0081] For details on comparing the transmission batch numbers when the data sources are the same or different, see the above device embodiment in conjunction with Figure 4 For the sake of brevity, the description is not repeated here.
[0082] As an exemplary embodiment, step S810 may also include: when the transmission channel of the first type of data and the transmission channel of the second type of data in the first node are synchronous in timing, comparing the second transmission batch sequence number of the to-be-output transmission of the second type of data with the first transmission batch sequence number of the to-be-output transmission of the first type of data. When the transmission channel of the first type of data and the transmission channel of the second type of data in the first node are not synchronous in timing, comparing the second transmission batch sequence number of the to-be-output transmission of the second type of data with the first transmission batch sequence number of each transmission of the first type of data in the first cache queue of the first node.
[0083] For details on comparing the transmission batch numbers when different data timings are synchronous or asynchronous, please refer to the above device embodiment in conjunction with Figure 5 For the sake of brevity, the description is not repeated here.
[0084] As an exemplary embodiment, the first transmission batch sequence number and the second transmission batch sequence number are set by an upstream node of the first node, and a transmission discard operation is performed at an upstream node of the first node. At this time, step S810 may also include: resetting a new first transmission batch sequence number for each transmission of the first type of data, and resetting a new second transmission batch sequence number for each transmission of the second type of data.
[0085] For details on the setting of the transmission batch number when the judgment condition changes (such as whether the destination node is determined), please refer to the above device embodiment in conjunction with Figure 7 For the sake of brevity, the description is not repeated here.
[0086] As an exemplary embodiment, each transmission of the first type of data and each transmission of the second type of data is also provided with a starting node identifier and a destination node identifier. At this time, step S810 may also include: comparing the second transmission batch sequence number of the to-be-output transmission of the second type of data with the first transmission batch sequence number of one or more transmissions of the first type of data having the same starting node identifier and destination node identifier.
[0087] For details on the setting of the transmission batch number when a discard operation occurs, see the above device embodiment in conjunction with Figure 7 For the sake of brevity, the description is not repeated here.
[0088] As an exemplary embodiment, step S820 may also include: in response to the second transmission batch number being the same as the first transmission batch number, pausing each transmission of the second type data to the next node; in response to the second transmission batch number being different from the first transmission batch number, transmitting each transmission of the second type data to the next node.
[0089] As an exemplary embodiment, the first type data in the method 800 may refer to write data, and the second type data may refer to read data.
[0090] However, it should be understood by those skilled in the art that the apparatus and method of the present invention are described and illustrated herein using read / write operations as examples, but this is merely exemplary and not restrictive. For example, the first type of data herein is not limited to read data, and the second type of data is not limited to write data. In addition, it is described herein that the priority of write data transmission is higher than that of read data transmission, which is also merely exemplary and not restrictive. For example, the priority of read data transmission may also be higher than the priority of write data transmission.
[0091] The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects. Therefore, the claims are not intended to be limited to the aspects shown herein, but should be given a full scope consistent with the language of the claims, wherein reference to an element in the singular is not intended to mean "one and only one" (unless explicitly stated), but "one or more". Unless otherwise explicitly stated, the term "some" refers to one or more. All structural and functional equivalents of the elements of the various aspects described throughout the present invention that are known or will be known to those of ordinary skill in the art are expressly incorporated herein by reference, and are intended to be covered by the claims.
[0092] The various operations of the above methods may be performed by any suitable component capable of performing the corresponding functions. The component may include (one or more) various hardware and / or software components and / or modules, including but not limited to circuits, application specific integrated circuits (ASICs), or processors. Generally, where operations are illustrated in the accompanying drawings, those operations may have corresponding equivalent means plus function components with similar labels.
[0093] The various illustrative logical blocks, modules, and circuits described in conjunction with the present invention may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device (PLD), discrete gate or transistor logic, discrete hardware components, or any combination thereof, designed to perform the functions described herein. A general purpose processor may be a microprocessor, but alternatively, the processor may be any commercially available processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
[0094] If implemented in hardware, an example hardware configuration may include a processing system. The processing system may be implemented using a bus architecture. The bus may include any number of interconnecting buses and bridges, depending on the specific application and overall design constraints of the processing system. The bus may link together various circuits including a processor, a computer-readable storage medium, and a bus interface. The bus may also link various other circuits, such as timing sources, peripherals, voltage regulators, power management circuits, etc., which are known in the art and will not be described in detail. The processor may be implemented using one or more general and / or special purpose processors. Examples include microprocessors, microcontrollers, DSP processors, and other circuits that can execute software. Those skilled in the art will recognize how to best implement the described functionality for the processing system depending on the specific application and the overall design constraints imposed on the entire system.
[0095] If implemented in software, the functions may be stored or sent to a computer-readable storage medium as one or more instructions or codes. Software should be broadly interpreted as referring to instructions, data, or any combination thereof, whether referred to as software, firmware, middleware, microcode, hardware description language, or other. The processor may be responsible for managing the bus and routine processing, including executing software modules stored on a machine-readable storage medium. A computer-readable storage medium may be coupled to a processor so that the processor can read information from the storage medium and can write information to the storage medium. Alternatively, the storage medium may be integrated with the processor. For example, a computer-readable storage medium or any part thereof may be integrated into a processor, such as a case where a cache and / or a general register file may be provided. Examples of machine-readable storage media may include, for example, RAM (random access memory), flash memory, ROM (read-only memory), PROM (programmable read-only memory), EPROM (erasable programmable read-only memory), EEPROM (electrically erasable programmable read-only memory), registers, disks, optical disks, hard drives, or any other suitable storage medium, or any combination thereof. A computer-readable storage medium may be embodied in a computer program product.
[0096] A software module may include a single instruction or multiple instructions and may be distributed across several different code segments, between different programs, and across multiple storage media. A computer-readable storage medium may include multiple software modules. A software module includes instructions that, when executed by a device such as a processor, cause a processing system to perform various functions. A software module may include a sending module and a receiving module. Each software module may reside in a single storage device or may be distributed across multiple storage devices. For example, when a triggering event occurs, a software module may be loaded from a hard drive into a RAM. During the execution of a software module, a processor may load some instructions into a cache to increase access speed. One or more cache lines may then be loaded into a general register file for execution by the processor. When referring to the functions of the following software modules, it will be understood that such functions are implemented by the processor when instructions are executed from the software module.
[0097] In addition, any connection is properly referred to as a computer-readable storage medium. For example, if the software is transmitted from a website, server or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared (IR), radio and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio and microwave are included in the definition of medium. Disk and disc, as used herein, include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc. Optical disks, where magnetic disks typically reproduce data magnetically, and optical disks reproduce data with lasers. Thus, in some aspects, a computer-readable storage medium may include a non-transitory computer-readable storage medium (e.g., a tangible medium). Additionally, for other aspects, a computer-readable storage medium may include a transitory computer-readable storage medium (e.g., a signal). Combinations of the above should also be included within the scope of computer-readable storage media.
[0098] Thus, some aspects may include a computer program product for performing the operations presented herein. For example, such a computer program product may include a computer-readable storage medium having instructions stored (and / or encoded) thereon, which may be executed by one or more processors to perform the operations described herein.
[0099] Further, it should be understood that, if applicable, the modules and / or other appropriate components for performing the transmission sequence control methods and techniques described herein can be downloaded and / or otherwise obtained by a computer. For example, such a device can be coupled to a server to facilitate the transfer of components for performing the methods described herein. Alternatively, the various methods described herein can be provided via a storage component (e.g., RAM, ROM, a physical storage medium such as a compact disc (CD) or a floppy disk, etc.). In addition, any other suitable technology for providing the methods and techniques described herein to a device can be utilized.
[0100] It is to be understood that the claims are not limited to the precise configuration and components shown above. Various modifications, changes and variations may be made in the arrangement, operation and details of the methods and apparatus described above without departing from the scope of the claims.
Claims
1. A transmission sequence control device for a first node in a chip, used to control the transmission sequence of first type data and second type data, each having an independent transmission channel, wherein: The first type of data has a higher transmission priority than the second type of data, and the transmission sequence control device includes: a transmission batch sequence number comparison module configured to compare a second transmission batch sequence number of a to-be-output transmission of the second type of data with a first transmission batch sequence number of one or more transmissions of the first type of data, wherein the first transmission batch sequence number set for each transmission of the first type of data and the second transmission batch sequence number set for each transmission of the second type of data are associated with the transmission priority; and A transmission sequence determination module is configured to determine whether to suspend the transmission of the second type of data to be output to a node next to the first node based on the comparison result from the transmission batch sequence number comparison module.
2. The transmission sequence control device according to claim 1 further includes a transmission batch setting module, which is configured to: set the first transmission batch number for each transmission of the first type of data, and set the second transmission batch number for each transmission of the second type of data, for comparison by the transmission batch number comparison module.
3. The transmission sequence control device according to claim 2, wherein: The transmission batch setting module is configured to set the first transmission batch sequence number for each transmission of the first type of data by the following operations: If one or more transmissions of the second type of data are input at the first node during a period between a previous transmission of the first type of data and a current transmission of the first type of data, increase the first transmission batch sequence number value of the current transmission of the first type of data by the number of the one or more input transmissions of the second type of data compared to the first transmission batch sequence number value of the previous transmission; If one or more transmissions of the second type of data are not received at the first node between the last transmission of the first type of data and the current transmission of the first type of data, the first transmission batch sequence number value of the current transmission of the first type of data remains unchanged compared to the first transmission batch sequence number value of the last transmission.
4. The transmission sequence control device according to claim 2 or 3, wherein: The transmission batch setting module is configured to set the second transmission batch sequence number for each transmission of the second type of data by the following operations: The second transmission batch sequence number value of each transmission of the second type of data is set to increase sequentially according to the order in which each transmission is transmitted to the first node.
5. The transmission sequence control device according to claim 1, wherein: The transmission batch sequence number comparison module is further configured to: When it is determined that each transmission of the first type of data is from the same external device as the to-be-output transmission of the second type of data, comparing the second transmission batch sequence number of the to-be-output transmission of the second type of data with the first transmission batch sequence number of the to-be-output transmission of the first type of data; as well as When it is determined that the partial transmission of the first type of data and the to-be-output transmission of the second type of data come from different external devices, the second transmission batch sequence number of the to-be-output transmission of the second type of data is compared with the first transmission batch sequence number of each transmission of the first type of data in the first cache queue of the first node.
6. The transmission sequence control device according to claim 1, wherein: The transmission batch sequence number comparison module is further configured to: When the transmission channel of the first type of data and the transmission channel of the second type of data in the first node are time-synchronized, comparing the second transmission batch sequence number of the second type of data to be output and the first transmission batch sequence number of the first type of data to be output and transmitted; as well as When the transmission channel of the first type of data in the first node and the transmission channel of the second type of data are not synchronized in timing, the second transmission batch number of the second type of data to be output is compared with the first transmission batch number of each transmission of the first type of data in the first cache queue of the first node.
7. The transmission sequence control device according to claim 1, wherein: The first transmission batch sequence number and the second transmission batch sequence number are set by an upstream node of the first node, and a transmission discard operation is performed at an upstream node of the first node, The transmission sequence control device further includes a transmission batch setting module, which is configured to reset a new first transmission batch number for each transmission of the first type of data, and reset a new second transmission batch number for each transmission of the second type of data.
8. The transmission sequence control device according to claim 1, wherein: The first transmission batch sequence number and the second transmission batch sequence number are set by an upstream node of the first node without determining a destination node for each transmission, and the destination node for each transmission has been determined at the first node, Wherein, the transmission sequence control device further includes a transmission batch setting module, which is configured as follows: A new first transmission batch number is reset for each transmission of the first type of data, and a new second transmission batch number is reset for each transmission of the second type of data, wherein: Each transmission of the first type of data and each transmission of the second type of data having the same start node and the same destination node are grouped into the same group, and the new first transmission batch number and the new second transmission batch number are reset for each group.
9. The transmission sequence control device according to claim 1, wherein: Each transmission of the first type of data and each transmission of the second type of data is also provided with a start node identifier and a destination node identifier, and The transmission batch number comparison module is configured to compare the second transmission batch number of the to-be-output transmission of the second type of data with the first transmission batch number of one or more transmissions of the first type of data having the same starting node identifier and destination node identifier.
10. The transmission sequence control device according to any one of claims 1 to 3 and 5 to 9, wherein: The transmission order determination module is further configured to: In response to the second transmission batch number determined by the transmission batch number comparison module to be the same as the first transmission batch number, suspending the to-be-output transmission of the second type of data to the next node; and In response to the second transmission batch number determined by the transmission batch number comparison module being different from the first transmission batch number, outputting the to-be-output transmission of the second type of data to the next node.
11. The transmission sequence control device according to any one of claims 1 to 3 and 5 to 9, wherein: The first type data is write data, and the second type data is read data.
12. A chip, comprising at least one transmission node, wherein the at least one transmission node comprises the transmission sequence control device according to any one of claims 1-11.
13. A transmission sequence control method executed by a first node in a chip, for controlling the transmission sequence of first type data and second type data, each having an independent transmission channel, wherein: The first type of data has a higher transmission priority than the second type of data, and the method includes: comparing a second transmission batch sequence number of a to-be-output transmission of the second type of data with a first transmission batch sequence number of one or more transmissions of the first type of data, wherein the first transmission batch sequence number set for each transmission of the first type of data and the second transmission batch sequence number set for each transmission of the second type of data are associated with the transmission priority; and Based on the comparison result from the transmission batch sequence number comparison module, it is determined whether to suspend the transmission of the second type of data to be output to the next node of the first node.
14. The transmission sequence control method according to claim 13, further comprising setting the first transmission batch number for each transmission of the first type of data: If one or more transmissions of the second type of data are input at the first node during a period between a previous transmission of the first type of data and a current transmission of the first type of data, increase the first transmission batch sequence number value of the current transmission of the first type of data by the number of the one or more input transmissions of the second type of data compared to the first transmission batch sequence number value of the previous transmission; If one or more transmissions of the second type of data are not received at the first node between the last transmission of the first type of data and the current transmission of the first type of data, the first transmission batch sequence number value of the current transmission of the first type of data remains unchanged compared to the first transmission batch sequence number value of the last transmission.
15. The transmission sequence control method according to claim 13 or 14, further comprising setting the second transmission batch number for each transmission of the second type of data: The second transmission batch sequence number value of each transmission of the second type of data is set to increase sequentially according to the order in which each transmission is transmitted to the first node.
16. The transmission sequence control method according to claim 13, wherein: Comparing the first transmission batch sequence number with the second transmission batch sequence number includes: When it is determined that each transmission of the first type of data is from the same external device as the pending output transmission of the second type of data, comparing the second transmission batch sequence number of the pending output transmission of the second type of data with the first transmission batch sequence number of the pending output transmission of the first type of data; and When it is determined that the partial transmission of the first type of data and the to-be-output transmission of the second type of data come from different external devices, the second transmission batch sequence number of the to-be-output transmission of the second type of data is compared with the first transmission batch sequence number of each transmission of the first type of data in the first cache queue of the first node.
17. The transmission sequence control method according to claim 13, wherein: Comparing the first transmission batch sequence number with the second transmission batch sequence number includes: When the transmission channel of the first type of data and the transmission channel of the second type of data in the first node are time-synchronized, comparing the second transmission batch sequence number of the second type of data to be output and the first transmission batch sequence number of the first type of data to be output; and When the transmission channel of the first type of data in the first node and the transmission channel of the second type of data are not synchronized in timing, the second transmission batch number of the second type of data to be output is compared with the first transmission batch number of each transmission of the first type of data in the first cache queue of the first node.
18. The transmission sequence control method according to claim 13, wherein: The first transmission batch sequence number and the second transmission batch sequence number are set by an upstream node of the first node, and a transmission discard operation is performed at an upstream node of the first node, The transmission sequence control device further includes a transmission batch setting module, which is configured to reset a new first transmission batch number for each transmission of the first type of data, and reset a new second transmission batch number for each transmission of the second type of data.
19. The transmission sequence control method according to claim 13, wherein: The first transmission batch sequence number and the second transmission batch sequence number are set by an upstream node of the first node without determining a destination node for each transmission, and the destination node for each transmission has been determined at the first node, Wherein, the transmission sequence control device further includes a transmission batch setting module, which is configured as follows: A new first transmission batch number is reset for each transmission of the first type of data, and a new second transmission batch number is reset for each transmission of the second type of data, wherein: Each transmission of the first type of data and each transmission of the second type of data having the same start node and the same destination node are grouped into the same group, and the new first transmission batch number and the new second transmission batch number are reset for each group.
20. The transmission sequence control method according to claim 13, wherein: Each transmission of the first type of data and each transmission of the second type of data is also provided with a start node identifier and a destination node identifier, and The transmission batch number comparison module is configured to compare the second transmission batch number of the to-be-output transmission of the second type of data with the first transmission batch number of one or more transmissions of the first type of data having the same starting node identifier and destination node identifier.
21. The transmission sequence control method according to claims 13-14 and 16-20, wherein: Determining whether to suspend outputting the second type of data to be output to a node next to the first node includes: In response to the second transmission batch number determined by the transmission batch number comparison module to be the same as the first transmission batch number, suspending the transmission of the second type of data to be output to the next node; and In response to the second transmission batch number determined by the transmission batch number comparison module being different from the first transmission batch number, outputting the to-be-output transmission of the second type of data to the next node.
22. The transmission sequence control method according to claims 13-14 and 16-20, wherein: The first type data is write data, and the second type data is read data.
Citation Information
Patent Citations
NO131134B