US2005091480A1PendingUtilityA1

Computer system and method for executing interrupt instructions in operating modes

Priority: Sep 23, 1991Filed: Nov 5, 2004Published: Apr 28, 2005
Est. expirySep 23, 2011(expired)· nominal 20-yr term from priority
G06F 9/4812G06F 9/45533G06F 9/46
49
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A computer system is disclosed herein including a given microprocessor specifically designed to operate in a virtual operating mode that allows a software program previously written for an earlier designed single program microprocessor to execute in a protected, paged, multi-tasking environment under a particularly designed host operating software program. The system also includes means for executing software interrupt (INTn) instructions, using emulation software forming part of the host program in order to emulate the way in which these instructions would have been executed by the earlier microprocessor. As a unique improvement to this overall computer system, certain ones of the INTn instructions are executed by means of emulation software while others are executed by means of the previously written program in cooperation with the given microprocessor and its host operating software program.

Claims

exact text as granted — not AI-modified
1 - 4 . (canceled)  
     
     
         5 . A microprocessor comprising: 
 means for executing instructions including a software interrupt instruction; and    means for accessing a bit in a bitmap structure in response to said software interrupt instruction, said means for executing instructions to execute an interrupt emulation routine in response to said software interrupt instruction if said bit is in a first state and to execute a non-emulating interrupt handling routine in response to said software interrupt instruction if said bit is in a second state.    
     
     
         6 . The microprocessor of  claim 5  further comprising a software interrupt register, wherein said microprocessor is capable of determining an execution address based on a value of an operand to said software interrupt instruction which is stored in said software interrupt register.  
     
     
         7 . The microprocessor of  claim 5  wherein said microprocessor is capable of determining an execution address based on a value of an operand to said software interrupt instruction.  
     
     
         8 . The microprocessor of  claim 5  wherein said bitmap structure is associated with a task and wherein an operand of said software interrupt instruction indexes into said bitmap structure to designate handling of said software interrupt instruction.  
     
     
         9 . A microprocessor comprising: 
 execution means for executing a software interrupt instruction having an operand (n) to designate one of a plurality of interrupts; and    means for causing certain ones of said plurality of interrupts to be handled by means of software emulation while allowing certain others of the plurality of interrupts to be executed by means of a previously written program and not by emulation.    
     
     
         10 . The microprocessor of  claim 9  further comprising a software interrupt register, wherein said microprocessor is capable of determining an execution address based on a value of an operand to said software interrupt instruction which is stored in said software interrupt register.  
     
     
         11 . The microprocessor of  claim 9  wherein said microprocessor is also capable of determining an execution address based on said operand.  
     
     
         12 . The microprocessor of  claim 9  wherein said means for causing includes logic to access a bitmap, wherein said bitmap is associated with a task and wherein said operand of said software interrupt instruction indexes into said bitmap to designate handling of said software interrupt instruction.  
     
     
         13 . A microprocessor comprising: 
 an execution unit to execute instructions including a first software interrupt instruction, having a first operand specifying a first interrupt number; and    logic to access, in response to said first software interrupt instruction and said first interrupt number, a table including a bit corresponding to said first interrupt number, and in response to said bit being in a first state to execute an emulation routine and in response to said bit being in a second state to execute a non-emulating interrupt handling routine.    
     
     
         14 . The microprocessor of  claim 13  further comprising a first software interrupt register, wherein said microprocessor is also capable of determining an execution address based on said first interrupt number which is stored in said first software interrupt register.  
     
     
         15 . The microprocessor of  claim 13  wherein said microprocessor is also capable of determining an execution address based on a value of said first operand to said first software interrupt instruction.  
     
     
         16 . The microprocessor of  claim 15  wherein said microprocessor is designed to operate in a virtual operating mode that allows previously written programs to operate in a protected, paged, multi-tasking environment.  
     
     
         17 . The microprocessor of  claim 13  wherein said microprocessor is to operate in a virtual operating mode.  
     
     
         18 . The microprocessor of  claim 17  wherein said microprocessor is to execute in a protected, paged, multi-tasking environment.  
     
     
         19 . The microprocessor of  claim 13  wherein said table comprises a series of 256 bits, one for each of a set of 256 software interrupt instructions.  
     
     
         20 . The microprocessor of  claim 13  wherein said table is associated with a specific task.  
     
     
         21 . The microprocessor of  claim 20  wherein for each of a plurality of tasks, a different associated table is to be consulted by the microprocessor, and wherein said different associated table is indexed into based on said first operand of said first software interrupt instruction.  
     
     
         22 . The microprocessor of  claim 21  wherein said first software interrupt instruction is part of a program, and wherein if said bit is a logical ‘1’, then said microprocessor is to perform execution of an interrupt routine as in an 8086 microprocessor according to the program and wherein if said bit is a logical ‘0’, then said microprocessor is to trap said first software interrupt instruction for emulation.  
     
     
         23 . The microprocessor of  claim 20  wherein a plurality of DOS programs each has an associated table.  
     
     
         24 . The microprocessor of  claim 13  wherein said table is associated with a software program.  
     
     
         25 . The microprocessor of  claim 13  wherein said first software interrupt instruction is part of a program, and wherein if said bit is a logical ‘1’, then said microprocessor is to perform execution of an interrupt routine as in an 8086 microprocessor according to the program and wherein if said bit is a logical ‘0’, then said microprocessor is to trap said first software interrupt instruction for emulation.  
     
     
         26 . The microprocessor of  claim 13  wherein said first software interrupt instruction is part of a program, and wherein if said bit is a logical ‘1’, then said microprocessor is to perform execution of an interrupt routine according to the program and wherein if said bit is a logical ‘0’, then said microprocessor is to trap said first software interrupt instruction for emulation.  
     
     
         27 . An article comprising a machine readable medium having stored thereon a plurality of instructions which, if executed by a microprocessor of a first type capable of executing a set of instructions executable on a microprocessor of a second type, cause said microprocessor of said first type to perform operations comprising: 
 an operating system, said operating system including a user programmable bit map including a series of mode bits corresponding to said set of instructions, said mode bits designating whether an instruction of said set of instructions is emulated when executed on said microprocessor of said first type, or executed on said microprocessor of said first type without emulation via said set of instructions executable on microprocessor of a second type, wherein a selection to emulate an instruction or to execute an instruction without emulation is programmable by a programmer.    
     
     
         28 . The article of  claim 27 , wherein said set of instructions includes interrupt instructions.  
     
     
         29 . The article of  claim 28 , wherein said microprocessor of said second type is an earlier designed microprocessor with respect to said microprocessor of said first type.  
     
     
         30 . The article of  claim 29 , further including an emulator for emulating execution of said set of instructions when executed on said microprocessor of said first type, as said instructions would be executed on said microprocessor of said second type.  
     
     
         31 . The article of  claim 30 , wherein said operating system is capable of performing multitasking operations.  
     
     
         32 . The article of  claim 31 , wherein said microprocessor of said first type is capable of executing in a virtual mode including a protected, paged, and multitasking environment, and wherein said microprocessor of said second type is unable to execute in said virtual mode.

Join the waitlist — get patent alerts

Track US2005091480A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.