Data processing system emulation in a window with a coprocessor and I/O emulation
First Claim
1. A system for emulating a target system having a central processor for executing a set of target system instructions and a set of target system devices that provides an environment for the central processor, the target system devices including a target system I/O device for performing a target system I/O operation and for receiving output signals from the central processor while performing the target system I/O operation, the target system further including communication means for communicating the output signals from the central processor to the target system I/O device;
- the emulating system comprising;
a host system having a host processor for executing a set of host system instructions different from the target system instructions; and
an emulating processor for executing a sequence of the target system instructions;
the emulating processor providing signals during execution of the sequence of target system instructions, one of the signals being a target I/O output signal that is one of the output signals received by the target system I/O device while performing the target system I/O operation;
the host system further comprising environment means connected for providing an environment for the emulating processor so that the emulating processor continues to execute the sequence of target system instructions and connected for providing an environment for the host processor so that the host processor executes the host system instructions;
the environment means comprising I/O monitoring circuitry for detecting the target I/O output signal and for obtaining monitoring data relating to the target system I/O operation;
the environment means further comprising I/O device data from which the environment means can determine a current emulated state of the communication means;
the environment means further comprising device emulating means for emulating the target system I/O operation by using the I/O device data to determine the current emulated state of the communication means;
the device emulating means accessing the I/O device data based on the monitoring data in response to the target I/O output signal;
the host processor independently executing a sequence of the host system instructions while the emulating processor executes the sequence of target system instructions.
3 Assignments
0 Petitions
Accused Products
Abstract
An emulating data processor includes a host system and an emulating processor with outputs to and inputs from the host system. The emulating processor executes sequences of instructions executable by a PC being emulated, but a host processor independently executes sequences of its instructions which are different from PC instructions. Circuitry monitors the emulating processor outputs and provides information to the host system so that it can emulate the environment of the PC CPU, emulating both memory and I/O devices. The memory accesses of the emulating processor are mapped into the host system memory, so that the host processor is protected from defective PC software on the emulating processor. The display updates of the emulating processor are detected and provide information for the host processor in updating a part of its display which provides the information a PC display would provide simultaneously with the display characteristic of the host system. An input/output processor handles I/O operation requests of the emulating processor, using the host system I/O devices to emulate some of the PC I/O devices. Output operations to the printer may go either to a local printer or to a file for subsequent printing, so a buffer which can be unloaded to either destination emulates the PC printer. Floppy operations may be handled either by a floppy disk controller like that of the PC or by a software controller of a file in host rigid disk memory which may be accessed as a PC floppy disk, so that a data structure containing parameters of the operation is loaded and provided to the appropriate controller. Rigid disk operations are handled by another file in host rigid disk memory which may be accessed as a PC rigid disk, and an appropriate I/O operating system routine is provided so that the emulating processor can pass the operation parameters through to the host rigid disk controller in a group of registers. Keyboard input operations may come either from the host keyboard or directly from a data structure managed by the host processor, in each case converted to PC codes, and another buffer which can be loaded from either source emulates the PC keyboard. The host system emulates the environment of the emulating processor while emulating the user interface of the PC.
-
Citations
47 Claims
-
1. A system for emulating a target system having a central processor for executing a set of target system instructions and a set of target system devices that provides an environment for the central processor, the target system devices including a target system I/O device for performing a target system I/O operation and for receiving output signals from the central processor while performing the target system I/O operation, the target system further including communication means for communicating the output signals from the central processor to the target system I/O device;
- the emulating system comprising;
a host system having a host processor for executing a set of host system instructions different from the target system instructions; and an emulating processor for executing a sequence of the target system instructions;
the emulating processor providing signals during execution of the sequence of target system instructions, one of the signals being a target I/O output signal that is one of the output signals received by the target system I/O device while performing the target system I/O operation;the host system further comprising environment means connected for providing an environment for the emulating processor so that the emulating processor continues to execute the sequence of target system instructions and connected for providing an environment for the host processor so that the host processor executes the host system instructions; the environment means comprising I/O monitoring circuitry for detecting the target I/O output signal and for obtaining monitoring data relating to the target system I/O operation; the environment means further comprising I/O device data from which the environment means can determine a current emulated state of the communication means; the environment means further comprising device emulating means for emulating the target system I/O operation by using the I/O device data to determine the current emulated state of the communication means;
the device emulating means accessing the I/O device data based on the monitoring data in response to the target I/O output signal;the host processor independently executing a sequence of the host system instructions while the emulating processor executes the sequence of target system instructions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
- the emulating system comprising;
-
11. A system for emulating a target system having a central processor for executing a set of target system instructions and a set of target system devices that provides an environment for the central processor, the target system devices including a target system I/O device for performing a target system I/O operation and for receiving output signals from the central processor while performing the target system I/O operation, the target system further including communication means for communicating the output signals from the central processor to the target system I/O device;
- the emulating system comprising;
a host system having a host processor for executing a set of host system instructions different from the target system instructions; and an emulating processor for executing a sequence of the target system instructions;
the emulating processor providing signals during execution of the sequence of target system instructions, the signals provided by the emulating processor including a target I/O output signal that is one of the output signals received by the target system I/O device while performing the target system I/O operation;the host system further comprising environment means connected for providing an environment for the emulating processor so that the emulating processor continues to execute the sequence of target system instructions and connected for providing an environment for the host processor so that the host processor executes the host system instructions; the environment means comprising a corresponding I/O device corresponding in function to the target system I/O device; the environment means further comprising I/O device data from which the environment means can determine a current emulated state of the communication means; the environment means further comprising device emulating means for emulating the target system I/O operation in response to the target I/O output signal by using the host processor and the corresponding I/O device and by using the I/O device data to determine the current emulated state of the communication means, the device emulating means accessing the I/O device data in response to the target I/O output signal; the I/O device data comprising a data structure for transferring data between the emulating processor and the host processor during emulation of the target system I/O operation; the host processor independently executing a sequence of the host system instructions while the emulating processor executes the sequence of target system instructions;
the host processor being connected for accessing the data structure;
the sequence of the host system instructions including an operation accessing the data structure. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
- the emulating system comprising;
-
22. A system for emulating a target system having a central processor for executing a set of target system instructions, the emulating system comprising:
-
a host system having a host processor for executing a set of host system instructions different from the target system instructions, the host processor providing a host I/O operation signal requesting an I/O operation during execution of the host system instructions;
the host system further comprising a set of I/O devices; andan emulating processor for executing a sequence of the target system instructions;
the emulating processor providing an emulator I/O operation signal requesting an I/O operation during execution of the sequence of target system instructions;the host system further comprising environment means connected for providing an environment for the emulating processor so that the emulating processor continues to execute the sequence of target system instructions and connected for providing an environment for the host processor so that the host processor executes the host system instructions;
the environment means comprising an input/output processor for responding to the host I/O operation signal and the emulator I/O operation signal by controlling the set of I/O devices to perform requested I/O operations for the emulating processor and the host processor;the input/output processor further being for stopping the emulating processor while the I/O devices perform the requested I/O operation in response to the emulator I/O operation signal; the host processor independently executing a sequence of the host system instructions while the emulating processor executes the sequence of target system instructions. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29)
-
-
30. A system for emulating a target system having a central processor for executing a set of target system instructions and a set of target system devices that provides an environment for the central processor, the target system devices including a target system I/O device for performing a target system I/O operation, the emulating system comprising:
-
a host system having a host processor for executing a set of host system instructions different from the target system instructions; and an emulating processor for executing a sequence of the target system instructions;
the emulating processor providing signals during execution of the sequence of target system instructions, the signals provided by the emulating processor including a target I/O operation signal requesting the target system I/O operation;the host system further comprising environment means connected for providing an environment for the emulating processor so that the emulating processor continues to execute the sequence of target system instructions and connected for providing an environment for the host processor so that the host processor executes the host system instructions;
the environment means comprising a corresponding I/O device corresponding in function to the target system I/O device;
the environment means emulating the target system I/O operation in response to the target I/O operation signal by using the corresponding I/O device, the environment means further comprising a data structure for transferring data between the emulating processor and the corresponding I/O device during emulation of the target system I/O operation;the environment means further comprising memory for storing the data structure, the environment means further comprising an input/output processor connected for accessing the data structure in the memory to transfer data between the emulating processor and the corresponding I/O device during emulation of the target system I/O operation; the corresponding I/O device providing data for transfer to the emulating processor during emulation of the target system I/O operation, the host processor being connected for accessing the data structure in the memory, the host processor further loading the data provided by the corresponding I/O device into the data structure for transfer to the emulating processor; the host processor independently executing a sequence of the host system instructions while the emulating processor executes the sequence of target system instructions. - View Dependent Claims (31)
-
-
32. A data processing system for emulating a target data processing system having a central processor for executing a set of target system instructions, the central processor providing I/O operation requests to a set of target system I/O devices while executing a sequence of the target system instructions, the target system further including communication means for communicating I/O operation requests from the central processor to a first one of the target system I/O devices;
- the emulating data processing system comprising;
a host system having a host processor for executing a set of host system instructions and a set of host system I/O devices, the host processor providing I/O operation requests requesting operations of the host system I/O devices while executing a sequence of the host system instructions; and an emulating processor for executing a sequence of the target system instructions, the emulating processor providing I/O operation requests to the host system during execution of the target system instructions, a first one of the I/O operation requests being one of the I/O operation requests provided by the target system central processor to the set of target system I/O devices; the host system further comprising input/output means for receiving the I/O operation requests from the host processor and from the emulating processor and for handling the I/O operation requests using the host system I/O devices so that the host processor continues to execute the sequence of host system instructions while the emulating processor executes the sequence of target system instructions; the input/output means comprising I/O monitoring circuitry for detecting the first I/O operation request from the emulating processor and for obtaining monitoring data relating to the requested I/O operation; the input/output means further comprising I/O device data from which the input/output means can determine a current emulated state of the communication means; the input/output means further comprising device emulating means for emulating the first target system I/O device by using the I/O device data to determine the current emulated state of the communication means;
the device emulating means accessing the I/O device data based on the monitoring data. - View Dependent Claims (33)
- the emulating data processing system comprising;
-
34. A data processing system for emulating a target data processing system having a central processor for executing a set of target system instructions and target interface means for providing external transfer of signals in a manner characteristic of the target system in response to the central processor, the emulating data processing system comprising:
-
a host system having host interface means for providing external transfer of signals and a host processor for controlling the host interface means to provide external transfer of signals in a manner characteristic of the host system and different from the manner characteristic of the target system;
the host interface means comprising a user interface for transferring signals between a user and the host system, the host processor controlling the user interface so that the signals are transferred in a manner characteristic of the host system user interface while simultaneously being transferred in a manner characteristic of a target system user interface;
the user interface comprising a display controlled by the host processor; andan emulating processor for executing a sequence of the target system instructions, the emulating processor providing output signals and receiving input signals during execution of the target system instructions; the host system receiving output signals from the emulating processor and providing input signals to that the emulating processor continues to execute the sequence target system instructions;
the host processor controlling the host interface means in response to the output signals to provide external transfer of signals in a manner characteristic of the host system while simultaneously providing external transfer of signals in a manner characteristic of the target system;
the host processor controlling the display so that the signals provided by the display to the user provide the appearance of a display characteristic of the host system while simultaneously providing within that display a display characteristic of the target system;
the display characteristic of the host system including a set of windows;
the host processor controlling the display to provide the display characteristic of the target system in one of the windows in the display characteristic of the host system.
-
-
35. A system for emulating a target system having a central processor for executing a set of target system instructions and a set of target system devices that provides an environment for the central processor, the target system devices including a target system I/O device for performing a target system I/O operation, the emulating system comprising:
-
a host system having a host processor for executing a set of host system instructions different from the target system instructions; and an emulating processor for executing a sequence of the target system instructions;
the emulating processor providing signals during execution of the sequence of target system instructions, one of the signals being a target I/O operation signal requesting the target system I/O operation;
the target I/O operation signal including an indication of whether the requested I/O operation is an input operation;the host system further comprising environment means connected for providing an environment for the emulating processor so that the emulating processor continues to execute the sequence of target system instructions and connected for providing an environment for the host processor so that the host processor executes the host system instructions; the environment means comprising I/O monitoring circuitry for detecting the target I/O operation signal and for obtaining monitoring data relating to the target system I/O operation;
the I/O monitoring circuitry further obtaining from the target I/O operation signal a read signal indicating whether the requested I/O operation is an input operation;
the environment means emulating the target system I/O operation based on the monitoring data in response to the target I/O operation signal;
the I/O monitoring circuitry further being connected for providing an interrupt to the emulating processor if the read signal indicates the requested I/O operation is an input operation;the environment means further being connected to hold and release the emulating processor, the environment means holding the emulating processor upon completion of execution of one of the sequence of target system instructions during which the target I/O operation signal was provided and then releasing the emulating processor after loading input data for the emulating processor, the emulating processor responding to the interrupt when the environment means releases it by retrieving the input data and using the retrieved input data to correct erroneous data resulting from the completion of execution of the target system instruction; the host processor independently executing a sequence of the host system instructions while the emulating processor executes the sequence of target system instructions.
-
-
36. A system for emulating a target system having a central processor for executing a set of target system instructions and a set of target system devices that provides an environment for the central processor, the set of target system devices including a target system memory and target system I/O devices;
- the target system further including communication means for communicating signals from the central processor to a first one of the target system I/O devices;
the emulating system comprising;a host system having a host processor for executing a set of host system instructions different from the target system instructions; and an emulating processor for executing a sequence of the target system instructions;
the emulating processor providing signals during execution of the sequence of target system instructions, the signals including memory access signals and I/O operation signals;
each memory access signal requesting access to the target system memory;
each I/O operation signal requesting a respective I/O operation of the target system I/O devices;the host system further comprising environment means connected for providing an environment for the emulating processor so that the emulating processor continues to execute the sequence of target system instructions and connected for providing an environment for the host processor so that the host processor executes the host system instructions; the environment means comprising I/O device data from which the environment means can determine a current emulated state of the communication means; the environment means further being for receiving a first one of the signals from the emulating processor;
the environment means further comprising device emulating means for emulating an I/O operation of the first target system device if the first signal is one of the I/O operation signals requesting an I/O operation of the first target system device;
the device emulating means accessing the I/O device data in response to the first signal and using the I/O device data to determine the current emulated state of the communication means;the environment means further comprising memory;
the memory being accessed in response to the first signal if the first signal is one of the memory access signals;the host processor independently executing a sequence of the host system instructions while the emulating processor executes the sequence of target system instructions;
the host processor accessing the memory in executing the sequence of the host system instructions. - View Dependent Claims (37, 38)
- the target system further including communication means for communicating signals from the central processor to a first one of the target system I/O devices;
-
39. A system for emulating a target system having a central processor for executing a set of target system instructions and a set of target system devices that provides an environment for the central processor, the target system devices including a target system I/O device for performing a target system I/O operation, the target system further including communication means for communicating signals requesting the target system I/O operation from the central processor to the target system I/O device;
- the emulating system comprising;
a host system having a host processor for executing a set of host system instructions different from the target system instructions; and an emulating processor for executing a sequence of the target system instructions;
the emulating processor providing signals during execution of the sequence of target system instructions, the signals provided by the emulating processor including a target I/O operation signal requesting the target system I/O operation;the host system further comprising environment means connected for providing an environment for the emulating processor so that the emulating processor continues to execute the sequence of target system instructions and connected for providing an environment for the host processor so that the host processor executes the host system instructions; the environment means comprising an equivalent I/O device to the target system I/O device; the environment means further comprising means for simulating the equivalent I/O device; the environment means further comprising I/O device data from which the environment means can determine a current emulated state of the communication means; the environment means further comprising device emulating means for emulating the target system I/O operation in response to the target I/O operation signal by using the I/O device data to determine the current emulated state of the communication means, the device emulating means accessing the I/O device data in response to the target I/O operation signal;
the device emulating means determining in response to the target I/O operation signal whether to emulate the target system I/O operation by using the equivalent I/O device or by using the simulating means;the host processor independently executing a sequence of the host system instructions while the emulating processor executes the sequence of target system instructions. - View Dependent Claims (40, 41)
- the emulating system comprising;
-
42. A system for emulating a target system having a central processor for executing a set of target system instructions and a set of target system I/O devices that provides an environment for the central processor;
- the emulating system comprising;
a host system having a host processor for executing a set of host system instructions different from the target system instructions; and an emulating processor for executing a sequence of the target system instructions;
the emulating processor providing signals during execution of the sequence of target system instructions, the signals including an I/O operation signal requesting an I/O operation of the target system I/O devices;the host system further comprising environment means connected for providing an environment for the emulating processor so that the emulating processor continues to execute the sequence of target system instructions and connected for providing an environment for the host processor so that the host processor executes the host system instructions; the environment means further being for receiving the I/O operation signal from the emulating processor and for emulating the respective I/O operation of the target system devices in response to the I/O operation signal;
the environment means further stopping the emulating processor while emulating the respective I/O operation in response to the I/O operation signal;the environment means further comprising a memory accessible to the emulating processor;
if the requested I/O operation is an I/O input operation, the environment means further being for loading input data into the memory while the emulating processor is stopped;the environment means further being for permitting the emulating processor to resume operation after the requested I/O operation has been emulated; the emulating processor further being for retrieving the input data from the memory when it resumes operation; the host processor independently executing a sequence of the host system instructions while the emulating processor executes the sequence of target system instructions.
- the emulating system comprising;
-
43. A system for emulating a target system having a central processor for executing a set of target system instructions and a set of target system devices that provides an environment for the central processor, the set of target system devices including a target system memory and target system I/O devices;
- the target system further including communication means for communicating signals from the central processor to a first one of the target system I/O devices;
the emulating system comprising;a host system having a host processor for executing a set of host system instructions different from the target system instructions; and an emulating processor for executing a sequence of the target system instructions;
the emulating processor providing signals during execution of the sequence of target system instructions, the signals including memory access signals and I/O operation signals;
each memory access signal requesting access to the target system memory;
each I/O operation signal requesting a respective I/O operation of the target system I/O devices;the host system further comprising environment means connected for providing an environment for the emulating processor so that the emulating processor continues to execute the sequence of target system instructions and connected for providing an environment for the host processor so that the host processor executes the host system instructions; the environment means comprising I/O device data from which the environment means can determine a current emulated state of the communication means; the environment means further being for receiving a fist one of the signals from the emulating processor;
the environment means further comprising device emulating means for emulating an I/O operation of the first target system device if the first signal is one of the I/O operation signals requesting an I/O operation of the first target system device;
the device emulating means accessing the I/O device data in response to the first signal and using the I/O device data to determine the current emulated state of the communication means;the environment means further comprising memory;
the memory being accessed in response to the first signal if the first signal is one of the memory access signals;
the memory being accessed in response to the first signal so that the emulating processor continues to execute the sequence of the target system instructions as if it were the central processor of the target system;the host processor independently executing a sequence of the host system instructions while the emulating processor executes the sequence of target system instructions. - View Dependent Claims (44)
- the target system further including communication means for communicating signals from the central processor to a first one of the target system I/O devices;
-
45. A system for emulating a target system having a central processor for executing a set of target system instructions and a set of target system devices that provides an environment for the central processor, the target system devices including a target system I/O device for performing a target system I/O operation, the emulating system comprising:
-
a host system having a host processor for executing a set of host system instructions different from the target system instructions; and an emulating processor for executing a sequence of the target system instructions;
the emulating processor providing signals during execution of the sequence of target system instructions, the signals provided by the emulating processor including a target I/O operation signal requesting the target system I/O operation;the host system further comprising environment means connected for providing an environment for the emulating processor so that the emulating processor continues to execute the sequence of target system instructions and connected for providing an environment for the host processor so that the host processor executes the host system instructions;
the environment means comprising a printer controller corresponding in function to the target system I/O device;
the environment means emulating the target system I/O operation in response to the target I/O operation signal by using the printer controller, the environment means further comprising a multi-character printer buffer for transferring characters from the emulating processor to the printer controller during emulation of the target system I/O operation;
the environment means further managing the printer buffer to generate input signals for the emulating processor reflecting the status of the buffer;the environment means further comprising a memory, the host processor being connected for storing a series of characters from the printer buffer in the memory for subsequent printing, the environment means determining whether to provide the characters from the buffer to the printer controller or to store the characters for subsequent printing; the host processor independently executing a sequence of the host system instructions while the emulating processor executes the sequence of target system instructions.
-
-
46. A system for emulating a target system having a central processor for executing a set of target system instructions and a set of target system devices that provides an environment for the central processor, the target system devices including a target system I/O device for performing a target system I/O operation, the emulating system comprising:
-
a host system having a host processor for executing a set of host system instructions different from the target system instructions; and an emulating processor for executing a sequence of the target system instructions;
the emulating processor providing signals during execution of the sequence of target system instructions, the signals provided by the emulating processor including a target I/O operation signal requesting the target system I/O operation;the host system further comprising environment means connected for providing an environment for the emulating processor so that the emulating processor continues to execute the sequence of target system instructions and connected for providing an environment for the host processor so that the host processor executes the host system instructions;
the environment means comprising a printer controller corresponding in function to the target system I/O device;
the environment means emulating the target system I/O operation in response to the target I/O operation signal by using the keyboard controller, the environment means further comprising a multi-character printer buffer for transferring characters from the keyboard controller to the emulating processor during emulation of the target system I/O operation;
the environment means further interrupting the emulating processor when the keyboard buffer contains at least one code;the emulating processor executing an instruction causing it to provide an overflow signal if an input keyboard buffer under its control cannot accept a code from the multi-character keyboard buffer, the environment means further providing the code which could not be accepted to the emulating processor again in response to the overflow signal; the host processor independently executing a sequence of the host system instructions while the emulating processor executes the sequence of target system instructions.
-
-
47. A system for emulating a target system having a central processor for executing a set of target system instructions and a set of target system devices that provides an environment for the central processor, the target system devices including a target system I/O device for performing a target system I/O operation the emulating system comprising:
-
a host system having a host processor for executing a set of host system instructions different from the target system instructions; and an emulating processor for executing a sequence of the target system instructions;
the emulating processor providing signals during execution of the sequence of target system instructions, one of the signals being a target I/O operation signal requesting the target system I/O operation;
the target I/O operation signal includes an address corresponding to the target system I/O device;the host system further comprising environment means connected for providing an environment for the emulating processor so that the emulating processor continues to execute the sequence of target system instructions and connected for providing an environment for the host processor so that the host processor executes the host system instructions; the environment means comprising I/O monitoring circuitry for detecting the target I/O operation signal and for obtaining monitoring data relating to the target system I/O operation;
the monitoring data obtained by the I/O monitoring circuitry including the address;
the environment means emulating the target system I/O operation in response to the target I/O operation signal by emulating the target system I/O device based on the address in the monitoring data;the environment means further comprising a memory storing an I/O operating system for enabling the emulating processor to execute the sequence of target system instructions and for causing the emulating processor to provide at least one non-target I/O operation signal not provided by the target system central processor, the non-target I/O operation signal requesting a non-target I/O operation that is not performed in the target system but that relates to emulation of the target system I/O operation;
the I/O monitoring circuitry further being for detecting the non-target I/O operation signal and for obtaining monitoring data relating to the non-target I/O operation;
the environment means further performing the non-target I/O operation in response to the non-target I/O operation signal based on the monitoring data;the host processor independently executing a sequence of the host system instructions while the emulating processor executes the sequence of target system instructions.
-
Specification