CN111722916B - Method for processing MSI-X interrupt through mapping table - Google Patents

Method for processing MSI-X interrupt through mapping table Download PDF

Info

Publication number
CN111722916B
CN111722916B CN202010601585.8A CN202010601585A CN111722916B CN 111722916 B CN111722916 B CN 111722916B CN 202010601585 A CN202010601585 A CN 202010601585A CN 111722916 B CN111722916 B CN 111722916B
Authority
CN
China
Prior art keywords
interrupt
processor
mapping table
vector
corresponding unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010601585.8A
Other languages
Chinese (zh)
Other versions
CN111722916A (en
Inventor
龙恢
管志坚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changsha Xinhong Software Ltd
Original Assignee
Changsha Xinhong Software Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Changsha Xinhong Software Ltd filed Critical Changsha Xinhong Software Ltd
Priority to CN202010601585.8A priority Critical patent/CN111722916B/en
Publication of CN111722916A publication Critical patent/CN111722916A/en
Application granted granted Critical
Publication of CN111722916B publication Critical patent/CN111722916B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Abstract

A method for processing MSI-X interrupt by mapping table sets a global mapping table, the mapping table is an array formed by a group of units, each unit contains an integer reference value B, and each unit corresponds to an interrupt vector. When registering an interrupt, the initialization program sets the reference value B of one interrupt vector corresponding unit as the reference value of one interrupt number. When the hardware device submits an interrupt to the processor, the processor generating the interrupt searches a corresponding unit in the mapping table according to the interrupt vector, calculates an interrupt number N according to a reference value B in the corresponding unit and a current processor number L, and then transmits the interrupt number N as a parameter to the interrupt processing program. And the interrupt processing program processes the corresponding hardware interrupt process according to the interrupt number N.

Description

Method for processing MSI-X interrupt through mapping table
Technical Field
The invention relates to the field of computer system software programming, in particular to a method for processing MSI-X interrupt through a mapping table in a hardware device driver.
Background
Interrupts are a common method for a hardware device to notify system software of completion of an IO operation or change of state of the hardware device in a computer system, usually, one hardware device has only one interrupt, and an interrupt handler of the system software determines that the interrupt has occurred by reading a specific hardware interrupt state register value after the interrupt occurs. With the progress of hardware technology, MSI (Message Signal Interrupt) and MSI-X multi-interrupt mechanisms are developed on the basis of the prior art to adapt to higher IO throughput rate and more processor cores, so that one hardware can simultaneously have a plurality of interrupts and each interrupt corresponds to a different function. While interrupt functions become more powerful from a hardware technology perspective, interrupt processing becomes more complex from a software programming perspective. Because in the conventional interrupt handling mode it is sufficient to set one interrupt handler (Interrupt Service Routine), multiple interrupt handlers need to be set for MSI-X interrupts and multiple interrupt vectors need to be applied. For example, gigabit network adapter (Gigabit Network Adapter) using 82576 and I350 chips in Intel corporation PRO/1000 family network cards has a maximum of 8 receive queues and 8 transmit queues, each corresponding to one interrupt, plus up to 17 interrupts to handle network connection state changes. Common operating systems require applying an interrupt vector for each interrupt and setting a corresponding interrupt handler for each vector, making drive development overly complex and wasting too much resources.
Disclosure of Invention
It is an object of the present invention to overcome the above-mentioned deficiencies of the prior art by providing a method of handling MSI-X interrupts through a mapping table. The Interrupt vector is converted into continuous Interrupt numbers (Interrupt numbers) corresponding to the hardware device Interrupt through the mapping table, then the Interrupt numbers are used as parameters to be transmitted to an Interrupt processing program, and the Interrupt processing program processes Interrupt processes corresponding to the hardware device according to the Interrupt numbers.
The first technical scheme of the invention is as follows: a global mapping table is set, wherein the mapping table is an array formed by a group of units, each unit comprises an integer reference value B, and each unit corresponds to an interrupt vector. When registering an interrupt, the initialization program sets the reference value B of one interrupt vector corresponding unit as the reference value of one interrupt number. When an interrupt vector binds a plurality of different processors at the same time, the corresponding unit in the mapping table further includes an interrupt size value S, S being equal to the number of processors bound by the vector, and for convenience in calculation, the number of processors bound must be 1, 2, 4, 8, 16, 32 and …, which are integer power values of 2. When the hardware device submits the interrupt to the processor, the processor generating the interrupt firstly searches the corresponding unit in the mapping table according to the interrupt vector, and then calculates the interrupt number N according to the reference value B, the interrupt processor number L and the interrupt scale value S in the corresponding unit. The calculation formula is as follows: n is equal to B plus L divided by S, i.e., n=b+ (L% S), when S is an integer power of 2, the calculation formula can be reduced to n=b+ (L AND (S-1)), AND it is apparent that n=b+ (L AND 0) =b when S is equal to 1, i.e., the interrupt vector is bound to only one processor.
In one embodiment, the network adapter has 8 receive queues and 8 transmit queues, requiring one interrupt for each queue, plus one network connection state change interrupt for a total of 17 interrupts. The 1 st to 17 th items of the MSI-X table are respectively corresponding to interrupt numbers 1 to 17, and each item of the MSI-X table comprises a message address of a processor and an interrupt vector for setting the binding relation between the interrupt vector and the processor. The interrupt numbers of the 8 receiving queues are 1 to 8, the interrupt numbers of the 8 transmitting queues are 9 to 16, and the interrupt number of the network connection state change is 17. 3 interrupt vectors 90, 91 and 92 are distributed from the system, reference values B of corresponding units of the 3 interrupt vectors in the mapping table are respectively set to be 1, 9 and 17, and then 17 interrupt items of the MSI-X table are set as follows:
setting MSI-X table entry 1 to interrupt vector 90 bound to processor number 0;
setting MSI-X table entry 2 to interrupt vector 90 bound to processor number 1;
setting MSI-X table entry 3 to interrupt vector 90 bound to processor number 2;
setting MSI-X table entry 4 to interrupt vector 90 bound to processor number 3;
setting MSI-X table entry 5 to interrupt vector 90 bound to processor number 4;
setting MSI-X table entry 6 to interrupt vector 90 bound to processor number 5;
setting MSI-X table entry 7 to interrupt vector 90 bound to processor number 6;
setting MSI-X table entry 8 to interrupt vector 90 bound to processor number 7;
setting MSI-X table entry 9 to interrupt vector 91 bound to processor number 0;
setting MSI-X table entry 10 to interrupt vector 91 bound to processor number 1;
setting MSI-X table entry 11 to interrupt vector 91 bound to processor number 2;
setting MSI-X table entry 12 to interrupt vector 91 bound to processor number 3;
setting MSI-X table entry 13 to interrupt vector 91 bound to processor number 4;
setting MSI-X table entry 14 to interrupt vector 91 bound to processor number 5;
setting MSI-X table entry 15 to interrupt vector 91 bound to processor number 6;
setting MSI-X table entry 16 to interrupt vector 91 bound to processor number 7;
setting MSI-X table entry 17 to interrupt vector 92 bound to processor number 0;
since both interrupt vectors 90 and 91 bind 8 processors at the same time, the interrupt size S of the corresponding unit of these two vectors in the mapping table is set to 8. When the 2 nd receiving queue generates an interrupt, 90 vector interrupts bound to the No. 1 processor in the 2 nd item of the MSI-X table are activated, the No. 1 processor searches the reference value B of the corresponding unit in the mapping table to be 1 according to the interrupt vector 90 after the interrupt occurs, the interrupt scale S is 8, AND then the interrupt number N=1+ (1 AND 7) =2 is calculated according to the current processor number. And then the interrupt number is transferred to an interrupt processing program, and the interrupt processing program processes the data received by the 2 nd receiving queue according to the interrupt number 2. Similarly, when the 3 rd transmission queue generates an interrupt, the 91 st vector interrupt bound to the No. 2 processor in the 11 th item of the MSI-X table is activated, the No. 2 processor checks the reference value B of the corresponding unit in the mapping table to be 9 according to the interrupt vector 91 after the interrupt occurs, the interrupt scale S is 8, AND then the interrupt number N=9+ (2 AND 7) =11 is calculated according to the number of the current processor. The interrupt handler processes the data that the 3 rd transmit queue has been transmitted according to the interrupt number 11.
The second technical scheme of the invention is as follows: a mapping table is set for each processor in the system, each mapping table is an array formed by a group of units, each unit comprises an interrupt number N, and each unit corresponds to an interrupt vector. When registering an interrupt, the initialization program sets the interrupt number N of the interrupt vector corresponding unit to the interrupt number bound to the processor. When the hardware device submits an interrupt to the processor, the processor generating the interrupt searches a corresponding unit in a mapping table of the current processor according to the interrupt vector, then transmits an interrupt number N in the corresponding unit as a parameter to an interrupt processing program, and the interrupt processing program processes a corresponding hardware interrupt process according to the interrupt number N. When one interrupt vector is bound to a plurality of different processors at the same time, mapping tables of each processor need to be set respectively, and interrupt numbers N of corresponding units of the interrupt vector in each mapping table are set to different values. Compared with the first technical scheme, the method has poor mobility although calculation is not needed, for example, in the embodiment of the first technical scheme, the calculation result of the interrupt number N is not affected when the interrupt items of the receiving and transmitting queues in the MSI-X table are dynamically bound to processors No. 8 to No. 15. And when the second technical scheme is adopted, the dynamic modification of the bound processor is required to modify the mapping table corresponding to the processor at the same time.
Compared with the prior art, the invention has the following characteristics: the invention describes a binary parameter formed by interrupt vector and processor number, which is converted into interrupt number by mapping table and transferred to interrupt processing program as parameter. Under the condition of insufficient interrupt vector resources, a plurality of hardware interrupts are realized by binding one vector to different processors at the same time, so that the utilization rate of interrupt vector resources is improved. Meanwhile, the interrupt processing program can be well compatible with the traditional interrupt processing, and standardization of a driver interface is facilitated.
The detailed structure of the present invention is further described below with reference to the accompanying drawings and detailed description.
Drawings
FIG. 1 is a first technical scheme, wherein a reference value B corresponding to an interrupt vector is searched through a global mapping table, and then an interrupt number N is calculated according to the reference value B and a processor number L;
fig. 2 is a schematic diagram of a second technical solution, in which an interrupt number N corresponding to an interrupt vector is searched by a mapping table of each processor.
Detailed Description
As shown in fig. 1: three interrupt vectors, 90, 91 and 92 respectively, are arranged in the MSI-X table; the reference values B corresponding to the three vectors in the mapping table are 1, 9 and 17 respectively, wherein the vectors 90 and 91 are respectively bound with 8 processors, the processor numbers L are respectively 0 to 7, and the corresponding interrupt scale S is equal to 8; the interruption number N of each entry of the MSI-X table from top to bottom is calculated to be 1 to 17 according to the calculation formula n=b+ (L AND (S-1)).
As shown in fig. 2: three interrupt vectors, 90, 91 and 92 respectively, are arranged in the MSI-X table; each processor has a separate mapping table, wherein vectors 90 and 91 bind 8 processors respectively, the processor numbers L are 0 to 7 respectively, and the mapping table of each processor sets different values for interrupt numbers N of the units; the interrupt number N is directly queried through the mapping table of the binding processor, and the interrupt number N of each item from top to bottom of the query MSI-X table is 1 to 17.
The present invention relates to MSI-X interrupts in hardware technology, MSI-X being one embodiment of a multiple interrupt technology, and incorporating the technical information disclosed herein to those skilled in the art. The ability to practice the invention in similar multiple interrupt schemes should not be construed to be outside the scope of the invention.
Noun interpretation
MSI-X interrupts: is a solution for performing a functional extension on the basis of Message Signaled Interruption (MSI), a plurality of interrupts are configured by means of an additional interrupt configuration table, each entry of the interrupt configuration table containing a message address of a processor and an interrupt vector.

Claims (3)

1. A method for processing MSI-X interrupts through a mapping table, characterized by: setting a global mapping table which is an array formed by a group of units, wherein each unit comprises an integer reference value B, and each unit corresponds to an interrupt vector; when registering an interrupt, the initialization program sets a reference value B of an interrupt vector corresponding unit as a reference value of an interrupt number; when the hardware equipment submits an interrupt to the processor, the processor generating the interrupt searches a corresponding unit in the mapping table according to the interrupt vector, calculates an interrupt number N according to a reference value B in the corresponding unit and a current processor number L, and then transmits the interrupt number N as a parameter to an interrupt processing program; the interrupt processing program processes the corresponding hardware interrupt process according to the interrupt number N;
when an interrupt vector is bound with a plurality of different processors at the same time, the corresponding unit in the mapping table also comprises an interrupt scale value S, wherein S is equal to the number of the processors bound by the vector; when the hardware equipment submits an interrupt to the processor, the processor which generates the interrupt searches a corresponding unit in the mapping table according to the interrupt vector, and then calculates an interrupt number N according to a reference value B and an interrupt scale value S in the corresponding unit and a current processor number L, wherein a calculation formula is a remainder value of dividing B by L by S, namely N=B+ (L%S); when S is an integer power of 2, the calculation formula can be simplified to n=b+ (LAND (S-1)); n=b+ (LAND 0) =b when S is equal to 1, i.e. the interrupt vector binds only one processor.
2. A method of handling MSI-X interrupts through a mapping table according to claim 1, in which: when the number of processors bound by one interrupt vector is smaller than the total number of processors in the system, the bound processors can rebind the interrupt vector to another processor after an interrupt occurs, and the new processor number M is equal to the current processor number L plus an interrupt scale value S, namely M=L+S; if the new processor number M is greater than the maximum processor number in the system, then dividing M by the interrupt size value S takes the remainder, i.e., m=m% S, where m=mand (S-1) when S is an integer power of 2.
3. A method for processing MSI-X interrupts through a mapping table, characterized by: setting a mapping table for each processor in the system, wherein each mapping table is an array formed by a group of units, each unit comprises an interrupt number N, and each unit corresponds to an interrupt vector; when registering an interrupt, the initialization program sets an interrupt number N of an interrupt vector corresponding unit as an interrupt number bound to the processor; when the hardware device submits an interrupt to the processor, the processor generating the interrupt searches a corresponding unit in a mapping table of the current processor according to the interrupt vector, then transmits an interrupt number N in the corresponding unit as a parameter to an interrupt processing program, and the interrupt processing program processes a corresponding hardware interrupt process according to the interrupt number N;
when an interrupt vector is simultaneously bound with a plurality of different processors, the interrupt number N of a corresponding unit in a mapping table of each processor needs to be set with different values, and the corresponding unit of the interrupt vector in the mapping table also comprises an interrupt scale value S, wherein S is equal to the number of the processors bound by the vector; when the hardware equipment submits an interrupt to the processor, the processor which generates the interrupt searches a corresponding unit in the mapping table according to the interrupt vector, and then calculates an interrupt number N according to a reference value B and an interrupt scale value S in the corresponding unit and a current processor number L, wherein a calculation formula is a remainder value of dividing B by L by S, namely N=B+ (L%S); when S is an integer power of 2, the calculation formula can be simplified to n=b+ (LAND (S-1)); n=b+ (LAND 0) =b when S is equal to 1, i.e. the interrupt vector binds only one processor.
CN202010601585.8A 2020-06-29 2020-06-29 Method for processing MSI-X interrupt through mapping table Active CN111722916B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010601585.8A CN111722916B (en) 2020-06-29 2020-06-29 Method for processing MSI-X interrupt through mapping table

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010601585.8A CN111722916B (en) 2020-06-29 2020-06-29 Method for processing MSI-X interrupt through mapping table

Publications (2)

Publication Number Publication Date
CN111722916A CN111722916A (en) 2020-09-29
CN111722916B true CN111722916B (en) 2023-11-14

Family

ID=72569363

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010601585.8A Active CN111722916B (en) 2020-06-29 2020-06-29 Method for processing MSI-X interrupt through mapping table

Country Status (1)

Country Link
CN (1) CN111722916B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114726657A (en) * 2022-03-21 2022-07-08 京东科技信息技术有限公司 Method and device for interrupt management and data receiving and sending management and intelligent network card

Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1047931A (en) * 1989-05-17 1990-12-19 国际商业机器公司 The method and the device of direct transmission information between the application program that does not adopt the service of one or two operating system and in different processor, move
JPH04318654A (en) * 1991-02-13 1992-11-10 Hewlett Packard Co <Hp> Redirection system for interruption to microprocessor
CN1230722A (en) * 1989-05-17 1999-10-06 国际商业机器公司 Uncoupling central processing unit from its associated hardware for interaction with data handling apparatus alien to operating system controlling said unit and hardware
EP0992916A1 (en) * 1998-10-06 2000-04-12 Texas Instruments Inc. Digital signal processor
WO2000036513A2 (en) * 1998-12-18 2000-06-22 Unisys Corporation A memory address translation system and method for a memory having multiple storage units
US6163829A (en) * 1998-04-17 2000-12-19 Intelect Systems Corporation DSP interrupt control for handling multiple interrupts
TW482960B (en) * 2000-06-23 2002-04-11 Inventec Corp Method for preventing process contradiction between each processors in a multi-processor computer
US6678801B1 (en) * 1998-04-17 2004-01-13 Terraforce Technologies Corp. DSP with distributed RAM structure
US6738847B1 (en) * 2000-11-10 2004-05-18 Unisys Corporation Method for assigning a multiplicity of interrupt vectors in a symmetric multi-processor computing environment
CN101135982A (en) * 2006-08-28 2008-03-05 国际商业机器公司 Method and device for managing information transmission interruption resources
CN101140530A (en) * 2006-09-07 2008-03-12 环隆电气股份有限公司 Application program intercept and capture and monitoring system control break method
WO2008122746A1 (en) * 2007-04-10 2008-10-16 Cambridge Consultants Limited Data processing apparatus
CN101645005A (en) * 2008-08-06 2010-02-10 中国人民解放军信息工程大学 Processor structure and instruction system representation method based on multi-dimensional variable description table
CN102521177A (en) * 2011-12-07 2012-06-27 福建星网锐捷网络有限公司 Interrupt processing method and device, central processing unit and processing apparatus
CN103761145A (en) * 2009-01-26 2014-04-30 超威半导体公司 Guest interrupt controllers for each processor to aid interrupt virtualization
US9047208B1 (en) * 2012-12-10 2015-06-02 Qlogic, Corporation Method and system of configuring virtual function in peripheral devices
CN105183541A (en) * 2015-08-10 2015-12-23 上海斐讯数据通信技术有限公司 Response interrupting method and system
WO2016059692A1 (en) * 2014-10-16 2016-04-21 株式会社日立製作所 Computer and i/o processing control method
CN105993009A (en) * 2013-11-18 2016-10-05 华为技术有限公司 Method and apparatus for delivering msi-x interrupts through non-transparent bridges to computing resources in pci-express clusters
CN108037951A (en) * 2017-12-27 2018-05-15 山东师范大学 The interruption fast switch over method and device of a kind of DTP processors
CN109977061A (en) * 2017-12-28 2019-07-05 中兴通讯股份有限公司 A kind of interruption processing method and interrupt processing device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4247228B2 (en) * 2005-11-28 2009-04-02 株式会社日立製作所 Hetero multiprocessor system and its OS configuration method
US9697154B2 (en) * 2014-08-20 2017-07-04 Red Hat Israel, Ltd. Managing message signaled interrupts in virtualized computer systems
US9952987B2 (en) * 2014-11-25 2018-04-24 Intel Corporation Posted interrupt architecture
MY186256A (en) * 2015-12-21 2021-06-30 Intel Corp Emulated msi interrupt handling

Patent Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1047931A (en) * 1989-05-17 1990-12-19 国际商业机器公司 The method and the device of direct transmission information between the application program that does not adopt the service of one or two operating system and in different processor, move
CN1230722A (en) * 1989-05-17 1999-10-06 国际商业机器公司 Uncoupling central processing unit from its associated hardware for interaction with data handling apparatus alien to operating system controlling said unit and hardware
JPH04318654A (en) * 1991-02-13 1992-11-10 Hewlett Packard Co <Hp> Redirection system for interruption to microprocessor
US6163829A (en) * 1998-04-17 2000-12-19 Intelect Systems Corporation DSP interrupt control for handling multiple interrupts
US6678801B1 (en) * 1998-04-17 2004-01-13 Terraforce Technologies Corp. DSP with distributed RAM structure
EP0992916A1 (en) * 1998-10-06 2000-04-12 Texas Instruments Inc. Digital signal processor
WO2000036513A2 (en) * 1998-12-18 2000-06-22 Unisys Corporation A memory address translation system and method for a memory having multiple storage units
TW482960B (en) * 2000-06-23 2002-04-11 Inventec Corp Method for preventing process contradiction between each processors in a multi-processor computer
US6738847B1 (en) * 2000-11-10 2004-05-18 Unisys Corporation Method for assigning a multiplicity of interrupt vectors in a symmetric multi-processor computing environment
CN101135982A (en) * 2006-08-28 2008-03-05 国际商业机器公司 Method and device for managing information transmission interruption resources
CN101140530A (en) * 2006-09-07 2008-03-12 环隆电气股份有限公司 Application program intercept and capture and monitoring system control break method
WO2008122746A1 (en) * 2007-04-10 2008-10-16 Cambridge Consultants Limited Data processing apparatus
CN101645005A (en) * 2008-08-06 2010-02-10 中国人民解放军信息工程大学 Processor structure and instruction system representation method based on multi-dimensional variable description table
CN103761145A (en) * 2009-01-26 2014-04-30 超威半导体公司 Guest interrupt controllers for each processor to aid interrupt virtualization
CN102521177A (en) * 2011-12-07 2012-06-27 福建星网锐捷网络有限公司 Interrupt processing method and device, central processing unit and processing apparatus
US9047208B1 (en) * 2012-12-10 2015-06-02 Qlogic, Corporation Method and system of configuring virtual function in peripheral devices
CN105993009A (en) * 2013-11-18 2016-10-05 华为技术有限公司 Method and apparatus for delivering msi-x interrupts through non-transparent bridges to computing resources in pci-express clusters
WO2016059692A1 (en) * 2014-10-16 2016-04-21 株式会社日立製作所 Computer and i/o processing control method
CN105183541A (en) * 2015-08-10 2015-12-23 上海斐讯数据通信技术有限公司 Response interrupting method and system
CN108037951A (en) * 2017-12-27 2018-05-15 山东师范大学 The interruption fast switch over method and device of a kind of DTP processors
CN109977061A (en) * 2017-12-28 2019-07-05 中兴通讯股份有限公司 A kind of interruption processing method and interrupt processing device

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Optimizing Network I/O Virtualization for Scale-Out Processor;B. Chen;《2018 IEEE SmartWorld, Ubiquitous Intelligence & Computing, Advanced & Trusted Computing, Scalable Computing & Communications, Cloud & Big Data Computing, Internet of People and Smart City Innovation》;全文 *
Timer Based Digital Implementation of Advanced Bus-Clamping PWM Techniques;J. S. S. Prasad, K. N. V. Prasad and G. Narayanan;《2018 International Conference on Computing, Power and Communication Technologies (GUCON)》;全文 *
基于中断向量表重构的固件代码反汇编技术;崔晨;李清宝;胡刚;王炜;《计算机科学》;全文 *

Also Published As

Publication number Publication date
CN111722916A (en) 2020-09-29

Similar Documents

Publication Publication Date Title
US5428799A (en) Redirection of interrupts to microprocessors
EP0827085B1 (en) Method and apparatus for distributing interrupts in a scalable symmetric multiprocessor system without changing the bus width or bus protocol
US5528761A (en) Message passing apparatus for determining if counted acknowledgements from a set of processors are within a defined range
EP0538829B1 (en) Apparatus for reducing interrupt retry attempts
US6983337B2 (en) Method, system, and program for handling device interrupts
US5944809A (en) Method and apparatus for distributing interrupts in a symmetric multiprocessor system
US8051234B2 (en) Multiprocessor system
CA1241762A (en) Interrupt mechanism for multi-microprocessing system having multiple busses
WO1995016965A1 (en) Multiple programmable interrupt controllers in a multi-processor system
JPH04233055A (en) Server architecture for terminal apparatus
US6836812B2 (en) Sequencing method and bridging system for accessing shared system resources
US6012121A (en) Apparatus for flexible control of interrupts in multiprocessor systems
US6789142B2 (en) Method, system, and program for handling interrupt requests
CN111722916B (en) Method for processing MSI-X interrupt through mapping table
US20220318170A1 (en) DEVICES, SYSTEMS, AND METHODS FOR PCIe ENDPOINT INTERRUPT
US7769937B2 (en) Data processing system with interrupt controller and interrupt controlling method
CN1659533A (en) Bus system, station for use in a bus system, and bus interface
US20230153153A1 (en) Task processing method and apparatus
US6701388B1 (en) Apparatus and method for the exchange of signal groups between a plurality of components in a digital signal processor having a direct memory access controller
CN102591817A (en) Multi-bus bridge controller and implementing method thereof
US6356354B1 (en) System having an arithmetic-logic circuit for determining the maximum or minimum of a plurality of codes
US5764998A (en) Method and system for implementing a distributed interrupt controller
EP0969367A2 (en) System and method used in a computer system for distributing tasks between multiprocessing I/O subsystems
US5802377A (en) Method and apparatus for implementing multiple interrupt controllers in a multi-processor computer system
EP1193607B1 (en) Apparatus and method for the exchange of signal groups between a plurality of components in a digital signal processor having a direct memory access controller

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant