Patent US3699212A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5535397A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for providing a context switch in response to an interrupt in a computer process

Assignee: Micron Technology Inc
•
Filing: 1993-06-30
•
Granted: 1996-07-09
•
Expires: 2013-06-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A processor which includes at least a pair of call stacks and a pair of register files which may be utilized for running processes. The processor includes circuitry for detecting when an interrupt has occurred and switching from a stack and registers being utilized by a running process to a clean stack and registers to be utilized by the interrupting process. The processor then runs an interrupt start process which places the process interrupted and the circuitry utilized by that process into a condition in which the process may be safely interrupted. Similarly, the process circuitry detects when the interrupt is completed, performs a context switch in which the original stack and register are again made available, and switches to a process adapted to place the interrupted routine in an appropriate state to restart.

Inventors

  • 👤 Richard J. Durante
  • 👤 Keith F. Underwood

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 06:02
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4812; G06F9/30; G06F9/38; G06F9/3802; G06F9/3804; G06F9/3806; G06F9/461; G06F9/462

Claims Analysis

Total Claims: 23
Claim 1
Independent Claim 168 words
In a processor system executing processes, a method for interrupting processes, comprising: associating a specific interrupt start routine (ISR) and interrupt return routine (IRR) with each process, said ISR comprising steps, when executed, to safely suspend execution of the corresponding process without corruption of the system or data and enable an interrupting process to execute, and said IRR comprising steps, when executed, to safely resume execution of the corresponding process without corruption of the system or data; executing a first process, said first process associated with a first ISR and first IRR; upon receipt of an interrupt during execution of the first process, executing the first ISR to safely suspend execution of the first process; upon completion of execution of the first ISR, servicing the interrupt by executing a corresponding interrupt process; upon completion of execution of the interrupting process, executing the first IRR to safely return to execution of the first process; and upon completion of execution of the first IRR, continuing execution of the first process.
Claim 2
Dependent Claim 168 words
In a processor system executing processes, a method for interrupting processes, comprising: associating a specific interrupt start routine (ISR) and interrupt return routine (IRR) with each process, said ISR comprising steps, when executed, to safely suspend execution of the corresponding process without corruption of the system or data and enable an interrupting process to execute, and said IRR comprising steps, when executed, to safely resume execution of the corresponding process without corruption of the system or data; executing a first process, said first process associated with a first ISR and first IRR; upon receipt of an interrupt during execution of the first process, executing the first ISR to safely suspend execution of the first process; upon completion of execution of the first ISR, servicing the interrupt by executing a corresponding interrupt process; upon completion of execution of the interrupting process, executing the first IRR to safely return to execution of the first process; and upon completion of execution of the first IRR, continuing execution of the first process.
Claim 3
Dependent Claim 72 words
The method as set forth in claim 1, further comprising the step of storing pointers to starting addresses of the first ISR and first IRR at predetermined locations in the processor system, when execution of the first process is initiated, said step of executing the first ISR comprising retrieving the pointer to the starting address of the ISR from the predetermined location and initiating execution of the ISR at the starting address.
Claim 4
Dependent Claim 108 words
The method as set forth in claim 1, further comprising the step of executing a second process upon completion of execution of the first process, comprising the steps of: upon receipt of an interrupt during execution of the second process, executing a second ISR associated with the second process to safely suspend execution of the second process; upon completion of execution of the second ISR, servicing the interrupt by executing a corresponding interrupt process; upon completion of execution of the interrupting process, executing the second IRR to safely return to execution of the second process; and upon completion of the second IRR, continuing execution of the second process.
Claim 5
Dependent Claim 54 words
The method as set forth in claim 1, wherein said processor system comprises a memory requiring specified voltages to perform operations on the memory, said first ISR comprising steps of removing specified voltages in an orderly manner to insure that the memory is not damaged and data stored in the memory is not corrupted.
Claim 6
Dependent Claim 62 words
The method as set forth in claim 1, wherein said processor system comprises a memory requiring specified voltages to perform operations on the memory, said first IRR comprising steps of applying specified voltages in an orderly manner to enable the first process to continue execution, to insure that the memory is not damaged and data stored in the memory is not corrupted.
Claim 7
Dependent Claim 19 words
The method as set forth in claim 1, wherein said first process comprises steps to erase a Flash memory.
Claim 8
Dependent Claim 19 words
The method as set forth in claim 1, wherein said first process comprises steps to program a Flash memory.
Claim 9
Dependent Claim 110 words
The method as set forth in claim 1, wherein: said step of executing a first ISR comprises the step of switching from a first call stack utilized by the first process, to a second unused call stack, said ISR using the second call stack during execution, wherein upon completion of the first ISR, said second call stack is empty; said step of servicing the interrupt executes a corresponding interrupt process using the second call stack, upon completion of execution of said corresponding interrupt process, said second call stack is empty; and prior to continuing execution of the first process, switching from the second call stack to the first call stack.
Claim 10
Dependent Claim 101 words
The method as set forth in claim 8, wherein: said first process using a first set of register files during execution; upon completion of execution of the first ISR, further switching from said first register files to a second set of register files to enable the state of the first register files to remain intact for later access by the first process and to provide a separate set of register files during execution of the interrupting process; and prior to continuing execution of the first process, switching from the second set of register files to the first set of register files.
Claim 11
Dependent Claim 28 words
The method as set forth in claim 8, further comprising the step of detecting completion of execution of the first ISR by detecting an empty second call stack.
Claim 12
Dependent Claim 240 words
An interrupt mechanism for safely interrupting executing processes executed by a processor on a computer system comprising: at least one interrupt service routine (ISR) and at least one interrupt return routine (IRR), each interruptible process executing having an associated ISR and IRR, each ISR comprising steps, when executed, to safely suspend execution of the corresponding process without corruption of the system or data and enable an interrupting process to execute, and each IRR comprising steps, when executed, to safely resume execution of the corresponding process without corruption of the system or data; logic to control sequencing of processes when an interrupt is issued such that an ISR associated with the executing process is executed prior to execution of an interrupt process and an IRR associated with the executing process is executed subsequent to execution of the interrupt process, such that when an interrupt is issued during execution of a first executing process, said processor, prior to servicing the interrupt, executes a first ISR associated with the first process to safely suspend execution of the first process, said processor, upon completion of execution of the first ISR, servicing the interrupt by executing a corresponding interrupt process, said processor, upon completion of execution of the interrupting process, executing a first IRR associated with the first process to safely return to execution of the first process, and upon completion of execution of the first IRR, said processor continuing execution of the first process.
Claim 13
Dependent Claim 240 words
An interrupt mechanism for safely interrupting executing processes executed by a processor on a computer system comprising: at least one interrupt service routine (ISR) and at least one interrupt return routine (IRR), each interruptible process executing having an associated ISR and IRR, each ISR comprising steps, when executed, to safely suspend execution of the corresponding process without corruption of the system or data and enable an interrupting process to execute, and each IRR comprising steps, when executed, to safely resume execution of the corresponding process without corruption of the system or data; logic to control sequencing of processes when an interrupt is issued such that an ISR associated with the executing process is executed prior to execution of an interrupt process and an IRR associated with the executing process is executed subsequent to execution of the interrupt process, such that when an interrupt is issued during execution of a first executing process, said processor, prior to servicing the interrupt, executes a first ISR associated with the first process to safely suspend execution of the first process, said processor, upon completion of execution of the first ISR, servicing the interrupt by executing a corresponding interrupt process, said processor, upon completion of execution of the interrupting process, executing a first IRR associated with the first process to safely return to execution of the first process, and upon completion of execution of the first IRR, said processor continuing execution of the first process.
Claim 14
Dependent Claim 48 words
The interrupt mechanism as set forth in claim 11, further comprising a first call stack and second call stack, said first call stack utilized by the first process and said second call stack utilized by the first ISR during execution, and by said second interrupt process during execution.
Claim 15
Dependent Claim 70 words
The interrupt mechanism as set forth in claim 12, further comprising a first set of register files utilized by the first process during execution, and a second set of register files utilized by the interrupting process to enable the state of the first register files to remain intact for later access by the first process and to provide a separate set of register files during execution of the interrupting process.
Claim 16
Dependent Claim 234 words
A computer system comprising: a processor that executes processes; a memory coupled to the processor; an interrupt mechanism comprising at least one interrupt start routine (ISR) and at least one interrupt return routine (IRR), each interruptible process executing having an associated ISR and IRR, each ISR comprising steps, when executed, to safely suspend execution of the corresponding process without corruption of the system or data and enable an interrupting process to execute, and each IRR comprising steps, when executed, to safely resume execution of the corresponding process without corruption of the system or data; logic to control sequencing of processes when an interrupt is issued such that an associated ISR is executed prior to execution of an interrupt process and an associated IRR is executed subsequent to execution of the interrupt process, such that when an interrupt is issued during execution of a first executing process, said processor, prior to servicing the interrupt, executes a first ISR associated with the first process to safely suspend execution of the first process, said processor, upon completion of execution of the first ISR, servicing the interrupt by execution a corresponding interrupt process, said processor, upon completion of execution of the interrupting process, executing a first IRR associated with the first process to safely return to execution of the first process, and upon completion of execution of the first IRR, said processor continuing execution of the first process.
Claim 17
Dependent Claim 234 words
A computer system comprising: a processor that executes processes; a memory coupled to the processor; an interrupt mechanism comprising at least one interrupt start routine (ISR) and at least one interrupt return routine (IRR), each interruptible process executing having an associated ISR and IRR, each ISR comprising steps, when executed, to safely suspend execution of the corresponding process without corruption of the system or data and enable an interrupting process to execute, and each IRR comprising steps, when executed, to safely resume execution of the corresponding process without corruption of the system or data; logic to control sequencing of processes when an interrupt is issued such that an associated ISR is executed prior to execution of an interrupt process and an associated IRR is executed subsequent to execution of the interrupt process, such that when an interrupt is issued during execution of a first executing process, said processor, prior to servicing the interrupt, executes a first ISR associated with the first process to safely suspend execution of the first process, said processor, upon completion of execution of the first ISR, servicing the interrupt by execution a corresponding interrupt process, said processor, upon completion of execution of the interrupting process, executing a first IRR associated with the first process to safely return to execution of the first process, and upon completion of execution of the first IRR, said processor continuing execution of the first process.
Claim 18
Dependent Claim 56 words
The computer system as set forth in claim 14, wherein the memory is a flash EEPROM memory requiring specified voltages to perform operations on the memory, said first ISR comprising steps of removing specified voltages in an orderly manner to insure that the memory is not damaged and data stored in the memory is not corrupted.
Claim 19
Dependent Claim 64 words
The computer system as set forth in claim 14, wherein the memory is a flash EEPROM memory requiring specified voltages to perform operations on the memory, said first IRR comprising steps of applying specified voltages in an orderly manner to enable the first process to continue execution, to insure that the memory is not damaged and data stored in the memory is not corrupted.
Claim 20
Dependent Claim 48 words
The computer system as set forth in claim 14, further comprising a first call stack and second call stack, said first call stack utilized by the first process and said second call stack utilized by the first ISR during execution, and by said second interrupt process during execution.
Claim 21
Dependent Claim 70 words
The computer system as set forth in claim 17, further comprising a first set of register files utilized by the first process during execution, and a second set of register files utilized by the interrupting process to enable the state of the first register files to remain intact for later access by the first process and to provide a separate set of register files during execution of the interrupting process.
Claim 22
Dependent Claim 232 words
An interrupt mechanism for safely interrupting executing processes executed by a processor on a computer system comprising: at least one interrupt service routine (ISR) and at least one interrupt return routine (IRR), each interruptible process executing having an associated ISR and IRR, each ISR comprising steps, when executed, to safely suspend execution of the corresponding process without corruption of the system or data and enable an interrupting process to execute, and each IRR comprising steps, when executed, to safely resume execution of the corresponding process without corruption of the system or data; means for controlling sequencing of processes when an interrupt is issued such that an associated ISR is executed prior to execution of an interrupt process and an associated IRR is executed subsequent to execution of the interrupt process, such that when an interrupt is issued during execution of a first executing process, said processor, prior to servicing the interrupt, executes a first ISR associated with the first process to safely suspend execution of the first process, said processor, upon completion of execution of the first ISR, servicing the interrupt by execution a corresponding interrupt process, said processor, upon completion of execution of the interrupting process, executing a first IRR associated with the first process to safely return to execution of the first process, and upon completion of execution of the first IRR, said processor continuing execution of the first process.
Claim 23
Dependent Claim 232 words
An interrupt mechanism for safely interrupting executing processes executed by a processor on a computer system comprising: at least one interrupt service routine (ISR) and at least one interrupt return routine (IRR), each interruptible process executing having an associated ISR and IRR, each ISR comprising steps, when executed, to safely suspend execution of the corresponding process without corruption of the system or data and enable an interrupting process to execute, and each IRR comprising steps, when executed, to safely resume execution of the corresponding process without corruption of the system or data; means for controlling sequencing of processes when an interrupt is issued such that an associated ISR is executed prior to execution of an interrupt process and an associated IRR is executed subsequent to execution of the interrupt process, such that when an interrupt is issued during execution of a first executing process, said processor, prior to servicing the interrupt, executes a first ISR associated with the first process to safely suspend execution of the first process, said processor, upon completion of execution of the first ISR, servicing the interrupt by execution a corresponding interrupt process, said processor, upon completion of execution of the interrupting process, executing a first IRR associated with the first process to safely return to execution of the first process, and upon completion of execution of the first IRR, said processor continuing execution of the first process.

References Cited (Backward Citations)

US4922414A Cited
US4975836A Cited
US4972312A Cited
US5050067A Cited
US5155853A Cited
US5161226A Cited
US5367697A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-07-09 2000-01-08 2000-07-09 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-07-09 2004-01-08 2004-07-09 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-07-09 2008-01-08 2008-07-09 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag