×

Reporting delayed coprocessor exceptions to code threads having caused the exceptions by saving and restoring exception state during code thread switching

  • US 5,197,138 A
  • Filed: 12/26/1989
  • Issued: 03/23/1993
  • Est. Priority Date: 12/26/1989
  • Status: Expired due to Term
First Claim
Patent Images

1. A method for handling a delayed exception generated by a coprocessor in a data processing system, said data processing system also including a main processor that issues instructions to said coprocessor, said coprocessor being capable of operating on an asynchronous basis with respect to said main processor such that the coprocessor executes issued instructions simultaneously while the main processor executes further instructions, said method comprising the steps of:

  • (a) operating said main processor and said coprocessor on said asynchronous basis to execute instructions in a first code thread including an instruction that, when executed, causes said coprocessor to generate said delayed exception; and

    then(b) synchronizing the coprocessor with the main processor such that the main processor does not process any further instructions until all instructions have been issued to the coprocessor are guaranteed to complete without causing additional exceptions; and

    then(c) saving a pending state of said delayed exception into memory; and

    then(d) clearing said coprocessor of the state of said delayed exception; and

    then(e) operating said main processor and said coprocessor on said asynchronous basis to execute a second code thread; and

    then(f) again synchronizing said coprocessor with said main processor; and

    then(g) disabling the use of said coprocessor; and

    then(h) operating the main processor to execute instructions in said first code thread until a coprocessor disabled exception occurs when said main processor issues an instruction to the disabled coprocessor; and

    then(i) reporting to said first code thread the presence of the pending state of said delayed exception having been saved in memory; and

    then(j) enabling said coprocessor; and

    then(k) again operating said main processor and said coprocessor on said asynchronous basis to execute instructions in said first code thread.

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