Interrupt information processing method, device, system, equipment, medium and product
By using configurable information in computer systems and network devices to intercept and adjudicate the interrupt information, the problem of reduced host processing efficiency caused by repetitive interrupt information is solved, and more efficient interrupt processing and flexible control is achieved.
Patent Information
- Application Number
- CN202411622241.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-14
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2044-11-14
AI Technical Summary
In modern computer systems and network devices, devices generate a large amount of repetitive interrupt information for the same event, resulting in a decrease in the efficiency of host processing interrupts.
By obtaining configurable information including the interception enable flag and the interception feature, when the interception enable flag is turned on and the interrupt information to be sent matches the interception feature, the interception status of the interrupt information is adjudicated to avoid repeated transmission of interrupt information.
It effectively avoids the backlog of a large amount of repetitive interrupt information in the host, improves the efficiency of the host to handle interrupts, and improves control flexibility and interception efficiency.
Smart Images

Figure CN119149208B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of interrupt control, and more specifically, to a method, device, system, equipment, medium and product for processing interrupt information. Background Art
[0002] Interrupt is a mechanism in which when an abnormality or business event occurs inside a device, the device notifies the host of the interruption information so that the host can handle the event in a timely manner. The interrupt mechanism ensures that the device can be handled promptly and effectively when encountering problems, avoiding possible business losses. In modern computer systems and network devices, the interrupt processing mechanism is widely used to ensure the stable operation of the business.
[0003] Currently, devices often generate a large amount of repetitive interrupt information for the same event, and these repetitive interrupt information are forwarded to the host in an explosive manner, reducing the efficiency of the host in processing interrupts. Summary of the invention
[0004] The present invention provides a method, device, system, equipment, medium and product for processing interrupt information, which are helpful to improve the efficiency of host processing interrupts.
[0005] The technical solution of the embodiment of the present invention is as follows:
[0006] A method for processing interrupt information, comprising:
[0007] Determine the interrupt information to be sent;
[0008] Obtain configurable information including an interception enable flag and interception characteristics;
[0009] When the interception enable flag indicates that interception is enabled and the interruption information to be sent matches the interception feature, a decision is made on the interception status of the interruption information to be sent.
[0010] In one embodiment, it includes:
[0011] When the interception enabling flag indicates that interception is not enabled, the to-be-sent interruption information is sent.
[0012] In one embodiment, the interception feature comprises a description of the location of a message field and a predetermined value of the message field;
[0013] The matching of the interruption information to be sent and the interception feature includes: a value of a message field in the interruption information to be sent that conforms to the location description is the same as the predetermined value.
[0014] In one embodiment, the method includes: obtaining a host's response status to interrupt information matching the interception feature;
[0015] The determining of the interception status of the interruption information to be sent includes at least one of the following:
[0016] When the interruption information to be sent is the interruption information that is determined to match the interception feature for the first time, determining not to intercept the interruption information to be sent;
[0017] When the interrupt information to be sent is not the interrupt information that is determined to match the interception feature for the first time, and the response status indicates that the host does not respond to the interrupt information that matches the interception feature, it is determined to intercept the interrupt information to be sent.
[0018] In one embodiment, the method comprises:
[0019] When the response status indicates that the host responds to the interrupt information matching the interception feature, the interception enable flag is set to indicate that interception is not enabled.
[0020] In one embodiment, the configurable information further includes an interception time period, and the start time of the interception time period is determined or preset based on the last sending time of the interruption information matching the interception feature;
[0021] The method comprises: obtaining a host's response status to interrupt information matching the interception feature;
[0022] The determining of the interception status of the interruption information to be sent includes at least one of the following:
[0023] When the interruption information to be sent is the interruption information that is determined to match the interception feature for the first time, determining not to intercept the interruption information to be sent;
[0024] When the interrupt information to be sent is not the interrupt information that matches the interception feature determined for the first time, the response status indicates that the host has no response to the interrupt information that matches the interception feature and the current time is not in the interception time period, it is determined not to intercept the interrupt information to be sent; wherein the starting time of the interception time period is updated based on the sending time of the interrupt information to be sent;
[0025] When the interrupt information to be sent is not the interrupt information determined to match the interception feature for the first time, the response status indicates that the host has no response to the interrupt information matching the interception feature and the current moment is in the interception time period, it is determined to intercept the interrupt information to be sent.
[0026] In one embodiment, it includes:
[0027] When the response status indicates that the host responds to the interrupt information matching the interception feature, the interception enable flag is adjusted to indicate that interception is not enabled.
[0028] A device for processing interrupt information, comprising:
[0029] A determination module, used for determining the interrupt information to be sent;
[0030] An acquisition module, used to acquire configurable information including an interception enable flag and interception features;
[0031] The decision module is used to decide the interception status of the interruption information to be sent when the interception enable flag indicates that interception is turned on and the interruption information to be sent matches the interception feature.
[0032] In one embodiment, the acquisition module is used to obtain the host's response status to the interrupt information matching the interception feature;
[0033] The arbitration module is configured to perform at least one of the following:
[0034] When the interruption information to be sent is the interruption information that is determined to match the interception feature for the first time, determining not to intercept the interruption information to be sent;
[0035] When the interrupt information to be sent is not the interrupt information that is determined to match the interception feature for the first time, and the response status indicates that the host does not respond to the interrupt information that matches the interception feature, it is determined to intercept the interrupt information to be sent.
[0036] In one embodiment, the configurable information further includes an interception time period, and the start time of the interception time period is determined or preset based on the last sending time of the interruption information matching the interception feature;
[0037] The acquisition module is used to acquire the host's response status to the interrupt information matching the interception feature;
[0038] The arbitration module is configured to perform at least one of the following:
[0039] When the interruption information to be sent is the interruption information that is determined to match the interception feature for the first time, determining not to intercept the interruption information to be sent;
[0040] When the interrupt information to be sent is not the interrupt information that matches the interception feature determined for the first time, the response status indicates that the host has no response to the interrupt information that matches the interception feature and the current time is not in the interception time period, it is determined not to intercept the interrupt information to be sent; wherein the starting time of the interception time period is updated based on the sending time of the interrupt information to be sent;
[0041] When the interrupt information to be sent is not the interrupt information determined to match the interception feature for the first time, the response status indicates that the host has no response to the interrupt information matching the interception feature and the current moment is in the interception time period, it is determined to intercept the interrupt information to be sent.
[0042] A system for processing interrupt information includes a configurable terminal, an interrupt controller and a host;
[0043] The host is used to send configurable information including an interception enable flag and an interception feature to the configurable terminal;
[0044] The configurable terminal is used to store the configurable information;
[0045] The interrupt controller is used to determine the interrupt information to be sent, obtain the configurable information from the configurable terminal, and when the interception enable flag indicates that interception is turned on and the interrupt information to be sent matches the interception feature, determine the interception status of the interrupt information to be sent.
[0046] In one embodiment, the host is used to send a response status to the interruption information matching the interception feature to the configurable terminal;
[0047] The configurable terminal is used to store the response status;
[0048] The interrupt controller is used to obtain the response status from the configurable terminal;
[0049] The interrupt controller is configured to perform at least one of the following:
[0050] When the interruption information to be sent is the interruption information that is determined to match the interception feature for the first time, determining not to intercept the interruption information to be sent;
[0051] When the interrupt information to be sent is not the interrupt information that is determined to match the interception feature for the first time, and the response status indicates that the host does not respond to the interrupt information that matches the interception feature, it is determined to intercept the interrupt information to be sent.
[0052] In one embodiment, the configurable information further includes an interception time period, and the start time of the interception time period is determined or preset based on the last sending time of the interruption information matching the interception feature;
[0053] The host is used to send a response status to the interrupt information matching the interception feature to the configurable terminal;
[0054] The configurable terminal is used to store the response status;
[0055] The interrupt controller is used to obtain the response status from the configurable terminal;
[0056] The interrupt controller is configured to perform at least one of the following:
[0057] When the interruption information to be sent is the interruption information that is determined to match the interception feature for the first time, determining not to intercept the interruption information to be sent;
[0058] When the interrupt information to be sent is not the interrupt information that matches the interception feature determined for the first time, the response status indicates that the host has no response to the interrupt information that matches the interception feature and the current time is not in the interception time period, it is determined not to intercept the interrupt information to be sent; wherein the starting time of the interception time period is updated based on the sending time of the interrupt information to be sent;
[0059] When the interrupt information to be sent is not the interrupt information determined to match the interception feature for the first time, the response status indicates that the host has no response to the interrupt information matching the interception feature and the current moment is in the interception time period, it is determined to intercept the interrupt information to be sent.
[0060] In one embodiment, the interrupt controller is used to, when determining to intercept the interrupt information to be sent, not send the interrupt information to be sent, and update the interception statistical feature of the interrupt information that is determined to be intercepted and matches the interception feature;
[0061] The configurable terminal is used to store the interception statistical characteristics;
[0062] The host is configured to generate an adjustment instruction for adjusting the configurable information based on the interception statistical feature, and send the adjustment instruction to the configurable terminal;
[0063] The configurable terminal is used to execute the adjustment instruction to adjust the configurable information.
[0064] An electronic device, comprising:
[0065] Memory;
[0066] processor;
[0067] The memory stores an application program executable by the processor, which is used to enable the processor to execute any of the above-mentioned methods for processing interrupt information.
[0068] A computer-readable storage medium stores computer-readable instructions, and when the computer-readable instructions are executed by a processor, the processor executes any of the above-mentioned methods for processing interrupt information.
[0069] A program product includes a computer program, wherein when the computer program is executed by a processor, the computer program implements any of the above-mentioned methods for processing interrupt information.
[0070] It can be seen from the above technical solution that in an embodiment of the present invention, the interrupt information to be sent is determined; the configurable information including the interception enable flag and the interception feature is obtained; when the interception enable flag indicates that the interception is turned on and the interrupt information to be sent matches the interception feature, the interception state of the interrupt information to be sent is determined. It can be seen that by determining the interception state of the interrupt information matching the interception feature based on the configurable information, a large amount of repetitive interrupt information can be accumulated at the host, thereby improving the efficiency of the host in processing interrupts. Moreover, the configurable interception method also improves the control flexibility. In addition, based on the interception time period and the response state of the host, a variety of interception strategies are implemented, which are suitable for a variety of application scenarios. Furthermore, the configurable information is feedback-adjusted based on the interception statistical characteristics of the interception behavior, which improves the accuracy of the configurable information and improves the interception efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0071] Figure 1 A schematic diagram of processing interrupt information in the related art.
[0072] Figure 2 is an exemplary flow chart of a method for processing interrupt information according to an embodiment of the present invention.
[0073] Figure 3 FIG. 4 is an exemplary structural diagram of an interrupt information processing system according to an embodiment of the present invention.
[0074] Figure 4 FIG. 4 is an exemplary schematic diagram of a process of processing interrupt information according to an embodiment of the present invention.
[0075] Figure 5 is an exemplary structural diagram of an interrupt configuration register according to an embodiment of the present invention.
[0076] Figure 6 is an exemplary structural diagram of a decision unit according to an embodiment of the present invention.
[0077] Figure 7 FIG. 4 is an exemplary structural diagram of an interrupt information processing device according to an embodiment of the present invention.
[0078] Figure 8 is an exemplary structural diagram of an electronic device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0079] In order to make the objectives, technical solutions and advantages of the present invention more clear, the present invention is further described in detail below with reference to the accompanying drawings.
[0080] For the sake of brevity and intuitiveness in description, the scheme of the present invention is explained below by describing several representative implementations. A large number of details in the implementations are only used to help understand the scheme of the present invention. However, it is obvious that the technical scheme of the present invention may not be limited to these details when implemented. In order to avoid unnecessarily obscuring the scheme of the present invention, some implementations are not described in detail, but only a framework is given. Hereinafter, "including" means "including but not limited to", and "according to..." means "at least according to..., but not limited to only according to...". Due to the language habits of Chinese, when the number of a component is not specifically specified below, it means that the component can be one or more, or can be understood as at least one.
[0081] In the related art, an interrupt controller receives interrupt information sent by an interrupt source, and transmits the interrupt information to a host through a device interface for interrupt processing.
[0082] Figure 1 FIG. 1 is a schematic diagram of processing interrupt information in the related technology. Figure 1 As shown, the interrupt controller includes an interrupt information acquisition module and an interrupt information sending module. Among them: the interrupt information acquisition module collects the respective interrupt information sent by multiple interrupt sources (interrupt source_0~interrupt source_n). The interrupt information sending module schedules (for example, schedules based on priority) the interrupt information to be sent from all the interrupt information, and transmits the interrupt information to be sent to the host through the device interface (for example, PCIe interface) for interrupt processing. However, the interrupt source may generate a large number of repetitive interrupt information for the same event, and the large number of repetitive interrupt information scheduled by the interrupt information sending module is forwarded to the host in an explosive manner, reducing the efficiency of the host in processing interrupts.
[0083] For example, when a data packet containing multiple data is sent from the secure area to the non-secure area via Direct Memory Access (DMA), the address translation module detects security errors for each data in the data packet and generates interrupt information for each data security error, thereby generating a large number of repetitive interrupt information for the same event (that is, sending a data packet containing multiple data from the secure area to the non-secure area via DMA). The address translation module sends all these interrupt information to the interrupt controller. The interrupt controller then sends all these interrupt information to the host, resulting in a large number of repetitive interrupt information backlogs at the host, reducing the efficiency of the host in processing interrupts.
[0084] For another example, multiple network interfaces in a device receive data streams containing multiple data packets respectively, and send the received data streams to the memory in the device respectively. Each network interface generates its own interrupt information when receiving each data packet. Therefore, multiple network interfaces generate a large amount of repetitive interrupt information for the same event (multiple network interfaces receive data streams containing multiple data packets respectively). Multiple network interfaces send all these interrupt information to the interrupt controller respectively. The interrupt controller then sends all these interrupt information to the host, resulting in a large amount of repetitive interrupt information backlog at the host, reducing the efficiency of the host in processing interrupts.
[0085] The above exemplary description is a typical example of generating repeated interrupt information for the same event. Those skilled in the art will appreciate that such description is merely exemplary.
[0086] In an embodiment of the present invention, the interrupt information is parsed to determine repeated interrupt information (that is, interrupt information belonging to the same event), and interception processing is performed on the repeated interrupt information, thereby reducing the transmission volume of the interrupt information and improving the efficiency of the host in processing interrupts.
[0087] The above disclosure details the technical defects existing in the related art, the causes of the technical defects, and the thinking and analysis process of overcoming the technical defects. In fact, the cognition of the above technical defects is not common knowledge in the field, but a novel discovery made by the applicant in research. In addition, the cause tracing of the technical defects and the thinking and analysis process of overcoming the technical defects are also the gradual analysis results of the applicant in the actual research process, and are not common knowledge in the field.
[0088] Figure 2 is an exemplary flow chart of a method for processing interrupt information according to an embodiment of the present invention. Preferably, Figure 2 The process shown can be executed by a device such as an interrupt controller. In fact, it depends on the various requirements of the specific application environment and the flexible implementation of the system architecture. Figure 2The process shown can be executed by any entity other than the interrupt controller. For example, it can be executed at the interrupt source or device interface. Figure 2 The process shown is not limited to this embodiment of the present invention.
[0089] like Figure 2 As shown, the method includes:
[0090] Step 101: Determine the interruption information to be sent.
[0091] For example, the interrupt information to be sent may be interrupt information received from an interrupt source and needs to be sent to the host.
[0092] An interrupt source refers to the cause or source of an interruption of a device (e.g., a computer, various types of chips, integrated circuits or systems on chip, etc.), that is, an entity that can send interrupt information (e.g., an interrupt request signal). These entities can be hardware devices, software programs or other system events, which request to suspend the current task and process these interrupt information by sending interrupt information. Specifically, interrupt sources may include: (1) external interrupt sources: for example, triggered by computer external devices, such as input and output devices such as keyboards, printers, mice, and data channels such as networks and disks, etc. (2) internal interrupt sources: for example, CPU internal events, such as calculation errors (e.g., division by 0, overflow, etc.), program debugging requirements (e.g., single-step execution, breakpoint debugging), and exceptions caused by special operations (e.g., memory limit violations, page faults, etc.). Preferably, when the device is a chip or integrated circuit, the interrupt source may be implemented as: direct memory access controller (DMA); video encoder; video decoder; audio encoder; audio decoder; image encoder; image decoder, etc.
[0093] There may be one or more interrupt sources, and the specific method of scheduling the interrupt information to be sent from all the interrupt information provided by the interrupt sources may include:
[0094] (1) Based on the priority of the interrupt information, the interrupt information to be sent is scheduled from all the interrupt information provided by the interrupt source.
[0095] (2) Based on the priority of the interrupt information and the identifier of the destination virtual machine of the interrupt information, the interrupt information to be sent is scheduled from all the interrupt information provided by the interrupt source. For example, the interrupt information includes the priority of the interrupt information and the identifier of the destination host of the interrupt information; based on the identifier and the priority, the interrupt information is stored in the cache; based on the arbitration strategy associated with at least one of the identifier and the priority, the execution state of sending the first interrupt information in the cache to the destination host is scheduled. Based on the two dimensions of priority parameter and destination host identifier, the interrupt information is classified and cached, and these two dimensions are used alone or in combination to achieve scheduling in the scheduling stage. This can finely control a specific destination host, and can also achieve back pressure control of a specific destination host and make the interrupt processing pressure of each destination host more uniform.
[0096] Step 102: Obtain configurable information including an interception enable flag and interception characteristics.
[0097] For example, the configurable information may be read from a configurable terminal accessible to the interrupt controller (eg, a register outside the interrupt controller). For another example, a configurable terminal for storing the configurable information may be set in the interrupt controller (eg, an internal register of the interrupt controller).
[0098] In one embodiment, the host as the target object of the interrupt information generates configurable information and stores the configurable information in the configurable terminal. In one embodiment, a third-party device independent of the host and the interrupt controller generates configurable information and stores the configurable information in the configurable terminal.
[0099] The configurable information includes an interception enable flag and an interception feature. The interception enable flag is used to indicate whether interception is enabled. For example, when the interception enable flag is "1", it indicates that interception is enabled; when the interception enable flag is "0", it indicates that interception is not enabled. The interception feature includes the features of the interrupt information that needs to be intercepted and processed. Based on the interception enable flag and matching the interception feature with the interrupt information to be sent, it can be determined whether it is necessary to make a decision on the interception status of the interrupt information to be sent.
[0100] Step 103: When the interception enable flag indicates that interception is enabled and the interruption information to be sent matches the interception feature, a decision is made on the interception status of the interruption information to be sent.
[0101] In one embodiment, the interception feature includes a location description of a message field and a predetermined value of the message field; the interruption information to be sent matches the interception feature including: the value of the message field in the interruption information to be sent that matches the location description is the same as the predetermined value.
[0102] For example, the message field may include at least one of an interrupt source field and an interrupt type field.
[0103] Example 1: The position description of the interrupt source field in the interception feature can be: bit 1 to bit 4, and the predetermined value of the interrupt source field is: "0xA". Moreover, the position description of the interrupt type field in the interception feature can be: bit 5 to bit 16, and the predetermined value of the interrupt type field is: "0xBBB". Therefore, when the value of the first bit to the fourth bit of the interrupt information to be sent is "0xA", and the value of the fifth bit to the sixteenth bit is "0xBBB", it can be determined that the interrupt information to be sent matches the interception feature. Conversely, when the value of the first bit to the fourth bit of the interrupt information to be sent is not "0xA", or the value of the fifth bit to the sixteenth bit is not "0xBBB", it can be determined that the interrupt information to be sent does not match the interception feature.
[0104] In Example 1, based on the two dimensions of interrupt source and interrupt type, a judgment is made as to whether the interrupt information matches the interception feature (that is, a match is determined only if the interrupt source, interrupt type and interception feature are respectively the same).
[0105] Example 2: The position description of the interrupt source field in the interception feature can be: bit 1 to bit 4, and the predetermined value of the interrupt source field is: "0xA". Therefore, when the value of the first bit to the fourth bit of the interrupt information to be sent is "0xA", it can be determined that the interrupt information to be sent matches the interception feature. Conversely, when the value of the first bit to the fourth bit in the interrupt information to be sent is not "0xA", it can be determined that the interrupt information to be sent does not match the interception feature.
[0106] Example 3: The position description of the interrupt type field in the interception feature can be: bit 5 to bit 16, and the predetermined value of the interrupt type field is: "0xBBB". Therefore, when the value of the bit 5 to bit 16 of the interrupt information to be sent is "0xBBB", it can be determined that the interrupt information to be sent matches the interception feature.
[0107] In Example 2, whether the interruption information matches the interception feature is determined based solely on the interruption source dimension. In Example 3, whether the interruption information matches the interception feature is determined based solely on the interruption type dimension.
[0108] In one embodiment, the method includes: when the interception enable flag indicates that interception is not enabled, sending the interrupt information to be sent. Therefore, by configuring (for example, by the host) the interception enable flag in the configurable information to indicate that interception is not enabled, the interception function may not be used in the interrupt controller, and the interrupt controller may directly send the interrupt information to be sent.
[0109] In one embodiment, Figure 2The method shown includes: obtaining the host's response status to the interrupt information matching the interception feature (that is, whether the host responds to the interrupt information matching the interception feature). In step 103, the interception status of the interrupt information to be sent is determined, including at least one of the following:
[0110] (1) When the interrupt information to be sent is the first interrupt information that matches the interception feature, it is determined that the interrupt information to be sent is not intercepted. In other words, without considering the interception time, before the host sends a response to the interrupt information that matches the interception feature, only the first interrupt information that matches the interception feature is sent.
[0111] Therefore, when the interrupt information to be sent is the interrupt information that is determined to match the interception feature for the first time (that is, no other interrupt information that matches the interception feature has been sent before), the interrupt information to be sent is not intercepted. At this time, the interrupt information to be sent that is determined to be sent for the first time is sent to the host normally, so that the host processes the interrupt information to be sent, and intercepts the interrupt information that is subsequently generated and matches the interception feature.
[0112] (2) When the interrupt information to be sent is not the interrupt information that is determined to match the interception feature for the first time, and the response status indicates that the host does not respond to the interrupt information that matches the interception feature, it is determined that the interrupt information to be sent is intercepted.
[0113] Therefore, when the interrupt information to be sent is not the interrupt information that matches the interception feature determined for the first time (that is, other interrupt information that matches the interception feature has been sent before), and the host does not respond to the interrupt information that matches the interception feature (that is, the host does not process the interrupt information that matches the interception feature), the interrupt information to be sent is intercepted. At this time, the interrupt information to be sent is not sent to the host, thereby preventing a large amount of repeated interrupt information from being accumulated at the host.
[0114] In one embodiment, the method includes: when the response status indicates that the host has responded to the interrupt information matching the interception feature, the interception enable flag is set to indicate that the interception is not turned on. It can be seen that when the host responds to the interrupt information matching the interception feature, it is determined that the host has completed the processing process of the related events for this type of interrupt information, and the interception enable flag is set to indicate that the interception is not turned on. Therefore, when the interrupt information matching the interception feature appears again later, it is determined that the current event is independent of the processed event, and the subsequent interrupt information matching the interception feature is not intercepted.
[0115] In the above description, the interception status of the interruption information to be sent is determined based on the response status. In fact, the time dimension can be added to the determination principle, so that the interception status of the interruption information to be sent is determined based on the interception time period and the response status, and multiple interception strategies are implemented, which are applicable to multiple application scenarios.
[0116] In one embodiment, the configurable information further includes an interception time period, and the start time of the interception time period is determined or preset based on the last sending time of the interruption information matching the interception feature. The configurable information may also include an interception time period enable flag. The interception time period enable flag is used to indicate whether the interception time period is involved in the interception decision. For example, when the interception time period enable flag is "1", it indicates that the interception time period participates in the interception decision (that is, based on the response status and the interception time period, the interception status of the interruption information to be sent is jointly determined); when the interception time period enable flag is "0", it indicates that the interception time period does not participate in the interception decision (that is, the interception status of the interruption information to be sent is determined based on the response status).
[0117] Figure 2 The method shown includes: obtaining the host's response status to the interrupt information matching the interception feature. In step 103, determining the interception status of the interrupt information to be sent includes at least one of the following:
[0118] (1) When the interruption information to be sent is the interruption information that is determined to match the interception feature for the first time, it is determined not to intercept the interruption information to be sent.
[0119] Therefore, when the interrupt information to be sent is the interrupt information that is determined to match the interception feature for the first time (that is, no other interrupt information matching the interception feature has been sent before), the interrupt information to be sent is not intercepted. At this time, the interrupt information to be sent is sent to the host so that the host processes the interrupt information to be sent.
[0120] (2) When the interrupt information to be sent is not the interrupt information that is determined to match the interception feature for the first time, and the response status indicates that the host has no response to the interrupt information that matches the interception feature and the current time is not in the interception time period, it is determined not to intercept the interrupt information to be sent; wherein the starting time of the interception time period is updated based on the sending time of the interrupt information to be sent.
[0121] Therefore, when the interrupt information to be sent is not the interrupt information that matches the interception feature determined for the first time (that is, other interrupt information that matches the interception feature has been sent before), the host does not respond to the interrupt information that matches the interception feature (that is, the host does not process the interrupt information that matches the interception feature), and the current time is not in the interception time period, the interrupt information to be sent is not intercepted. At this time, the interrupt information to be sent that is not in the interception time period is sent to the host. Moreover, the starting time of the interception time period in the configurable information is updated based on the sending time of the interrupt information to be sent.
[0122] For example: Assume that the interception time period in the configurable information is: within 1 minute from the start time (for example, the last sending time t1 of the interruption information A1 matching the interception feature). When the interruption information A2 matching the interception feature is received, it is found that the host has no response to the interruption information A1 and the current time is outside the interception time period (for example, within the second minute after t1), it is determined that the interruption information A2 does not need to be intercepted (for example, the host may have ignored the interruption information A1), and the interruption information A2 is sent to the host. Then, the time t2 when the interruption information A2 is sent to the host is recorded, and based on the time t2, the interception time period in the configurable information is updated to: within 1 minute from the start time t2.
[0123] (3) When the interrupt information to be sent is not the interrupt information that is determined to match the interception feature for the first time, and the response status indicates that the host has no response to the interrupt information that matches the interception feature and the current time is in the interception time period, it is determined to intercept the interrupt information to be sent.
[0124] Continuing with the above example: the interception time period is updated based on time t2: within 1 minute after the starting time t2, when the interruption information A3 matching the interception feature is continued to be received, it is found that the host has no response to the interruption information A1 and the interruption information A2 and the current time is within the interception time period (that is, within the 1st minute after t2), then it is determined that the interruption information A3 needs to be intercepted.
[0125] Therefore, when the interrupt information to be sent is not the interrupt information that matches the interception feature determined for the first time (that is, other interrupt information that matches the interception feature has been sent before), the host does not respond to the interrupt information that matches the interception feature (that is, the host does not process the interrupt information that matches the interception feature), and the current time is in the interception time period, the interrupt information to be sent is intercepted. At this time, the interrupt information to be sent is not sent to the host, thereby preventing a large amount of repeated interrupt information from being accumulated at the host.
[0126] In one embodiment, Figure 2The method shown includes: when the response status indicates that the host has responded to the interrupt information matching the interception feature, the interception enable flag is set to indicate that the interception is not turned on. It can be seen that when the host responds to the interrupt information matching the interception feature, it is determined that the host has completed the processing process of the related events for this type of interrupt information, and the interception enable flag is set to indicate that the interception is not turned on. Therefore, when the interrupt information matching the interception feature appears again later, it is determined that the current event is independent of the processed event, and the subsequent interrupt information matching the interception feature is not intercepted.
[0127] In one embodiment, the configurable information includes interception statistical features of the interruption information that match the interception features (e.g., the number of interceptions or the frequency of interception, etc.). After it is determined that the interruption information to be sent is intercepted, the interruption information to be sent is not sent, and the interception statistical features are updated (e.g., when an interruption information is intercepted, the number of interceptions is increased by one). By accessing the interception statistical features in the configurable information, the host can understand the interception status and adjust the configurable information based on the interception statistical features. For example, when it is found that the number of interceptions is large (e.g., exceeds a predetermined threshold), the interception time period in the configurable information can be extended. Therefore, the configurable information is feedback-adjusted based on the interception statistical features of the interception behavior, which improves the accuracy of the configurable information and the interception efficiency.
[0128] Figure 3 FIG. 1 is an exemplary structural diagram of an interrupt information processing system according to an embodiment of the present invention. Figure 3 As shown, the interrupt information processing system includes a configurable terminal, an interrupt controller and a host. Among them: the host is used to send configurable information including an interception enable flag and an interception feature to the configurable terminal; the configurable terminal is used to store the configurable information; the interrupt controller is used to determine the interrupt information to be sent, obtain the configurable information from the configurable terminal, and when the interception enable flag indicates that the interception is turned on and the interrupt information to be sent matches the interception feature, the interception state of the interrupt information to be sent is determined.
[0129] The configurable terminal may be implemented as a storage device accessible to the interrupt controller, or a storage device set in the interrupt controller. For example, the configurable terminal may be implemented as a register.
[0130] In one embodiment, a host is used to send a response status to an interruption information matching an interception feature to a configurable terminal; the configurable terminal is used to store the response status; and an interruption controller is used to obtain the response status from the configurable terminal; wherein the interruption controller is used to perform at least one of the following: (1) when the interruption information to be sent is the interruption information that is determined to match the interception feature for the first time, decide not to intercept the interruption information to be sent; (2) when the interruption information to be sent is not the interruption information that is determined to match the interception feature for the first time, and the response status indicates that the host has no response to the interruption information that matches the interception feature, decide to intercept the interruption information to be sent.
[0131] In one embodiment, the configurable information further includes an interception time period, wherein the starting time of the interception time period is determined or preset based on the last sending time of the interruption information matching the interception feature; the host is used to send a response status to the interruption information matching the interception feature to the configurable terminal; the configurable terminal is used to store the response status; the interruption controller is used to obtain the response status from the configurable terminal; wherein the interruption controller is used to perform at least one of the following: (1) when the interruption information to be sent is the interruption information that is determined to match the interception feature for the first time, decide not to intercept the interruption information to be sent; (2) when the interruption information to be sent is not the interruption information that is determined to match the interception feature for the first time, the response status indicates that the host has no response to the interruption information that matches the interception feature and the current time is not in the interception time period, decide not to intercept the interruption information to be sent; wherein the starting time of the interception time period is updated based on the sending time of the interruption information to be sent; (3) when the interruption information to be sent is not the interruption information that is determined to match the interception feature for the first time, the response status indicates that the host has no response to the interruption information that matches the interception feature and the current time is in the interception time period, decide to intercept the interruption information to be sent.
[0132] In one embodiment, the interrupt controller is used to, after determining to intercept the interrupt information to be sent, not send the interrupt information to be sent, and update the interception statistical characteristics of the interrupt information that is determined to be intercepted and matches the interception characteristics; the configurable terminal is used to store the interception statistical characteristics; the host is used to generate an adjustment instruction for adjusting the configurable information based on the interception statistical characteristics, and send the adjustment instruction to the configurable terminal; the configurable terminal is used to execute the adjustment instruction to adjust the configurable information. For example, the interception statistical characteristics may include the number of interceptions and the interception frequency, etc.
[0133] exist Figure 3In the embodiment of the present invention, the interception status of the interrupt information to be sent is determined in the interrupt controller. In fact, depending on the various requirements of the specific application environment and the flexible implementation of the system architecture, the interception determination can be performed in other entities. For example, the interception determination can be performed at the interrupt source that provides the interrupt information, or at the device interface between the interrupt controller and the host, and the embodiments of the present invention are not limited to this.
[0134] In one embodiment, the interrupt information processing system may be implemented as: a computer, a chip, an integrated circuit or a system on a chip, etc. The chip may include any one of a central processing unit (CPU), a graphics processing unit (GPU), a tensor processing unit (TPU), a neural network processing unit (NPU), a deep learning processing unit (DPU), an accelerated processing unit (APU), and a general-purpose computing on graphics processing unit (GPGPU).
[0135] Figure 4 FIG. 1 is an exemplary schematic diagram of a process of processing interrupt information according to an embodiment of the present invention. Figure 4 In the embodiment, the interception status of the interrupt information to be sent is determined in the interrupt controller. The interrupt controller includes an interrupt configuration register, an interrupt information collection module and an interception processing module. The interception processing module includes a selection unit, a determination unit and a sending unit.
[0136] Corresponding to different interception features, there may be multiple types of interrupt information. The interrupt configuration register stores configuration files of multiple types of interrupt information. Figure 5 FIG. 1 is an exemplary structural diagram of an interrupt configuration register according to an embodiment of the present invention. Figure 5 As shown, m types of interrupt information configuration files are stored in the interrupt configuration register, wherein: the configuration file of each type of interrupt information includes the configurable information of the type of interrupt information, the response status of the type of interrupt information and the interception statistical characteristics of the type of interrupt information.
[0137] The configurable information of each type of interrupt information may include: (1) an interception enable flag of the interrupt information of this type; (2) an interception feature of the interrupt information of this type. Preferably, the configurable information of each type of interrupt information may also include: (3) an interception time period of the interrupt information of this type; (4) an interception time period enable flag of the interrupt information of this type.
[0138] Reference Figure 4 The interrupt information collection module collects the respective interrupt information of multiple interrupt sources (interrupt source 1 to interrupt source n). The selection unit determines (for example, determines only based on the priority, or determines based on the priority of the interrupt information and the identifier of the destination virtual machine of the interrupt information) the interrupt information to be sent from all the interrupt information, and sends the interrupt information to be sent to the determination unit. The determination unit determines the interception status of the interrupt information to be sent based on the configuration files of the m types of interrupt information in the interrupt configuration register. Among them: when it is determined to intercept the interrupt information to be sent, the determination unit does not send the interrupt information to be sent to the sending unit; when it is determined not to intercept the interrupt information to be sent, the determination unit sends the interrupt information to be sent to the sending unit, and the sending unit sends the interrupt information to be sent to the host via the device interface such as PCIe.
[0139] For example, assuming that interrupt source 1 is an address translation module, when a data packet containing multiple data is sent from a secure area to a non-secure area through DMA in the device, the address translation module detects a security error for each data in the data packet and generates interrupt information for each security error of the data, thereby generating a large number of repetitive interrupt information for the same event (that is, sending a data packet containing multiple data from a secure area to a non-secure area through DMA). In these repetitive interrupt information, the values of the first to fourth bits are all "0xA". The address translation module sends all these interrupt information to the interrupt information collection module. The interrupt information collection module sends all these interrupt information to the selection unit. The selection unit determines the interrupt information to be sent from these interrupt information and sends the interrupt information to be sent to the decision unit. The decision unit identifies the type of the interrupt information based on the interception feature in the interrupt information stored in the interrupt configuration register (the values of the first to fourth bits are all "0xA"), and decides on the interception status of each interrupt information to be sent based on the interception enable flag of the interrupt information of this type, the response status of the host to the interrupt information of this type, and the interception time period of the interrupt information of this type.
[0140] Figure 6 is an exemplary structural diagram of a decision unit according to an embodiment of the present invention.
[0141] First, after the decision unit receives the interrupt information to be sent from the selection unit, it performs interrupt screening for confirming the interrupt type of the interrupt information to be sent. In the interrupt screening: the decision unit matches the interrupt information to be sent with the interception feature in each configuration file in the configurable register to try to determine the type of the interrupt information to be sent. When the interrupt information to be sent does not match all the interception features in the configurable register, the interrupt information to be sent is forwarded to the sending unit, so that the sending unit sends the interrupt information to be sent to the host. When the interrupt information to be sent matches a specific interception feature in the configurable register, a configurable message containing the specific interception feature is read from the configurable register.
[0142] When the interrupt information to be sent matches the specific interception feature in the configurable register, interruption arbitration is performed on the interrupt information to be sent. In the interruption arbitration, based on the following information in the configurable message containing the specific interception feature: the interception enable flag, the interception time period, and the interception time period enable flag, and the response status of the interrupt information of the type corresponding to the specific interception feature (whether the host has responded to the interrupt information of the type corresponding to the specific interception feature), interruption arbitration is performed on the interrupt information to be sent. Among them:
[0143] (1) When it is determined not to intercept, the interrupt information to be sent is forwarded to the sending unit, so that the sending unit sends the interrupt information to be sent to the host.
[0144] (2) When interception is determined, the interrupt information to be sent is not forwarded to the sending unit, and the interception statistical feature of the interrupt information of the type corresponding to the specific interception feature is updated (for example, the number of interceptions is increased by one), thereby providing data for the host to analyze the interceptable interrupt burst phenomenon.
[0145] Specifically, the workflow of the embodiment of the present invention may include the following stages:
[0146] (a) Interrupt interception configuration stage:
[0147] In the interrupt configuration register, multiple configuration files of multiple types of interrupt information are configured. Wherein: the configuration file of each type of interrupt information includes the configurable information of the interrupt information of this type, the response status of the interrupt information of this type, and the interception statistical characteristics of the interrupt information of this type. Moreover, the configurable information of each type of interrupt information may include: (1) an interception enable flag of the interrupt information of this type; (2) an interception characteristic of the interrupt information of this type. Preferably, the configurable information of each type of interrupt information may also include: (3) an interception time period of the interrupt information of this type; (4) an interception time period enable flag of the interrupt information of this type.
[0148] (b) Interrupt interception execution phase:
[0149] Step (1): The selection unit of the interrupt controller receives a plurality of interrupt information from each interrupt source via the interrupt information acquisition module, and arbitrates the interrupt information to be sent from the plurality of interrupt information.
[0150] Step (2): The selection unit inputs the interrupt information to be sent into the decision unit for interrupt screening. In the interrupt screening: the decision unit matches the interrupt information to be sent with the interception feature in each configuration file in the configurable register to try to determine the type of the interrupt information to be sent. Wherein: when the interrupt information to be sent does not match all the interception features in the configurable register, the interrupt information to be sent is forwarded to the sending unit, so that the sending unit sends the interrupt information to be sent to the host; when the interrupt information to be sent matches a specific interception feature in the configurable register, the configurable message in the configuration file containing the specific interception feature is read from the configurable register.
[0151] Step (3): When the interrupt information to be sent matches the specific interception feature in the configurable register, interrupt arbitration is performed on the interrupt information to be sent. Among them: the interrupt information to be sent that is generated for the first time before the host responds is sent to the host, and the interception enable flag of this type of interrupt information is updated to interception enable. The interrupt information of this type that is repeatedly generated before the host responds is intercepted, and the interception statistical feature is updated in real time. When the interception time period enable flag is enabled, if the interrupt information is not responded to after the interception time period is exceeded, it is sent to the host. After the host completes the processing of this type of interrupt information and sends a response, it updates the interception enable flag to a non-enabled state. The interrupt controller updates the interception statistical feature to the interrupt configuration register.
[0152] Step (4): When the host needs to obtain the interception statistical characteristics of a certain interrupt type, the host reads the interception statistical characteristics of the interrupt type from the interrupt configuration register.
[0153] Figure 7 FIG. 1 is an exemplary structural diagram of an interrupt information processing device according to an embodiment of the present invention. Figure 7 As shown, the interrupt information processing device 300 includes: a determination module 301, used to determine the interrupt information to be sent; an acquisition module 302, used to obtain configurable information including an interception enable flag and an interception feature; a judgment module 303, used to judge the interception status of the interrupt information to be sent when the interception enable flag indicates that interception is turned on and the interrupt information to be sent matches the interception feature.
[0154] In one embodiment, the acquisition module 302 is used to obtain the response status of the host to the interrupt information matching the interception feature; the judgment module 303 is used to perform at least one of the following: when the interrupt information to be sent is the interrupt information that is determined to match the interception feature for the first time, judge not to intercept the interrupt information to be sent; when the interrupt information to be sent is not the interrupt information that is determined to match the interception feature for the first time, and the response status indicates that the host has no response to the interrupt information that matches the interception feature, judge to intercept the interrupt information to be sent.
[0155] In one embodiment, the configurable information further includes an interception time period, wherein the starting time of the interception time period is determined based on the last sending time of the interruption information matching the interception feature or is pre-set; an acquisition module 302 is used to obtain the response status of the host to the interruption information matching the interception feature; a ruling module 303 is used to execute at least one of the following: when the interruption information to be sent is the interruption information that is determined to match the interception feature for the first time, ruling not to intercept the interruption information to be sent; when the interruption information to be sent is not the interruption information that is determined to match the interception feature for the first time, and the response status indicates that the host has no response to the interruption information that matches the interception feature and the current moment is not in the interception time period, ruling not to intercept the interruption information to be sent; wherein the starting time of the interception time period is updated based on the sending time of the interruption information to be sent; when the interruption information to be sent is not the interruption information that is determined to match the interception feature for the first time, and the response status indicates that the host has no response to the interruption information that matches the interception feature and the current moment is in the interception time period, ruling to intercept the interruption information to be sent.
[0156] In summary, in an embodiment of the present invention, the interrupt information to be sent is determined; configurable information including an interception enable flag and an interception feature is obtained; when the interception enable flag indicates that interception is turned on and the interrupt information to be sent matches the interception feature, the interception status of the interrupt information to be sent is adjudicated. It can be seen that based on the configurable information, the interception status of the interrupt information matching the interception feature is adjudicated, which can avoid a large amount of repetitive interrupt information being accumulated at the host, and improve the efficiency of the host in processing interrupts. Moreover, the configurable interception method also improves the control flexibility. In addition, based on the interception time period and the response status of the host, a variety of interception strategies can be implemented, which is suitable for a variety of application scenarios. In addition, the configurable information is feedback-adjusted based on the interception statistical characteristics of the interception behavior, which improves the accuracy of the configurable information and improves the interception efficiency.
[0157] The embodiment of the present invention further provides an electronic device having a processor-memory architecture. Figure 8 is a structural diagram of an electronic device according to an embodiment of the present invention. Figure 8As shown, the electronic device includes a processor 401, a memory 402, and a computer program stored in the memory 402 and executable on the processor 401. When the computer program is executed by the processor 401, any of the above interrupt information processing methods is implemented. Among them, the memory 402 can be specifically implemented as a variety of storage media such as an electrically erasable programmable read-only memory (EEPROM), a flash memory (Flash memory), and a programmable program read-only memory (PROM). The processor 401 can be implemented as including one or more central processing units or one or more field programmable gate arrays, wherein the field programmable gate array integrates one or more central processing unit cores. Specifically, the central processing unit or the central processing unit core can be implemented as a CPU, a GPU, a GPGPU, an MCU or a DSP, and the like.
[0158] It should be noted that not all steps and modules in the above processes and structure diagrams are necessary, and some steps or modules can be ignored according to actual needs. The execution order of each step is not fixed and can be adjusted as needed. The division of each module is only for the convenience of describing the functional division adopted. In actual implementation, a module can be implemented by multiple modules, and the functions of multiple modules can also be implemented by the same module. These modules can be located in the same device or in different devices.
[0159] The hardware modules in each embodiment may be implemented mechanically or electronically. For example, a hardware module may include a specially designed permanent circuit or logic device (such as a dedicated processor, such as an FPGA or ASIC) to perform a specific operation. For example, specific operations can be performed in various types of chips (for example, artificial intelligence chips). The hardware module may also include a programmable logic device or circuit (such as a general-purpose processor or other programmable processor) temporarily configured by software to perform specific operations. As for whether to implement the hardware module mechanically, or using a dedicated permanent circuit, or a temporarily configured circuit (such as configured by software), it can be decided based on cost and time considerations.
[0160] The present invention also provides a machine-readable storage medium, storing instructions for a machine to perform a method as described in the present application. Specifically, a system or device equipped with a storage medium can be provided, on which a software program code for implementing the functions of any of the embodiments described in the above embodiments is stored, and the computer (or CPU or MPU) of the system or device reads out and executes the program code stored in the storage medium. In addition, the operating system operated on the computer can also be made to complete part or all of the actual operations by instructions based on the program code. The program code read out from the storage medium can also be written to a memory provided in an expansion board inserted into the computer or to a memory provided in an expansion unit connected to the computer, and then the CPU installed on the expansion board or the expansion unit is made to perform part and all of the actual operations based on the instructions of the program code, thereby realizing the functions of any of the embodiments described in the above embodiments. The storage medium implementation for providing the program code includes a floppy disk, a hard disk, a magneto-optical disk, an optical disk (such as CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD+RW), a magnetic tape, a non-volatile memory card and a ROM. Alternatively, the program code can be downloaded from a server computer or a cloud by a communication network.
[0161] In this article, "schematic" means "serving as an example, instance or explanation", and any diagram or implementation method described as "schematic" in this article should not be interpreted as a more preferred or more advantageous technical solution. In order to make the drawings concise, only the parts related to the present invention are schematically shown in each figure, and do not represent the actual structure of the product. In addition, in order to make the drawings concise and easy to understand, in some figures, only one of the parts with the same structure or function is schematically drawn, or only one of them is marked. In this article, "one" does not mean that the number of the relevant parts of the present invention is limited to "only one", and "one" does not mean that the number of the relevant parts of the present invention is "more than one". In this article, "upper", "lower", "front", "back", "left", "right", "inside", "outside", etc. are only used to indicate the relative position relationship between the relevant parts, rather than to limit the absolute position of these relevant parts.
[0162] The above description is only a preferred embodiment of the present invention and is not intended to limit the protection scope of the present invention. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. A method for processing interrupt information, characterized in that: include: Determine the interrupt information to be sent, where the interrupt information to be sent is the interrupt information that needs to be sent to the host; Acquire configurable information including an interception enable flag and an interception feature, wherein the interception feature includes features of interrupt information that needs to be intercepted and processed; When the interception enable flag indicates that interception is enabled and the interruption information to be sent matches the interception feature, determining the interception state of the interruption information to be sent; The method comprises: obtaining a response status of the host to interrupt information matching the interception feature; The determining of the interception status of the interruption information to be sent includes at least one of the following: When the interruption information to be sent is the interruption information that is determined to match the interception feature for the first time, determining not to intercept the interruption information to be sent; When the interrupt information to be sent is not the interrupt information that is determined to match the interception feature for the first time, and the response status indicates that the host does not respond to the interrupt information that matches the interception feature, it is determined to intercept the interrupt information to be sent.
2. The method according to claim 1, characterized in that: include: When the interception enabling flag indicates that interception is not enabled, the to-be-sent interruption information is sent.
3. The method according to claim 1, characterized in that The interception feature includes a description of the location of a message field and a predetermined value of the message field; The matching of the interruption information to be sent and the interception feature includes: a value of a message field in the interruption information to be sent that conforms to the location description is the same as the predetermined value.
4. The method according to claim 1, characterized in that: The method comprises: When the response status indicates that the host responds to the interrupt information matching the interception feature, the interception enable flag is set to indicate that interception is not enabled.
5. The method according to any one of claims 1 to 3, characterized in that: The configurable information further includes an interception time period, the start time of the interception time period being determined or preset based on the last sending time of the interruption information matching the interception feature; The method comprises: obtaining a host's response status to interrupt information matching the interception feature; The determining of the interception status of the interruption information to be sent includes at least one of the following: When the interruption information to be sent is the interruption information that is determined to match the interception feature for the first time, determining not to intercept the interruption information to be sent; When the interrupt information to be sent is not the interrupt information that matches the interception feature determined for the first time, the response status indicates that the host has no response to the interrupt information that matches the interception feature and the current time is not in the interception time period, it is determined not to intercept the interrupt information to be sent; wherein the starting time of the interception time period is updated based on the sending time of the interrupt information to be sent; When the interrupt information to be sent is not the interrupt information determined to match the interception feature for the first time, the response status indicates that the host has no response to the interrupt information matching the interception feature and the current moment is in the interception time period, it is determined to intercept the interrupt information to be sent.
6. The method according to claim 5, characterized in that include: When the response status indicates that the host responds to the interrupt information matching the interception feature, the interception enable flag is adjusted to indicate that interception is not enabled.
7. A device for processing interrupt information, characterized in that: include: A determination module, used for determining the interrupt information to be sent, wherein the interrupt information to be sent is the interrupt information that needs to be sent to the host; An acquisition module, used to acquire configurable information including an interception enable flag and an interception feature, wherein the interception feature includes features of interrupt information that needs to be intercepted and processed; A decision module, configured to decide the interception status of the interruption information to be sent when the interception enable flag indicates that interception is turned on and the interruption information to be sent matches the interception feature; The acquisition module is used to acquire the host's response status to the interrupt information matching the interception feature; The arbitration module is configured to perform at least one of the following: When the interruption information to be sent is the interruption information that is determined to match the interception feature for the first time, determining not to intercept the interruption information to be sent; When the interrupt information to be sent is not the interrupt information that is determined to match the interception feature for the first time, and the response status indicates that the host does not respond to the interrupt information that matches the interception feature, it is determined to intercept the interrupt information to be sent.
8. The device according to claim 7, characterized in that The configurable information further includes an interception time period, the start time of the interception time period being determined or preset based on the last sending time of the interruption information matching the interception feature; The acquisition module is used to acquire the host's response status to the interrupt information matching the interception feature; The arbitration module is configured to perform at least one of the following: When the interruption information to be sent is the interruption information that is determined to match the interception feature for the first time, determining not to intercept the interruption information to be sent; When the interrupt information to be sent is not the interrupt information that is determined to match the interception feature for the first time, and the response status indicates that the host has no response to the interrupt information that matches the interception feature and the current time is not in the interception time period, it is determined not to intercept the interrupt information to be sent; wherein the starting time of the interception time period is updated based on the sending time of the interruption information to be sent; When the interrupt information to be sent is not the interrupt information determined to match the interception feature for the first time, the response status indicates that the host has no response to the interrupt information matching the interception feature and the current moment is in the interception time period, it is determined to intercept the interrupt information to be sent.
9. A system for processing interrupt information, characterized in that: Includes configurable terminals, interrupt controllers and hosts; The host is used to send configurable information including an interception enable flag and an interception feature to the configurable terminal; The configurable terminal is used to store the configurable information; The interrupt controller is used to determine the interrupt information to be sent, the interrupt information to be sent is the interrupt information that needs to be sent to the host, obtain the configurable information from the configurable terminal, and when the interception enable flag indicates that interception is turned on and the interrupt information to be sent matches the interception feature, determine the interception state of the interrupt information to be sent, the interception feature includes the feature of the interrupt information that needs to be intercepted and processed; The host is used to send a response status to the interrupt information matching the interception feature to the configurable terminal; The configurable terminal is used to store the response status; The interrupt controller is used to obtain the response status from the configurable terminal; The interrupt controller is configured to perform at least one of the following: When the interruption information to be sent is the interruption information that is determined to match the interception feature for the first time, determining not to intercept the interruption information to be sent; When the interrupt information to be sent is not the interrupt information that is determined to match the interception feature for the first time, and the response status indicates that the host does not respond to the interrupt information that matches the interception feature, it is determined to intercept the interrupt information to be sent.
10. The system according to claim 9, characterized in that The configurable information further includes an interception time period, the start time of the interception time period being determined or preset based on the last sending time of the interruption information matching the interception feature; The host is used to send a response status to the interrupt information matching the interception feature to the configurable terminal; The configurable terminal is used to store the response status; The interrupt controller is used to obtain the response status from the configurable terminal; The interrupt controller is configured to perform at least one of the following: When the interruption information to be sent is the interruption information that is determined to match the interception feature for the first time, determining not to intercept the interruption information to be sent; When the interrupt information to be sent is not the interrupt information that is determined to match the interception feature for the first time, and the response status indicates that the host has no response to the interrupt information that matches the interception feature and the current time is not in the interception time period, it is determined not to intercept the interrupt information to be sent; wherein the starting time of the interception time period is updated based on the sending time of the interruption information to be sent; When the interrupt information to be sent is not the interrupt information determined to match the interception feature for the first time, the response status indicates that the host has no response to the interrupt information matching the interception feature and the current moment is in the interception time period, it is determined to intercept the interrupt information to be sent.
11. The system according to claim 9 or 10, characterized in that: The interrupt controller is used for not sending the interrupt information to be sent after determining to intercept the interrupt information to be sent, and updating the interception statistical characteristics of the interrupt information that is determined to be intercepted and matches the interception characteristics; The configurable terminal is used to store the interception statistical characteristics; The host is used to generate an adjustment instruction for adjusting the configurable information based on the interception statistical feature, and send the adjustment instruction to the configurable terminal; The configurable terminal is used to execute the adjustment instruction to adjust the configurable information.
12. An electronic device, characterized in that: include: Memory; processor; The memory stores an application program executable by the processor, which is used to enable the processor to execute the interrupt information processing method according to any one of claims 1 to 6.
13. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-readable instructions, and when the computer-readable instructions are executed by the processor, the processor executes the interrupt information processing method according to any one of claims 1 to 6.
14. A program product comprising a computer program, characterized in that When the computer program is executed by a processor, the method for processing interrupt information according to any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
Interrupt processing method and electronic equipment
CN118474840A