US6141703A - Interrupt sharing system assigning each interrupt request signal to a select one of system interrupt signals based on characteristic data of each peripheral device - Google Patents
Interrupt sharing system assigning each interrupt request signal to a select one of system interrupt signals based on characteristic data of each peripheral device Download PDFInfo
- Publication number
- US6141703A US6141703A US09/120,679 US12067998A US6141703A US 6141703 A US6141703 A US 6141703A US 12067998 A US12067998 A US 12067998A US 6141703 A US6141703 A US 6141703A
- Authority
- US
- United States
- Prior art keywords
- interrupt
- signals
- interrupt request
- select
- characteristic data
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
Definitions
- the present invention relates generally to computer systems. More particularly, the invention relates to an interrupt sharing mechanism for use in an interrupt-driven computer system.
- Interrupts are a commonly used mechanism for peripheral devices to request the service of a central processing unit (CPU).
- CPU central processing unit
- a parallel port connected to a printer can generate an interrupt to the CPU requesting that the CPU transmit additional characters to the printer. In this way, the CPU is able to perform other tasks until the printer requires service.
- FIG. 1A illustrates an exemplary interrupt-driven computer system 100.
- a CPU 102 an interrupt controller 104, an interrupt router 106, and a host/PCI bridge 108, each of which are connected to a host bus 110.
- One or more peripheral component interface (PCI) devices 112A-112N are connected to a PCI bus 114.
- the host/PCI bridge 108 and the interrupt router 106 are connected to the PCI bus 114.
- a PCI device 112 can be either an add-in board inserted into a PCI slot or a component embedded on the PCI bus 114.
- Four interrupt pins are associated with each PCI device 112 and are herein referred to as pin A, pin B, pin C, and pin D.
- Pin A is typically associated with the INTA# interrupt signal
- pin B is associated with the INTB# interrupt signal
- pin C is associated with the INTC# interrupt signal
- pin D is associated with the INTD# interrupt signal.
- single-function PCI devices utilize pin A and multi-function PCI devices can utilize more than one interrupt pin.
- the interrupt pins associated with each PCI device 112 can be connected to the system board traces or interrupt signals in a variety of ways. One such way is shown in FIG. 1B where the interrupt signals are shared between the PCI devices. The interrupt signals are shared in order to efficiently balance the load on each interrupt signal.
- Interrupt trace or signal INTA# is tied to interrupt pin B of PCI device 1 112A, interrupt pin C of PCI device 2 112B, and interrupt pin A of PCI device 3 112C.
- Interrupt signal INTB# is tied to interrupt pin C of PCI device 1 112A, interrupt pin A of PCI device 2 112B, and interrupt pin B of PCI device 3 112C.
- interrupt signal INTC# is tied to interrupt pin A of PCI device 1 112A, interrupt pin B of PCI device 2 112B, and interrupt pin C of PCI device 3 112C. All of the D pins are tied to the INTD# signal.
- Each of the interrupt signals, INTA#-INTD# is hardwired to a separate input of an interrupt router 106.
- the interrupt router 106 is used to assign each interrupt signal, INTA#-INTD#, to a specific interrupt request line, IRQ 1 -IRQ L .
- the interrupt controller 104 receives the interrupt request lines, IRQ 1 -IRQ L , and in response asserts a corresponding interrupt request 116 to the CPU 102.
- a drawback with the interrupt sharing scheme described above is that some PCI devices are not capable of sharing interrupt signals with other PCI devices.
- SCSI small computer system interface
- a system failure sometimes occurs. At times this is attributable to problems with the device drivers associated with a particular PCI device.
- the PCI devices are moved around in the various PCI slots in order to prevent the troublesome devices from sharing the same interrupt signal.
- a computer system embodying the technology of the present invention includes a CPU coupled to an interrupt controller.
- the CPU receives interrupts from the interrupt controller.
- An interrupt router is coupled to the interrupt controller and a PCI bus.
- the interrupt router receives interrupt request signals from the various PCI devices connected to the PCI bus.
- the interrupt router generates system interrupt request (IRQ) signals in response to the interrupt request signals received from the PCI devices.
- IRQ system interrupt request
- the number of interrupt request signals can exceed the number of IRQ signals.
- the interrupt router is programmed by an automatic interrupt routing configuration procedure with the assignments as to which interrupt request signals share IRQ signals.
- the automatic interrupt routing configuration procedure executes as part of the system BIOS during system initialization or reset.
- the automatic interrupt routing configuration procedure utilizes the information in each PCI device's configuration register space to determine which PCI devices require interrupts and the characteristics of the device.
- the device characteristics include the vendor identifier, the device identifier, and the class code.
- the vendor identifier indicates the manufacturer of the device
- the device identifier indicates the type of device
- the class code indicates the function of the device.
- the automatic interrupt routing configuration procedure utilizes the vendor identifier, the device identifier, and the class code to determine which devices are to share IRQ signals. Once this determination is made, the interrupt router is then programmed with the interrupt assignments.
- an automatic mechanism to configure the sharing of IRQ signals between PCI devices based on device characteristics is beneficial in many respects.
- This mechanism overcomes system failures by intelligently selecting those PCI devices that can share an IRQ signal without incurring system failures.
- this mechanism does not require manual intervention.
- a user does not need to be aware of the devices that cannot share interrupts or know how to avoid such sharing.
- the automatic interrupt routing configuration procedure eliminates manual intervention thereby improving the overall performance of the computer system.
- FIG. 1A illustrates an exemplary prior art computer system.
- FIG. 1B illustrates the sharing of interrupt signals for the computer system shown in FIG. 1A.
- FIG. 2 illustrates a computer system utilizing the technology of the present invention.
- FIG. 3 illustrates the interrupt routing mechanism for the computer system shown in FIG. 2
- FIG. 4 illustrates the components of the interrupt router shown in FIGS. 2-3.
- FIG. 5 illustrates a memory device shown in FIG. 2 in accordance with a preferred embodiment of the present invention.
- FIGS. 6-9 are flow charts illustrating the steps used to automatically configure the manner in which the interrupts are shared in accordance with a preferred embodiment of the present invention.
- FIG. 2 illustrates a computer system 200 employing the technology of the present invention.
- a computer system 200 including a CPU 202 and an interrupt controller 204 connected to a processor bus 206.
- the processor bus 206 is connected to a PCI bus 208 and a memory bus 210 through a processor-to-memory-to-PCI bridge 212.
- One or more memory devices 214A-214N are connected to the memory bus 210.
- An interrupt router 216 and one or more other PCI devices 218A-218N are connected to the PCI bus 208.
- the CPU 202 controls the functions of the computer system 200.
- the CPU 202 receives interrupts 218 from the interrupt controller 204.
- the CPU 202 can be any type of microprocessor or processor element, such as but not limited to the Intel X86 family of microprocessors and the interrupt controller 204 can be any type of interrupt controller, such as but not limited to the Intel 8259 interrupt controller. It should be noted that additional devices are connected to the processor bus 206 which are not shown.
- the memory 214 can be any type of memory device including but not limited to synchronous dynamic random access memory (SDRAM), dynamic random access memory (DRAM), read-only memory (ROM) devices, or any combination of memory technologies, and the like.
- SDRAM synchronous dynamic random access memory
- DRAM dynamic random access memory
- ROM read-only memory
- the PCI devices 218A-218N can be either add-in boards that reside in a PCI slot or embedded components that are tied to the PCI bus 208.
- Examples of such devices 218 include, but are not limited to, network interface controllers, SCSI controllers, RAID controllers, video adapters, bus bridges, and the like.
- PCI bus 208 The operation of the PCI bus 208 is well known in the art. Interrupt request signals INTA#, INTB#, INTC#, and INTD# are part of the PCI bus 208.
- Interrupt request signals INTA#, INTB#, INTC#, and INTD# are part of the PCI bus 208.
- a more detailed description of the PCI bus can be found in Solari and Willse, PCI Hardware and Software Architecture and Design, 4th edition, Annabooks (1998), in Mindshare, PCI System Architecture, 3rd edition, Addison Wesley (1996), and in PCI Specification rev. 2.1 from the PCI Special Interest Group, (www.pcisig.com), each of which are hereby incorporated by reference as background information.
- An interrupt router 216 is a PCI device that receives the PCI bus interrupt request signals, INTA#, INTB#, INTC#, and INTD#, from the devices connected to the PCI bus 208 and which generates a corresponding system interrupt request signal (herein referred to as IRQ signals) IRQ 1 -IRQ L 220 that is transmitted to the interrupt controller 204.
- the interrupt router 216 is a programmable multiplexer.
- FIG. 3 illustrates the interaction of the components shown in FIG. 2 that control the interrupt processing ongoing in the computer system 200.
- the interrupt router 216 receives each of the interrupt request signals that emanate from the PCI devices 218 and generates a corresponding IRQ signal.
- the interrupt controller 204 receives the IRQ signals and generates the appropriate interrupt 218 to the CPU 202.
- the interrupt router 216 can receive at most (4 ⁇ n)+m interrupt request signals, where n is the number of add-in-board PCI devices and m is the number of embedded PCI devices. For example, in one embodiment n can be 8 and m can be 4 thereby providing 36 interrupt request signals that are routed to the interrupt router 216. It should be noted that the present invention is not limited to any particular number of interrupt request signals.
- PCI slot 1 there is multi-function PCI device 218A that uses four interrupt pins.
- interrupt request signals INTA#, INTB#, INTC#, and INTD# that are tied from the respective interrupt pins from PCI slot 1 to the interrupt router 216.
- PCI slot n there is a single-function PCI device 218H that only uses interrupt pin A.
- INTA# signal that is tied from PCI slot n to the interrupt router 216.
- first embedded device 218I that uses interrupt pin A and has a single INTA# signal tied to the interrupt router 216.
- a second embedded device 218J uses interrupt pin A and has a single INTA# signal tied to the interrupt router 216. It should be noted that the present invention is not constrained to any particular number or types of PCI devices and those shown in FIG. 3 are for illustration purposes only. The terms “interrupt pin”, “interrupt request”, and “interrupt request signal” are used herein interchangeably.
- the interrupt router 216 receives these interrupts and generates one or more IRQ signals 220 which are transmitted to the interrupt controller 204. Based on the particular asserted IRQ signal 220, the interrupt controller 204 generates a corresponding interrupt 218 to the CPU 202.
- FIG. 4 illustrates the components of the interrupt router 216.
- Each of the L-bit output signals 234 is coupled to an OR-gate 236 where the output signals 234 are ORed together bit-by-bit to form a L-bit output IRQ[1:L].
- the six interrupt request signals transmitted to each look up table 232 serve as address lines to select one of the L-bits to output to the OR-gate 236. It should be noted that although the interrupt router is illustrated with six look up tables, the present invention is not constrained to this number.
- FIG. 5 illustrates one of the memory devices 214A.
- the memory 214A includes a system BIOS procedure 240 that includes an automatic interrupt routing configuration procedure 242 as well as other procedures and data structures.
- the system BIOS procedure 240 is used to configure the components of the computer system 200.
- the automatic interrupt routing configuration procedure 242 is used to automatically configure the interrupts.
- the memory 214A includes a Power On Self Test (POST) procedure 244 that tests and initializes the individual components that are crucial to the operation of the computer system 200.
- POST Power On Self Test
- FIG. 6 illustrates the steps used to initialize the computer system 200.
- the POST procedure 244 is initiated (step 250).
- the POST procedure 244 tests and initializes the individual components that are crucial to the operation of the computer system 200.
- the system BIOS procedure 240 executes (step 252).
- the system BIOS procedure 240 configures the components of the computer system 200 as well as perform other tasks.
- the system BIOS procedure 240 determines the range of PCI buses present in the computer system 200, scans for the PCI devices connected to each PCI bus, assigns the interrupt pins to a particular interrupt signal, sets the configuration register space in each PCI device, as well as perform other tasks.
- a more detailed description of the POST 244 and system BIOS 240 procedures can be found in the incorporated references cited above.
- a function of the system BIOS procedure 240 is to assign an IRQ signal 220 to each PCI device.
- the automatic interrupt routing configuration procedure 242 is used to determine how the IRQ signals are shared amongst the PCI devices (step 254). Once the interrupts are set, the system BIOS procedure 240 completes processing. The operating system is booted up and the computer system 200 is engaged for processing (step 256).
- FIG. 7 illustrates the steps used by the automatic interrupt routing configuration procedure 242 to determine the manner in which the IRQ signals 220 are shared amongst the PCI devices 218.
- the IRQ signals 220 are assigned to each of the PCI devices 218 (step 260).
- the interrupt line register associated with each PCI device's configuration register space is updated to reflect the interrupt signal assignments (step 262).
- the interrupt router 216 is then programmed with the interrupt signal assignments (step 264) and then the interrupt controller 204 is programmed with each IRQ signal and its associated interrupt vector (step 266).
- FIG. 8 illustrates the steps used by the automatic interrupt routing configuration procedure 242 to assign interrupts to PCI devices 218.
- the procedure 242 determines the number of IRQ signals 220 that are available (step 270).
- a second memory device 214B contains the assignment of the IRQ signals 220 to other system components that cannot share an IRQ signal, such as a keyboard, mouse, video display, and the like.
- the procedure 242 reads the appropriate information from this second memory device 214B to determine the number of IRQ signals 220 that have not been assigned and are available.
- the automatic interrupt routing configuration procedure 242 determines the number of interrupt requests that are generated from the PCI devices 218 (step 272).
- a configuration register space that is used to configure the device so that it can interact with the PCI bus 208.
- An interrupt pin register is part of the configuration register space and defines which of the four PCI interrupt pins, INTA#, INTB#, INTC#, INTD#, the PCI device 218 is connected to. A zero value in the interrupt pin register indicates that the PCI device 218 does not use interrupts.
- the procedure 242 reads the configuration register space of each PCI device 218 to determine the number of interrupt requests that are generated from these devices. A more detailed description of the configuration register space can be found in the incorporated references cited above.
- each PCI interrupt request is assigned a specific IRQ signal 220 (step 276).
- the automatic interrupt routing configuration procedure 242 determines how the IRQ signals 220 are to be shared between each of the interrupt requests associated with the PCI devices 218 (step 278).
- FIG. 9 illustrates the steps used by the automatic interrupt routing configuration procedure 242 to determine how the IRQ signals 220 are to be shared between the PCI devices 218.
- the procedure 242 sorts the interrupt requests into groups, where each group has the same device identifier, the same vendor identifier, and the same class code (step 280).
- the device identifier, vendor identifier, and the class code are obtained from the configuration register space associated with the PCI device 218 that corresponds to a particular interrupt request.
- the device identifier identifies the type of device (e.g., RAID), the vendor identifier identifies the manufacturer of the device (e.g., Hewlett-Packard Company (HP)), and the class code identifies the basic function of the device (e.g., network interface controller (NIC)). If the number of groups is less than or equal to the number of available IRQ signals 220 (step 282-N), then each interrupt request in each group is assigned to the same IRQ signal 220 (step 284).
- the number of groups is less than or equal to the number of available IRQ signals 220 (step 282-N)
- NIC network interface controller
- the interrupt requests are partitioned into groups based on the same vendor identifier and the same class code (step 286). If the number of groups based on this grouping are less than or equal to the number of available IRQ signals 220 (step 288-N), then each interrupt request in each group is assigned to the same IRQ signal 220 (step 284).
- step 288-Y the interrupt requests are grouped based on the same class code (step 290). If the number of groups based on this grouping are less than the number of available IRQ signals 220 (step 292-N), then each interrupt request in each group is assigned to the same IRQ signal 220 (step 284). Otherwise (step 292-Y), the interrupt requests are assigned to the IRQ signals 220 in a round robin manner (step 294).
- the computer system 200 has five PCI devices 218 requiring eight interrupts.
- the first device shown as the first entry in Table 1, is a Disk Array Controller (DAC) such as an embedded NetRaid device manufactured by HP which uses a single interrupt request.
- the second PCI device shown as the second entry in Table 1, is an HP NetRaid controller which utilizes a single interrupt request.
- the third PCI device shown as the third entry in Table 1, is an HP network interface card (NIC) which utilizes a single interrupt request.
- the fourth device, shown as the fourth entry is a NIC from Adaptec which utilizes four interrupt requests.
- the fifth entry is a NIC from 3COM which utilizes a single interrupt request.
- the automatic interrupt routing configuration procedure 242 sorts the interrupt requests into groups, where the devices associated with each interrupt request in each group have the same vendor identifier, the same device identifier, and the same class code. For the example shown in Table 1, there are five such groups, where each group includes one of the devices shown in Table 1.
- the interrupt request associated with the HP embedded NetRaid controller is assigned to a first IRQ signal
- the interrupt request associated with the HP NetRaid controller is assigned to a second IRQ signal
- the interrupt request associated with the HP NIC is assigned to a third IRQ signal
- the four interrupt requests associated with the Adaptec NIC share a fourth IRQ signal
- the interrupt request associated with the 3COM NIC is assigned to a fifth IRQ signal.
- the automatic interrupt routing configuration procedure 242 groups the interrupt requests based on the same vendor identifier and the same class code.
- the interrupt request associated with the HP embedded NetRaid controller and the interrupt request associated with the HP NetRaid controller share a first IRQ signal since they have the same vendor identifier (HP) and the same class code (DAC), the interrupt request associated with the HP J2585B NIC is assigned to a second IRQ signal, the four interrupt requests associated with the Adaptec NIC share a third IRQ signal, and the interrupt request associated with the 3COM NIC is assigned to a fourth IRQ signal.
- the automatic interrupt routing configuration procedure 242 groups the interrupt requests based on the same class code.
- the interrupt request associated with the HP embedded NetRaid controller and the interrupt request associated with the HP NetRaid controller share a first IRQ signal since they each are associated with the class code of DAC.
- the interrupt request associated with the HP NIC, the interrupt requests associated with the Adaptec NIC, and the interrupt request associated with the 3COM NIC share a second IRQ signal since they each are associated with the class code of NIC.
- the automatic interrupt routing configuration procedure 242 is beneficial for overcoming system failures by intelligently selecting non-conflicting PCI devices 218 to share an IRQ signal 220. This configuration is performed automatically thereby alleviating manual intervention. In addition, a user does not need to be aware of the devices that cannot share interrupts or of determining the manner in which to alleviate such sharing. As such, the overall usability and ease of configuration is improved.
- the present invention is not constrained to any particular device characteristics or source of such characteristics or attributes.
- Other device characteristics from the PCI configuration register space can be used such as but not limited to the revision identifier or the like.
- the source of the attributes which can be used to determine the sharing of the interrupt signals is not constrained to the device characteristics found in the PCI configuration space.
- Other sources of such attributes can include device driver attributes, performance monitoring data, and operating system attributes.
- the device drivers can contain information that can be used in the interrupt routing determination as well as information obtained from the operating system or systems associated with the interrupt devices.
- statistical or other data obtained from a performance monitoring device can be used to make a runtime determination of the manner in which the interrupt signals are shared.
- the automatic interrupt routing configuration procedure 242 will not operate at system initialization or reset but rather during runtime and may be part of the operating system's runtime environment.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
Description
TABLE 1 ______________________________________ # of Interrupt Vendor Id Device Id Class Code Requests For For For ______________________________________ 1 HP EmbeddedNetRaid DAC 1HP NetRaid DAC 1 HP J2585B NIC 4 Adaptec ANA-6944A NIC 1 3COM 3C905 NIC ______________________________________
Claims (17)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/120,679 US6141703A (en) | 1998-07-21 | 1998-07-21 | Interrupt sharing system assigning each interrupt request signal to a select one of system interrupt signals based on characteristic data of each peripheral device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/120,679 US6141703A (en) | 1998-07-21 | 1998-07-21 | Interrupt sharing system assigning each interrupt request signal to a select one of system interrupt signals based on characteristic data of each peripheral device |
Publications (1)
Publication Number | Publication Date |
---|---|
US6141703A true US6141703A (en) | 2000-10-31 |
Family
ID=22391874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/120,679 Expired - Lifetime US6141703A (en) | 1998-07-21 | 1998-07-21 | Interrupt sharing system assigning each interrupt request signal to a select one of system interrupt signals based on characteristic data of each peripheral device |
Country Status (1)
Country | Link |
---|---|
US (1) | US6141703A (en) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020194409A1 (en) * | 2001-04-18 | 2002-12-19 | Sony Corporation | System and method for implementing a flexible interrupt mechanism |
US6523073B1 (en) * | 1999-08-23 | 2003-02-18 | Palm Computing, Inc. | Handheld computer system and method to detect and identify a peripheral device |
US20030145147A1 (en) * | 2002-01-25 | 2003-07-31 | Dell Products L.P. | Information handling system with dynamic interrupt allocation apparatus and methodology |
US6643724B2 (en) * | 2000-12-27 | 2003-11-04 | International Business Machines Corporation | Method and apparatus for interrupt routing of PCI adapters via device address mapping |
US20050021894A1 (en) * | 2003-07-24 | 2005-01-27 | Renesas Technology America, Inc. | Method and system for interrupt mapping |
US6904497B1 (en) * | 2001-09-21 | 2005-06-07 | Adaptec, Inc. | Method and apparatus for extending storage functionality at the bios level |
US20050125583A1 (en) * | 2003-12-03 | 2005-06-09 | Ken Shih | Detecting method for PCI system |
US20050246478A1 (en) * | 2004-03-05 | 2005-11-03 | Nec Corporation | Information processing apparatus and a method and a program of loading a device driver |
US20060285052A1 (en) * | 2001-08-07 | 2006-12-21 | Cheol-Soo Jung | Liquid crystal display |
WO2007147441A1 (en) * | 2006-06-22 | 2007-12-27 | Freescale Semiconductor, Inc. | Method and system of grouping interrupts from a time-dependent data storage means |
US20080288694A1 (en) * | 2007-05-16 | 2008-11-20 | Inventec Corporation | Method for dynamically arranging interrupt pins |
US20090177827A1 (en) * | 2008-01-08 | 2009-07-09 | Parata Systems, Llc | Methods, systems, and devices for providing an interrupt scheme in automated pharmaceutical dispensing machines without centralized arbitration |
US20090327545A1 (en) * | 2006-06-20 | 2009-12-31 | Freescale Semiconductor Inc. | Method for transmitting a datum from a time-dependent data storage means |
US20100088446A1 (en) * | 2008-10-06 | 2010-04-08 | Texas Instruments Incorporated | Prioritizing interrupt controller |
US20100217906A1 (en) * | 2009-02-20 | 2010-08-26 | Qualcomm Incorporated | Methods And Aparatus For Resource Sharing In A Programmable Interrupt Controller |
US20200242058A1 (en) * | 2019-01-30 | 2020-07-30 | Faraday Technology Corp. | Interrupt management system and management method thereof |
US11579920B2 (en) * | 2020-07-21 | 2023-02-14 | Arm Limited | Virtual processor interrupt tracking |
CN118012796A (en) * | 2024-04-09 | 2024-05-10 | 珠海星云智联科技有限公司 | Interrupt resource management method, computer device and medium |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5148595A (en) * | 1990-04-27 | 1992-09-22 | Synergy Computer Graphics Corporation | Method of making laminated electrostatic printhead |
US5475846A (en) * | 1993-08-11 | 1995-12-12 | Databook Incorporated | Apparatus for processing PCMCIA interrupt requests |
US5519860A (en) * | 1992-01-31 | 1996-05-21 | Syncsort Incorporated | Central processor index sort followed by direct record sort and write by an intelligent control unit |
US5530875A (en) * | 1993-04-29 | 1996-06-25 | Fujitsu Limited | Grouping of interrupt sources for efficiency on the fly |
US5535420A (en) * | 1994-12-14 | 1996-07-09 | Intel Corporation | Method and apparatus for interrupt signaling in a computer system |
US5615389A (en) * | 1995-08-04 | 1997-03-25 | International Business Machines Corporation | Method and system for device resource resolution in a data processing system |
US5764996A (en) * | 1995-11-27 | 1998-06-09 | Digital Equipment Corporation | Method and apparatus for optimizing PCI interrupt binding and associated latency in extended/bridged PCI busses |
US5809329A (en) * | 1994-05-27 | 1998-09-15 | Microsoft Corporation | System for managing the configuration of a computer system |
-
1998
- 1998-07-21 US US09/120,679 patent/US6141703A/en not_active Expired - Lifetime
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5148595A (en) * | 1990-04-27 | 1992-09-22 | Synergy Computer Graphics Corporation | Method of making laminated electrostatic printhead |
US5519860A (en) * | 1992-01-31 | 1996-05-21 | Syncsort Incorporated | Central processor index sort followed by direct record sort and write by an intelligent control unit |
US5530875A (en) * | 1993-04-29 | 1996-06-25 | Fujitsu Limited | Grouping of interrupt sources for efficiency on the fly |
US5475846A (en) * | 1993-08-11 | 1995-12-12 | Databook Incorporated | Apparatus for processing PCMCIA interrupt requests |
US5809329A (en) * | 1994-05-27 | 1998-09-15 | Microsoft Corporation | System for managing the configuration of a computer system |
US5535420A (en) * | 1994-12-14 | 1996-07-09 | Intel Corporation | Method and apparatus for interrupt signaling in a computer system |
US5615389A (en) * | 1995-08-04 | 1997-03-25 | International Business Machines Corporation | Method and system for device resource resolution in a data processing system |
US5764996A (en) * | 1995-11-27 | 1998-06-09 | Digital Equipment Corporation | Method and apparatus for optimizing PCI interrupt binding and associated latency in extended/bridged PCI busses |
Non-Patent Citations (2)
Title |
---|
MindShare, Inc. by Tom Shanley/Don Anderson, "PCI System Architecture" Third Edition, covers PCI Revision 2.1--Chapter 11 "Interrupt-Related Issues", pp. 209-230 (1997). |
MindShare, Inc. by Tom Shanley/Don Anderson, PCI System Architecture Third Edition, covers PCI Revision 2.1 Chapter 11 Interrupt Related Issues , pp. 209 230 (1997). * |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6523073B1 (en) * | 1999-08-23 | 2003-02-18 | Palm Computing, Inc. | Handheld computer system and method to detect and identify a peripheral device |
US6643724B2 (en) * | 2000-12-27 | 2003-11-04 | International Business Machines Corporation | Method and apparatus for interrupt routing of PCI adapters via device address mapping |
US20020194409A1 (en) * | 2001-04-18 | 2002-12-19 | Sony Corporation | System and method for implementing a flexible interrupt mechanism |
US6775730B2 (en) * | 2001-04-18 | 2004-08-10 | Sony Corporation | System and method for implementing a flexible interrupt mechanism |
US20060285052A1 (en) * | 2001-08-07 | 2006-12-21 | Cheol-Soo Jung | Liquid crystal display |
US6904497B1 (en) * | 2001-09-21 | 2005-06-07 | Adaptec, Inc. | Method and apparatus for extending storage functionality at the bios level |
US6877057B2 (en) * | 2002-01-25 | 2005-04-05 | Dell Products L.P. | Information handling system with dynamic interrupt allocation apparatus and methodology |
US20030145147A1 (en) * | 2002-01-25 | 2003-07-31 | Dell Products L.P. | Information handling system with dynamic interrupt allocation apparatus and methodology |
US20050021894A1 (en) * | 2003-07-24 | 2005-01-27 | Renesas Technology America, Inc. | Method and system for interrupt mapping |
US20050125583A1 (en) * | 2003-12-03 | 2005-06-09 | Ken Shih | Detecting method for PCI system |
US20050246478A1 (en) * | 2004-03-05 | 2005-11-03 | Nec Corporation | Information processing apparatus and a method and a program of loading a device driver |
US20090327545A1 (en) * | 2006-06-20 | 2009-12-31 | Freescale Semiconductor Inc. | Method for transmitting a datum from a time-dependent data storage means |
US7984210B2 (en) | 2006-06-20 | 2011-07-19 | Freescale Semiconductor, Inc. | Method for transmitting a datum from a time-dependent data storage means |
WO2007147441A1 (en) * | 2006-06-22 | 2007-12-27 | Freescale Semiconductor, Inc. | Method and system of grouping interrupts from a time-dependent data storage means |
US8001309B2 (en) | 2006-06-22 | 2011-08-16 | Freescale Semiconductor, Inc. | Method and system for grouping interrupts from a time-dependent data storage system |
US20090282179A1 (en) * | 2006-06-22 | 2009-11-12 | Freescale Semiconductor, Inc. | Method and system of grouping interrupts from a time-dependent data storage means |
US20080288694A1 (en) * | 2007-05-16 | 2008-11-20 | Inventec Corporation | Method for dynamically arranging interrupt pins |
US7552260B2 (en) * | 2007-05-16 | 2009-06-23 | Inventec Corporation | Method for dynamically arranging interrupt pins |
US7668998B2 (en) * | 2008-01-08 | 2010-02-23 | Parata Systems, Llc | Methods, systems, and devices for providing an interrupt scheme in automated pharmaceutical dispensing machines without centralized arbitration |
US20090177827A1 (en) * | 2008-01-08 | 2009-07-09 | Parata Systems, Llc | Methods, systems, and devices for providing an interrupt scheme in automated pharmaceutical dispensing machines without centralized arbitration |
US20100088446A1 (en) * | 2008-10-06 | 2010-04-08 | Texas Instruments Incorporated | Prioritizing interrupt controller |
US20100217906A1 (en) * | 2009-02-20 | 2010-08-26 | Qualcomm Incorporated | Methods And Aparatus For Resource Sharing In A Programmable Interrupt Controller |
US8244947B2 (en) * | 2009-02-20 | 2012-08-14 | Qualcomm Incorporated | Methods and apparatus for resource sharing in a programmable interrupt controller |
US20200242058A1 (en) * | 2019-01-30 | 2020-07-30 | Faraday Technology Corp. | Interrupt management system and management method thereof |
US11579920B2 (en) * | 2020-07-21 | 2023-02-14 | Arm Limited | Virtual processor interrupt tracking |
CN118012796A (en) * | 2024-04-09 | 2024-05-10 | 珠海星云智联科技有限公司 | Interrupt resource management method, computer device and medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6141703A (en) | Interrupt sharing system assigning each interrupt request signal to a select one of system interrupt signals based on characteristic data of each peripheral device | |
US6820164B2 (en) | Peripheral component interconnect bus detection in logically partitioned computer system involving authorizing guest operating system to conduct configuration input-output operation with functions of pci devices | |
US6766398B2 (en) | Method for processing PCI interrupt signals in a logically partitioned guest operating system | |
US6662242B2 (en) | Method for PCI IO using PCI device memory mapping in a logically partitioned system | |
US6094699A (en) | Apparatus and method for coupling devices to a PCI-to-PCI bridge in an intelligent I/O controller | |
US7254652B2 (en) | Autonomic configuration of port speeds of components connected to an interconnection cable | |
US6192439B1 (en) | PCI-compliant interrupt steering architecture | |
US6823418B2 (en) | Virtual PCI device apparatus and method | |
US5881252A (en) | Method and apparatus for automatically configuring circuit cards in a computer system | |
US6587868B2 (en) | Computer system having peer-to-peer bus bridges and shadow configuration registers | |
US7213081B2 (en) | Dynamic determination of memory mapped input output range granularity for multi-node computer system | |
US5621902A (en) | Computer system having a bridge between two buses with a direct memory access controller and an alternative memory access controller | |
US7797466B2 (en) | Data processing system for keeping isolation between logical partitions | |
US5758099A (en) | Plug and play protocol for bus adapter card | |
US7624222B2 (en) | South bridge system and method | |
US20080181234A1 (en) | System and method for providing quality of service in a virtual adapter | |
US20050283549A1 (en) | Reconfigurable USB I/O device persona | |
US20080126617A1 (en) | Message Signaled Interrupt Management for a Computer Input/Output Fabric Incorporating Dynamic Binding | |
US8458368B2 (en) | System and method for discovering and protecting shared allocated resources in a shared virtualized I/O device | |
US6298408B1 (en) | Intelligent input and output controller for flexible interface | |
US5764996A (en) | Method and apparatus for optimizing PCI interrupt binding and associated latency in extended/bridged PCI busses | |
US20030023841A1 (en) | System and method for identifying one or more optimum configurations of a data processing system | |
US5675761A (en) | Method and system for providing discontiguous drive support | |
US5848294A (en) | PCI computer system with multiple legacy devices | |
US6128718A (en) | Apparatus and method for a base address register on a computer peripheral device supporting configuration and testing of address space size |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: HEWLETT-PACKARD COMPANY, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DING, JIANGANG;MOSTAFAVI, KAMRAN;PHARR, PHILLIP;AND OTHERS;REEL/FRAME:009496/0290 Effective date: 19980721 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
REMI | Maintenance fee reminder mailed | ||
AS | Assignment |
Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:026945/0699 Effective date: 20030131 |
|
FPAY | Fee payment |
Year of fee payment: 12 |
|
AS | Assignment |
Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.;REEL/FRAME:037079/0001 Effective date: 20151027 |