Emulation of a data processing system
First Claim
1. In a data processing system including means for storing programs, CPU means responsive to the programs for processing the data, input/output devices, an input/output structure responsive to the programs for communicating information between the system and the external devices and an interrupt means responsive to operation of the system for interrupting the execution of a current operation in response to an interrupt request and executing an interrupt operation to service the interrupt request, wherein the input/output structure of the system has ports to the input/output devices which occupy a first range of the system address space and the programs include requests for input/output operations directed to the ports in the first range of the system address space, emulation means for allowing the execution of programs written for another system by emulating the input/output structure of the other system wherein the input/output devices of the other system have ports located within a second range of address space and the programs written for the other system include requests for input/output operations directed to ports in in the second range of the address space, the emulation means comprising:
- input/output request detection means responsive to the input/ouput requests,means for storing routines for directing operation of the system input/output structure in a manner as to emulate operation of the input/output structure of the other system,emulation interrupt means for detecting foreign input/output requests that includes means responsive to the input/output request detection means for detecting requests not normally recognized by the system input/output structure and providing corresponding non-maskable interrupts,means responsive to the non-maskable interrupts and to the corresponding foreign input/output requests for selecting and initiating corresponding input/output emulation routines,means responsive to the non-maskable interrupts for storing information pertaining to the foreign input/output requests,the means for selecting and initiating emulation routines being further responsive to the stored input/output request information in selecting the corresponding input/output emulation routines.
10 Assignments
0 Petitions
Accused Products
Abstract
Emulation method and apparatus allowing a first system, which is not designed as a functional duplicate of a second system, to emulate the second system. The input/output structure of the second system is emulated in the first system by means of routines stored therein and which direct the already existing input/output structure to operate in the same manner as the input/output structure of the second system. The emulation routines are in turn invoked through the non-maskable interrupt mechanism of the first system by a modification thereto which detects the occurrence of "foreign" input/output requests; that is, input/output requests occuring in programs originally written for the second system and which are not normally recognized by the first system. The means for detecting foreign input/output requests includes means for comparing input/output request port addresses to the range of port addresses occupied by the system input/output devices and indicating when a port address is within the range of address space occupied by the system input/output devices. The foreign request detection means generates a non-maskable interrupt to invoke an input/output emulation routine upon the occurrence of input/output requests which do not normally fall within the range of input/output ports supported by the first system.
-
Citations
11 Claims
-
1. In a data processing system including means for storing programs, CPU means responsive to the programs for processing the data, input/output devices, an input/output structure responsive to the programs for communicating information between the system and the external devices and an interrupt means responsive to operation of the system for interrupting the execution of a current operation in response to an interrupt request and executing an interrupt operation to service the interrupt request, wherein the input/output structure of the system has ports to the input/output devices which occupy a first range of the system address space and the programs include requests for input/output operations directed to the ports in the first range of the system address space, emulation means for allowing the execution of programs written for another system by emulating the input/output structure of the other system wherein the input/output devices of the other system have ports located within a second range of address space and the programs written for the other system include requests for input/output operations directed to ports in in the second range of the address space, the emulation means comprising:
-
input/output request detection means responsive to the input/ouput requests, means for storing routines for directing operation of the system input/output structure in a manner as to emulate operation of the input/output structure of the other system, emulation interrupt means for detecting foreign input/output requests that includes means responsive to the input/output request detection means for detecting requests not normally recognized by the system input/output structure and providing corresponding non-maskable interrupts, means responsive to the non-maskable interrupts and to the corresponding foreign input/output requests for selecting and initiating corresponding input/output emulation routines, means responsive to the non-maskable interrupts for storing information pertaining to the foreign input/output requests, the means for selecting and initiating emulation routines being further responsive to the stored input/output request information in selecting the corresponding input/output emulation routines. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
Specification