Transmitting instruction processing method and device, electronic equipment and storage medium

By searching and storing target free table entries of multiple transmit instructions in parallel, the problem of low transmission instruction processing efficiency in the prior art is solved, and more efficient transmission instruction processing is achieved.

CN119536814APending Publication Date: 2025-02-28MORNINGCORE HLDG CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311107993.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-08-30
Publication Date
2025-02-28

AI Technical Summary

Technical Problem

When receiving multiple transmit instructions, existing transmit command processing methods can only find matching transmit queues and free table entries in sequence through serial means, resulting in low processing efficiency.

Method used

By obtaining multiple transmission instructions, determine the target transmission queue matching each transmission instruction, and according to the entry search strategy of each transmission instruction in the matching target transmission queue, the target free table entries are searched in parallel for each transmission instruction, and store them in the matching target free table entries.

Benefits of technology

The parallel processing of multiple transmit instructions is realized, the processing efficiency of transmit instructions is improved, and the time cost of search operations is reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119536814A_ABST
    Figure CN119536814A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a transmitting instruction processing method and device, electronic equipment and a storage medium, and the method comprises the steps: obtaining a plurality of transmitting instructions, and determining a target transmitting queue matched with each transmitting instruction; determining a table item searching strategy of each transmitting instruction in a matched target transmitting queue; according to table item searching strategies of the transmitting instructions in the matched target transmitting queues, target idle table items of the transmitting instructions are searched in parallel in the matched target transmitting queues at the same time; and storing each transmitting instruction into a matched target idle table item. According to the technical scheme of the embodiment of the invention, a plurality of transmitting instructions can be processed in parallel at the same time, and the processing efficiency of the transmitting instructions is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present invention relate to the field of computer technology, and in particular to a method, device, electronic device and storage medium for processing a transmission instruction. Background Art

[0002] In a superscalar pipeline, an issue queue is provided, and the issue queue has a plurality of table entries for receiving issue instructions.

[0003] At present, when receiving multiple emission instructions, the existing emission instruction processing method can only sequentially search for matching emission queues and free table entries in a serial manner, and store each emission instruction in a matching free table entry. That is, when there are multiple valid emission instructions, each emission instruction can only be searched and matched for a free table entry in sequence, and only one emission instruction can be processed at a time.

[0004] In the process of implementing the present invention, the inventors found that the existing emission instruction processing method has the problem that multiple emission instructions cannot realize parallel search for matching emission queues and free table entries, that is, when receiving multiple emission instructions, it is only possible to search for matching emission queues and free table entries in sequence in series, which increases the time cost of emission instruction processing and reduces the efficiency of emission instruction processing. Summary of the invention

[0005] The embodiments of the present invention provide a method, device, electronic device and storage medium for processing a transmission instruction, which can process multiple transmission instructions in parallel at the same time, thereby improving the processing efficiency of the transmission instructions.

[0006] According to one aspect of the present invention, there is provided a method for processing a transmission instruction, comprising:

[0007] Acquire multiple emission instructions, and determine a target emission queue that matches each of the emission instructions;

[0008] Determine an entry search strategy for each of the transmit instructions in a matching target transmit queue;

[0009] According to the table entry search strategy of each of the emission instructions in the matching target emission queue, simultaneously and in parallel, search for a target free table entry in the matching target emission queue for each of the emission instructions;

[0010] Each of the issued instructions is stored in a matching target free table entry.

[0011] According to another aspect of the present invention, there is provided a transmission instruction processing device, comprising:

[0012] A target transmission queue determination module is used to obtain multiple transmission instructions and determine the target transmission queue that matches each of the transmission instructions;

[0013] An entry search strategy determination module, used to determine an entry search strategy for each of the transmit instructions in a matching target transmit queue;

[0014] A target free entry search module, used to search for a target free entry in the matching target transmission queue for each of the transmission instructions in parallel according to the entry search strategy in the matching target transmission queue for each of the transmission instructions;

[0015] The transmit instruction storage module is used to store each of the transmit instructions into a matching target free table entry.

[0016] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:

[0017] at least one processor; and

[0018] a memory communicatively connected to the at least one processor; wherein,

[0019] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the emission instruction processing method described in any embodiment of the present invention.

[0020] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the emission instruction processing method described in any embodiment of the present invention when executed.

[0021] The technical solution of the embodiment of the present invention first obtains multiple emission instructions and determines the target emission queue that matches each emission instruction, then determines the table entry search strategy for each emission instruction in the matching target emission queue, and according to the table entry search strategy for each emission instruction in the matching target emission queue, simultaneously searches for the target free table entry in parallel for each emission instruction in the matching target emission queue, and stores each emission instruction in the matching target free table entry, thereby solving the problem that the existing emission instruction processing method can only process each emission instruction serially in sequence, resulting in low processing efficiency, and can process multiple emission instructions in parallel at the same time, thereby improving the processing efficiency of emission instructions.

[0022] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0024] Figure 1 is a flow chart of a method for processing a transmission instruction provided by Embodiment 1 of the present invention;

[0025] Figure 2 is a flow chart of a method for processing a transmission instruction provided by Embodiment 2 of the present invention;

[0026] Figure 3 is a schematic diagram of a target transmission queue query method provided by Embodiment 2 of the present invention;

[0027] Figure 4 is a schematic diagram of a target transmission queue provided by Embodiment 2 of the present invention;

[0028] Figure 5 is a schematic diagram of a table entry search strategy provided in Embodiment 2 of the present invention;

[0029] Figure 6 is a schematic diagram of a superscalar dual-issue pipeline provided by Embodiment 2 of the present invention;

[0030] Figure 7 is a schematic diagram of a transmission instruction processing device provided by Embodiment 3 of the present invention;

[0031] Figure 8 A schematic diagram of the structure of an electronic device provided in Embodiment 4 of the present invention. DETAILED DESCRIPTION

[0032] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0033] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0034] Embodiment 1

[0035] Figure 1 This is a flow chart of a method for processing a transmission instruction provided by the first embodiment of the present invention. The embodiment of the present invention is applicable to the case of processing multiple transmission instructions in parallel. The method can be executed by a transmission instruction processing device. The device can be implemented by software and / or hardware and can generally be integrated in an electronic device. The electronic device can be a terminal device or a server device. The embodiment of the present invention does not limit the specific device type of the electronic device. Figure 1 As shown, the method includes the following operations:

[0036] S110, acquiring multiple emission instructions, and determining a target emission queue that matches each of the emission instructions.

[0037] Wherein, the emission instruction may be a superscalar emission pipeline instruction that needs to be dispatched to the emission queue. The target emission queue may be an emission queue that has free entries, matches the emission instruction and is used to store the emission instruction. In an embodiment of the present invention, the matching emission queue may be determined according to the type of emission instruction received, and then the number of free entries of the emission queue may be counted. When it is determined that the number of non-free entries of the emission queue is less than the total number of entries, the emission queue is determined to be the target emission queue in which the emission instruction matches each other. Optionally, the emission instruction may be an upper half-class instruction, a lower half-class instruction, and a full class instruction, and the target emission queue may be an upper half-emission queue for storing the upper half-class instruction, or a lower half-emission queue for storing the lower half-class instruction, or a whole emission queue formed by the combination of the upper half-emission queue and the lower half-emission queue; wherein, the whole emission queue formed by the combination of the upper half-emission queue and the lower half-emission queue may be used to store the full class instruction. Exemplarily, the upper half-class instruction may be a branch instruction and a control register instruction, the lower half-class instruction may be a memory access instruction, and the full class instruction may be a multiplication and division instruction and an arithmetic and logic operation instruction. It should be noted that the upper half of the instruction can only be matched with the upper half of the emission queue, the lower half of the instruction can only be matched with the lower half of the emission queue, and the full class of instructions can be matched with the upper half of the emission queue or the lower half of the emission queue. In the embodiment of the present invention, the number and type of instructions of the emission instructions are not limited.

[0038] S120: Determine an entry search strategy for each of the transmit instructions in a matching target transmit queue.

[0039] The table entry search strategy may be a search strategy for implementing parallel search for target free table entries in a target issue queue for multiple issue instructions.

[0040] Accordingly, the starting point for searching for an item in the matching target emission, the end point for searching for an item, and the direction for searching the emission queue can be determined according to the type of the emission instruction. Furthermore, the starting point for searching for an item in the matching target emission queue, the end point for searching for an item, and the direction for searching the emission queue can be used as the strategy for searching for an item in the matching target emission queue. It should be noted that different types of emission instructions match different item search strategies.

[0041] S130 , according to the entry search strategy of each of the transmit instructions in the matching target transmit queue, simultaneously and in parallel search for a target free entry in the matching target transmit queue for each of the transmit instructions.

[0042] The target idle entry may be an idle entry in the target transmit queue for receiving transmit instructions.

[0043] After determining the entry search strategy for each transmit instruction in the matching target transmit queue, target free entries can be searched for each transmit instruction in the matching target transmit queue in parallel according to the entry search strategy for each transmit instruction in the matching target transmit queue.

[0044] The so-called simultaneous parallel search of target free table entries in the matching target emission queue for each emission instruction, that is, the table entry search strategy matched by each emission instruction can be used to simultaneously and parallel search for target free table entries matching each emission instruction in the target emission queue, solving the problem that the existing emission instruction processing method can only process each emission instruction in series in sequence, resulting in low processing efficiency. The embodiment of the present invention searches for matching target emission queues and target free table entries for multiple emission instructions in parallel, which can effectively reduce the time cost of the search operation and improve the emission instruction processing efficiency.

[0045] S140: Store each of the transmit instructions into a matching target free table entry.

[0046] After completing the above parallel search for the target free table entry in the matching target issue queue for each issue instruction, each issue instruction may be stored in the matching target free table entry in parallel at the same time.

[0047] The technical solution of the embodiment of the present invention first obtains multiple emission instructions and determines the target emission queue that matches each emission instruction, then determines the table entry search strategy for each emission instruction in the matching target emission queue, and according to the table entry search strategy for each emission instruction in the matching target emission queue, simultaneously searches for the target free table entry in parallel for each emission instruction in the matching target emission queue, and stores each emission instruction in the matching target free table entry, thereby solving the problem that the existing emission instruction processing method can only process each emission instruction serially in sequence, resulting in low processing efficiency, and can process multiple emission instructions in parallel at the same time, thereby improving the processing efficiency of emission instructions.

[0048] Embodiment 2

[0049] Figure 2 is a flow chart of a method for processing an emission instruction provided by the second embodiment of the present invention. This embodiment is specific based on the above embodiment. In this embodiment, multiple specific optional implementation methods are provided for determining the table entry search start point, table entry search end point, and emission queue search direction of the emission instruction in the matching target emission queue according to the instruction type of the emission instruction. Figure 2 As shown, the method of this embodiment may include:

[0050] S210, obtaining multiple emission instructions, and determining a target emission queue that matches each of the emission instructions.

[0051] In an optional embodiment of the present invention, determining the target emission queue that matches each of the emission instructions may include: determining the current emission queue to be searched that matches the current emission instruction; determining the total number of table entries and the number of non-idle table entries of the current emission queue to be searched; and when it is determined that the number of non-idle table entries of the current emission queue to be searched is less than the total number of table entries, using the current emission queue to be searched as the target emission queue that matches the current emission instruction.

[0052] The current transmit instruction may be a superscalar transmit pipeline instruction that is currently required to be dispatched to the transmit queue. The current transmit queue to be searched may be a transmit queue matched according to the instruction type of the current transmit instruction. The total number of entries may be the total number of all entries included in the current transmit queue to be searched. The number of non-idle entries may be the total number of entries in the non-idle state in the current transmit queue to be searched.

[0053] In an embodiment of the present invention, the current emission queue to be searched can be determined according to the instruction type of the received emission instruction. Exemplarily, if the emission instruction is an upper-class emission instruction, the current emission queue to be searched can be an upper-class emission queue. If the emission instruction is a lower-class emission instruction, the current emission queue to be searched can be a lower-class emission queue. Further, the total number of table entries and the number of non-idle table entries of the current emission queue to be searched can be determined according to the current emission queue to be searched. If the number of non-idle table entries of the current emission queue to be searched is less than the total number of table entries, the current emission queue to be searched can be used as the target emission queue for matching the current emission instruction. If the number of non-idle table entries of the current emission queue to be searched is equal to the total number of table entries, the current emission queue to be searched cannot be used as the target emission queue for matching the current emission instruction.

[0054] Figure 3 is a schematic diagram of a target transmission queue query method provided by Embodiment 2 of the present invention. In a specific example, Figure 3 As shown, if the current transmission instruction is two upper-class transmission instructions, it can be determined that the current transmission queue to be searched can be the upper-class transmission queue. Further, the total number of table entries and the number of non-idle table entries of the upper-class transmission queue are determined, and the total number of table entries of the upper-class transmission queue can be 8. If the number of non-idle table entries of the upper-class transmission queue is less than 7, the upper-class transmission queue can be used as the target transmission queue for matching the current transmission instruction. If the number of non-idle table entries of the upper-class transmission queue is 7 or 8, the upper-class transmission queue cannot be used as the target transmission queue for matching the current transmission instruction.

[0055] If the current transmission instruction is two lower-class transmission instructions, it can be determined that the current transmission queue to be searched can be the lower-class transmission queue. Further, the total number of table entries and the number of non-idle table entries of the lower-class transmission queue are determined, and the total number of table entries of the lower-class transmission queue can be 8. If the number of non-idle table entries of the lower-class transmission queue is less than 7, the lower-class transmission queue can be used as the target transmission queue for matching the current transmission instruction. If the number of non-idle table entries of the lower-class transmission queue is 7 or 8, the lower-class transmission queue cannot be used as the target transmission queue for matching the current transmission instruction.

[0056] If the current emission instruction is an upper-class emission instruction and a lower-class emission instruction, it can be determined that the current emission queue to be searched for the upper-class emission instruction can be the upper-class emission queue, and the current emission queue to be searched for the lower-class emission instruction can be the lower-class emission queue. Further, the total number of table entries and the number of non-idle table entries of the upper-class emission queue and the lower-class emission queue are determined. The total number of table entries of the upper-class emission queue can be 8, and the total number of table entries of the lower-class emission queue can be 8. If the number of non-idle table entries of the upper-class emission queue is less than 8, the upper-class emission queue can be used as the target emission queue for matching the upper-class emission instruction; if the number of non-idle table entries of the lower-class emission queue is less than 8, the lower-class emission queue can be used as the target emission queue for matching the lower-class emission instruction. If the number of non-idle table entries of the upper-class emission queue is 8, the upper-class emission queue cannot be used as the target emission queue for matching the upper-class emission instruction; if the number of non-idle table entries of the lower-class emission queue is 8, the lower-class emission queue cannot be used as the target emission queue for matching the lower-class emission instruction. It should be noted that if any of the emission instructions does not exist in the target emission queue, then both emission instructions cannot be dispatched.

[0057] If the current emission instruction is an upper half-class emission instruction and a full-class emission instruction, it can be determined that the current emission queue to be searched for the upper half-class emission instruction can be the upper half-emission queue, and the current emission queue to be searched for the full-class emission instruction can be the upper half-emission queue and / or the lower half-emission queue. Further, the total number of entries and the number of non-idle entries of the upper half-emission queue and the lower half-emission queue are determined, and the total number of entries of the upper half-emission queue can be 8, and the total number of entries of the lower half-emission queue can be 8. If the number of non-empty entries in the upper half-emission queue is less than 7, the upper half-emission queue can be used as the target emission queue for matching the upper half-class emission instruction and the full-class instruction. If the number of non-empty entries in the upper half-emission queue is 7 and the number of non-idle entries in the lower half-emission queue is less than 8, the upper half-emission queue can be used as the target emission queue for matching the upper half-class emission instruction, and the lower half-emission queue can be used as the target emission queue for matching the full-class emission instruction. If the number of non-idle entries in the upper half-emission queue is 7 or 8, the upper half-emission queue cannot be used as the target emission queue for matching the upper half-class emission instruction and the full-class instruction. If the number of non-idle entries in the upper half emission queue is 7 and the number of non-idle entries in the lower half emission queue is 8, the upper half emission queue cannot be used as the target emission queue for matching the upper half class emission instruction, and the lower half emission queue cannot be used as the target emission queue for matching the full class instruction. It should be noted that if both the upper half emission queue and the lower half emission queue can match the full class emission instruction, the lower half emission queue can be preferentially used as the target emission queue.

[0058] If the current emission instruction is a lower half class emission instruction and a full class emission instruction, it can be determined that the current emission queue to be searched for the lower half class emission instruction can be the upper half emission queue, and the current emission queue to be searched for the full class emission instruction can be the upper half emission queue and / or the lower half emission queue. Further, the total number of entries and the number of non-idle entries of the upper half emission queue and the lower half emission queue are determined, the total number of entries of the upper half emission queue can be 8, and the total number of entries of the lower half emission queue can be 8. If the number of non-empty entries in the lower half emission queue is less than 7, the lower half emission queue can be used as the target emission queue for matching the lower half class emission instruction and the full class instruction. If the number of non-empty entries in the lower half emission queue is 7 and the number of non-idle entries in the upper half emission queue is less than 8, the lower half emission queue can be used as the target emission queue for matching the lower half class emission instruction, and the upper half emission queue can be used as the target emission queue for matching the full class emission instruction. If the number of non-idle entries in the lower half emission queue is 7 or 8, the lower half emission queue cannot be used as the target emission queue for matching the lower half class emission instruction and the full class instruction. If the number of non-idle entries in the lower half emission queue is 7 and the number of non-idle entries in the upper half emission queue is 8, the lower half emission queue cannot be used as the target emission queue for matching the lower half class emission instruction, and the upper half emission queue cannot be used as the target emission queue for matching the full class instruction. It should be noted that if both the upper half emission queue and the lower half emission queue can match the full class emission instruction, the lower half emission queue can be used as the target emission queue with priority. It should be noted that if both the upper half emission queue and the lower half emission queue can match the full class emission instruction, the upper half emission queue can be used as the target emission queue with priority.

[0059] If the current emission instruction is two full-class emission instructions, it can be determined that the current emission queue to be searched for the two full-class emission instructions can be the upper emission queue and / or the lower emission queue. Further, the total number of table entries and the number of non-idle table entries of the upper emission queue and the lower emission queue are determined, and the total number of table entries of the upper emission queue can be 8, and the total number of table entries of the lower emission queue can be 8. If the number of non-idle table entries of the upper emission queue is less than 7, the upper emission queue can be used as the target emission queue for matching the two full-class emission instructions. If the number of non-idle table entries of the lower emission queue is less than 7, the lower emission queue can be used as the target emission queue for matching the two full-class emission instructions. If the number of non-idle table entries of the upper emission queue is less than 8 and the number of non-idle table entries of the lower emission queue is less than 8, the upper emission queue can be used as the target emission queue for matching one full-class emission instruction, and the lower emission queue can be used as the target emission queue for matching another full-class emission instruction.

[0060] S220, determining a table entry search starting point, a table entry search end point, and a search direction of the transmit queue for each transmit instruction in a matching target transmit queue.

[0061] The entry search starting point may be a search starting point for searching for a target free entry in a target transmission queue. The entry search end point may be a search end point for searching for a target free entry in a target transmission queue. The transmission queue search direction may be a search direction for searching for a target free entry in a target transmission queue.

[0062] After determining the target transmit queue for each transmit instruction, the entry search starting point, entry search end point and transmit queue search direction of the transmit instruction in the matching target transmit queue can be determined, and the entry search starting point, entry search end point and transmit queue search direction can be used as the entry search strategy for each transmit instruction in the matching target transmit queue.

[0063] In an optional embodiment of the present invention, the emission instruction may include two upper-half-category instructions; the target emission queue may include an upper-half-category instruction; determining the table entry search starting point, table entry search end point and emission queue search direction of each of the emission instructions in the matching target emission queue may include: using the starting table entry of the upper-half-category emission queue as the table entry search starting point of the first upper-half-category instruction, using the end table entry of the upper-half-category emission queue as the table entry search end point of the first upper-half-category instruction, and using the direction from the starting table entry to the end table entry of the upper-half-category emission queue as the emission queue search direction of the first upper-half-category instruction; using the end table entry of the upper-half-category emission queue as the table entry search starting point of the second upper-half-category instruction, using the starting table entry of the upper-half-category emission queue as the table entry search end point of the second upper-half-category instruction, and using the direction from the end table entry to the starting table entry of the upper-half-category emission queue as the emission queue search direction of the second upper-half-category instruction.

[0064] The starting point entry may be the first entry to be searched in the target transmit queue. The ending point entry may be the last entry to be searched in the target transmit queue. The first upper half class instruction and the second upper half class instruction may be two different upper half class instructions.

[0065] In an embodiment of the present invention, if the received emission instructions are two upper-class instructions, the starting point table entry of the upper-class emission queue can be used as the table entry search starting point for the first upper-class instruction, the end point table entry of the upper-class emission queue can be used as the table entry search end point for the first upper-class instruction, and the direction from the starting point table entry to the end point table entry of the upper-class emission queue can be used as the emission queue search direction for the first upper-class instruction. At the same time, the end point table entry of the upper-class emission queue can be used as the table entry search starting point for the second upper-class instruction, the starting point table entry of the upper-class emission queue can be used as the table entry search end point for the second upper-class instruction, and the direction from the end point table entry to the starting point table entry of the upper-class emission queue can be used as the emission queue search direction for the second upper-class instruction. That is, for the first upper-class instruction, the free table entry can be searched forward from the starting point of the upper-class emission queue; for the second upper-class instruction, the free table entry can be searched backward from the end point of the upper-class emission queue.

[0066] Figure 4 is a schematic diagram of a target transmission queue provided by Embodiment 2 of the present invention, Figure 5 is a schematic diagram of a table entry search strategy provided by Embodiment 2 of the present invention. In a specific example, Figure 4 and Figure 5 As shown, the table entry indicated by the index value iqidx_1 can be a free table entry determined by searching with the starting point table entry of the upper half transmission queue as the search starting point, the ending point table entry of the upper half transmission queue as the search ending point, and the table entry search direction is forward, and the table entry indicated by the index value iqidx_2 can be a free table entry determined by searching with the ending point table entry of the upper half transmission queue as the search starting point, the starting point table entry of the upper half transmission queue as the search ending point, and the table entry search direction is reverse. When the received transmission instructions are two upper-class instructions, the starting point table entry of the upper half transmission queue can be used as the table entry search starting point for the first upper-class instruction, the ending point table entry of the upper half transmission queue can be used as the table entry search ending point for the first upper-class instruction, and the direction from the starting point table entry of the upper half transmission queue to the ending point table entry of the upper half transmission queue can be used as the transmission queue search direction for the first upper-class instruction. At the same time, the end table entry of the upper half transmission queue is used as the starting point for searching the table entries of the second upper half category instructions, the starting table entry of the upper half transmission queue is used as the end point for searching the table entries of the second upper half category instructions, and the direction from the end table entry of the upper half transmission queue to the starting table entry of the upper half transmission queue is used as the transmission queue search direction for the second upper half category instructions. That is, the target free table entry of the first upper half category instruction can be the free table entry obtained by searching according to the index value iqidx_1; the target free table entry of the second upper half category instruction can be the free table entry obtained by searching according to the index value iqidx_2.

[0067] In an optional embodiment of the present invention, the emission instruction may include two lower-half-category instructions; the target emission queue may include a lower-half-category instruction; the determining of the table entry search starting point, table entry search end point and emission queue search direction of each of the emission instructions in the matching target emission queue may include: using the starting table entry of the lower-half-category emission queue as the table entry search starting point of the first lower-half-category instruction, using the end table entry of the lower-half-category emission queue as the table entry search end point of the first lower-half-category instruction, and using the direction from the starting table entry to the end table entry of the lower-half-category emission queue as the emission queue search direction of the first lower-half-category instruction; using the end table entry of the lower-half-category emission queue as the table entry search starting point of the second lower-half-category instruction, using the starting table entry of the lower-half-category emission queue as the table entry search end point of the second lower-half-category instruction, and using the direction from the end table entry to the starting table entry of the lower-half-category emission queue as the emission queue search direction of the second lower-half-category instruction.

[0068] The lower half issue queue may be an issue queue in the issue queue that can dispatch lower half class instructions. The first lower half class instruction and the second lower half instruction may be two different lower half class instructions.

[0069] In an embodiment of the present invention, if the received emission instructions are two lower-half-category instructions, the starting point table entry of the lower-half emission queue can be used as the table entry search starting point for the first lower-half-category instruction, the end point table entry of the lower-half emission queue can be used as the table entry search end point for the first lower-half-category instruction, and the direction from the starting point table entry to the end point table entry of the lower-half emission queue can be used as the emission queue search direction for the first lower-half-category instruction. At the same time, the end point table entry of the lower-half emission queue can be used as the table entry search starting point for the second lower-half-category instruction, the starting point table entry of the lower-half emission queue can be used as the table entry search end point for the second lower-half-category instruction, and the direction from the end point table entry to the starting point table entry of the lower-half emission queue can be used as the emission queue search direction for the second lower-half-category instruction. That is, for the first lower-half-category instruction, a free table entry can be searched forward from the starting point of the lower-half emission queue; for the second lower-half-category instruction, a free table entry can be searched reversely from the end point of the lower-half emission queue.

[0070] In a specific example, the above embodiment is taken as an example to continue the description. Figure 4 and Figure 5As shown, the table entry indicated by the index value iqidx_3 can be a free table entry determined by searching with the starting point table entry of the lower half transmission queue as the search starting point, the end point table entry of the lower half transmission queue as the search end point, and the table entry search direction is forward, and the table entry indicated by the index value iqidx_4 can be a free table entry determined by searching with the end point table entry of the lower half transmission queue as the search starting point, the starting point table entry of the lower half transmission queue as the search end point, and the table entry search direction is reverse. When the received transmission instructions are two lower half-category instructions, the starting point table entry of the lower half transmission queue can be used as the table entry search starting point for the first lower half-category instruction, the end point table entry of the lower half transmission queue can be used as the table entry search end point for the first lower half-category instruction, and the direction from the starting point table entry of the lower half transmission queue to the end point table entry of the lower half transmission queue can be used as the transmission queue search direction for the first lower half-category instruction. At the same time, the end table entry of the lower half launch queue can be used as the starting point for searching for table entries of the second lower half category of instructions, the starting table entry of the lower half launch queue can be used as the end point for searching for table entries of the second lower half category of instructions, and the direction from the end table entry of the lower half launch queue to the starting table entry of the lower half launch queue can be used as the launch queue search direction for the second lower half category of instructions. That is, the target free table entry of the first lower half category of instructions can be the free table entry obtained by searching according to the index value iqidx_3; the target free table entry of the second lower half category of instructions can be the free table entry obtained by searching according to the index value iqidx_4.

[0071] In an optional embodiment of the present invention, the emission instruction may include an upper-class instruction and a lower-class instruction; the target emission queue of the upper-class instruction may include an upper-class emission queue, and the target emission queue of the lower-class instruction may include a lower-class emission queue; determining the table entry search starting point, table entry search end point and emission queue search direction of each of the emission instructions in the matching target emission queue may include: using the starting table entry of the upper-class emission queue as the table entry search starting point of the upper-class instruction, using the end table entry of the upper-class emission queue as the table entry search end point of the upper-class instruction, and using the direction from the starting table entry to the end table entry of the upper-class emission queue as the emission queue search direction of the upper-class instruction; using the starting table entry of the lower-class emission queue as the table entry search starting point of the lower-class instruction, using the end table entry of the lower-class emission queue as the table entry search end point of the lower-class instruction, and using the direction from the starting table entry to the end table entry of the lower-class emission queue as the emission queue search direction of the lower-class instruction.

[0072] In an embodiment of the present invention, if the received emission instruction is an upper half-class instruction and a lower half-class instruction, the starting point table item of the upper half emission queue can be used as the table item search starting point for the upper half-class instruction, the end point table item of the upper half emission queue can be used as the table item search end point for the upper half-class instruction, and the direction from the starting point table item to the end point table item of the upper half emission queue can be used as the emission queue search direction for the upper half-class instruction. At the same time, the starting point table item of the lower half emission queue can be used as the table item search starting point for the lower half-class instruction, the end point table item of the lower half emission queue can be used as the table item search end point for the lower half-class instruction, and the direction from the starting point table item to the end point table item of the lower half emission queue can be used as the emission queue search direction for the lower half-class instruction. That is, for the upper half-class instruction, the free table item can be searched forward from the starting point of the upper half emission queue; for the lower half-class instruction, the free table item can be searched forward from the starting point of the lower half emission queue.

[0073] In a specific example, the above embodiment is taken as an example to continue the description. Figure 4 and Figure 5 As shown, when the received emission instruction is an upper-class instruction and a lower-class instruction, the starting table entry of the upper emission queue can be used as the starting point for searching the table entry of the upper-class instruction, the end table entry of the upper emission queue can be used as the end point for searching the table entry of the upper-class instruction, and the direction from the starting table entry of the upper emission queue to the end table entry of the upper emission queue can be used as the emission queue search direction of the upper-class instruction. At the same time, the starting table entry of the lower emission queue can be used as the starting point for searching the table entry of the lower-class instruction, the end table entry of the lower emission queue can be used as the end point for searching the table entry of the lower-class instruction, and the direction from the starting table entry of the lower emission queue to the end table entry of the lower emission queue can be used as the emission queue search direction of the lower-class instruction, that is, the target free table entry of the upper-class instruction can be the free table entry found according to the index value of iqidx_1; the target free table entry of the lower-class instruction can be the free table entry found according to the index value of iqidx_3.

[0074] In an optional embodiment of the present invention, the emission instruction may include two full-category instructions; the target emission queue may include the upper emission queue and the lower emission queue; the determining of the entry search starting point, the entry search end point and the emission queue search direction of each of the emission instructions in the matching target emission queue may include: when it is determined that the number of non-idle entries in the upper emission queue is less than the total number of entries in the upper emission queue, using the starting point entry of the upper emission queue as the entry search starting point of the first full-category instruction, using the end point entry of the upper emission queue as the entry search end point of the first full-category instruction, and using the direction from the starting point entry of the upper emission queue to the end point entry of the upper emission queue as the emission queue search direction of the first full-category instruction; when it is determined that the number of non-idle entries in the upper emission queue is equal to the total number of entries in the upper emission queue, using the starting point entry of the lower emission queue as the entry search starting point of the first full-category instruction, and using the end point entry of the lower emission queue as the entry of the first full-category instruction Searching for an end point, using the direction from the starting point table entry of the lower half emission queue to the end point table entry of the lower half emission queue as the emission queue search direction of the first full class of instructions; when it is determined that the number of non-idle table entries of the lower half emission queue is less than the total number of table entries of the lower half emission queue, using the end point table entry of the lower half emission queue as the table entry search starting point of the second full class of instructions, using the starting point table entry of the lower half emission queue as the table entry search end point of the second full class of instructions, and using the direction from the end point table entry of the lower half emission queue to the starting point table entry of the lower half emission queue as the emission queue search direction of the second full class of instructions; when it is determined that the number of non-idle table entries of the lower half emission queue is equal to the total number of table entries of the lower half emission queue, using the end point table entry of the upper half emission queue as the table entry search starting point of the second full class of instructions, using the starting point table entry of the upper half emission queue as the table entry search end point of the second full class of instructions, and using the direction from the end point table entry of the upper half emission queue to the starting point table entry of the upper half emission queue as the emission queue search direction of the second full class of instructions.

[0075] The first full-category instruction and the second full-category instruction may be two different full-category instructions.

[0076] In an embodiment of the present invention, if the received emission instructions are two full-category instructions, the number of non-idle table entries in the upper-half emission queue, the total number of table entries in the upper-half emission queue, the number of non-idle table entries in the lower-half emission queue and the total number of table entries in the lower-half emission queue can be counted; if the number of non-idle table entries in the upper-half emission queue is less than the total number of table entries in the upper-half emission queue, the starting point table entry of the upper-half emission queue can be used as the starting point for the table entry search of the first full-category instruction, the end point table entry of the upper-half emission queue can be used as the end point for the table entry search of the first full-category instruction, and the direction from the starting point table entry of the upper-half emission queue to the end point table entry of the upper-half emission queue can be used as the emission queue search direction for the first full-category instruction. If the number of non-idle entries in the upper half emission queue is equal to the total number of entries in the upper half emission queue, indicating that there are no idle entries in the upper half emission queue, the starting point entry of the lower half emission queue can be used as the starting point for searching for entries of the first full category of instructions, the end point entry of the lower half emission queue can be used as the end point for searching for entries of the first full category of instructions, and the direction from the starting point entry of the lower half emission queue to the end point entry of the lower half emission queue can be used as the emission queue search direction for the first full category of instructions. If the number of non-idle entries in the lower half emission queue is less than the total number of entries in the lower half emission queue, the end point entry of the lower half emission queue can be used as the starting point for searching for entries of the second full category of instructions, the starting point entry of the lower half emission queue can be used as the end point for searching for entries of the second full category of instructions, and the direction from the end point entry of the lower half emission queue to the starting point entry of the lower half emission queue can be used as the emission queue search direction for the second full category of instructions. If the number of non-free entries in the lower half emission queue is equal to the total number of entries in the lower half emission queue, indicating that there are no free entries in the lower half emission queue, the end entry of the upper half emission queue can be used as the starting point for searching for entries in the second full category of instructions, the starting point of the upper half emission queue can be used as the end point for searching for entries in the second full category of instructions, and the direction from the end point of the upper half emission queue to the starting point of the upper half emission queue can be used as the emission queue search direction for the second full category of instructions. That is, for the first full category of instructions, if there are free entries in the upper half emission queue, the free entries can be searched forward from the starting point of the upper half emission queue; if there are no free entries in the upper half emission queue, the free entries can be searched forward from the starting point of the lower half emission queue; for the second full category of instructions, if there are free entries in the lower half emission queue, the free entries can be searched reversely from the end point of the lower half emission queue; if there are no free entries in the lower half emission queue, the free entries can be searched reversely from the end point of the upper half emission queue.

[0077] In a specific example, the above embodiment is taken as an example to continue the description. Figure 4 and Figure 5As shown, when the received emission instructions are two full-category instructions, the number of non-idle table items in the upper emission queue, the total number of table items in the upper emission queue, the number of non-idle table items in the lower emission queue, and the total number of table items in the lower emission queue can be counted. If the number of non-idle table items in the upper emission queue is less than the total number of table items in the upper emission queue, the starting table item of the upper emission queue can be used as the table item search starting point for the first full-category instruction, the end table item of the upper emission queue can be used as the table item search end point for the first full-category instruction, and the direction from the starting table item of the upper emission queue to the end table item of the upper emission queue can be used as the emission queue search direction for the first full-category instruction. If the number of non-idle table items in the upper emission queue is equal to the total number of table items in the upper emission queue, the starting table item of the lower emission queue can be used as the table item search starting point for the first full-category instruction, the end table item of the lower emission queue can be used as the table item search end point for the first full-category instruction, and the direction from the starting table item of the lower emission queue to the end table item of the lower emission queue can be used as the emission queue search direction for the first full-category instruction. If the number of non-idle entries in the lower half transmit queue is less than the total number of entries in the lower half transmit queue, the end entry of the lower half transmit queue can be used as the starting point for searching for entries in the second full category of instructions, the starting point of the lower half transmit queue can be used as the end point for searching for entries in the second full category of instructions, and the direction from the end entry of the lower half transmit queue to the starting point of the lower half transmit queue can be used as the transmit queue search direction for the second full category of instructions. If the number of non-idle entries in the lower-half transmit queue is equal to the total number of entries in the lower-half transmit queue, the end point entry of the upper-half transmit queue can be used as the starting point for searching for entries in the second full class of instructions, the starting point entry of the upper-half transmit queue can be used as the end point for searching for entries in the second full class of instructions, and the direction from the end point entry of the upper-half transmit queue to the starting point entry of the upper-half transmit queue can be used as the search direction for the transmit queue of the second full class of instructions. That is, when it is determined that there are idle entries in the upper-half transmit queue, the target idle entry of the first full class of instructions can be an idle entry found according to the index value of iqidx_1; when it is determined that there are no idle entries in the upper-half transmit queue, the target idle entry of the first full class of instructions can be an idle entry found according to the index value of iqidx_3; when it is determined that there are idle entries in the lower-half transmit queue, the target idle entry of the second full class of instructions can be an idle entry found according to the index value of iqidx_4; when it is determined that there are no idle entries in the lower-half transmit queue, the target idle entry of the second full class of instructions can be an idle entry found according to the index value of iqidx_2.

[0078] In an optional embodiment of the present invention, the emission instruction may include an upper-class instruction and a full-class instruction; the target emission queue may include the upper-class emission queue and the lower-class emission queue; the determining of the table entry search starting point, table entry search end point and emission queue search direction of each of the emission instructions in the matching target emission queue may include: using the starting table entry of the upper-class emission queue as the table entry search starting point of the upper-class instruction, using the end table entry of the upper-class emission queue as the table entry search end point of the upper-class instruction, and using the direction from the starting table entry to the end table entry of the upper-class emission queue as the emission queue search direction of the upper-class instruction; in the case of determining that the number of non-idle table entries in the lower-class emission queue is less than the total number of table entries in the lower-class emission queue In this case, the end point table entry of the lower half emission queue is used as the starting point for the table entry search of the whole category of instructions, the starting point table entry of the lower half emission queue is used as the end point for the table entry search of the whole category of instructions, and the direction from the end point table entry of the lower half emission queue to the starting point table entry of the lower half emission queue is used as the emission queue search direction of the whole category of instructions; when it is determined that the number of non-idle table entries in the lower half emission queue is equal to the total number of table entries in the lower half emission queue, the end point table entry of the upper half emission queue is used as the starting point for the table entry search of the whole category of instructions, the starting point table entry of the upper half emission queue is used as the end point for the table entry search of the whole category of instructions, and the direction from the end point table entry of the upper half emission queue to the starting point table entry of the upper half emission queue is used as the emission queue search direction of the whole category of instructions.

[0079] In an embodiment of the present invention, if the received emission instruction is an upper half class instruction and a full class instruction, the starting point table item of the upper half emission queue can be used as the table item search starting point of the upper half class instruction, the end point table item of the upper half emission queue can be used as the table item search end point of the upper half class instruction, and the direction from the starting point table item of the upper half emission queue to the end point table item can be used as the emission queue search direction of the upper half class instruction. Further, the number of non-idle table items of the lower half emission queue and the total number of table items of the lower half emission queue can be counted. If the number of non-idle table items of the lower half emission queue is less than the total number of table items of the lower half emission queue, the end point table item of the lower half emission queue can be used as the table item search starting point of the full class instruction, the starting point table item of the lower half emission queue can be used as the table item search end point of the full class instruction, and the direction from the end point table item of the lower half emission queue to the starting point table item of the lower half emission queue can be used as the emission queue search direction of the full class instruction. If the number of non-free entries in the lower half emission queue is equal to the total number of entries in the lower half emission queue, indicating that there are no free entries in the lower half emission queue, the end entry of the upper half emission queue can be used as the starting point for searching for entries in the entire category of instructions, the starting point of the upper half emission queue can be used as the end point for searching for entries in the entire category of instructions, and the direction from the end point of the upper half emission queue to the starting point of the upper half emission queue can be used as the emission queue search direction for the entire category of instructions. That is, for the upper half of the instructions, the free entries can be searched forward from the starting point of the upper half emission queue; for the entire category of instructions, if it is determined that there are free entries in the lower half emission queue, the free entries can be searched backward from the end point of the lower half emission queue; if it is determined that there are no free entries in the lower half emission queue, the free entries can be searched backward from the end point of the upper half emission queue.

[0080] In a specific example, the above embodiment is taken as an example to continue the description. Figure 4 and Figure 5As shown, when the received emission instruction is an upper half class instruction and a full class instruction, the starting point table item of the upper half emission queue can be used as the table item search starting point of the upper half class instruction, the end point table item of the upper half emission queue can be used as the table item search end point of the upper half class instruction, and the direction from the starting point table item of the upper half emission queue to the end point table item of the upper half emission queue can be used as the emission queue search direction of the upper half class instruction. Further, the number of non-idle table items of the lower half emission queue and the total number of table items of the lower half emission queue can be counted. If the number of non-idle table items of the lower half emission queue is less than the total number of table items of the lower half emission queue, the end point table item of the lower half emission queue can be used as the table item search starting point of the full class instruction, the starting point table item of the lower half emission queue can be used as the table item search end point of the full class instruction, and the direction from the end point table item of the lower half emission queue to the starting point table item of the lower half emission queue can be used as the emission queue search direction of the full class instruction. If the number of non-idle entries in the lower-half transmit queue is equal to the total number of entries in the lower-half transmit queue, the end point of the upper-half transmit queue can be used as the starting point for searching for entries in all classes of instructions, and the starting point entry of the upper-half transmit queue can be used as the end point for searching for entries in all classes of instructions. The direction from the end point entry of the upper-half transmit queue to the starting point entry of the upper-half transmit queue can be used as the search direction for the transmit queue of all classes of instructions. That is, the target idle entry of the upper-half transmit queue can be the idle entry found by searching according to the index value of iqidx_1. When it is determined that there are idle entries in the lower-half transmit queue, the target idle entry of all classes of instructions can be the idle entry found by searching according to the index value of iqidx_4. When it is determined that there are no idle entries in the lower-half transmit queue, the target idle entry of all classes of instructions can be the idle entry found by searching according to the index value of iqidx_2.

[0081] In an optional embodiment of the present invention, the emission instruction may include one of the lower half class instructions and one of the full class instructions; the target emission queue may include the upper half emission queue and the lower half emission queue; the determination of the table entry search starting point, table entry search end point and emission queue search direction of each of the emission instructions in the matching target emission queue may include: using the starting table entry of the lower half emission queue as the table entry search starting point of the lower half class instructions, using the end table entry of the lower half emission queue as the table entry search end point of the lower half class instructions, and using the direction from the starting table entry to the end table entry of the lower half emission queue as the emission queue search direction of the lower half class instructions; when determining that the number of non-idle table entries in the upper half emission queue is less than the total number of table entries in the upper half emission queue In the case where the number of non-idle entries in the upper half transmit queue is determined to be equal to the total number of entries in the upper half transmit queue, the end point entry of the lower half transmit queue is used as the starting point for searching for entries in the whole category of instructions, the starting point entry of the upper half transmit queue is used as the end point for searching for entries in the whole category of instructions, and the direction from the end point entry of the upper half transmit queue to the starting point entry of the upper half transmit queue is used as the search direction for the transmit queue of the whole category of instructions. In the case where the number of non-idle entries in the upper half transmit queue is determined to be equal to the total number of entries in the upper half transmit queue, the end point entry of the lower half transmit queue is used as the starting point for searching for entries in the whole category of instructions, the starting point entry of the lower half transmit queue is used as the end point for searching for entries in the whole category of instructions, and the direction from the end point entry of the lower half transmit queue to the starting point entry of the lower half transmit queue is used as the search direction for the transmit queue of the whole category of instructions.

[0082] In an embodiment of the present invention, if the received emission instruction is a lower-class instruction and a full-class instruction, the starting point table item of the lower-class emission queue is used as the table item search starting point of the lower-class instruction, the end point table item of the lower-class emission queue is used as the table item search end point of the lower-class instruction, and the direction from the starting point table item of the lower-class emission queue to the end point table item is used as the emission queue search direction of the lower-class instruction. Further, the number of non-idle table items of the upper-class emission queue and the total number of table items of the upper-class emission queue can be counted. If the number of non-idle table items of the upper-class emission queue is less than the total number of table items of the upper-class emission queue, the starting point table item of the upper-class emission queue can be used as the table item search starting point of the full-class instruction, the end point table item of the lower-class emission queue can be used as the table item search end point of the full-class instruction, and the direction from the starting point table item of the upper-class emission queue to the end point table item of the lower-class emission queue can be used as the emission queue search direction of the full-class instruction. If the number of non-free entries in the upper half emission queue is equal to the total number of entries in the upper half emission queue, indicating that there are no free entries in the upper half emission queue, the starting point entry of the lower half emission queue can be used as the starting point for searching for entries of all classes of instructions, the end point entry of the lower half emission queue can be used as the end point for searching for entries of all classes of instructions, and the direction from the starting point entry of the lower half emission queue to the end point entry of the lower half emission queue can be used as the search direction for the emission queue of all classes of instructions. That is, for the lower half of the instructions, the free entries can be searched forward from the starting point of the lower half emission queue; for the whole class of instructions, if it is determined that there are free entries in the upper half emission queue, the free entries can be searched forward from the starting point of the upper half emission queue; if it is determined that there are no free entries in the upper half emission queue, the free entries can be searched forward from the starting point of the lower half emission queue.

[0083] In a specific example, the above embodiment is taken as an example to continue the description. Figure 4 and Figure 5As shown, when the received emission instruction is a lower-class instruction and a full-class instruction, the starting point table item of the lower-class emission queue can be used as the table item search starting point for the lower-class instruction, the end point table item of the lower-class emission queue can be used as the table item search end point for the lower-class instruction, and the direction from the starting point table item to the end point table item of the lower-class emission queue can be used as the emission queue search direction for the lower-class instruction. Further, the number of non-idle table items in the upper-class emission queue and the total number of table items in the upper-class emission queue can be counted. If the number of non-idle table items in the upper-class emission queue is less than the total number of table items in the upper-class emission queue, the starting point table item of the upper-class emission queue can be used as the table item search starting point for the full-class instruction, the end point table item of the upper-class emission queue can be used as the table item search end point for the full-class instruction, and the direction from the starting point table item of the upper-class emission queue to the end point table item of the upper-class emission queue can be used as the emission queue search direction for the full-class instruction. If the number of non-idle entries in the upper-half transmit queue is equal to the total number of entries in the upper-half transmit queue, the starting point entry of the lower-half transmit queue can be used as the starting point for searching for entries in all classes of instructions, and the ending point entry of the lower-half transmit queue can be used as the ending point for searching for entries in all classes of instructions. The direction from the starting point entry of the lower-half transmit queue to the ending point entry of the lower-half transmit queue can be used as the search direction for the transmit queue of all classes of instructions. That is, the target idle entry of the lower-half transmit queue can be the idle entry found by searching according to the index value of iqidx_3. When it is determined that there are idle entries in the upper-half transmit queue, the target idle entry of all classes of instructions can be the idle entry found by searching according to the index value of iqidx_1. When it is determined that there are no idle entries in the upper-half transmit queue, the target idle entry of all classes of instructions can be the idle entry found by searching according to the index value of iqidx_3.

[0084] S230 , using the entry search starting point, the entry search end point, and the search direction of the emission queue of each emission instruction in the matching target emission queue as the entry search strategy of each emission instruction in the matching target emission queue.

[0085] Furthermore, after determining the table entry search starting point, table entry search end point and launch queue search direction of each launch instruction in the matching target launch queue, the table entry search starting point, table entry search end point and launch queue search direction can be used as the table entry search strategy for each launch instruction in the matching target launch queue, and then the parallel search of the target free table entries can be realized according to the table entry search strategy.

[0086] S240 , according to the entry search strategy of each of the transmit instructions in the matching target transmit queue, simultaneously and in parallel search for a target free entry in the matching target transmit queue for each of the transmit instructions.

[0087] S250: Store each of the transmit instructions into a matching target free table entry.

[0088] Optionally, the target idle table entries matched by each of the emission instructions are different.

[0089] After determining the table entry search strategy for each emission instruction in the matching target emission queue, the target free table entry can be searched in parallel for each emission instruction in the matching target emission queue. After determining the target free table entry for each emission instruction in the target emission queue, each emission instruction can be stored in the matching target free table entry. It should be noted that, since each emission instruction searches for the target free table entry in parallel, the target free table entry matched by each emission instruction cannot be the same free table entry in the target emission queue.

[0090] Specifically, the above embodiment is taken as an example to continue the description. Figure 4 and Figure 5 As shown, since the four index values ​​are used to search for the target free table items in parallel at the same time, each emission instruction can be stored in the matching target free table item only when the target free table items indicated by the index values ​​are not the same free table item; when the target free table items indicated by the index values ​​are the same free table item, only one of the emission instructions is stored in the free table item.

[0091] Figure 6 is a schematic diagram of a superscalar dual-issue pipeline provided by Embodiment 2 of the present invention. In a specific example, Figure 6 As shown, the dispatch pipeline can send the emission instruction to the target emission queue, and the emission queue sends the emission instruction to the execution pipeline according to the execution unit identifier matched by the emission instruction. The execution pipeline can send the emission instruction to the corresponding instruction unit and access the storage.

[0092] In a specific example, when the received transmit instruction is only one upper-class instruction, the dispatch enable of the upper-class instruction can be pulled high when it is determined that there is at least one free entry in the upper-class transmit queue. When the received transmit instruction is only one lower-class instruction, the dispatch enable of the lower-class instruction can be pulled high when it is determined that there is at least one free entry in the lower-class transmit queue. When the received transmit instruction is only one full-class instruction, the dispatch enable of the full-class instruction can be pulled high when it is determined that there is at least one free entry in the upper-class transmit queue or the lower-class transmit queue. When the received transmit instruction is two upper-class instructions, the dispatch enable of the two upper-class instructions can be pulled high at the same time when it is determined that there are at least two free entries in the upper-class transmit queue. When the received transmit instruction is two lower-class instructions, the dispatch enable of the two lower-class instructions can be pulled high at the same time when it is determined that there are at least two free entries in the lower-class transmit queue. When the received emission instructions are two full-class instructions, then when it is determined that the entire emission queue consisting of the upper half emission queue and the lower half emission queue has at least two idle entries, the dispatch enables of the two full-class instructions can be pulled high at the same time. When the received emission instructions are an upper half-class instruction and a lower half-class instruction, then when it is determined that there is at least one idle entry in the upper half emission queue and at least one idle entry in the lower half emission queue, the dispatch enables of the upper half-class emission instructions and the lower half-class emission instructions can be pulled high at the same time. When the received emission instructions are an upper half-class instruction and a full-class instruction, then when it is determined that there is at least one idle entry in the upper half emission queue and the entire emission queue consisting of the upper half emission queue and the lower half emission queue has at least two idle entries, the dispatch enables of the upper half-class emission instructions and the full-class emission instructions can be pulled high at the same time. When the received emission instruction is a lower-half-category instruction and a full-category instruction, the dispatch enables of the lower-half-category emission instruction and the full-category emission instruction can be simultaneously pulled high when it is determined that there is at least one free entry in the lower-half emission queue and there are at least two free entries in the entire emission queue consisting of the upper-half emission queue and the lower-half emission queue.

[0093] Exemplarily, the upper transmission queue is used as an example for explanation. Assuming that the total number of entries in the upper transmission queue is 8, if the number of non-idle entries in the upper transmission queue is 8, it means that there is no at least one idle entry in the upper transmission queue; if the number of non-idle entries in the upper transmission queue is not 8, it means that there is at least one idle entry in the upper transmission queue. If the number of non-idle entries in the upper transmission queue is greater than 6, it means that there are no at least two idle entries in the upper transmission queue; if the number of non-idle entries in the upper transmission queue is less than 7, it means that there are at least two idle entries in the upper transmission queue. It should be noted that three counters can be used to count the entries in the upper transmission queue, the lower transmission queue, and the entire transmission queue composed of the upper transmission queue and the lower transmission queue.

[0094] Further, when it is determined that the target transmission queue matching the transmission instruction has a target free entry, the target free entry is searched in the target transmission queue at the same time. Specifically, it is determined whether the entry indication signal in the target transmission queue is high. If it is high, it means that there is a valid transmission instruction in the current entry and the current transmission instruction cannot be received; if it is not high, it means that the current entry is empty and the current transmission instruction can be received.

[0095] Exemplarily, when the received transmit instruction is only an upper half instruction, it can be determined that the target transmit queue is the upper half transmit queue, and then the free table entry can be searched forward from the starting point of the upper half transmit queue. When it is determined that the table entry of the upper half transmit queue is not high, the table entry can be used as the target free table entry of the upper half instruction.

[0096] Exemplarily, when the received transmit instruction is only a lower half instruction, it can be determined that the target transmit queue is the lower half transmit queue, and then the free table entry can be searched forward from the starting point of the lower half transmit queue. When it is determined that the table entry of the lower half transmit queue is not high, the table entry can be used as the target free table entry of the lower half instruction.

[0097] Exemplarily, when the received emission instruction is only a full-class instruction, first determine whether there is at least one free table entry in the upper half emission queue. If so, it can be determined that the target emission queue is the upper half emission queue, and the free table entry is searched forward from the starting point of the upper half emission queue. If it is determined that the table entry found in the upper half emission queue is not high, the table entry can be used as the target free table entry for the full class instruction; if not, it can be determined that the target emission queue is the lower half emission queue, and then the free table entry can be searched forward from the starting point of the lower half emission queue. If it is determined that the table entry found in the lower half emission queue is not high, the table entry can be used as the target free table entry for the full class instruction.

[0098] Exemplarily, when the received emission instructions are two upper-class instructions, it can be determined that the target emission queue is the upper-class emission queue, and the first upper-class instruction can start from the starting point table entry of the upper-class emission queue to search for free table entries in a forward direction. When it is determined that the table entry found in the upper-class emission queue is not high, the table entry can be used as the target free table entry of the first upper-class instruction, and the second upper-class instruction can start from the end point table entry of the upper-class emission queue to search for free table entries in a reverse direction. When it is determined that the table entry found in the upper-class emission queue is not high, the table entry can be used as the target free table entry of the second upper-class instruction, that is, the target free table entry of the first upper-class instruction can be the table entry pointed to by the index value iqidx_1; the target free table entry of the second upper-class instruction can be the table entry pointed to by the index value iqidx_2.

[0099] Exemplarily, when the received emission instructions are two lower-half-class instructions, it can be determined that the target emission queue is the lower-half-class emission queue, and the first lower-half-class instruction can start from the starting point of the lower-half-class emission queue to search for free table items by forward indexing. When it is determined that the table item found in the lower-half-class emission queue is not high, the table item can be used as the target free table item of the first lower-half-class instruction, and at the same time, the second lower-half-class instruction can start from the end point of the lower-half-class emission queue to search for free table items by reverse indexing. When it is determined that the table item found in the lower-half-class emission queue is not high, the table item can be used as the target free table item of the second lower-half-class instruction, that is, the target free table item of the first lower-half-class instruction can be the free table item found according to the index value of iqidx_3; the target free table item of the second lower-half-class instruction can be the free table item found according to the index value of iqidx_4.

[0100] Exemplarily, when the received emission instruction is an upper half-class instruction and a lower half-class instruction, it can be determined that the target emission queue of the upper half-class instruction is the upper half-class instruction, and the target emission queue of the lower half-class instruction is the lower half-class instruction. Then, the upper half-class instruction can start from the starting point of the upper half-class instruction to search for free table items by forward indexing. When it is determined that the table item found in the upper half-class emission queue is not high, the table item can be used as the target free table item of the upper half-class instruction, and at the same time, the lower half-class instruction can start from the starting point of the lower half-class emission queue to search for free table items by forward indexing. When it is determined that the table item found in the lower half-class emission queue is not high, the table item can be used as the target free table item of the lower half-class instruction, that is, the target free table item of the upper half-class instruction can be the free table item found according to the index value iqidx_1; the target free table item of the lower half-class instruction can be the free table item found according to the index value iqidx_3.

[0101] Exemplarily, when the received emission instructions are two full-class instructions, it can be determined that the target emission queue is the upper emission queue or the lower emission queue, then first determine whether there is at least one free table entry in the upper emission queue, if so, it can be determined that the target emission queue of the first full-class instruction is the upper emission queue, and then the free table entry can be searched forward from the starting point of the upper emission queue. In the case of determining that the table entry found in the upper emission queue is not high, the table entry can be used as the target free table entry of the first full-class instruction; if not, it can be determined that the target emission queue of the first full-class instruction is the lower emission queue, and then the free table entry can be searched forward from the starting point of the lower emission queue. In the case of determining that the table entry found in the lower emission queue is not high, the table entry can be used as the target free table entry of the first full-class instruction, and at the same time, determine whether there is at least one free table entry in the lower emission queue, if so, it can be determined that the target emission queue of the second full-class instruction is the lower emission queue, and then the free table entry can be searched backward from the end of the lower emission queue. When it is determined that the table entry found in the lower half of the emission queue is not high, the table entry can be used as the target free table entry of the second full class instruction; if not, the target emission queue of the second full class instruction can be determined to be the upper half of the emission queue, and then the free table entry can be searched by reverse index from the end of the upper half of the emission queue. When it is determined that the table entry found in the upper half of the emission queue is not high, the table entry can be used as the target free table entry of the second full class instruction, that is, when it is determined that there is a free table entry in the upper half of the emission queue, the target free table entry of the first full class instruction can be the free table entry found according to the index value iqidx_1, when it is determined that there is no free table entry in the upper half of the emission queue, the target free table entry of the first full class instruction can be the free table entry found according to the index value iqidx_3; when it is determined that there is a free table entry in the lower half of the emission queue, the target free table entry of the second full class instruction can be the free table entry found according to the index value iqidx_4, and when it is determined that there is no free table entry in the lower half of the emission queue, the target free table entry of the second full class instruction can be the free table entry found according to the index value iqidx_2.

[0102] Exemplarily, when the received emission instruction is an upper half class instruction and a full class instruction, it can be determined that the target emission queue of the upper half class instruction is the upper half emission queue, and then the free table item can be searched by forward indexing from the starting point of the upper half emission queue. When it is determined that the table item found in the upper half emission queue is not high, the table item can be used as the target free table item of the upper half class instruction. At the same time, it is determined whether there is at least one free table item in the lower half emission queue. If so, it can be determined that the target emission queue of the full class instruction is the lower half emission queue, and then the free table item can be searched by reverse indexing from the end point of the lower half emission queue. When it is determined that the table item found in the lower half emission queue is not high, the table item can be used as the target free table item of the full class instruction; if not, it can be determined that the target emission queue of the full class instruction is the upper half emission queue, and then the free table item can be searched by reverse indexing from the end point of the upper half emission queue. When it is determined that the table entry found in the upper half transmission queue is not high, the table entry can be used as the target free table entry for all classes of instructions, that is, the target free table entry for the upper half of the instructions can be the free table entry found according to the index value of iqidx_1; when it is determined that there are free table entries in the lower half transmission queue, the target free table entry for all classes of instructions can be the free table entry found according to the index value of iqidx_4; when it is determined that there are no free table entries in the lower half transmission queue, the target free table entry for all classes of instructions can be the free table entry found according to the index value of iqidx_2.

[0103] Exemplarily, when the received emission instruction is a lower half class instruction and a full class instruction, it can be determined that the target emission queue of the lower half class emission instruction is the lower half emission queue, and then the free table item can be searched by forward indexing from the starting point of the lower half emission queue. When it is determined that the table item found in the lower half emission queue is not high, the table item can be used as the target free table item of the lower half class instruction. At the same time, it is determined whether there is at least one free table item in the upper half emission queue. If so, it can be determined that the target emission queue of the full class instruction is the upper half emission queue, and then the free table item can be searched by forward indexing from the starting point of the upper half emission queue. When it is determined that the table item found in the upper half emission queue is not high, the table item can be used as the target free table item of the full class instruction; if not, it can be determined that the target emission queue of the full class instruction is the lower half emission queue, and then the free table item can be searched by forward indexing from the starting point of the lower half emission queue. When it is determined that the table entry found in the lower half of the transmission queue is not high, the table entry can be used as the target free table entry for all categories of instructions, that is, the target free table entry for the lower half of the instructions can be the free table entry found according to the index value of iqidx_3; when it is determined that there are free table entries in the upper half of the transmission queue, the target free table entry for all categories of instructions can be the free table entry found according to the index value of iqidx_1; when it is determined that there are no free table entries in the upper half of the transmission queue, the target free table entry for all categories of instructions can be the free table entry found according to the index value of iqidx_3.

[0104] After searching the target free table entries of each issued instruction in parallel according to the table entry search strategy matched by each issued instruction, each issued instruction can be stored in the target free table entry of the matched target issued queue. It should be noted that two execution units are configured in the superscalar dual-issue pipeline, including the EXU0 execution unit and the EXU1 execution unit. Among them, the EXU0 execution unit can process the issued instructions issued by the upper half of the issue queue, including branch instructions, control register instructions, multiplication and division instructions, and arithmetic and logical operation instructions; the EXU1 execution unit and the MEM level can process the issued instructions issued by the lower half of the issue queue, including memory access instructions, multiplication and division instructions, and arithmetic and logical operation instructions. The issued instructions processed by the EXU0 execution unit can flow directly to the write-back level after being processed in the EXU0 execution unit. After the issued instructions processed by the EXU1 execution unit are processed in the EXU1Z execution unit, they can be sent to the MEM level and determine whether the current issued instruction is a memory access instruction. If so, it can be processed at the MEM level and sent to the write-back level after processing; if not, no operation is required at the MEM level, waiting to be sent to the write-back level in the next cycle.

[0105] The technical solution of the embodiment of the present invention first obtains multiple emission instructions, and determines the target emission queue that each emission instruction matches. Further, the table entry search starting point, table entry search end point and emission queue search direction of each emission instruction in the matched target emission queue are determined and used as the table entry search strategy of each emission instruction in the matched target emission queue. According to the table entry search strategy of each emission instruction in the matched target emission queue, the target idle table entry of each emission instruction in the matched target emission queue is searched in parallel, and each emission instruction is stored in the matched target idle table entry, which solves the problem that the existing emission instruction processing method can only process each emission instruction in series in sequence, resulting in low processing efficiency, and can process multiple emission instructions in parallel at the same time, thereby improving the processing efficiency of emission instructions.

[0106] Embodiment 3

[0107] Figure 7 is a schematic diagram of a transmission instruction processing device provided by Embodiment 3 of the present invention, such as Figure 7 As shown, the device includes: a target transmission queue determination module 310, an entry search strategy determination module 320, a target idle entry search module 330 and a transmission instruction storage module 340, wherein:

[0108] The target transmission queue determination module 310 is used to: obtain multiple transmission instructions and determine the target transmission queue that matches each of the transmission instructions;

[0109] The table entry search strategy determination module 320 is used to: determine the table entry search strategy of each of the emission instructions in the matching target emission queue;

[0110] The target free entry search module 330 is used to: search for a target free entry in the matching target transmit queue for each of the transmit instructions according to the entry search strategy in the matching target transmit queue for each of the transmit instructions;

[0111] The transmit instruction storage module 340 is used to store each of the transmit instructions into a matching target free table entry.

[0112] The technical solution of the embodiment of the present invention first obtains multiple emission instructions and determines the target emission queue that matches each emission instruction, then determines the table entry search strategy for each emission instruction in the matching target emission queue, and according to the table entry search strategy for each emission instruction in the matching target emission queue, simultaneously searches for the target free table entry in parallel for each emission instruction in the matching target emission queue, and stores each emission instruction in the matching target free table entry, thereby solving the problem that the existing emission instruction processing method can only process each emission instruction serially in sequence, resulting in low processing efficiency, and can process multiple emission instructions in parallel at the same time, thereby improving the processing efficiency of emission instructions.

[0113] Optionally, the target transmission queue determination module 310 is specifically used to: determine the current transmission queue to be searched that matches the current transmission instruction; determine the total number of table entries and the number of non-idle table entries of the current transmission queue to be searched; and when it is determined that the number of non-idle table entries of the current transmission queue to be searched is less than the total number of table entries, use the current transmission queue to be searched as the target transmission queue matching the current transmission instruction.

[0114] Optionally, the table entry search strategy determination module 320 is specifically used to: determine the table entry search starting point, table entry search end point and transmission queue search direction of each of the transmission instructions in the matching target transmission queue; use the table entry search starting point, table entry search end point and transmission queue search direction of each of the transmission instructions in the matching target transmission queue as the table entry search strategy of each of the transmission instructions in the matching target transmission queue.

[0115] Optionally, the emission instruction includes two upper-half-category instructions; the target emission queue includes an upper-half-category instruction queue; the table entry search strategy determination module 320 is specifically used to: use the starting table entry of the upper-half-category emission queue as the starting point for the table entry search of the first upper-half-category instruction, use the ending table entry of the upper-half-category emission queue as the ending point for the table entry search of the first upper-half-category instruction, and use the direction from the starting table entry to the ending table entry of the upper-half-category emission queue as the emission queue search direction for the first upper-half-category instruction; use the ending table entry of the upper-half-category emission queue as the starting point for the table entry search of the second upper-half-category instruction, use the starting table entry of the upper-half-category emission queue as the ending point for the table entry search of the second upper-half-category instruction, and use the direction from the ending table entry to the starting table entry of the upper-half-category emission queue as the emission queue search direction for the second upper-half-category instruction.

[0116] Optionally, the emission instruction includes two lower-half-category instructions; the target emission queue includes a lower-half-category emission queue; the table entry search strategy determination module 320 is specifically used to: use the starting point table entry of the lower-half-category emission queue as the table entry search starting point for the first lower-half-category instruction, use the end point table entry of the lower-half-category emission queue as the table entry search end point for the first lower-half-category instruction, and use the direction from the starting point table entry to the end point table entry of the lower-half-category emission queue as the emission queue search direction for the first lower-half-category instruction; use the end point table entry of the lower-half-category emission queue as the table entry search starting point for the second lower-half-category instruction, use the starting point table entry of the lower-half-category emission queue as the table entry search end point for the second lower-half-category instruction, and use the direction from the end point table entry to the starting point table entry of the lower-half-category emission queue as the emission queue search direction for the second lower-half-category instruction.

[0117] Optionally, the emission instruction includes an upper-class instruction and a lower-class instruction; the target emission queue of the upper-class instruction includes the upper-class emission queue, and the target emission queue of the lower-class instruction includes the lower-class emission queue; the table entry search strategy determination module 320 is specifically used to: use the starting table entry of the upper-class emission queue as the table entry search starting point of the upper-class instruction, use the end table entry of the upper-class emission queue as the table entry search end point of the upper-class instruction, and use the direction from the starting table entry to the end table entry of the upper-class emission queue as the emission queue search direction of the upper-class instruction; use the starting table entry of the lower-class emission queue as the table entry search starting point of the lower-class instruction, use the end table entry of the lower-class emission queue as the table entry search end point of the lower-class instruction, and use the direction from the starting table entry to the end table entry of the lower-class emission queue as the emission queue search direction of the lower-class instruction.

[0118] Optionally, the emission instruction includes two full-category instructions; the target emission queue includes the upper-half emission queue and the lower-half emission queue; the entry search strategy determination module 320 is specifically used to: when it is determined that the number of non-idle entries in the upper-half emission queue is less than the total number of entries in the upper-half emission queue, use the starting point entry of the upper-half emission queue as the starting point for the entry search of the first full-category instruction, use the end point entry of the upper-half emission queue as the end point for the entry search of the first full-category instruction, and use the direction from the starting point entry of the upper-half emission queue to the end point entry of the upper-half emission queue as the emission queue search direction for the first full-category instruction; when it is determined that the number of non-idle entries in the upper-half emission queue is equal to the total number of entries in the upper-half emission queue, use the starting point entry of the lower-half emission queue as the starting point for the entry search of the first full-category instruction, use the end point entry of the lower-half emission queue as the end point for the entry search of the first full-category instruction, and use the direction from the starting point entry of the upper-half emission queue to the end point entry of the lower-half emission queue as the emission queue search direction for the first full-category instruction. The direction of the end point table entry of the half-launch queue is used as the launch queue search direction of the first full category of instructions; when it is determined that the number of non-idle table entries in the lower half-launch queue is less than the total number of table entries in the lower half-launch queue, the end point table entry of the lower half-launch queue is used as the table entry search starting point of the second full category of instructions, the starting point table entry of the lower half-launch queue is used as the table entry search end point of the second full category of instructions, and the direction from the end point table entry of the lower half-launch queue to the starting point table entry of the lower half-launch queue is used as the launch queue search direction of the second full category of instructions; when it is determined that the number of non-idle table entries in the lower half-launch queue is equal to the total number of table entries in the lower half-launch queue, the end point table entry of the upper half-launch queue is used as the table entry search starting point of the second full category of instructions, the starting point table entry of the upper half-launch queue is used as the table entry search end point of the second full category of instructions, and the direction from the end point table entry of the upper half-launch queue to the starting point table entry of the upper half-launch queue is used as the launch queue search direction of the second full category of instructions.

[0119] Optionally, the emission instruction includes an upper-class instruction and a full-class instruction; the target emission queue includes the upper-class emission queue and the lower-class emission queue; the table entry search strategy determination module 320 is specifically used to: use the starting table entry of the upper-class emission queue as the table entry search starting point for the upper-class instruction, use the end table entry of the upper-class emission queue as the table entry search end point for the upper-class instruction, and use the direction from the starting table entry to the end table entry of the upper-class emission queue as the emission queue search direction for the upper-class instruction; when it is determined that the number of non-idle table entries in the lower-class emission queue is less than the total number of table entries in the lower-class emission queue, use the end table entry of the lower-class emission queue as the full-class instruction. The starting point of the table entry search for the whole class of instructions is taken as the starting point of the table entry search for the whole class of instructions, and the direction from the end point table entry of the lower half emission queue to the starting point table entry of the lower half emission queue is taken as the emission queue search direction for the whole class of instructions; when it is determined that the number of non-idle table entries in the lower half emission queue is equal to the total number of table entries in the lower half emission queue, the end point table entry of the upper half emission queue is taken as the starting point of the table entry search for the whole class of instructions, the starting point table entry of the upper half emission queue is taken as the end point of the table entry search for the whole class of instructions, and the direction from the end point table entry of the upper half emission queue to the starting point table entry of the upper half emission queue is taken as the emission queue search direction for the whole class of instructions.

[0120] Optionally, the emission instruction includes one instruction of the lower half category and one instruction of the whole category; the target emission queue includes the upper emission queue and the lower emission queue; the table entry search strategy determination module 320 is specifically used to: use the starting point table entry of the lower emission queue as the table entry search starting point for the lower half category instruction, use the end point table entry of the lower emission queue as the table entry search end point for the lower half category instruction, and use the direction from the starting point table entry to the end point table entry of the lower emission queue as the emission queue search direction for the lower half category instruction; when it is determined that the number of non-idle table entries in the upper emission queue is less than the total number of table entries in the upper emission queue, use the end point table entry of the upper emission queue as the whole category instruction. The starting point for searching for table entries of the class instruction is used, the starting point table entry of the upper half emission queue is used as the end point for searching for table entries of the whole class instruction, and the direction from the end point table entry of the upper half emission queue to the starting point table entry of the upper half emission queue is used as the emission queue search direction for the whole class instruction; when it is determined that the number of non-idle table entries in the upper half emission queue is equal to the total number of table entries in the upper half emission queue, the end point table entry of the lower half emission queue is used as the starting point for searching for table entries of the whole class instruction, the starting point table entry of the lower half emission queue is used as the end point for searching for table entries of the whole class instruction, and the direction from the end point table entry of the lower half emission queue to the starting point table entry of the lower half emission queue is used as the emission queue search direction for the whole class instruction.

[0121] Optionally, the target idle table entries matched by each of the emission instructions are different.

[0122] The above-mentioned transmission instruction processing device can execute the transmission instruction processing method provided by any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method. For technical details not described in detail in this embodiment, please refer to the transmission instruction processing method provided by any embodiment of the present invention.

[0123] Embodiment 4

[0124] Figure 8 A schematic diagram of the structure of an electronic device 10 that can be used to implement an embodiment of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.

[0125] like Figure 8 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0126] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0127] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as a method for transmitting instruction processing.

[0128] In some embodiments, the transmission instruction processing method can be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the transmission instruction processing method described above can be performed. Alternatively, in other embodiments, the processor 11 can be configured to execute the transmission instruction processing method in any other appropriate manner (for example, by means of firmware).

[0129] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0130] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0131] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0132] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).

[0133] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0134] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.

Claims

1. A method for processing a transmission instruction, characterized in that: include: Acquire multiple emission instructions, and determine a target emission queue that matches each of the emission instructions; Determine an entry search strategy for each of the transmit instructions in a matching target transmit queue; According to the table entry search strategy of each of the emission instructions in the matching target emission queue, simultaneously and in parallel, search for a target free table entry in the matching target emission queue for each of the emission instructions; Each of the issued instructions is stored in a matching target free table entry.

2. The method according to claim 1, characterized in that The determining of a target transmit queue matching each of the transmit instructions comprises: Determine the current to-be-searched emission queue that matches the current emission instruction; Determine the total number of entries in the current transmission queue to be searched and the number of non-idle entries; When it is determined that the number of non-free entries in the current to-be-searched transmit queue is less than the total number of entries, the current to-be-searched transmit queue is used as a target transmit queue for matching the current transmit instruction.

3. The method according to claim 1, characterized in that The determining of the entry search strategy of each of the transmit instructions in the matching target transmit queue includes: Determine the entry search starting point, the entry search end point and the search direction of the transmission queue for each of the transmission instructions in the matching target transmission queue; The entry search starting point, the entry search end point and the search direction of the emission queue of each emission instruction in the matching target emission queue are used as the entry search strategy of each emission instruction in the matching target emission queue.

4. The method according to claim 3, characterized in that: The emission instruction includes two upper half instructions; the target emission queue includes an upper half emission queue; and determining the entry search starting point, the entry search end point, and the emission queue search direction of each emission instruction in the matching target emission queue includes: Using the starting point table entry of the upper half transmit queue as the starting point for searching the table entry of the first upper half class of instructions, using the ending point table entry of the upper half transmit queue as the ending point for searching the table entry of the first upper half class of instructions, and using the direction from the starting point table entry to the ending point table entry of the upper half transmit queue as the transmitting queue searching direction of the first upper half class of instructions; The end point table entry of the upper half transmission queue is used as the starting point for searching for table entries of the second upper half category of instructions, the starting point table entry of the upper half transmission queue is used as the end point for searching for table entries of the second upper half category of instructions, and the direction from the end point table entry to the starting point table entry of the upper half transmission queue is used as the transmission queue search direction for the second upper half category of instructions.

5. The method according to claim 3, characterized in that: The emission instruction includes two lower half instructions; the target emission queue includes a lower half emission queue; and determining the entry search starting point, the entry search end point, and the emission queue search direction of each emission instruction in the matching target emission queue includes: Using the starting point table entry of the lower half emission queue as the table entry search starting point of the first lower half class instruction, using the ending point table entry of the lower half emission queue as the table entry search ending point of the first lower half class instruction, and using the direction from the starting point table entry to the ending point table entry of the lower half emission queue as the emission queue search direction of the first lower half class instruction; The end point table entry of the lower half transmission queue is used as the starting point for searching the table entries of the second lower half category of instructions, the starting point table entry of the lower half transmission queue is used as the end point for searching the table entries of the second lower half category of instructions, and the direction from the end point table entry to the starting point table entry of the lower half transmission queue is used as the transmission queue search direction for the second lower half category of instructions.

6. The method according to claim 3, characterized in that The emission instruction includes an upper half instruction and a lower half instruction; the target emission queue of the upper half instruction includes an upper emission queue, and the target emission queue of the lower half instruction includes a lower emission queue; determining the table entry search starting point, table entry search end point and emission queue search direction of each emission instruction in the matching target emission queue includes: Using the starting point table entry of the upper half transmit queue as the starting point for searching the table entry of the upper half class of instructions, using the ending point table entry of the upper half transmit queue as the ending point for searching the table entry of the upper half class of instructions, and using the direction from the starting point table entry to the ending point table entry of the upper half transmit queue as the transmitting queue searching direction of the upper half class of instructions; The starting point table entry of the lower half of the emission queue is used as the starting point for searching the table entries of the lower half of the instruction class, the ending point table entry of the lower half of the emission queue is used as the ending point for searching the table entries of the lower half of the instruction class, and the direction from the starting point table entry to the ending point table entry of the lower half of the emission queue is used as the emission queue search direction of the lower half of the instruction class.

7. The method according to claim 3, characterized in that The emission instruction includes two full-class instructions; the target emission queue includes the upper emission queue and the lower emission queue; and determining the entry search starting point, the entry search end point, and the emission queue search direction of each emission instruction in the matching target emission queue includes: In the case where it is determined that the number of non-idle entries in the upper half transmit queue is less than the total number of entries in the upper half transmit queue, the starting point entry of the upper half transmit queue is used as the starting point for searching for entries of the first full class of instructions, the ending point entry of the upper half transmit queue is used as the ending point for searching for entries of the first full class of instructions, and the direction from the starting point entry of the upper half transmit queue to the ending point entry of the upper half transmit queue is used as the transmit queue search direction for the first full class of instructions; In the case where it is determined that the number of non-idle entries in the upper half transmit queue is equal to the total number of entries in the upper half transmit queue, the starting point entry of the lower half transmit queue is used as the starting point for searching for entries of the first full class of instructions, the end point entry of the lower half transmit queue is used as the end point for searching for entries of the first full class of instructions, and the direction from the starting point entry of the lower half transmit queue to the end point entry of the lower half transmit queue is used as the transmit queue search direction of the first full class of instructions; In the case where it is determined that the number of non-idle entries in the lower half-transmit queue is less than the total number of entries in the lower half-transmit queue, the end entry of the lower half-transmit queue is used as the starting point for searching for entries of the second full class of instructions, the starting point of the lower half-transmit queue is used as the end point for searching for entries of the second full class of instructions, and the direction from the end entry of the lower half-transmit queue to the starting point of the lower half-transmit queue is used as the direction for searching the transmission queue of the second full class of instructions; When it is determined that the number of non-idle entries in the lower half transmit queue is equal to the total number of entries in the lower half transmit queue, the end point entry of the upper half transmit queue is used as the starting point for searching for entries of the second full category of instructions, the starting point entry of the upper half transmit queue is used as the end point for searching for entries of the second full category of instructions, and the direction from the end point entry of the upper half transmit queue to the starting point entry of the upper half transmit queue is used as the transmit queue search direction for the second full category of instructions.

8. The method according to claim 3, characterized in that The emission instruction includes an upper half class instruction and a full class instruction; The starting point table of the upper half transmission queue and the target transmission queue include the upper half transmission queue and the lower half transmission queue; The step of determining the table entry search starting point, table entry search end point, and emission queue search direction of each of the emission instructions in the matching target emission queue includes: using the table entry as the table entry search starting point for the upper half of the instruction, using the end table entry of the upper half of the emission queue as the table entry search end point for the upper half of the instruction, and using the direction from the starting table entry to the end table entry of the upper half of the emission queue as the emission queue search direction for the upper half of the instruction; In the case where it is determined that the number of non-idle entries in the lower half emission queue is less than the total number of entries in the lower half emission queue, the end entry of the lower half emission queue is used as the starting point for searching for entries of the entire class of instructions, the starting point of the lower half emission queue is used as the end point for searching for entries of the entire class of instructions, and the direction from the end point of the lower half emission queue to the starting point of the lower half emission queue is used as the emission queue search direction for the entire class of instructions; When it is determined that the number of non-idle entries in the lower half transmit queue is equal to the total number of entries in the lower half transmit queue, the end point entry of the upper half transmit queue is used as the starting point for searching for entries of the entire class of instructions, the starting point entry of the upper half transmit queue is used as the end point for searching for entries of the entire class of instructions, and the direction from the end point entry of the upper half transmit queue to the starting point entry of the upper half transmit queue is used as the transmit queue search direction for the entire class of instructions.

9. The method according to claim 3, characterized in that: The transmit instruction includes one of the lower half category instruction and one of the full category instruction; the target transmit queue includes the upper half transmit queue and the lower half transmit queue; The determining of the entry search starting point, the entry search end point and the search direction of the transmission queue of each of the transmission instructions in the matching target transmission queue includes: Using the starting point table entry of the lower half emission queue as the table entry search starting point of the lower half class of instructions, using the ending point table entry of the lower half emission queue as the table entry search ending point of the lower half class of instructions, and using the direction from the starting point table entry to the ending point table entry of the lower half emission queue as the emission queue search direction of the lower half class of instructions; In the case where it is determined that the number of non-idle entries in the upper half transmit queue is less than the total number of entries in the upper half transmit queue, the end entry of the upper half transmit queue is used as the starting point for searching for entries of the entire class of instructions, the starting point of the upper half transmit queue is used as the end point for searching for entries of the entire class of instructions, and the direction from the end point of the upper half transmit queue to the starting point of the upper half transmit queue is used as the transmit queue search direction for the entire class of instructions; When it is determined that the number of non-idle entries in the upper half transmit queue is equal to the total number of entries in the upper half transmit queue, the end point entry of the lower half transmit queue is used as the starting point for searching for entries of the entire class of instructions, the starting point entry of the lower half transmit queue is used as the end point for searching for entries of the entire class of instructions, and the direction from the end point entry of the lower half transmit queue to the starting point entry of the lower half transmit queue is used as the transmit queue search direction for the entire class of instructions.

10. The method according to any one of claims 1 to 9, characterized in that: The target idle table entries matched by the respective issuing instructions are different.

11. A transmission instruction processing device, characterized in that: include: A target transmission queue determination module is used to obtain multiple transmission instructions and determine the target transmission queue that matches each of the transmission instructions; An entry search strategy determination module, used to determine an entry search strategy for each of the transmit instructions in a matching target transmit queue; A target free entry search module, used to search for a target free entry in the matching target transmission queue for each of the transmission instructions in parallel according to the entry search strategy in the matching target transmission queue for each of the transmission instructions; The transmit instruction storage module is used to store each of the transmit instructions into a matching target free table entry.

12. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the emission instruction processing method described in any one of claims 1-10.

13. A computer storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the transmission instruction processing method described in any one of claims 1-10 when executed.