×

Transparent system interrupts with automated input/output trap restart

  • US 5,274,826 A
  • Filed: 04/26/1993
  • Issued: 12/28/1993
  • Est. Priority Date: 08/30/1991
  • Status: Expired due to Term
First Claim
Patent Images

1. An improved microprocessor system comprising a central processing unit (CPU) coupled to at least one memory unit and at least one bus unit for executing an operating system and at least one application program comprising a plurality of said CPU'"'"'s instructions, said CPU further having at least two modes of program execution, a real mode and a protected mode, and at least one interrupt for interrupting program execution, wherein the improvement to said microprocessor system comprises:

  • (a) said CPU waiting until said at least one bus unit has finished executing a write input-output (I/O) instruction before executing a next instruction, said CPU instructions comprising at least one I/O instruction including said write I/O instruction;

    (b) said memory units having a dedicated memory area for storing an interrupt processing program, processor state data of said CPU, and an I/O trap indicator,said dedicated memory area being not mapped as part of main memory space thereby keeping said dedicated memory area inaccessible to said operating system and application programs,(c) means in response to said interrupt processing program for determining if said CPU is being interrupted during one of said I/O instructions and conditionally setting said I/O trap indicator to indicate said CPU being interrupted during one of said I/O instructions and said interrupted I/O instruction is to be restarted when said CPU resumes execution;

    (d) register means comprising an instruction pointer, a prior instruction pointer, and at least one I/O parameter, said instruction and prior instruction pointers pointing to a first and second instructions of said operating system and application programs'"'"' instructions, said first instruction being an instruction to be executed next by said CPU, said second instruction being an instruction just executed by said CPU, said at least one I/O parameter being associated with the most recently executed I/O instruction;

    said I/O trap indicator indicating whether said CPU is interrupted during execution of one of said I/O instructions;

    (e) System Supervisor Interrupt (SSI) means for interrupting execution of said operating system and said application programs, switching in and mapping said dedicated memory area to a pre-determined segment of said main memory space, storing said processor state data of said CPU into said dedicated memory area, switching said CPU into said real mode of execution, and starting execution of said interrupt processing program, said SSI being unmaskable by said operating system and said application programs, and having a higher priority than other interrupts;

    (f) Resume means for restoring said saved processor state data from said dedicated memory area to said CPU, checking said I/O trap indicator to determine if it is set, conditionally decrementing said restored instruction pointer to said restored prior instruction pointer if said I/O trap indicator is set, loading said restored at least one I/O parameter into at least one general purpose register of said CPU, switching out and unmapping said dedicated memory area to said main memory space, and resuming execution of said operating system and said application programs;

    thereby allowing said CPU to be interrupted reliably and automated I/O trap restart be provided to said interrupt service program in a manner transparent to said operating system and said application programs.

View all claims
  • 0 Assignments
Timeline View
Assignment View
    ×
    ×