Electrical computers and digital data processing systems: input/ – Interrupt processing – Multimode interrupt processing
Reexamination Certificate
2000-05-30
2003-09-09
Dharia, Rupal (Department: 2189)
Electrical computers and digital data processing systems: input/
Interrupt processing
Multimode interrupt processing
C710S266000
Reexamination Certificate
active
06618779
ABSTRACT:
FIELD OF THE INVENTION
Embodiments of the present invention provide a method and apparatus for chaining interrupt service routines. In particular, the present invention provides a method and apparatus for chaining interrupt service routines in systems where the interrupt vector table contains interrupt service routine instructions.
BACKGROUND OF THE INVENTION
An interrupt service routine (ISR) is a routine that is executed by a microprocessor when a specific interrupt occurs. For example, a timer interrupt may occur at a given interval and may cause the execution of an interrupt service routine that updates the system clock. In most computer systems, the occurrence of an interrupt causes program flow to be routed through an interrupt vector table (IVT), which is a table that determines which interrupt service routines are executed when interrupts occur. Different interrupts may cause control to be passed to different points in the interrupt vector table. The interrupt vector table in some systems contains pointers to interrupt service routines, while in other systems the interrupt vector table contains interrupt service routine instructions. In addition, the interrupt vector table in some systems is placed in a known location in physical memory, while in other systems the interrupt vector table is not at a fixed address. Further, in some systems the size of the interrupt vector table is fixed, for example at 32 kilobytes (KB).
At times, it may become necessary to combine a new interrupt service routine with an existing interrupt service routine so that the new interrupt service routine performs an operation immediately before or after the existing interrupt service routine. For example, a new device driver may be added requiring execution of a new interrupt service routine to poll a certain hardware device each time an existing interrupt service routine updates the system clock. The interrupt service routines may be combined by modifying the call to the existing interrupt service routine, so that the new interrupt service routine is called instead of the existing interrupt service routine, and by having the new interrupt service routine jump to the existing interrupt service routine upon completion. The combination of two interrupt service routines is referred to as “chaining” of interrupt service routines.
In systems where the interrupt vector table is at a fixed location and contains pointers to interrupt service routines, chaining a new interrupt service routine with an existing interrupt service routine involves updating the appropriate pointer in the interrupt vector table so that it points to the new interrupt service routine, and including an instruction at the end of the new interrupt service routine that causes program flow to jump to the address of the existing interrupt service routine. Replacement of pointers cannot be used in systems for which the interrupt vector table does not contain pointers, but instead contains actual code for the interrupt service routines. In such a system, it may be difficult to store the new interrupt service routine if the system has a fixed interrupt vector table size and does not have many available empty locations in the interrupt vector table. If a system also limits the distance of Instruction Pointer (IP) relative branches, it may also be difficult to store the new interrupt service routine outside the interrupt vector table.
REFERENCES:
patent: 4768149 (1988-08-01), Konopik et al.
patent: 5175828 (1992-12-01), Hall et al.
patent: 5555395 (1996-09-01), Parks
patent: 5596735 (1997-01-01), Hervin et al.
patent: 5603014 (1997-02-01), Woodring et al.
patent: 5642491 (1997-06-01), Rose et al.
patent: 5701493 (1997-12-01), Jaggar
patent: 5978882 (1999-11-01), Adams
patent: WO98/33106 (1998-07-01), None
Dharia Rupal
Sayles Crystal D.
LandOfFree
Method and apparatus for chaining interrupt service routines does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for chaining interrupt service routines, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for chaining interrupt service routines will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3049670