Chip comprising retransmission queue, computer equipment and processing method of retransmission instruction
By designing the retransmission queue and retransmission wake-up unit in the chip, ensuring that the retransmission instruction is re-executed only after the exception is resolved, the problem of low resource utilization and utilization rate of retransmission instruction in the prior art is solved, and a higher chip utilization rate is achieved.
Patent Information
- Application Number
- CN202311471417.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-03
- Publication Date
- 2025-05-06
AI Technical Summary
In the prior art, reissue instructions can be re-execated after arbitration, resulting in low chip utilization and unreleased reissue instructions occupying the execution pipeline resources, affecting the execution success rate.
A chip including a retransmission queue is designed. By receiving the retransmission command through the acquisition unit, the retransmission wake-up unit detects that the abnormality is cancelled and sends the target retransmission command to the retransmission unit to ensure that the retransmission command is only re-executeed after the abnormality is cancelled.
It improves the utilization rate of the transmit queue and the utilization rate of the execution pipeline, enhances the success rate of re-execution of re-issue instructions, and improves the overall utilization rate of the chip.
Smart Images

Figure CN119938146A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of chips, and in particular to a chip including a retransmission queue, a computer device, and a method for processing retransmission instructions. Background Art
[0002] The instructions executed by the chip in the computer device include many types, such as operation instructions (such as addition operation instructions, subtraction operation instructions), data transfer instructions (such as data loading instructions, data storage instructions), control instructions (such as input and output instructions), etc. Among them, the execution of operation instructions generally only requires one clock cycle, and as long as they are issued, they will be executed successfully. The execution of data transfer instructions generally requires multiple clock cycles, and the execution is not necessarily successful. During the execution process, various exceptions may be encountered, such as cache misses, missing dependent preceding instruction data, etc. The occurrence of these exceptions causes the data transfer instructions to be re-executed until they are successfully executed.
[0003] In the related art, the issue queue (Issue Queue) issues instructions, enters the execution pipeline (ExecutePipeline) for execution, and after the execution is completed, it is determined whether the instruction is executed successfully. If the execution is successful, it is directly written back, otherwise the instruction needs to re-enter the issue queue and wait for the next issuance. The instruction is also called a replay instruction. Specifically, the replay instruction needs to participate in arbitration with other instructions in the issue queue. When the replay instruction is arbitrated, it enters the execution pipeline for re-execution. If the re-execution fails, it needs to re-enter the issue queue until the execution is successful. The replay instruction can leave the issue queue.
[0004] However, the resend instruction of the related art can be re-executed as long as it is arbitrated, thus resulting in low chip utilization. Summary of the invention
[0005] The present application provides a chip including a retransmission queue, a computer device, and a method for processing a retransmission instruction. The technical solution is as follows:
[0006] According to one aspect of the present application, a chip including a retransmission queue is provided, wherein the retransmission queue includes an acquisition unit, a retransmission wake-up unit and a retransmission unit, wherein the output end of the acquisition unit is connected to the input end of the retransmission wake-up unit, and the output end of the retransmission wake-up unit is connected to the input end of the retransmission unit;
[0007] The acquisition unit is used to receive at least one resend instruction and send the at least one resend instruction to the resend wake-up unit; the at least one resend instruction is an instruction with an execution exception;
[0008] The retransmission wake-up unit is configured to send the target retransmission instruction to the retransmission unit when detecting that the abnormality of the target retransmission instruction in the at least one retransmission instruction is resolved;
[0009] The retransmission unit is used to send the target retransmission instruction; the target retransmission instruction is used to be re-executed after being sent.
[0010] According to another aspect of the present application, a method for processing a resending instruction is provided, the method comprising:
[0011] The acquisition unit receives at least one resend instruction and sends the at least one resend instruction to the resend wake-up unit; the at least one resend instruction is an instruction with an execution exception;
[0012] The retransmission wake-up unit sends the target retransmission instruction to the retransmission unit when detecting that the abnormality of the target retransmission instruction in the at least one retransmission instruction is resolved;
[0013] The retransmission unit sends the target retransmission instruction; the target retransmission instruction is used to be re-executed after sending.
[0014] In some embodiments, the retransmission wake-up unit is at least two retransmission wake-up units, the at least two retransmission wake-up units correspond to the retransmission types one by one, and the at least two retransmission wake-up units include a target retransmission wake-up unit, and the target retransmission wake-up unit matches the retransmission type corresponding to the at least one retransmission instruction;
[0015] The retransmission wake-up unit sends the target retransmission instruction to the retransmission unit when detecting that the abnormality of the target retransmission instruction in the at least one retransmission instruction is resolved, including:
[0016] The target retransmission wake-up unit determines that the abnormality of the target retransmission instruction is resolved when detecting that the target retransmission instruction in the at least one retransmission instruction satisfies the retransmission condition;
[0017] The target retransmission awakening unit sends the target retransmission instruction to the retransmission unit.
[0018] In some embodiments, the at least one resend instruction corresponds to a data field, and a field value of the data field is used to indicate whether the at least one resend instruction satisfies a resend condition;
[0019] The target retransmission wake-up unit determines that the abnormality of the target retransmission instruction is resolved when detecting that the target retransmission instruction in the at least one retransmission instruction satisfies the retransmission condition, including:
[0020] The target retransmission wake-up unit determines the data field corresponding to the at least one retransmission instruction based on the retransmission type corresponding to the at least one retransmission instruction;
[0021] The target resending awakening unit determines that the abnormality of the target resending instruction is resolved when the field value of the data field corresponding to the target resending instruction in the at least one resending instruction is a preset value.
[0022] In some embodiments, the at least one retransmission instruction includes a first retransmission instruction, the retransmission type includes a first retransmission type, the target retransmission wake-up unit includes a first retransmission wake-up unit, the first retransmission instruction has at least one exception source, and the data field corresponding to the first retransmission instruction includes a ready field corresponding to at least one exception source of the first retransmission instruction;
[0023] The target retransmission wake-up unit determines that the abnormality of the target retransmission instruction is resolved when the field segment value of the data field segment corresponding to the target retransmission instruction in the at least one retransmission instruction is a preset value, including:
[0024] The first retransmission wake-up unit determines that the exception of the target retransmission instruction is resolved when a field value of a ready field corresponding to at least one exception source of the target retransmission instruction in the first retransmission instruction is a first preset value.
[0025] In some embodiments, the first resending wake-up unit includes a wake-up slice, and the wake-up slice stores a preset abnormal source identifier of at least one abnormal source of the first resending instruction;
[0026] The method further comprises:
[0027] When the exception source identifier of at least one exception source of the target resend instruction in the first resend instruction is equal to the preset exception source identifier of at least one exception source of the target resend instruction, the wake-up slice sets the domain value of the ready domain corresponding to at least one exception source of the target resend instruction to the first preset value.
[0028] In some embodiments, the first retransmission type includes an accurate event type, the first retransmission wake-up unit includes an accurate event type retransmission wake-up unit, and the first retransmission instruction includes a first data loading instruction;
[0029] Among them, the first data loading instruction refers to a data loading instruction that needs to obtain data from the data field segment of the data storage instruction, and the data field segment of the data storage instruction is currently invalid. The data storage instruction is the previous instruction of the first data loading instruction, and the address of the data loading instruction is associated with the address of the first data loading instruction.
[0030] In some embodiments, the at least one retransmission instruction includes a second retransmission instruction, the retransmission type includes a second retransmission type, the target retransmission wake-up unit includes a second retransmission wake-up unit, and the data field corresponding to the second retransmission instruction includes a counter field and a ready field;
[0031] The target retransmission wake-up unit determines that the abnormality of the target retransmission instruction is resolved when the field segment value of the data field segment corresponding to the target retransmission instruction in the at least one retransmission instruction is a preset value, including:
[0032] The second retransmission wake-up unit determines that the abnormality of the target retransmission instruction is resolved when the field segment value of the counter field segment corresponding to the target retransmission instruction in the second retransmission instruction is a second preset value and the field segment value of the ready field segment corresponding to the target retransmission instruction is a first preset value.
[0033] In some embodiments, the second retransmission wake-up unit stores an initial value of a counter field corresponding to the second retransmission instruction;
[0034] The method further comprises:
[0035] The second retransmission wake-up unit reduces the field value of the counter field corresponding to the target retransmission instruction in the second retransmission instruction according to the clock cycle;
[0036] When the segment value of the counter segment decreases from the initial value to the second preset value, the second retransmission wake-up unit sets the segment value of the ready segment corresponding to the target retransmission instruction to the first preset value.
[0037] In some embodiments, the second retransmission type includes a cooling time type, the second retransmission wake-up unit includes a cooling time type retransmission wake-up unit, and the second retransmission instruction includes a second data loading instruction;
[0038] The second data loading instruction refers to a data loading instruction in which at least one level of cache data is missing.
[0039] In some embodiments, the at least one retransmission instruction includes a third retransmission instruction, the retransmission type includes a third retransmission type, and the target retransmission wakeup unit includes a third retransmission wakeup unit;
[0040] The target retransmission wake-up unit determines that the abnormality of the target retransmission instruction is resolved when detecting that the target retransmission instruction in the at least one retransmission instruction satisfies the retransmission condition, including:
[0041] The third retransmission wake-up unit determines that the abnormality of the target retransmission instruction is resolved when detecting that the target retransmission instruction in the third retransmission instruction is located at the head of the queue.
[0042] In some embodiments, the third retransmission type includes a direct wake-up type, the third retransmission wake-up unit includes a direct wake-up type retransmission wake-up unit, and the third retransmission instruction includes a third data loading instruction;
[0043] The third data loading instruction refers to a data loading instruction that causes a block conflict when accessing the data cache.
[0044] In some embodiments, the at least one resend instruction is at least two resend instructions;
[0045] The retransmission wake-up unit sends the target retransmission instruction to the retransmission unit when detecting that the abnormality of the target retransmission instruction in the at least one retransmission instruction is resolved, and further includes:
[0046] The retransmission wake-up unit sends the at least two target retransmission instructions to the search unit when detecting that the abnormality of at least two target retransmission instructions among the at least two retransmission instructions is resolved;
[0047] The searching unit searches for a first ready retransmission instruction from the at least two target retransmission instructions, and sends the first ready retransmission instruction as the target retransmission instruction to the retransmission unit.
[0048] In some embodiments, the retransmission wake-up unit is at least two retransmission wake-up units, and the target retransmission instruction is at least two target retransmission instructions;
[0049] The retransmission wake-up unit sends the target retransmission instruction to the retransmission unit when detecting that the abnormality of the target retransmission instruction in the at least one retransmission instruction is resolved, and further includes:
[0050] The at least two retransmission wake-up units send the two target retransmission instructions to the polling unit respectively;
[0051] The polling unit performs polling arbitration on the at least two target retransmission instructions, determines an arbitrated target retransmission instruction, and sends the arbitrated target retransmission instruction as the target retransmission instruction to the retransmission unit.
[0052] In some embodiments, the polling unit performs polling arbitration on the at least two target retransmission instructions, determines the arbitrated target retransmission instruction, and sends the arbitrated target retransmission instruction as the target retransmission instruction to the retransmission unit, including:
[0053] The polling unit performs polling arbitration on the at least two target retransmission instructions, determines a retransmission index corresponding to the arbitrated target retransmission instruction, and sends the retransmission index to the retransmission unit;
[0054] The method further comprises:
[0055] The retransmission unit indexes the target retransmission instruction corresponding to the retransmission index from the memory space based on the one-way linked list and the retransmission index, and obtains the target retransmission instruction stored in the memory space;
[0056] The one-way linked list stores a retransmission index corresponding to the at least one retransmission instruction, and the retransmission index is used to index the corresponding retransmission instruction in the memory space, and the at least one retransmission instruction is stored in the memory space.
[0057] In some embodiments, the at least one retransmission instruction is at least two retransmission instructions, the retransmission wake-up unit is at least two retransmission wake-up units, and the acquisition unit stores a retransmission type table, wherein the retransmission type table includes the at least two retransmission instructions and the retransmission types corresponding to the at least two retransmission instructions;
[0058] The acquiring unit receives at least one retransmission instruction and sends the at least one retransmission instruction to the retransmission wake-up unit, including:
[0059] The acquisition unit receives the at least one retransmission instruction, searches the retransmission type table, determines the retransmission types corresponding to the at least two retransmission instructions respectively, and sends the at least two retransmission instructions to the at least two retransmission wake-up units matching the retransmission types respectively.
[0060] According to another aspect of the present application, a computer device is provided, wherein the computer device includes the chip as described above.
[0061] According to another aspect of the present application, a computer device is provided, the computer device comprising: a processor and a memory, the memory storing a computer program, the computer program being loaded and executed by the processor to implement the processing method of resending instructions as described above.
[0062] According to another aspect of the present application, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores a computer program, and the computer program is loaded and executed by a processor to implement the processing method of resending instructions as described above.
[0063] According to another aspect of the present application, a computer program product is provided, which includes computer instructions, the computer instructions are stored in a computer-readable storage medium, and a processor obtains the computer instructions from the computer-readable storage medium, so that the processor loads and executes to implement the processing method of resending instructions as described above.
[0064] The beneficial effects brought by the technical solution provided by the embodiment of the present application include at least:
[0065] On the one hand, an embodiment of the present application provides a chip including a retransmission queue. By setting a retransmission queue in the chip and processing retransmission instructions through the retransmission queue, compared with the method of still using a transmission queue to process retransmission instructions in the related art, the retransmission instruction does not need to enter the transmission queue, which can avoid the retransmission instruction occupying the resources of the transmission queue and avoid the situation where subsequent instructions cannot enter the transmission queue, thereby improving the utilization rate of the transmission queue; by setting a retransmission wake-up unit in the retransmission queue to detect the target retransmission instruction whose exception is resolved, and sending the target retransmission instruction through the retransmission unit, compared with the method of the related art that the retransmission instruction can be retransmitted and executed as long as the retransmission instruction is arbitrated, it can avoid the retransmission instruction whose exception is not resolved occupying the resources of the execution pipeline, can improve the success rate of the re-execution of the target retransmission instruction, improve the utilization rate of the execution pipeline, and thus improve the utilization rate of the chip.
[0066] On the other hand, an embodiment of the present application provides a method for processing retransmitted instructions, in which a target retransmitted instruction with an exception resolved is detected by a retransmitting wake-up unit, and the target retransmitted instruction is sent by a retransmitting unit. Compared with the method in the related art that the retransmitted instruction can be retransmitted and executed as long as the retransmitted instruction is arbitrated, it is possible to avoid the retransmitted instructions with unresolved exceptions occupying the resources of the execution pipeline, and can improve the success rate of re-execution of the target retransmitted instruction, improve the utilization rate of the execution pipeline, and improve the processing efficiency of the retransmitted instructions. Therefore, when a chip including a retransmit queue adopts this scheme to process the retransmitted instruction, the utilization rate of the chip can be improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0067] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0068] Figure 1 A structural block diagram of a computer system provided by an exemplary embodiment is shown;
[0069] Figure 2A schematic diagram showing a related technology provided by an exemplary embodiment;
[0070] Figure 3 A schematic diagram of a chip including a retransmission queue provided by an exemplary embodiment is shown;
[0071] Figure 4 A schematic diagram of a chip including a retransmission queue provided by an exemplary embodiment is shown;
[0072] Figure 5 A schematic diagram of a chip including a retransmission queue provided by an exemplary embodiment is shown;
[0073] Figure 6 A schematic diagram of a chip including a retransmission queue provided by an exemplary embodiment is shown;
[0074] Figure 7 A schematic diagram of a chip including a retransmission queue provided by an exemplary embodiment is shown;
[0075] Figure 8 A schematic diagram of a chip including a retransmission queue provided by an exemplary embodiment is shown;
[0076] Fig. 9 A schematic diagram of a chip including a retransmission queue provided by an exemplary embodiment is shown;
[0077] Fig.10 A schematic diagram of a singly linked list provided by an exemplary embodiment is shown;
[0078] Fig.11 A schematic diagram of a resending instruction provided by an exemplary embodiment is shown;
[0079] Fig.12 A schematic diagram of a resending instruction provided by an exemplary embodiment is shown;
[0080] Fig.13 A structural diagram of a chip including a retransmission queue provided by an exemplary embodiment is shown;
[0081] Fig.14 A schematic diagram showing a data flow provided by an exemplary embodiment is shown;
[0082] Fig.15 A schematic diagram showing a method for processing a resending instruction provided by an exemplary embodiment is shown;
[0083] Fig.16 A structural block diagram of a computer device provided by an exemplary embodiment is shown. DETAILED DESCRIPTION
[0084] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.
[0085] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.
[0086] The terms used in this application are for the purpose of describing specific embodiments only and are not intended to limit this application. The singular forms of "a", "said" and "the" used in this application and the appended claims are also intended to include plural forms unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used herein refers to and includes any or all possible combinations of one or more associated listed items.
[0087] It should be understood that, although the terms first, second, etc. may be used in the present application to describe various information, these information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of the present application, the first parameter may also be referred to as the second parameter, and similarly, the second parameter may also be referred to as the first parameter. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".
[0088] It should be noted that before collecting relevant data of users (such as various types of instructions, resend instructions, etc.) and during the process of collecting relevant data of users, this application can display a prompt interface, pop-up window or output voice prompt information, and the prompt interface, pop-up window or voice prompt information is used to prompt the user that its relevant data is currently being collected, so that this application only starts to execute the relevant steps of obtaining relevant data of users after obtaining the confirmation operation issued by the user to the prompt interface or pop-up window, otherwise (that is, when the confirmation operation issued by the user to the prompt interface or pop-up window is not obtained), the relevant steps of obtaining relevant data of users are terminated, that is, the relevant data of users are not obtained. In other words, all user data collected by this application are collected with the consent and authorization of the user, and the collection, use and processing of relevant user data need to comply with the relevant laws, regulations and standards of relevant countries and regions.
[0089] Figure 1The block diagram of the structure of a computer system 100 provided by an exemplary embodiment of the present application is shown. The computer system 100 can be implemented as a system architecture of a method for processing a retransmission instruction. The computer system 100 includes: a terminal 120 and a server 140. Among them, a chip including a retransmission queue is provided in the terminal 120 and / or the server 140, and the above-mentioned method for processing a retransmission instruction can be specifically implemented by the chip including a retransmission queue provided in the terminal 120 and / or the server 140.
[0090] The terminal 120 can be an electronic device such as a mobile phone, a tablet computer, a vehicle-mounted terminal (vehicle computer), a wearable device, a PC (Personal Computer), an unmanned reservation terminal, etc. A client that runs a target application can be installed in the terminal 120. The target application can be an application for processing various instructions, or other applications that provide instruction processing functions, and this application does not limit this. The above-mentioned various instructions include operation instructions (such as addition operation instructions, subtraction operation instructions), data transmission instructions (such as data loading instructions, data storage instructions), control instructions (such as input and output instructions), etc. In addition, this application does not limit the form of the target application, including but not limited to App (Application, application) installed in the terminal 120, applets, etc., and can also be in the form of a web page.
[0091] Server 140 may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services, cloud database, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDN), and cloud servers for basic cloud computing services such as big data and artificial intelligence platforms. Server 140 may be a backend server of the above-mentioned target application, used to provide backend services for the client of the target application.
[0092] Among them, cloud technology refers to a hosting technology that unifies hardware, software, network and other resources in a wide area network or local area network to realize data computing, storage, processing and sharing. Cloud technology is a general term for network technology, information technology, integration technology, management platform technology, application technology, etc. based on the cloud computing business model. It can form a resource pool, which is used on demand and is flexible and convenient. Cloud computing technology will become an important support. The background services of technical network systems require a large amount of computing and storage resources, such as video websites, picture websites and more portal websites. With the high development and application of the Internet industry, in the future, each item may have its own identification mark, and all need to be transmitted to the background system for logical processing. Data of different levels will be processed separately. All kinds of industry data require strong system backing support, which can only be achieved through cloud computing.
[0093] In some embodiments, the server 140 can also be implemented as a node in a blockchain system. Blockchain is a new application model of computer technologies such as distributed data storage, point-to-point transmission, consensus mechanism, and encryption algorithm. Blockchain is essentially a decentralized database, a string of data blocks generated by cryptographic methods. Each data block contains a batch of network transaction information, which is used to verify the validity of its information (anti-counterfeiting) and generate the next block. Blockchain can include the blockchain underlying platform, platform product service layer, and application service layer.
[0094] The terminal 120 and the server 140 may communicate with each other via a network, such as a wired or wireless network.
[0095] In the method for processing retransmission instructions provided in the embodiment of the present application, the execution subject of each step may be a computer device, specifically a chip including a retransmission queue provided in the computer device, and the computer device refers to an electronic device with data calculation, processing and storage capabilities. Figure 1 Taking the implementation environment of the scheme shown as an example, the method for processing retransmission instructions can be executed by the terminal 120 (for example: the chip including a retransmission queue set in the terminal 120 executes the method for processing retransmission instructions), or the method for processing retransmission instructions can be executed by the server 140 (for example: the chip including a retransmission queue set in the server 140 executes the method for processing retransmission instructions), or the terminal 120 and the server 140 interact and cooperate to execute (for example: the chips including retransmission queues respectively set in the terminal 120 and the server 140 execute the method for processing retransmission instructions), and the present application does not limit this.
[0096] Those skilled in the art will appreciate that the number of the above-mentioned terminals 120 may be more or less. For example, the above-mentioned terminal 120 may be only one, or the above-mentioned terminals 120 may be dozens or hundreds, or more. The embodiment of the present application does not limit the number and device type of the terminals 120.
[0097] The instructions executed by the chip in the computer device include many types, such as operation instructions (such as addition operation instructions, subtraction operation instructions), data transfer instructions (such as data loading instructions, data storage instructions), control instructions (such as input and output instructions), etc. Among them, the execution of operation instructions generally only requires one clock cycle, and as long as they are issued, they will be executed successfully. The execution of data transfer instructions generally requires multiple clock cycles, and the execution is not necessarily successful. During the execution process, various exceptions may be encountered, such as cache misses, missing dependent preceding instruction data, etc. The occurrence of these exceptions causes the data transfer instructions to be re-executed until they are successfully executed.
[0098] In the related art, the issue queue (Issue Queue) issues a command, enters the execution pipeline (ExecutePipeline) for execution, and after the execution is completed, it is determined whether the command is executed successfully (Execute Success). If the execution is successful, it is directly written back (Write Back), otherwise the command needs to re-enter the issue queue and wait for the next issuance. The command is also called a replay command. Specifically, the replay command needs to participate in arbitration with other commands in the issue queue. When the replay command is arbitrated, it enters the execution pipeline for re-execution. If the re-execution fails, it needs to re-enter the issue queue until the execution is successful. The replay command can leave the issue queue.
[0099] Specifically, Figure 2A schematic diagram of a related technology provided by an exemplary embodiment of the present application is shown. The emission queue 201 includes a subtraction instruction (Sub), an addition instruction (Add), and a multiplication instruction (Mul) in a waiting (Wait) state, and a data loading instruction (Load) and a data storage instruction (Store) in a replay (Replay) state. The data loading instruction (Load) and the data storage instruction (Store) in the emission queue 201 need to participate in arbitration together with the subtraction instruction (Sub), the addition instruction (Add), and the multiplication instruction (Mul). When the data loading instruction (Load) or the data storage instruction (Store) is arbitrated, it enters the execution pipeline 202 for re-execution. The execution pipeline 202 determines whether the execution is successful 203. If the re-execution is successful, it is written back 204. If the re-execution fails, it needs to re-enter the emission queue 201 until the execution is successful before leaving the emission queue 201.
[0100] The disadvantages of the related art include at least:
[0101] 1. The retransmitted instructions that failed to execute need to return to the transmission queue and wait for the next transmission. Since the transmission queue has limited capacity, if it is occupied by a large number of retransmitted instructions, subsequent instructions cannot enter the transmission queue, which will form back pressure and lead to low utilization of the retransmitted queue;
[0102] 2. The reissued instructions in the transmission queue can be executed again as long as they are arbitrated. If the exception of the reissued instruction cannot be resolved in a short time, the reissued instruction will fail to execute within this time period. The reissued instruction will occupy the resources of the execution pipeline when it is re-executed, resulting in low utilization of the execution pipeline;
[0103] The above-mentioned related technologies will result in low chip utilization.
[0104] The embodiments of the present application propose solutions to the above-mentioned shortcomings of the related art:
[0105] 1. Set up a retransmission queue. When there is a retransmission instruction, the retransmission instruction is stored in the retransmission queue. The retransmission instruction does not need to be returned to the transmission queue. The transmission queue can continue to receive subsequent instructions for execution, thereby improving the utilization rate of the transmission queue;
[0106] 2. The retransmission queue distributes the retransmission instruction to the retransmission wake-up unit. After the exception is resolved, the retransmission instruction is woken up and enters the execution pipeline for execution, which improves the execution success rate of the retransmission instruction and the utilization rate of the execution pipeline;
[0107] Therefore, the embodiments of the present application can effectively improve the utilization rate of the chip.
[0108] Figure 3 A schematic diagram of a chip including a replay queue provided by an exemplary embodiment of the present application is shown. The transmission queue 201 includes a subtraction instruction (Sub), an addition instruction (Add), and a data loading instruction (Load) in a waiting (Wait) state. The transmission queue 201 sends the data loading instruction (Load) to the execution pipeline 202 for execution, and the execution pipeline 202 determines whether the execution is successful 203. If the execution is successful, it writes back 204. If the execution fails, the data loading instruction (Load) is a replay (Replay) instruction, and the execution pipeline 202 sends the data loading instruction (Load) to the replay queue (Replay Queue) 205. The replay queue 205 is a parallel bypass of the transmission queue 201 and the execution pipeline 202, and the data processing inside the three can be executed in parallel. Specifically, the replay queue 205 may include an acquisition unit, a replay wake-up unit, and a replay unit, the output end of the acquisition unit is connected to the input end of the replay wake-up unit, and the output end of the replay wake-up unit is connected to the input end of the replay unit. The acquisition unit is used to receive the data loading instruction (Load), and send the data loading instruction (Load) to the retransmission wake-up unit. The retransmission wake-up unit is used to send the data loading instruction (Load) to the retransmission unit when it detects that the abnormality of the data loading instruction (Load) is resolved; the retransmission unit is used to send the data loading instruction (Load) to send the data loading instruction (Load) to the execution pipeline 202 for re-execution.
[0109] In summary, the embodiment of the present application provides a chip including a retransmission queue, by setting a retransmission queue in the chip, and processing the retransmission instruction through the retransmission queue, compared with the method of still using the transmission queue to process the retransmission instruction in the related art, the retransmission instruction does not need to enter the transmission queue, which can avoid the retransmission instruction occupying the resources of the transmission queue and avoid the situation where subsequent instructions cannot enter the transmission queue, thereby improving the utilization rate of the transmission queue; by setting a retransmission wake-up unit in the retransmission queue to detect the target retransmission instruction whose exception is resolved, and sending the target retransmission instruction through the retransmission unit, compared with the method of the related art that the retransmission instruction can be retransmitted and executed as long as the retransmission instruction is arbitrated, it can avoid the retransmission instruction whose exception is not resolved occupying the resources of the execution pipeline, can improve the success rate of the re-execution of the target retransmission instruction, improve the utilization rate of the execution pipeline, and thus can improve the utilization rate of the chip.
[0110] Figure 4A schematic diagram of a chip 200 including a retransmission queue 210 provided by an exemplary embodiment of the present application is shown. The retransmission queue 210 includes an acquisition unit 211, a retransmission wake-up unit 212, and a retransmission unit 213, wherein the output end of the acquisition unit 211 is connected to the input end of the retransmission wake-up unit 212, and the output end of the retransmission wake-up unit 212 is connected to the input end of the retransmission unit 213.
[0111] In some embodiments, chip 200 further includes an issue queue and an execution pipeline, as shown in FIG. Figure 2 The transmission queue 201 and the execution pipeline 202 are shown. The output end of the transmission queue is connected to the input end of the execution pipeline, so that the transmission queue sends instructions to the execution pipeline for execution; the reissue queue can be used as a parallel bypass of the transmission queue, and the output end of the reissue queue is connected to the input end of the execution pipeline, so that the reissue queue sends reissue instructions to the execution pipeline for execution. For the execution pipeline connected to the transmission queue, the output end of the execution pipeline is connected to the input end of the reissue queue, so that the execution pipeline pushes the abnormally executed instructions as reissue instructions into the reissue queue.
[0112] It should be noted that in the above connection relationship, the input end and output end of the retransmission queue are respectively connected to the execution pipeline, wherein the input end of the retransmission queue is connected to the execution pipeline corresponding to the transmission queue, and the function of the execution pipeline is to push the instruction with abnormal execution into the retransmission queue as the retransmission instruction; the output end of the retransmission queue is connected to the execution pipeline corresponding to itself, and the function of the execution pipeline is to re-execute the retransmission instruction. These two execution pipelines can be the same execution pipeline or different execution pipelines, which is not limited in this embodiment.
[0113] In this embodiment, the reissue queue 210 is a parallel bypass of the emission queue and the execution pipeline, and the data processing within the three can be executed in parallel. For example, at time 1, the emission queue sends instruction 1 from multiple instructions to the execution pipeline for execution. The execution of instruction 1 is abnormal this time and is pressed into the reissue queue as reissue instruction 1. At time 2, the emission queue sends instruction 2 from multiple instructions to the execution pipeline for execution. The execution of instruction 2 is normal this time. At the same time, at time 2, the reissue queue can detect whether the abnormality of reissue instruction 1 is resolved. That is, the data processing within the three is executed in parallel.
[0114] The acquisition unit 211 is used to receive at least one resend instruction and send the at least one resend instruction to the resend wake-up unit 212; the at least one resend instruction is an instruction with an execution exception.
[0115] The acquisition unit is a unit used to receive (or acquire) at least one resend instruction.
[0116] At least one of the reissued instructions is the instruction for which an exception occurred during execution.
[0117] Exemplarily, an instruction is sent from the issue queue to the execution pipeline for execution. If there is an exception in this execution, the instruction is an instruction with execution exception, and the instruction is called a reissue instruction, and the instruction is pushed into the reissue queue to wait for subsequent reissue.
[0118] Optionally, the exception is also called a resend reason, including at least one of a program error, an interrupt (such as an external hardware interrupt or a software interrupt), a trap, a system call, invalidity, overflow, data cache miss, address conversion exception, and address misalignment. For a resend instruction, the exceptions of the resend instruction may be one or more.
[0119] Optionally, the instruction type of the reissued instruction includes at least one of: operation instructions (such as addition operation instructions, subtraction operation instructions), data transmission instructions (such as data loading instructions, data storage instructions), and control instructions (such as input and output instructions).
[0120] The retransmission wake-up unit 212 is configured to send the target retransmission instruction to the retransmission unit 213 when detecting that the abnormality of the target retransmission instruction in at least one retransmission instruction is resolved.
[0121] The reissue wake-up unit is a unit for detecting whether the at least one reissue instruction is abnormally resolved. Alternatively, the reissue wake-up unit is a unit for selecting a target reissue instruction for which the abnormality is resolved among the at least one reissue instruction.
[0122] The target reissued instruction is a reissued instruction whose exception is resolved in at least one reissued instruction. If the exception of the target reissued instruction has been resolved, it means that the probability of the target reissued instruction being successfully executed when re-executed is relatively high, and the target reissued instruction can be reissued to the execution pipeline for execution.
[0123] In some embodiments, a retransmission wake-up unit is used to send a target retransmission instruction to the retransmission unit. It is understandable that when there are multiple parallel retransmission wake-up units in the retransmission queue, multiple target retransmission instructions can be determined and sent to the retransmission unit.
[0124] The retransmission unit 213 is used to send a target retransmission instruction; the target retransmission instruction is used to be re-executed after being sent.
[0125] The retransmission unit is a unit for sending (or retransmitting) a target retransmission instruction.
[0126] Exemplarily, the resending unit is used to send the target resending instruction to the execution pipeline for re-execution, that is, the target resending instruction is used to be re-executed after being sent.
[0127] In summary, an embodiment of the present application provides a chip including a retransmission queue, the retransmission queue includes an acquisition unit, a retransmission wake-up unit and a retransmission unit, the output end of the acquisition unit is connected to the input end of the retransmission wake-up unit, and the output end of the retransmission wake-up unit is connected to the input end of the retransmission unit; the acquisition unit is used to receive at least one retransmission instruction and send at least one retransmission instruction to the retransmission wake-up unit; at least one retransmission instruction is an instruction in which an exception occurs during execution; the retransmission wake-up unit is used to send a target retransmission instruction to the retransmission unit when it is detected that the exception of the target retransmission instruction in at least one retransmission instruction is resolved; the retransmission unit is used to send a target retransmission instruction; the target retransmission instruction is used to be re-executed after sending. Accordingly, the retransmission instruction is processed by the retransmission queue in the chip. Compared with the method in the related art that still uses the transmission queue to process the retransmission instruction, the retransmission instruction does not need to enter the transmission queue, which can avoid the retransmission instruction occupying the resources of the transmission queue and avoid the situation where subsequent instructions cannot enter the transmission queue, thereby improving the utilization rate of the transmission queue; by setting a retransmission wake-up unit in the retransmission queue to detect the target retransmission instruction whose exception is resolved, and sending the target retransmission instruction through the retransmission unit, compared with the method in the related art that the retransmission instruction can be retransmitted and executed as long as the retransmission instruction is arbitrated, it can avoid the retransmission instruction whose exception is not resolved occupying the resources of the execution pipeline, can improve the success rate of the re-execution of the target retransmission instruction, improve the utilization rate of the execution pipeline, and thus improve the utilization rate of the chip.
[0128] Retransmission wake-up unit 212
[0129] In some embodiments, the resend instruction corresponds to a replay type (Replay Type). The replay type corresponds to the instruction type and replay reason (Replay Reason) of the resend instruction. The replay reason, i.e., the reason for the failure of the instruction execution, includes: at least one of program error, interrupt, trap, system call, invalid, overflow, data cache miss, address conversion exception, and address misalignment. The instruction type of the resend instruction includes: at least one of operation instruction, data transfer instruction, and control instruction.
[0130] For example, retransmission instruction 1 corresponds to instruction type 1 and retransmission reason 1, then the retransmission instruction 1 corresponds to retransmission type 1; retransmission instruction 1 corresponds to instruction type 1 and retransmission reason 2, then the retransmission instruction 1 corresponds to retransmission type 2; retransmission instruction 2 corresponds to instruction type 2 and retransmission reason 2, then the retransmission instruction 2 corresponds to retransmission type 2; retransmission instruction 2 corresponds to instruction type 2 and retransmission reason 1, then the retransmission instruction corresponds to retransmission type 3. The corresponding relationship in an example can be shown in the following Table 1:
[0131] Table 1 Correspondence
[0132]
[0133] In this embodiment, for the same retransmission instruction, if the retransmission reasons are different, the corresponding retransmission types may also be different. For different retransmission instructions, if the retransmission reasons are the same, the corresponding retransmission types may also be the same. The correspondence between the instruction type, retransmission reason, and retransmission type of the retransmission instruction can be pre-set according to actual technical needs. Optionally, the correspondence is stored in the form of a table.
[0134] In some embodiments, the retransmission queue includes multiple parallel retransmission wake-up units, and each of the multiple retransmission wake-up units is used to process a retransmission instruction of a retransmission type. Then the retransmission wake-up unit is at least two retransmission wake-up units, and the acquisition unit is respectively connected to the input ends of the at least two retransmission wake-up units, and the output ends of the at least two retransmission wake-up units are respectively connected to the input ends of the retransmission units. At least two retransmission wake-up units correspond one to one with the retransmission type. Optionally, at least two retransmission wake-up units include a target retransmission wake-up unit, and the target retransmission wake-up unit matches the retransmission type corresponding to at least one retransmission instruction received by the acquisition unit.
[0135] The target retransmission wake-up unit is used to determine that the abnormality of the target retransmission instruction is resolved when it is detected that the target retransmission instruction in at least one retransmission instruction meets the retransmission condition.
[0136] The target retransmission awakening unit is one of the at least two retransmission awakening units, wherein the retransmission type corresponding to the target retransmission awakening unit matches the retransmission type of at least one retransmission instruction received by the acquisition unit.
[0137] In some embodiments, the acquisition unit is used to acquire at least one retransmission instruction under various retransmission types, and the acquisition unit is used to push at least one retransmission instruction into a target retransmission wake-up unit that matches the retransmission type of the at least one retransmission instruction based on the retransmission type corresponding to the at least one retransmission instruction.
[0138] The retransmission condition refers to a condition used to characterize the abnormal removal of the target retransmission instruction. The retransmission condition can be set based on the retransmission type corresponding to the retransmission instruction. For example, retransmission type 1 corresponds to retransmission condition 1. When the retransmission instruction is retransmission type 1, the target retransmission instruction in the retransmission instruction satisfies retransmission condition 1, and the abnormal removal of the target retransmission instruction is determined.
[0139] In some embodiments, a retransmission instruction has a corresponding data field, wherein the specific type of the data field can be determined according to the retransmission type corresponding to the retransmission instruction, and whether the retransmission instruction satisfies the retransmission condition can be determined according to the field value of the data field. For example, if retransmission instruction 1 corresponds to retransmission type 1, then the retransmission instruction has a corresponding data field 1, and when the field value of data field 1 is preset to be 0, the retransmission instruction 1 does not meet the retransmission condition, and when the field value of the data field is preset to be 1, the retransmission instruction 1 meets the retransmission condition. Thus, based on the retransmission type corresponding to the retransmission instruction and the field value of the data field, it can be determined whether the retransmission instruction meets the retransmission condition, that is, whether the retransmission instruction is abnormally resolved.
[0140] Exemplarily, at least one resend instruction corresponds to a data field, and a field value of the data field is used to indicate whether the at least one resend instruction satisfies the resend condition.
[0141] The target retransmission wake-up unit is used to determine the data field corresponding to at least one retransmission instruction based on the retransmission type corresponding to at least one retransmission instruction; when the field value of the data field corresponding to the target retransmission instruction in at least one retransmission instruction is a preset value, determine that the abnormality of the target retransmission instruction is resolved.
[0142] The data field corresponding to the at least one retransmission instruction is determined based on the retransmission type of the at least one retransmission instruction. The preset value is a field value of the data field set in advance.
[0143] Optionally, when the field value of the data field corresponding to the target reissue instruction in at least one reissue instruction is a preset value, it is determined that the abnormality of the target reissue instruction is resolved, and the target reissue instruction can be reissued. On the contrary, when the field value of the data field corresponding to the target reissue instruction in at least one reissue instruction is not a preset value, it is determined that the abnormality of the target reissue instruction has not been resolved yet, and the target reissue instruction does not need to be reissued, and even if it is reissued to the execution pipeline for execution, the possibility of execution failure is very high.
[0144] In the above embodiment, by setting the retransmission condition, the target retransmission wake-up unit is used to determine whether the exception of the target retransmission instruction is resolved when the target retransmission instruction meets the retransmission condition, which is conducive to the subsequent sending of the target retransmission instruction to the retransmission unit for sending, and can quickly detect the target retransmission instruction with the exception resolved, thereby improving the processing efficiency of the retransmission instruction.
[0145] In the following embodiments, a specific type of target retransmission wake-up unit is taken as an example for description.
[0146] For example, Figure 5 A schematic diagram of a chip 200 including a retransmission queue 210 provided by an exemplary embodiment of the present application is shown. Taking the retransmission wake-up unit 212 including a first retransmission wake-up unit 212-1, a second retransmission wake-up unit 212-2, and a third retransmission wake-up unit 212-3 in parallel as an example, the output end of the acquisition unit 211 is connected to the input ends of the first retransmission wake-up unit 212-1, the second retransmission wake-up unit 212-2, and the third retransmission wake-up unit 212-3, respectively, and the output ends of the first retransmission wake-up unit 212-1, the second retransmission wake-up unit 212-2, and the third retransmission wake-up unit 212-3 are connected to the input end of the retransmission unit 213, respectively.
[0147] First retransmission wake-up unit 212-1
[0148] In some embodiments, at least one retransmission instruction includes a first retransmission instruction, the retransmission type includes a first retransmission type, the target retransmission wake-up unit includes a first retransmission wake-up unit, there is at least one exception source in the first retransmission instruction, and the data field segment corresponding to the first retransmission instruction includes a ready field segment corresponding to at least one exception source of the first retransmission instruction.
[0149] An exception source is the source of an instruction's exception. A reissue instruction may optionally have one or more exception sources.
[0150] Optionally, the exception source includes: at least one of the sources corresponding to program error, interrupt, trap, system call, invalid, overflow, data cache miss, address translation exception, and address misalignment. For example, the exception source of the program error may be the instruction itself, the exception source corresponding to the interrupt may be external hardware or software, the exception source corresponding to the system call may be other coprocessors, the exception source of the data cache miss may be other data storage instructions or other data loading instructions associated with the instruction, and so on.
[0151] In some embodiments, at least one exception source of the first reissue instruction corresponds to a ready domain segment. When the domain segment value of the ready domain segment is the first preset value, it means ready, that is, the exception is resolved. Among them, the first preset value can be set to 1. Optionally, all exception sources of at least one exception source of the first reissue instruction can share a ready domain segment, and when all exception sources are ready, the domain segment value of the ready domain segment is adjusted to the first preset value. At this time, the first reissue wake-up unit only needs to determine whether the first reissue instruction is abnormally resolved based on the domain segment value of the ready domain segment. It can also be that each exception source of at least one exception source of the first reissue instruction corresponds to a ready domain segment, and when each exception source is ready, the corresponding ready domain segment is adjusted to the first preset value. At this time, the first reissue wake-up unit needs to determine whether the first reissue instruction is abnormally resolved based on the domain segment value of all ready domain segments.
[0152] The first retransmission wake-up unit 212-1 is configured to determine that the exception of the target retransmission instruction is resolved when a field value of a ready field corresponding to at least one exception source of the target retransmission instruction in the first retransmission instruction is a first preset value.
[0153] Exemplarily, each of the at least one exception source of the first resend instruction is set to correspond to a ready domain segment. Each exception source is represented by an exception source identifier (Wake-up Index, Wiid). The first resend wake-up unit is used to determine that the exception of the target resend instruction is resolved, that is, the target resend instruction meets the resend condition, when the domain segment value of the ready domain segment corresponding to each of the at least one exception source of the target resend instruction in the first resend instruction is a first preset value.
[0154] In some embodiments, the first retransmission wake-up unit includes a wake-up slice (Wake-up Slice, Wus), and the wake-up slice stores a preset exception source identifier of at least one exception source of the first retransmission instruction. Optionally, the wake-up slice can be in the form of a table, storing the preset exception source identifier of each exception source. The number of wake-up slices of the first retransmission wake-up unit is the same as the number of exception sources of the first retransmission instruction. A wake-up switch is used to process the wake-up of one exception source among the at least one exception source.
[0155] A wake-up slice is used to set the domain segment value of the ready domain segment corresponding to at least one exception source of the target reissue instruction to a first preset value when the exception source identifier of at least one exception source of the target reissue instruction in the first reissue instruction is equal to the preset exception source identifier of at least one exception source of the target reissue instruction.
[0156] Exemplarily, the wake-up slice is used for when the exception source identifier of at least one exception source of the target retransmit instruction in the first retransmit instruction is equal to the preset exception source identifier of a certain exception source of at least one exception source of the target retransmit instruction stored in the table, then it indicates that the exception source can be woken up, and the field segment value of the ready field segment of the exception source is set to the first preset value.
[0157] For example, the first preset value is set to 1. The target resend instruction input to the first resend wake-up unit includes three exception sources, which are processed using three wake-up slices accordingly. In one wake-up slice, when the exception source identifier of the input exception source is equal to the preset exception source identifier of a pre-stored exception source, it indicates that the exception source can be awakened, and the field value of the ready field corresponding to the exception source is set to 1. The ready fields of the three wake-up slices are bitwise ANDed. When all three exception sources of the target resend instruction are ready, that is, the three ready fields are all 1, it indicates that the target resend instruction exception is resolved, that is, the target resend instruction meets the resend conditions.
[0158] Exemplarily, the first retransmission type includes an accurate event type, the first retransmission wake-up unit includes an accurate event type retransmission wake-up unit, and the first retransmission instruction includes a first data loading instruction (Load); wherein the first data loading instruction refers to a data loading instruction that needs to obtain data from a data field segment of a data storage instruction (Store), and the data field segment of the data storage instruction is currently invalid, the data storage instruction is a preceding instruction of the first data loading instruction, and the address of the data loading instruction is associated with the address of the first data loading instruction.
[0159] Fig.11 A schematic diagram of a resend instruction provided by an exemplary embodiment of the present application is shown. Fig.11It is an accurate event-type retransmission instruction, in which the data storage instruction writes data to the specified address of the specified memory. The data storage instruction has two operands, namely the address of the data storage instruction and the data storage instruction. In some processors, the data storage instruction address pipeline (Store Address Pipeline) 231 and the data storage instruction data pipeline (Store Data Pipeline) 232 are separated. After leaving the above pipeline, the data storage instruction will enter the storage queue (StoreQueue) 233. If the subsequent data loading instruction has an address dependency with the previous data storage instruction, the data loading instruction can directly obtain data from the storage queue. If the address of the data storage instruction has been calculated, but the data has not been calculated, its address field is valid and the data field is invalid in the storage queue. Through address comparison, it is found that the address of the data loading instruction is the same as the address of the data storage instruction, and the data storage instruction comes first, so the data of the data loading instruction needs to be obtained from the data field of the data storage instruction. Since the data field of the data storage instruction is currently invalid, the data loading instruction needs to be resent. This embodiment also refers to the data loading instruction as the first data loading instruction.
[0160] The exception in this embodiment is called an accurate event type exception. The storage queue index (Store Queue Index) of the data storage instruction can be used as the exception source identifier (Wuid). When the data of the data storage instruction is ready, it can be used as a wake-up event to notify the wake-up slice (Wus). After the wake-up slice captures the wake-up event, if the exception source identifier matches, the field value of the corresponding ready field is set to 1. In the case that the data loading instruction has only this one exception source, the data loading instruction meets the retransmission condition and can be retransmitted later through the arbitration circuit.
[0161] In the above embodiment, by setting a first retransmission wake-up unit, the first retransmission wake-up unit is specifically an accurate event type retransmission wake-up unit, which can specifically process the accurate event type retransmission instructions, can improve the effect of detecting whether the abnormality of the retransmission instructions is resolved, and improve the processing efficiency of the retransmission instructions.
[0162] Second retransmission wake-up unit 212-2
[0163] In some embodiments, at least one retransmission instruction includes a second retransmission instruction, the retransmission type includes a second retransmission type, the target retransmission wake-up unit includes a second retransmission wake-up unit, and the data field corresponding to the second retransmission instruction includes a counter (Count, Cnt) field and a ready (Ready) field.
[0164] In some embodiments, the data field corresponding to the second resend instruction includes both a counter field and a ready field. Only when both the counter field and the ready field meet corresponding preset values can it be determined that the abnormality of the second resend instruction is resolved.
[0165] The second retransmission wake-up unit 212-2 is used to determine that the abnormality of the target retransmission instruction is resolved when the field segment value of the counter field segment corresponding to the target retransmission instruction in the second retransmission instruction is the second preset value and the field segment value of the ready field segment corresponding to the target retransmission instruction is the first preset value.
[0166] Exemplarily, the first preset value and the second preset value are different preset values. The second retransmission wake-up unit is used to determine that the abnormality of the target retransmission instruction is resolved when the field segment value of the counter field segment corresponding to the target retransmission instruction in the second retransmission instruction is the second preset value and the field segment value of the ready field segment corresponding to the target retransmission instruction is the first preset value.
[0167] In some embodiments, the second retransmission wake-up unit stores the initial value of the counter domain segment corresponding to the second retransmission instruction. Among them, the initial value of the counter domain segment is used to represent the cooling time. The initial value can be set according to the instruction type and retransmission reason of the second retransmission instruction, and the unit of the initial value is clock cycle. For example, the second retransmission instruction is a data loading instruction, and the retransmission reason is the missing data of the second level (L2), then the initial value can be set according to the longest delay time of the second level return data. Optionally, the correspondence between the instruction type, retransmission reason, and initial value of the counter domain segment of the second retransmission instruction can be stored in the form of a table.
[0168] The second retransmission wake-up unit 212-2 is used to reduce the field segment value of the counter field segment corresponding to the target retransmission instruction in the second retransmission instruction according to the clock cycle; when the field segment value of the counter field segment is reduced from the initial value to the second preset value, the field segment value of the ready field segment corresponding to the target retransmission instruction is set to the first preset value.
[0169] Exemplarily, the second retransmission wake-up unit is used to reduce the field segment value of the counter field segment corresponding to the target retransmission instruction in the second retransmission instruction according to the clock cycle, and the field segment value starts to decrease from an initial value. Then, when the field segment value of the counter field segment decreases from the initial value to the second preset value, the field segment value of the ready field segment corresponding to the target retransmission instruction is set to the first preset value.
[0170] For example, the first preset value is set to 1, and the second preset value is set to 0. The target resend instruction is input to the second resend wake-up unit, and the second resend wake-up unit sets an initial value for the counter field segment of the target resend instruction according to the instruction type and the resend reason, and the initial value is reduced by 1 in each clock cycle. When the initial value is reduced to 0, the field segment value of the ready field segment of the target resend instruction is set to 1, indicating that the target resend instruction meets the resend condition.
[0171] Exemplarily, the second retransmission type includes a cooling time type, the second retransmission wake-up unit includes a cooling time type retransmission wake-up unit, and the second retransmission instruction includes a second data loading instruction; wherein the second data loading instruction refers to a data loading instruction in which there is at least one level of cache data missing.
[0172] Fig.12 A schematic diagram of a resend instruction provided by an exemplary embodiment of the present application is shown. Fig.12 It is a resend instruction of the cooling time type. Among them, data cache (Dcache) miss is a typical source of cooling time type exception. The data cache is usually divided into multiple levels. For the data loading instruction (Load), the load storage unit (Load Store Unit, LSU) 241 first queries the first-level data cache (L1 Dcache) 242. When the data is hit in the first-level data cache 242, the data can be directly obtained. When the data is not hit in the first-level data cache, the second-level data cache (L2Dcache) 243 is queried. When the data is not hit in the second-level data cache 243, the query is performed from the data cache of the lower level. Among them, if the data loading instruction misses the data in the first-level data cache 242, it means that a cache miss exception occurs, and the data loading instruction needs to be resent. This embodiment also refers to the data loading instruction as the first data loading instruction. If it is found that the second-level data cache 243 hits data at this time, it means that the data loading instruction can obtain data in a short time, and the cooling time (the initial value of the counter field segment) can be set to a number less than the threshold. If it is found that the second-level data cache 243 still does not hit data, the cooling time can be set to a number greater than the preset value, that is, the cooling time is an empirical value set based on actual technical needs, and is usually determined based on the time for returning data to different levels of cache.
[0173] In the above embodiment, by setting a second retransmission wake-up unit, the second retransmission wake-up unit is specifically a cooling time type retransmission wake-up unit, which can specifically process the quasi-cooling time type retransmission instructions, can improve the effect of detecting whether the abnormality of the retransmission instructions is resolved, and improve the processing efficiency of the retransmission instructions.
[0174] In some embodiments, for a portion of the first retransmission instructions, the first retransmission wake-up unit can determine whether the first retransmission instruction is abnormally resolved, and wake up when the abnormality is resolved. For another portion of the first retransmission instructions, a cooling time after wake-up can also be set. For this portion of the first retransmission instructions, after being awakened by the first retransmission wake-up unit, a second awakening is performed by the second retransmission wake-up unit.
[0175] Exemplarily, the retransmission wake-up unit specifically includes a first retransmission wake-up unit and a second retransmission wake-up unit, the output end of the first retransmission wake-up unit is also connected to the input end of the second retransmission wake-up unit, and the output end of the second retransmission wake-up unit is connected to the input end of the retransmission unit. Then the first retransmission wake-up unit is used to send the target retransmission instruction to the second retransmission wake-up unit when the field segment value of the ready field segment corresponding to at least one abnormal source of the target retransmission instruction in the first retransmission instruction is a first preset value. The second retransmission wake-up unit is used to determine that the abnormality of the target retransmission instruction is resolved when the field segment value of the counter field segment corresponding to the target retransmission instruction is a second preset value and the field segment value of the ready field segment corresponding to the target retransmission instruction is a first preset value.
[0176] In the above embodiment, by simultaneously setting the first retransmission wake-up unit and the second retransmission wake-up unit, the first retransmission wake-up unit is specifically an accurate event type retransmission wake-up unit, and the second retransmission wake-up unit is specifically a cooling time type retransmission wake-up unit, it is possible to specifically process the accurate event type + cooling time type retransmission instructions, which can improve the effect of detecting whether the abnormality of the retransmission instructions is resolved, and improve the processing efficiency of the retransmission instructions.
[0177] The third retransmission wake-up unit 212-3
[0178] In some embodiments, at least one retransmission instruction includes a third retransmission instruction, the retransmission type includes a third retransmission type, and the target retransmission wake-up unit includes a third retransmission wake-up unit. Different from the first retransmission instruction and the second retransmission instruction, for the third retransmission instruction, the third retransmission wake-up unit does not need to determine whether the third retransmission instruction is abnormally resolved based on the field value of the data field corresponding to the third retransmission instruction.
[0179] The third retransmission wake-up unit 212 - 3 is configured to determine that the abnormality of the target retransmission instruction is resolved when it is detected that the target retransmission instruction in the third retransmission instruction is located at the head of the queue.
[0180] Exemplarily, the third retransmission instruction is a retransmission instruction whose exception can be quickly resolved. The third retransmission wake-up unit includes a unit queue, which is in a first-in-first-out form, and the instruction at the head of the queue can be sent directly. Then the third retransmission wake-up unit is used to determine that the exception of the target retransmission instruction is resolved when it is detected that the target retransmission instruction in the third retransmission instruction is at the head of the queue, that is, the target retransmission instruction meets the retransmission condition.
[0181] Exemplarily, the third retransmission type includes a direct wake-up type, the third retransmission wake-up unit includes a direct wake-up type retransmission wake-up unit, and the third retransmission instruction includes a third data loading instruction; wherein the third data loading instruction refers to a data loading instruction in which there is a bank conflict when accessing the data cache.
[0182] For example, when a data loading instruction (Load) has a sector conflict when accessing the data cache (Dcache), the data loading instruction needs to be resent, and this embodiment also refers to the data loading instruction as the third data loading instruction. Among them, the sector conflict is caused by multiple access sources accessing the same sector, which is relatively random. There is a high probability that there will be no sector conflict again in the next access, so this resend instruction can be resent directly without waiting.
[0183] In the above embodiment, by setting a third retransmission wake-up unit, the third retransmission wake-up unit is specifically a direct wake-up type retransmission wake-up unit, which can specifically process the direct wake-up type retransmission instruction, can improve the effect of detecting whether the abnormality of the retransmission instruction is resolved, and improve the processing efficiency of the retransmission instruction.
[0184] In some embodiments, the at least one reissue instruction is at least two reissue instructions. The reissue queue further includes a find first bit (FFB). Figure 6 A schematic diagram of a chip 200 including a retransmission queue 210 provided by an exemplary embodiment of the present application is shown. The output end of the acquisition unit 211 is connected to the input end of the retransmission wake-up unit 212, the output end of the retransmission wake-up unit 212 is connected to the input end of the search unit 310, and the output end of the search unit 310 is connected to the input end of the retransmission unit 213.
[0185] The retransmission awakening unit 212 is configured to send the at least two target retransmission instructions to the search unit when it is detected that the abnormality of at least two target retransmission instructions among the at least two retransmission instructions is resolved.
[0186] The searching unit 310 is configured to search for a first ready retransmission instruction from at least two target retransmission instructions, and send the first ready retransmission instruction as the target retransmission instruction to the retransmission unit.
[0187] Optionally, at least one retransmission instruction is at least two retransmission instructions, and the retransmission wake-up unit may detect that the abnormality of at least two target retransmission instructions exists in the at least two retransmission instructions. Since each retransmission wake-up unit can only output one target retransmission instruction to the retransmission unit, a search unit is required to determine the final target retransmission instruction from the at least two target retransmission instructions and send it to the retransmission unit.
[0188] Exemplarily, the retransmission wake-up unit is used to send the at least two target retransmission instructions to the search unit when detecting that the at least two retransmission instructions have at least two target retransmission instructions resolved abnormally. The search unit is used to find the first ready retransmission instruction from the at least two target retransmission instructions, and send the first ready retransmission instruction as the target retransmission instruction to the retransmission unit.
[0189] In some embodiments, the search unit searches for the first ready retransmission instruction from at least two target retransmission instructions by, for example, selecting the target retransmission instruction with the earliest time point as the first ready retransmission instruction according to the time points when the ready domain segments of the target retransmission instructions are the first preset value, or by randomly selecting a target retransmission instruction from at least two target retransmission instructions as the first ready retransmission instruction. This embodiment does not impose any restrictions on this.
[0190] In some embodiments, when there are multiple retransmission wake-up units, multiple search units may be configured accordingly. Figure 7 A schematic diagram of a chip 200 including a retransmission queue 210 provided by an exemplary embodiment of the present application is shown. For example, the retransmission wake-up unit 212 includes a first retransmission wake-up unit 212-1, a second retransmission wake-up unit 212-2, and a third retransmission wake-up unit 212-3 in parallel, and the search unit 310 includes a first search unit 311 and a second search unit 312. The output end of the acquisition unit 211 is connected to the input ends of the first retransmission awakening unit 212-1, the second retransmission awakening unit 212-2, and the third retransmission awakening unit 212-3, respectively. The output end of the first retransmission awakening unit 212-1 is connected to the input end of the first search unit 311, the output end of the first search unit 311 is connected to the input end of the retransmission unit 213, the output end of the second retransmission awakening unit 212-2 is connected to the input end of the second search unit 312, the output end of the second search unit 312 is connected to the input end of the retransmission unit 213, and the output end of the third retransmission awakening unit 212-3 is connected to the input end of the retransmission unit 213. Since the third retransmission awakening unit 212-3 outputs the target retransmission instruction at the head of the team, there is only one target retransmission instruction, and the third retransmission instruction 212-3 does not need to be connected to the search unit.
[0191] Specifically, the first retransmission wake-up unit 212-1 is used to send the at least two target retransmission instructions to the first search unit 311 when it is detected that the at least two retransmission instructions have at least two target retransmission instructions resolved. The first search unit 311 is used to find the first ready retransmission instruction from the at least two target retransmission instructions, and send the first ready retransmission instruction as the target retransmission instruction to the retransmission unit 213. Similarly, the second retransmission wake-up unit 212-2 is used to send the at least two target retransmission instructions to the second search unit 312 when it is detected that the at least two retransmission instructions have at least two target retransmission instructions resolved. The second search unit 312 is used to find the first ready retransmission instruction from the at least two target retransmission instructions, and send the first ready retransmission instruction as the target retransmission instruction to the retransmission unit 213. The third retransmission wake-up unit 212-3 determines that the target retransmission instruction is resolved when it is detected that the target retransmission instruction is at the head of the queue, and sends the target retransmission instruction to the retransmission unit 213.
[0192] In the above embodiment, by setting up a search unit, a retransmission wake-up unit can be selected from multiple target retransmission instructions that meet the retransmission conditions, so that a retransmission wake-up unit sends a target retransmission instruction to the retransmission unit, thereby realizing the screening of multiple target retransmission instructions that meet the retransmission conditions.
[0193] In some embodiments, the retransmission wake-up unit is at least two retransmission wake-up units, and the target retransmission instruction is at least two target retransmission instructions, that is, one retransmission wake-up unit is used to determine one target retransmission instruction. Then the retransmission queue also includes a polling unit, and the output ends of the at least two retransmission wake-up units are respectively connected to the input ends of the polling unit, and the output end of the polling unit is connected to the input end of the retransmission unit.
[0194] At least two retransmission wake-up units, used to send at least two target retransmission instructions to the polling unit respectively;
[0195] The polling unit is used to perform polling arbitration on at least two target retransmission instructions, determine the arbitrated target retransmission instruction, and send the arbitrated target retransmission instruction as the target retransmission instruction to the retransmission unit.
[0196] In some embodiments, the polling unit can be implemented by a round-robin arbiter (RR), wherein the polling arbiter is used to allocate bus usage rights to each retransmission wake-up unit in turn according to a certain order, and each retransmission wake-up unit can monopolize the bus in its own time slice, so that a target retransmission instruction determined by itself is sent to the retransmission unit each time.
[0197] Optionally, at least two retransmission wake-up units are used to send at least two target retransmission instructions to the polling unit respectively; the polling unit is used to perform polling arbitration on at least two target retransmission instructions, determine the arbitrated target retransmission instruction, and send the arbitrated target retransmission instruction as the target retransmission instruction to the retransmission unit; the retransmission unit is used to send the target retransmission instruction; the target retransmission instruction is used to be re-executed after sending.
[0198] In some embodiments, a retransmission queue includes an acquisition unit, at least two retransmission wake-up units, a polling unit, and a retransmission unit. Figure 8 A schematic diagram of a chip 200 including a retransmission queue 210 provided by an exemplary embodiment of the present application is shown. In which, at least two retransmission wake-up units include a first retransmission wake-up unit 212-1, a second retransmission wake-up unit 212-2, and a third retransmission wake-up unit 212-3 in parallel. The output end of the acquisition unit 211 is connected to the input ends of the first retransmission wake-up unit 212-1, the second retransmission wake-up unit 212-2, and the third retransmission wake-up unit 212-3, respectively, and the output ends of the first retransmission wake-up unit 212-1, the second retransmission wake-up unit 212-2, and the third retransmission wake-up unit 212-3 are connected to the input end of the polling unit 320, and the output end of the polling unit 320 is connected to the input end of the retransmission unit 213.
[0199] Specifically, the first retransmission wake-up unit 212-1, the second retransmission wake-up unit 212-2, and the third retransmission wake-up unit 212-3 are used to send their respective target retransmission instructions to the polling unit 320 when they detect that the abnormality of the target retransmission instruction is resolved. The polling unit 320 is used to perform polling arbitration on each target retransmission instruction and send the target retransmission instruction after the final arbitration to the retransmission unit 213.
[0200] In some embodiments, the retransmission queue includes an acquisition unit, at least two retransmission wake-up units, at least two search units, a polling unit, and a retransmission unit. Fig. 9A schematic diagram of a chip 200 including a retransmission queue 210 provided by an exemplary embodiment of the present application is shown. Taking at least two retransmission wake-up units 212 including a first retransmission wake-up unit 212-1, a second retransmission wake-up unit 212-2, and a third retransmission wake-up unit 212-3 in parallel as an example, taking a search unit 310 including a first search unit 311 and a second search unit 312 as an example. The output end of the acquisition unit 211 is connected to the input ends of the first retransmission wake-up unit 212-1, the second retransmission wake-up unit 212-2, and the third retransmission wake-up unit 212-3 respectively. The output end of the first retransmission wake-up unit 212-1 is connected to the input end of the first search unit 311, the output end of the first search unit 311 is connected to the input end of the polling unit 320, the output end of the second retransmission wake-up unit 212-2 is connected to the input end of the second search unit 312, the output end of the second search unit 312 is connected to the input end of the polling unit 320, the output end of the polling unit 320 is connected to the input end of the retransmission unit 213, and the output end of the third retransmission wake-up unit 212-3 is connected to the input end of the retransmission unit 213.
[0201] Specifically, the first retransmission wake-up unit 212-1 is used to send at least two target retransmission instructions to the first search unit 311 when it is detected that at least two target retransmission instructions are resolved among the at least two retransmission instructions. The first search unit 311 is used to find the first ready retransmission instruction from the at least two target retransmission instructions, and send the first ready retransmission instruction as the target retransmission instruction 1 to the polling unit 320. Similarly, the second retransmission wake-up unit 212-2 is used to send at least two target retransmission instructions to the second search unit 312 when it is detected that at least two target retransmission instructions are resolved among the at least two retransmission instructions. The second search unit 312 is used to find the first ready retransmission instruction from the at least two target retransmission instructions, and send the first ready retransmission instruction as the target retransmission instruction 2 to the polling unit 320. The third retransmission wake-up unit 212-3 is used to determine the abnormality of the target retransmission instruction 3 is resolved when detecting that the target retransmission instruction 3 is at the head of the queue, and send the target retransmission instruction 3 to the polling unit 320. The polling unit 320 is used to perform polling arbitration on the target retransmission instruction 1, the target retransmission instruction 2 and the target retransmission instruction 3, determine the arbitrated target retransmission instruction, and send the arbitrated target retransmission instruction as the final target retransmission instruction to the retransmission unit 213; the retransmission unit 213 is used to send the target retransmission instruction; the target retransmission instruction is used to be re-executed after sending.
[0202] In the above embodiment, by setting up a polling unit, the target retransmission instruction to be finally transmitted can be selected from multiple target retransmission instructions, so that the retransmission queue will only send one target retransmission instruction to the execution pipeline for execution at a time, which can avoid the error situation that the execution pipeline executes multiple retransmission instructions at the same time, and improve the execution efficiency of the execution pipeline.
[0203] In some embodiments, the chip including the retransmission queue also stores a one-way linked list (Freelist), which stores a retransmission index (Replay Index) corresponding to at least one retransmission instruction. The retransmission index is used to index the corresponding retransmission instruction in the memory space (Payload Ram), and at least one retransmission instruction is stored in the memory space.
[0204] Optionally, when a resend instruction enters the resend queue, the resend queue allocates a memory space in the one-way linked list to store the instruction itself and instruction information of the resend instruction, and the instruction information includes at least one of a source operand and a resend reason. Fig.10 A schematic diagram of a one-way linked list provided by an exemplary embodiment of the present application is shown. The organizational structure of the one-way linked list is a first-in-first-out queue, which maintains a head (Head) 222 and a tail (Rear) 221. When it is necessary to allocate memory space for a newly pressed retransmission instruction, a data is taken out from the head 222 of the queue, and the data is the retransmission index (or storage index) of the retransmission instruction in the memory space, that is, the retransmission index is read from the head of the queue and allocated to the retransmission instruction, and the memory space is used to store the retransmission instruction. After getting a data from the head, the head pointer is increased by 1. Each time a target retransmission instruction is popped out from the retransmission queue, the storage index corresponding to the popped-out target retransmission instruction needs to be released, that is, the storage index corresponding to the target retransmission instruction is pushed to the tail of the queue. Based on this, the currently idle storage index is stored in the one-way linked list.
[0205] In some embodiments, each retransmission instruction is stored in a memory space, and the retransmission wake-up unit, the search unit, and the polling unit may process the retransmission instruction without first obtaining the retransmission instruction itself, and only need to obtain the instruction information of the retransmission instruction. The retransmission wake-up unit is used to send the retransmission index corresponding to the target retransmission instruction to the polling unit.
[0206] A polling unit, configured to perform polling arbitration on at least two target retransmission instructions, determine a retransmission index corresponding to the arbitrated target retransmission instruction, and send the retransmission index to the retransmission unit;
[0207] The retransmission unit is also used to index the target retransmission instruction corresponding to the retransmission index from the memory space based on the one-way linked list and the retransmission index, and obtain the target retransmission instruction stored in the memory space.
[0208] Optionally, the polling unit is used to perform polling arbitration on at least two target retransmission instructions, determine the retransmission index corresponding to the arbitrated target retransmission instruction, and send the retransmission index to the retransmission unit; the retransmission unit is also used to index the target retransmission instruction corresponding to the retransmission index from the memory space based on the one-way linked list and the retransmission index, obtain the target retransmission instruction stored in the memory space, and finally send the target retransmission instruction.
[0209] In the above embodiment, by setting a one-way linked list, storage space can be allocated for the retransmission instruction. When the retransmission queue processes the retransmission instruction, it is not necessary to obtain the retransmission instruction itself temporarily. It is only necessary to obtain the target retransmission instruction to be sent at the last sending of the retransmission unit, which can save chip resources.
[0210] Acquisition unit 211
[0211] In some embodiments, the retransmission wake-up unit includes multiple ones, and the acquisition unit is further used to send each retransmission instruction to a matching retransmission wake-up unit. Then at least one retransmission instruction is at least two retransmission instructions, and the retransmission wake-up unit is at least two retransmission wake-up units. The acquisition unit stores a retransmission type table (Replay Type Table), and the retransmission type table includes at least two retransmission instructions and retransmission types (Replay Type) corresponding to the at least two retransmission instructions. Optionally, the retransmission type table also includes retransmission reasons (Replay Reason) corresponding to the at least two retransmission instructions.
[0212] The acquisition unit 211 is used to receive at least one retransmission instruction, search the retransmission type table, determine the retransmission types corresponding to the at least two retransmission instructions, and send the at least two retransmission instructions to at least two retransmission wake-up units matching the retransmission types.
[0213] Optionally, the retransmission wake-up unit corresponds to the retransmission type one by one. The acquisition unit is used to receive at least one retransmission instruction, search the retransmission type table, determine the retransmission types corresponding to at least two retransmission instructions, and send the at least two retransmission instructions to at least two retransmission wake-up units matching the retransmission types.
[0214] In the above embodiment, the acquisition unit can send the retransmission instruction to the matching retransmission wake-up unit, which is conducive to the retransmission wake-up unit to process the retransmission instruction in a targeted manner, thereby improving the processing efficiency of the retransmission instruction.
[0215] The following is an overall description of a method for the chip including a retransmission queue to process a retransmission instruction in conjunction with a possible structural diagram of the chip including a retransmission queue.
[0216] Fig.13A structural diagram of a chip including a retransmission queue provided by an exemplary embodiment of the present application is shown.
[0217] The retransmission queue includes an acquisition unit 12, an accurate event type retransmission wake-up unit 13, a first search unit 14, a cooling time type retransmission wake-up unit 16, a second search unit 17, a first polling unit 18, a direct wake-up type retransmission wake-up unit 19, a second polling unit 20, and a retransmission unit 22. The overall steps are briefly described as follows:
[0218] 1. When the execution pipeline determines that an instruction is executed abnormally, the instruction is pushed as a reissue instruction into the acquisition unit 12 of the reissue queue (Replay Queue) (Replay_Instr_In) 11-1; and the instruction itself and instruction information (source operand, reissue reason) of the reissue instruction are stored in the memory space 22 (Replay_Payload_In) 11-2; optionally, a one-way linked list 21 is used to allocate memory space (Payload Ram) for the reissue instruction, and the memory space stores the reissue index corresponding to the reissue instruction, the instruction itself and the instruction information.
[0219] 2. After receiving the retransmission instruction, the acquisition unit 12 searches the retransmission type table (Replay Type Table), which stores the correspondence between the retransmission instruction, the retransmission reason (Replay Reason) and the retransmission type (Replay Type), so as to determine the retransmission type corresponding to the retransmission instruction, and sends the retransmission instruction to the retransmission wake-up unit that matches the retransmission type.
[0220] 3. Take the resend type of the resend instruction as the accurate event type as an example:
[0221] The acquisition unit 12 pushes (Push) the retransmission instruction to the accurate event-type retransmission wake-up unit 13. Taking the case where the retransmission instruction corresponds to three exception sources as an example, the accurate event-type retransmission wake-up unit 13 includes three wake-up slices (Wus), and each wake-up slice stores a preset exception source identifier (Id) corresponding to an exception source. When the three exception source identifiers of the retransmission instruction are respectively equal to the preset exception source identifier, the three wake-up slices set the field segment values of the ready (Ready) fields corresponding to the three exception sources of the retransmission instruction to 1. At this time, the retransmission instruction meets the retransmission conditions, and the accurate event-type retransmission wake-up unit 13 sends the retransmission instruction to the first search unit (Ffb) 14. When there are multiple retransmission instructions that meet the retransmission conditions, the first search unit 14 selects the first ready retransmission instruction from them, and determines the retransmission index 0 (Replay Index0) corresponding to the first ready retransmission instruction. If the retransmission instruction does not have a cooling time 15, the retransmission index 0 corresponding to the retransmission instruction is directly sent to the first polling unit 18. If the retransmission instruction has a cooling time 15, the retransmission instruction is pushed into the cooling time type retransmission awakening unit 16 for secondary awakening.
[0222] The cooling time type retransmission wake-up unit 16 reduces the field value of the counter (Cnt) field corresponding to the retransmission instruction according to the clock cycle; when the field value of the counter field is reduced from the initial value to 0, the field value of the ready (Ready) field corresponding to the retransmission instruction is set to 1. At this time, the retransmission instruction meets the retransmission condition again, and the cooling time type retransmission wake-up unit 16 sends the retransmission wake-up unit to the second search unit 17. When there are multiple retransmission instructions that meet the retransmission conditions, the second search unit 17 selects the first ready retransmission instruction from them, determines the retransmission index 1 (Replay Index1) corresponding to the first ready retransmission instruction, and sends the retransmission index 1 corresponding to the retransmission instruction to the first polling unit 18. The first polling unit 18 is used to send the retransmission index 0 or the retransmission index 1 to the second polling unit 20.
[0223] 4. Take the resend type of the resend instruction as the cooling time type as an example:
[0224] The acquisition unit 12 pushes the retransmission instruction to the cooling time type retransmission wake-up unit 16. The cooling time type retransmission wake-up unit 16 reduces the field value of the counter (Cnt) field corresponding to the retransmission instruction according to the clock cycle; when the field value of the counter field is reduced from the initial value to 0, the field value of the ready (Ready) field corresponding to the retransmission instruction is set to 1. At this time, the retransmission instruction meets the retransmission condition, and the cooling time type retransmission wake-up unit 16 sends the retransmission wake-up unit to the second search unit 17. When there are multiple retransmission instructions that meet the retransmission conditions, the second search unit 17 selects the first ready retransmission instruction from them, determines the replay index 1 (Replay Index1) corresponding to the first ready retransmission instruction, and sends the replay index 1 corresponding to the retransmission instruction to the first polling unit 18. The first polling unit 18 is used to send the retransmission index 1 to the second polling unit 20.
[0225] 5. Take the case where the resend type of the resend instruction is direct wake-up type as an example:
[0226] The acquisition unit 12 pushes the retransmission instruction to the direct wake-up type retransmission wake-up unit 16. When the direct wake-up type retransmission wake-up unit 16 detects that the retransmission instruction is at the head of the queue, the retransmission instruction meets the retransmission condition. The direct wake-up type retransmission wake-up unit 16 sends the retransmission index 2 (Replay Index2) corresponding to the retransmission instruction to the second polling unit 20.
[0227] 6. The second polling unit 20 performs polling arbitration on retransmission index 0, retransmission index 1 and retransmission index 2, determines the final retransmission index (Final Replay Idx) corresponding to the arbitrated retransmission instruction, and sends the retransmission index to the retransmission unit 22. The retransmission unit 22 indexes the retransmission instruction corresponding to the retransmission index from the memory space based on the one-way linked list 21 and the retransmission index, obtains the retransmission instruction stored in the memory space and sends 23 (Replay_Out).
[0228] based on Fig.13 The chip shown includes a retransmission queue, Fig.14 A schematic diagram of a data flow provided by an exemplary embodiment of the present application is shown, wherein data flow refers to the direction of data flow.
[0229] When the chip including the retransmission queue processes the retransmission instruction, the retransmission queue may include at least one of the following four data flows: the solid line a1 is the data flow of accurate event type retransmission wake-up, the solid line a2 is the data flow of accurate event type + cooling time type retransmission wake-up, the solid line b is the data flow of cooling time type retransmission wake-up, and the solid line c is the data flow of direct wake-up type retransmission wake-up.
[0230] To summarize, the chip including a retransmission queue provided in the embodiment of the present application, by setting up a retransmission queue, compared with the method in the related art that still uses a transmission queue to process retransmission instructions, the retransmission instruction does not need to enter the transmission queue, which can avoid the retransmission instruction occupying the resources of the transmission queue and avoid the situation where subsequent instructions cannot enter the transmission queue, thereby improving the utilization rate of the transmission queue; by setting multiple retransmission wake-up units in the retransmission queue to detect the target retransmission instruction with the exception resolved, it is possible to adapt to different exception sources, different retransmission reasons and retransmission types of the retransmission instruction; the target retransmission instruction is sent by the retransmission unit, compared with the method in the related art that the retransmission instruction can be retransmitted and executed as long as the retransmission instruction is arbitrated, it is possible to avoid the retransmission instruction with the exception not resolved occupying the resources of the execution pipeline, which can improve the success rate of the re-execution of the target retransmission instruction, improve the utilization rate of the execution pipeline, and thus improve the utilization rate of the chip.
[0231] Fig.15 A schematic diagram showing a method for processing a resending instruction provided by an exemplary embodiment of the present application, the method can be executed by a computer device, the computer device can be Figure 1 The terminal 120 and / or server 140 shown may be specifically executed by a chip including a retransmission queue set by the terminal 120 and / or server 140. The method includes steps 420, 440 and 460:
[0232] Step 420, the acquisition unit receives at least one resend instruction and sends the at least one resend instruction to the resend wake-up unit; the at least one resend instruction is an instruction with an execution exception;
[0233] Step 440, the retransmission wake-up unit sends the target retransmission instruction to the retransmission unit when detecting that the abnormality of the target retransmission instruction in at least one retransmission instruction is resolved;
[0234] Step 460: The retransmission unit sends a target retransmission instruction; the target retransmission instruction is used to be re-executed after being sent.
[0235] In summary, the embodiment of the present application provides a method for processing retransmission instructions, wherein an acquisition unit receives at least one retransmission instruction and sends at least one retransmission instruction to a retransmission wake-up unit; at least one retransmission instruction is an instruction with an execution exception; the retransmission wake-up unit sends the target retransmission instruction to the retransmission unit when detecting that the exception of the target retransmission instruction in at least one retransmission instruction is resolved; the retransmission unit sends the target retransmission instruction; the target retransmission instruction is used to be re-executed after being sent. Accordingly, the target retransmission instruction with the exception resolved is detected by the retransmission wake-up unit, and the target retransmission instruction is sent by the retransmission unit. Compared with the method in the related art that the retransmission instruction can be retransmitted and executed as long as the retransmission instruction is arbitrated, it can avoid the retransmission instruction with the exception not resolved occupying the resources of the execution pipeline, can improve the success rate of the re-execution of the target retransmission instruction, improve the utilization rate of the execution pipeline, and improve the processing efficiency of the retransmission instruction, so that when a chip including a retransmission queue adopts this scheme to process the retransmission instruction, it can improve the utilization rate of the chip.
[0236] In some embodiments, the retransmission wake-up unit is at least two retransmission wake-up units, the at least two retransmission wake-up units correspond to the retransmission type one by one, and the at least two retransmission wake-up units include a target retransmission wake-up unit, and the target retransmission wake-up unit matches the retransmission type corresponding to at least one retransmission instruction; step 440 can be optionally implemented as steps 520 and 540:
[0237] Step 520, the target retransmission wake-up unit determines that the abnormality of the target retransmission instruction is resolved when detecting that the target retransmission instruction in at least one retransmission instruction satisfies the retransmission condition;
[0238] Step 540: The target retransmission wake-up unit sends the target retransmission instruction to the retransmission unit.
[0239] In some embodiments, at least one resend instruction corresponds to a data field, and the field value of the data field is used to indicate whether the at least one resend instruction meets the resend condition; step 520 can be optionally implemented as step 522 and step 524:
[0240] Step 522, the target retransmission wake-up unit determines a data field corresponding to at least one retransmission instruction based on a retransmission type corresponding to at least one retransmission instruction;
[0241] Step 524 , the target resending wake-up unit determines that the abnormality of the target resending instruction is resolved when the field value of the data field corresponding to the target resending instruction in at least one resending instruction is a preset value.
[0242] In some embodiments, at least one retransmission instruction includes a first retransmission instruction, the retransmission type includes a first retransmission type, the target retransmission wake-up unit includes a first retransmission wake-up unit, the first retransmission instruction has at least one exception source, and the data field corresponding to the first retransmission instruction includes a ready field corresponding to at least one exception source of the first retransmission instruction; step 524 can be optionally implemented as step 524-1:
[0243] Step 524-1: The first retransmission wake-up unit determines that the exception of the target retransmission instruction is resolved when the field value of the ready field corresponding to at least one exception source of the target retransmission instruction in the first retransmission instruction is a first preset value.
[0244] In some embodiments, the first retransmission wake-up unit includes a wake-up slice, and the wake-up slice stores a preset abnormal source identifier of at least one abnormal source of the first retransmission instruction; the method further includes step 524-2:
[0245] Step 524-2, when the exception source identifier of at least one exception source of the target reissue instruction in the first reissue instruction is equal to the preset exception source identifier of at least one exception source of the target reissue instruction, the domain segment value of the ready domain segment corresponding to at least one exception source of the target reissue instruction is set to a first preset value.
[0246] Optionally, the first retransmission type includes an accurate event type, the first retransmission wake-up unit includes an accurate event type retransmission wake-up unit, and the first retransmission instruction includes a first data loading instruction; wherein the first data loading instruction refers to a data loading instruction that needs to obtain data from a data field segment of a data storage instruction, and the data field segment of the data storage instruction is currently invalid, the data storage instruction is the preceding instruction of the first data loading instruction, and the address of the data loading instruction is associated with the address of the first data loading instruction.
[0247] In some embodiments, at least one retransmission instruction includes a second retransmission instruction, the retransmission type includes a second retransmission type, the target retransmission wake-up unit includes a second retransmission wake-up unit, and the data field corresponding to the second retransmission instruction includes a counter field and a ready field; step 524 can be optionally implemented as step 524-3:
[0248] Step 524-3, the second retransmission wake-up unit determines that the abnormality of the target retransmission instruction is resolved when the field segment value of the counter field segment corresponding to the target retransmission instruction in the second retransmission instruction is the second preset value and the field segment value of the ready field segment corresponding to the target retransmission instruction is the first preset value.
[0249] In some embodiments, the second retransmission wake-up unit stores an initial value of a counter field corresponding to the second retransmission instruction; the method further includes steps 524-4 and 524-5:
[0250] Step 524-4, the second retransmission wake-up unit reduces the field value of the counter field corresponding to the target retransmission instruction in the second retransmission instruction according to the clock cycle;
[0251] Step 524-5: When the field value of the counter field decreases from the initial value to the second preset value, the second retransmission wake-up unit sets the field value of the ready field corresponding to the target retransmission instruction to the first preset value.
[0252] Optionally, the second retransmission type includes a cooling time type, the second retransmission wake-up unit includes a cooling time type retransmission wake-up unit, and the second retransmission instruction includes a second data loading instruction; wherein the second data loading instruction refers to a data loading instruction in which there is at least one level of cache data missing.
[0253] In some embodiments, at least one retransmission instruction includes a third retransmission instruction, the retransmission type includes a third retransmission type, and the target retransmission wake-up unit includes a third retransmission wake-up unit; step 524 can be optionally implemented as step 524-6:
[0254] Step 524 - 6 : When the third retransmission wake-up unit detects that the target retransmission instruction in the third retransmission instruction is at the head of the queue, the third retransmission wake-up unit determines that the abnormality of the target retransmission instruction is resolved.
[0255] Optionally, the third retransmission type includes a direct wake-up type, the third retransmission wake-up unit includes a direct wake-up type retransmission wake-up unit, and the third retransmission instruction includes a third data loading instruction; wherein the third data loading instruction refers to a data loading instruction in which there is a sector conflict when accessing the data cache.
[0256] In some embodiments, the at least one resend instruction is at least two resend instructions; step 440 may also be implemented as steps 620 and 640:
[0257] Step 620, when the retransmission wake-up unit detects that at least two target retransmission instructions among the at least two retransmission instructions have their abnormalities resolved, the retransmission wake-up unit sends the at least two target retransmission instructions to the search unit;
[0258] Step 640: The search unit searches for the first ready retransmission instruction from the at least two target retransmission instructions, and sends the first ready retransmission instruction as the target retransmission instruction to the retransmission unit.
[0259] In some embodiments, the retransmission wake-up unit is at least two retransmission wake-up units, and the target retransmission instruction is at least two target retransmission instructions; step 440 can also be implemented as steps 660 and 680:
[0260] Step 660, at least two retransmission wake-up units send two target retransmission instructions to the polling unit respectively;
[0261] Step 680: The polling unit performs polling arbitration on at least two target retransmission instructions, determines the arbitrated target retransmission instruction, and sends the arbitrated target retransmission instruction as the target retransmission instruction to the retransmission unit.
[0262] In some embodiments, step 680 may be optionally implemented as step 682:
[0263] Step 682, the polling unit performs polling arbitration on at least two target retransmission instructions, determines a retransmission index corresponding to the arbitrated target retransmission instruction, and sends the retransmission index to the retransmission unit;
[0264] Optionally, after step 682 and before step 460, the method further includes step 684:
[0265] Step 684, the retransmission unit indexes the target retransmission instruction corresponding to the retransmission index from the memory space based on the one-way linked list and the retransmission index, and obtains the target retransmission instruction stored in the memory space; wherein, the one-way linked list stores a retransmission index corresponding to at least one retransmission instruction, the retransmission index is used to index the corresponding retransmission instruction in the memory space, and at least one retransmission instruction is stored in the memory space.
[0266] In some embodiments, at least one retransmission instruction is at least two retransmission instructions, the retransmission wake-up unit is at least two retransmission wake-up units, the acquisition unit stores a retransmission type table, and the retransmission type table includes at least two retransmission instructions and retransmission types corresponding to the at least two retransmission instructions; step 420 can be optionally implemented as step 422:
[0267] Step 422, the acquisition unit receives at least one retransmission instruction, searches the retransmission type table, determines the retransmission types corresponding to the at least two retransmission instructions, and sends the at least two retransmission instructions to at least two retransmission wake-up units matching the retransmission types.
[0268] It should be noted that the specific limitations in the embodiments of the processing method for one or more retransmission instructions provided above can refer to the limitations of the chip including the retransmission queue above, and will not be repeated here. Each unit of the chip including the retransmission queue can be implemented in whole or in part by software, hardware, and a combination thereof. Each unit can be embedded in or independent of the processor of the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the corresponding operations of each unit.
[0269] In some embodiments, the embodiments of the present application further provide a computer device, which includes: a chip including a retransmission queue as described above.
[0270] In some embodiments, the embodiments of the present application further provide a computer device, the computer device comprising: a processor and a memory, the memory storing a computer program; the processor, configured to execute the computer program in the memory to implement the processing method of the retransmission instruction provided in the above-mentioned method embodiments. The computer device is provided with a chip including a retransmission queue as described above, and the above-mentioned processing method of the retransmission instruction can be implemented specifically by the above-mentioned chip including a retransmission queue.
[0271] For example, Fig.16 1 is a structural block diagram of a computer device 1000 provided by an exemplary embodiment of the present application. Optionally, the computer device 1000 is a server 1000.
[0272] Typically, the server 1000 includes: a processor 1001 and a memory 1002 .
[0273] The processor 1001 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 1001 may be implemented in at least one hardware form of digital signal processing (DSP), field programmable gate array (FPGA), and programmable logic array (PLA). The processor 1001 may also include a main processor and a coprocessor. The main processor is a processor for processing data in an awake state, also known as a central processing unit (CPU); the coprocessor is a low-power processor for processing data in a standby state. In some embodiments, the processor 1001 may be integrated with a graphics processing unit (GPU), which is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 1001 may also include an artificial intelligence (AI) processor, which is used to process computing operations related to machine learning.
[0274] The memory 1002 may include one or more computer-readable storage media, which may be non-transitory. The memory 1002 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In some embodiments, the non-transitory computer-readable storage medium in the memory 1002 is used to store at least one instruction, which is used to be executed by the processor 1001 to implement the processing method of the resending instruction provided in the method embodiment of the present application.
[0275] In some embodiments, the server 1000 may also optionally include: an input interface 1003 and an output interface 1004. The processor 1001, the memory 1002 and the input interface 1003, the output interface 1004 may be connected via a bus or a signal line. Each peripheral device may be connected to the input interface 1003, the output interface 1004 via a bus, a signal line or a circuit board. The input interface 1003 and the output interface 1004 may be used to connect at least one peripheral device related to input / output (I / O) to the processor 1001 and the memory 1002. In some embodiments, the processor 1001, the memory 1002 and the input interface 1003, the output interface 1004 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 1001, the memory 1002 and the input interface 1003, the output interface 1004 may be implemented on a separate chip or circuit board, which is not limited in the embodiments of the present application.
[0276] Those skilled in the art will understand that Fig.16 The structure shown in the figure does not constitute a limitation on the computer device 1000, and the computer device 1000 may include more or less components than those shown in the figure, or combine some components, or adopt a different arrangement of components.
[0277] In an exemplary embodiment, the present application provides a chip, which includes a programmable logic circuit and / or program instructions. When the chip runs on a computer device, it is used to implement the processing method of the resending instruction provided by the above method embodiment.
[0278] The present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and the computer program is loaded and executed by a processor to implement the processing method for resending instructions provided in the above method embodiment.
[0279] The present application provides a computer program product or a computer program, wherein the computer program product or the computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. The processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the processor of the computer device loads and executes the processing method of the resending instruction provided in the above method embodiment.
[0280] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.
[0281] A person skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware or by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned computer-readable storage medium may be a read-only memory, a disk or an optical disk, etc.
[0282] Those skilled in the art should be aware that in one or more of the above examples, the functions described in the embodiments of the present application can be implemented with hardware, software, firmware, or any combination thereof. When implemented using software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein the communication media include any media that facilitates the transmission of a computer program from one place to another. The storage medium can be any available medium that a general or special-purpose computer can access.
[0283] The above description is only an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application shall be included in the protection scope of the present application.
Claims
1. A chip including a retransmission queue, characterized in that: The retransmission queue includes an acquisition unit, a retransmission wake-up unit and a retransmission unit, the output end of the acquisition unit is connected to the input end of the retransmission wake-up unit, and the output end of the retransmission wake-up unit is connected to the input end of the retransmission unit; The acquisition unit is used to receive at least one resend instruction and send the at least one resend instruction to the resend wake-up unit; the at least one resend instruction is an instruction with an execution exception; The retransmission wake-up unit is configured to send the target retransmission instruction to the retransmission unit when detecting that the abnormality of the target retransmission instruction in the at least one retransmission instruction is resolved; The retransmission unit is used to send the target retransmission instruction; the target retransmission instruction is used to be re-executed after being sent.
2. The chip according to claim 1, characterized in that: The retransmission wake-up unit includes at least two retransmission wake-up units, the at least two retransmission wake-up units correspond to the retransmission types one by one, and the at least two retransmission wake-up units include a target retransmission wake-up unit, and the target retransmission wake-up unit matches the retransmission type corresponding to the at least one retransmission instruction; The target retransmission awakening unit is used to determine that the abnormality of the target retransmission instruction is resolved when it is detected that the target retransmission instruction in the at least one retransmission instruction meets the retransmission condition.
3. The chip according to claim 2, characterized in that: The at least one resend instruction corresponds to a data field, and a field value of the data field is used to indicate whether the at least one resend instruction meets the resend condition; The target retransmission wake-up unit is used to determine the data field corresponding to the at least one retransmission instruction based on the retransmission type corresponding to the at least one retransmission instruction; and determine that the abnormality of the target retransmission instruction is resolved when the field value of the data field corresponding to the target retransmission instruction in the at least one retransmission instruction is a preset value.
4. The chip according to claim 3, characterized in that: The at least one retransmission instruction includes a first retransmission instruction, the retransmission type includes a first retransmission type, the target retransmission wake-up unit includes a first retransmission wake-up unit, the first retransmission instruction has at least one exception source, and the data field corresponding to the first retransmission instruction includes a ready field corresponding to at least one exception source of the first retransmission instruction; The first retransmission wake-up unit is used to determine that the exception of the target retransmission instruction is resolved when the field value of the ready field corresponding to at least one exception source of the target retransmission instruction in the first retransmission instruction is a first preset value.
5. The chip according to claim 4, characterized in that: The first retransmission wake-up unit includes a wake-up slice, and the wake-up slice stores a preset abnormal source identifier of at least one abnormal source of the first retransmission instruction; The wake-up slice is used to set the domain segment value of the ready domain segment corresponding to at least one exception source of the target resend instruction to the first preset value when the exception source identifier of at least one exception source of the target resend instruction in the first resend instruction is equal to the preset exception source identifier of at least one exception source of the target resend instruction.
6. The chip according to claim 4 or 5, characterized in that: The first retransmission type includes an accurate event type, the first retransmission wake-up unit includes an accurate event type retransmission wake-up unit, and the first retransmission instruction includes a first data loading instruction; Among them, the first data loading instruction refers to a data loading instruction that needs to obtain data from the data field segment of the data storage instruction, and the data field segment of the data storage instruction is currently invalid. The data storage instruction is the previous instruction of the first data loading instruction, and the address of the data loading instruction is associated with the address of the first data loading instruction.
7. The chip according to claim 3, characterized in that: The at least one retransmission instruction includes a second retransmission instruction, the retransmission type includes a second retransmission type, the target retransmission wake-up unit includes a second retransmission wake-up unit, and the data field corresponding to the second retransmission instruction includes a counter field and a ready field; The second retransmission wake-up unit is used to determine that the abnormality of the target retransmission instruction is resolved when the field segment value of the counter field segment corresponding to the target retransmission instruction in the second retransmission instruction is a second preset value and the field segment value of the ready field segment corresponding to the target retransmission instruction is a first preset value.
8. The chip according to claim 7, characterized in that: The second retransmission wake-up unit stores an initial value of a counter field corresponding to the second retransmission instruction; The second retransmission wake-up unit is used to reduce the field segment value of the counter field segment corresponding to the target retransmission instruction in the second retransmission instruction according to the clock cycle; when the field segment value of the counter field segment is reduced from the initial value to the second preset value, the field segment value of the ready field segment corresponding to the target retransmission instruction is set to the first preset value.
9. The chip according to claim 7 or 8, characterized in that: The second retransmission type includes a cooling time type, the second retransmission wake-up unit includes a cooling time type retransmission wake-up unit, and the second retransmission instruction includes a second data loading instruction; The second data loading instruction refers to a data loading instruction in which at least one level of cache data is missing.
10. The chip according to claim 2, characterized in that: The at least one retransmission instruction includes a third retransmission instruction, the retransmission type includes a third retransmission type, and the target retransmission wake-up unit includes a third retransmission wake-up unit; The third retransmission wake-up unit is used to determine that the abnormality of the target retransmission instruction is resolved when it is detected that the target retransmission instruction in the third retransmission instruction is located at the head of the team.
11. The chip according to claim 10, characterized in that: The third retransmission type includes a direct wake-up type, the third retransmission wake-up unit includes a direct wake-up type retransmission wake-up unit, and the third retransmission instruction includes a third data loading instruction; The third data loading instruction refers to a data loading instruction that causes a block conflict when accessing the data cache.
12. The chip according to any one of claims 1 to 11, characterized in that: The at least one retransmission instruction is at least two retransmission instructions; the retransmission queue further includes a search unit, the output end of the retransmission wake-up unit is connected to the input end of the search unit, and the output end of the search unit is connected to the input end of the retransmission unit; The retransmission wake-up unit is used to send the at least two target retransmission instructions to the search unit when detecting that the abnormality of at least two target retransmission instructions among the at least two retransmission instructions is resolved; The searching unit is used to search for a first ready retransmission instruction from the at least two target retransmission instructions, and send the first ready retransmission instruction as the target retransmission instruction to the retransmission unit.
13. The chip according to any one of claims 1 to 11, characterized in that: The retransmission wake-up unit is at least two retransmission wake-up units, and the target retransmission instruction is at least two target retransmission instructions; the retransmission queue also includes a polling unit, and the output ends of the at least two retransmission wake-up units are respectively connected to the input ends of the polling unit, and the output end of the polling unit is connected to the input end of the retransmission unit; The at least two retransmission wake-up units are used to send the at least two target retransmission instructions to the polling unit respectively; The polling unit is used to perform polling arbitration on the at least two target retransmission instructions, determine the arbitrated target retransmission instruction, and send the arbitrated target retransmission instruction as the target retransmission instruction to the retransmission unit.
14. The chip according to claim 13, characterized in that: The chip further stores a one-way linked list, wherein the one-way linked list stores a retransmission index corresponding to the at least one retransmission instruction, wherein the retransmission index is used to index the corresponding retransmission instruction in the memory space, wherein the at least one retransmission instruction is stored in the memory space; The polling unit is used to perform polling arbitration on the at least two target retransmission instructions, determine a retransmission index corresponding to the arbitrated target retransmission instruction, and send the retransmission index to the retransmission unit; The retransmission unit is further used to index the target retransmission instruction corresponding to the retransmission index from the memory space based on the one-way linked list and the retransmission index, and obtain the target retransmission instruction stored in the memory space.
15. The chip according to any one of claims 1 to 11, characterized in that: The at least one retransmission instruction is at least two retransmission instructions, the retransmission wake-up unit is at least two retransmission wake-up units, and the acquisition unit stores a retransmission type table, wherein the retransmission type table includes the at least two retransmission instructions and the retransmission types corresponding to the at least two retransmission instructions; The acquisition unit is used to receive the at least one retransmission instruction, search the retransmission type table, determine the retransmission types corresponding to the at least two retransmission instructions respectively, and send the at least two retransmission instructions to the at least two retransmission wake-up units matching the retransmission types respectively.
16. A computer device, characterized in that: The computer device comprises the chip according to any one of claims 1 to 15.
17. A method for processing a resending instruction, characterized in that: The method comprises: The acquisition unit receives at least one resend instruction and sends the at least one resend instruction to the resend wake-up unit; the at least one resend instruction is an instruction with an execution exception; The retransmission wake-up unit sends the target retransmission instruction to the retransmission unit when detecting that the abnormality of the target retransmission instruction in the at least one retransmission instruction is resolved; The retransmission unit sends the target retransmission instruction; the target retransmission instruction is used to be re-executed after sending.
Citation Information
Cited By
Processor, instruction transmitting method, chip and electronic equipment
CN120687147A