Claims
- 1. In a data processing system having logic means for executing a predefined set of machine instructions, the system operating between at least two states, including a user state wherein user programs are distributed among multiple user domains each with user domain storage facilities within the system including user domain storage space for operating as an individual one of multiple logical computers, and a control state operating in a control domain with control domain facilities within the system including a system storage space, an apparatus for processing a plurality of emulated instructions among the user programs, the emulated instructions not belonging to the predefined set of machine instructions, the apparatus comprising:
- decoding means receiving an emulated instruction from the multiple user domains for generating a control code from the emulated instruction in a decoding cycle, said control code including a branch signal and a branch test signal;
- first means responsive to said branch test signal for testing for at least one program exception of said emulated instruction during said decoding cycle;
- second means coupled to said decoding means and said first means for branching to the control state to execute a fast program of said machine instructions in said control domain in response to the branch signal if no program exception is detected, said fast program emulating the emulated instruction without instructions for testing for said at least one program exception;
- third means coupled to said decoding means and said first means for branching to the control state to execute an alternate program of said machine instructions in said control domain in response to the branch signal if a program exception is detected; wherein the data processing system has a pipeline structure executing instructions in a plurality of pipeline machine cycles, including an Instruction Decode (D) cycle, an Address Generation (A) cycle, and an Operand Fetch (B) cycle, wherein said decoding means decodes said emulated instruction in a D cycle and said first means tests for program exceptions in or before a B cycle.
- 2. The apparatus of claim 1, wherein the means for testing for at least one program exception of said emulated instruction includes means for performing an operand address alignment testing of said emulated instruction.
- 3. The apparatus of claim 1, wherein the means for testing for at least one program exception of said emulated instruction includes means for testing whether said emulated instruction that results in a branch to the second state is target of an execute instruction.
- 4. The apparatus of claim 1, wherein the means for testing for at least one program exception of said emulated instruction includes means for testing whether said emulated instruction that results in a branch to the second state occurs during a supervisor state.
- 5. A data processing apparatus operating under program control in a first state, having a first domain of facilities within the apparatus including first domain storage space, or in a second state having a second domain of facilities within the apparatus including second domain storage space, for processing a sequence of instructions normally in the first state, the sequence of instructions including an instruction that results in a branch to the second state for execution of a program of instructions in the second domain wherein the data processing system has a pipeline structure executing instructions in a plurality of pipeline machine cycles, including an Instruction Decode (D) cycle, an Address Generation (A) cycle, and an Operand Fetch (B) cycle, comprising:
- decoding means, responsive to an instruction in the first state, for generating a control code from the instruction in the Instruction Decode cycle, the control code including a branch signal and a branch test signal;
- first means coupled to the decoding means to receive the branch test signal, for detecting program exceptions in or before the Operand Fetch cycle;
- second means, coupled to the decoding means and the first means, responsive to the branch signal for branching program control of the apparatus to the second state to enter a fast program of instructions in the second domain if no program exception is detected; and
- third means, coupled to the decoding means and the first means, responsive to the branch signal for branching program control of the apparatus to the second state to enter an alternate program of instructions in the second domain if a program exception is detected.
- 6. The apparatus of claim 5, wherein the first state is a user state and the second state is a control state; the user state having access to domain storage space and the control state having access to system storage space.
- 7. The apparatus of claim 5, wherein the fast program of instructions operates to emulate execution of an instruction in the first state.
- 8. The apparatus of claim 5, wherein the means for testing for program exceptions includes means for performing an operand address alignment testing.
- 9. The apparatus of claim 5, wherein the means for testing for program exceptions includes means for testing whether the instruction that results in a branch to the second state is target of an execute instruction.
- 10. The apparatus of claim 5, wherein the means for testing for program exceptions includes means for testing whether the instruction that results in a branch to the second state occurs during a supervisor state.
Parent Case Info
This application is a continuation of Ser. No. 07/245,978, filed Sep. 19, 1988, now abandoned, which is a continuation of Ser. No. 06/918,483, filed Oct. 14, 1986 now abandoned.
US Referenced Citations (30)
Non-Patent Literature Citations (1)
Entry |
MC68020 32 Bit Microprocessor User's Manual 1985, 1984, pp. 6-1-6-17; 8-1-8-13; 8-30-8-35; 8-48-8-55, Prentice Hall, Englewood Cliffs, NJ. |
Continuations (2)
|
Number |
Date |
Country |
Parent |
245978 |
Sep 1988 |
|
Parent |
918483 |
Oct 1986 |
|