Patent US5093908A successfully refreshed from Google Patents.
US5093908A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for executing instructions in a single sequential instruction stream in a main processor and a coprocessor
Assignee: International Business Machines Corp
•
Filing: 1989-04-17
•
Granted: 1992-03-03
•
Expires: 2009-04-17
Abstract
Abstract A tightly-coupled main processor and coprocessor overlap the execution of sequential instructions when apparent sequential operation and precise exception interrupts can be assured. Logic detects all conditions under which these criteria might potentially be violated in the coprocessor before it has finished performing an instruction, and holds off the main processor from executing a subsequent instruction.
Inventors
- 👤 Thomas J. Beacom
- 👤 Jeffrey D. Brown
- 👤 Mark R. Funk
- 👤 Scott A. Hilker
- 👤 Daniel G. Young
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-29 23:54
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3877
Claims Analysis
Total Claims: 18
Claim 1
Independent Claim
317 words
A method of executing instructions in a single sequential instruction stream in a main processor and a coprocessor, said instructions being of two different types, a first type at least a portion of which is executed in said coprocessor to produce a result, and a second type which is executed in said main processor, said coprocessor including means for producing an exception signal upon the occurence of predetermined values of said result said method comprising the steps of: obtaining from said instruction stream a first of said instructions specifying at least two operands and an operation to be performed upon said operands to produce said result; determining that a first instruction of said instructions is of said first type, and performing the subsequent steps in response thereto; commencing the execution of said first instruction in said coprocessor; during the execution of said first instruction and before said result is produced, testing for the presence of a number of conditions within said coprocessor, which conditions indicate that said result, when subsequently produced, might possibly, but will not necessarily, generate said exception signal, and producing a hold-off signal in response thereto; obtaining from said instruction stream a second of said instructions; determining that said second instruction is of said second type, and performing the subsequent steps in response thereto; in response to a first state of said hold-off signal indicating that none of said conditions is present in said coprocessor, commencing the execution of said second instruction in said main processor at a certain time before the completion of the execution of said first instruction in said coprocessor and before said result has been fully produced; in response to a second state of said hold-off signal indicating that at least one of said conditions is present in said coprocessor, holding off the execution of said second instruction in said main processor until a time subsequent to said certain time.
Claim 2
Independent Claim
317 words
A method of executing instructions in a single sequential instruction stream in a main processor and a coprocessor, said instructions being of two different types, a first type at least a portion of which is executed in said coprocessor to produce a result, and a second type which is executed in said main processor, said coprocessor including means for producing an exception signal upon the occurence of predetermined values of said result said method comprising the steps of: obtaining from said instruction stream a first of said instructions specifying at least two operands and an operation to be performed upon said operands to produce said result; determining that a first instruction of said instructions is of said first type, and performing the subsequent steps in response thereto; commencing the execution of said first instruction in said coprocessor; during the execution of said first instruction and before said result is produced, testing for the presence of a number of conditions within said coprocessor, which conditions indicate that said result, when subsequently produced, might possibly, but will not necessarily, generate said exception signal, and producing a hold-off signal in response thereto; obtaining from said instruction stream a second of said instructions; determining that said second instruction is of said second type, and performing the subsequent steps in response thereto; in response to a first state of said hold-off signal indicating that none of said conditions is present in said coprocessor, commencing the execution of said second instruction in said main processor at a certain time before the completion of the execution of said first instruction in said coprocessor and before said result has been fully produced; in response to a second state of said hold-off signal indicating that at least one of said conditions is present in said coprocessor, holding off the execution of said second instruction in said main processor until a time subsequent to said certain time.
Claim 3
Dependent Claim
18 words
The method of claim 1, wherein said coprocessor executes said first instruction in a sequence having multiple cycles.
Claim 4
Dependent Claim
33 words
The method of claim 2, wherein the step of determining that said second instruction is of said second type occurs during one of said multiple cycles preceding a last of said multiple cycles.
Claim 5
Dependent Claim
16 words
The method of claim 1, wherein said main processor obtains said operand for said first instruction.
Claim 6
Dependent Claim
20 words
The method of claim 1, wherein some of said potential exception conditions are responsive to a condition of said operand.
Claim 7
Dependent Claim
17 words
The method of claim 5, wherein said some conditions indicate that said operand has an improper magnitude.
Claim 8
Dependent Claim
24 words
The method of claim 5, wherein said some conditions indicate that said operand is incompatible with an operation specified by said first operation code.
Claim 9
Dependent Claim
49 words
The method of claim 1, wherein said first instruction has specifications for first and second operands, and wherein the execution of said first instruction produces a result by combining said operands, and wherein a portion of said result is produced before the completion of execution of said first instruction.
Claim 10
Dependent Claim
18 words
The method of claim 8, wherein at least some of said conditions are responsive to said result portion.
Claim 11
Dependent Claim
285 words
A data-processing system, comprising: a main processor for executing a first set of instructions; a coprocessor for executing at least a portion of all instructions in a second set different from said first set of instructions, each of a number of the instructions in said second set specifying a type of operation and an operand having a value; fetch means in said main processor for obtaining instructions of both said sets intermixed in a single stream; initiating means coupled to said fetch means for starting instructions in said main processor and in said coprocessor respectively, a subsequent instruction of said second set being started before the completion of a previous instruction of said first set in said instruction stream; first execution means in said main processor responsive to said initiating means for performing instructions of said first set; second execution means in said coprocessor responsive to said initiating means for performing instructions of said second set so as to produce respective results, and for producing exception signals upon the occurence of predetermined values of said respective results; detecting means coupled to said fetch means for sensing multiple conditions in a current one of said instructions being performed in said second execution means prior to the occurrence of said respective results, said conditions representing the possibility but not the necessity that said respective results will subsequently have said predetermined values; and means for producing a hold signal as a logical function of said multiple conditions at a time before said second execution means has produced one of said respective results corresponding to said current instruction, said detecting means being coupled to said initiating means for delaying the execution of said subsequent instruction in said instruction stream.
Claim 12
Dependent Claim
285 words
A data-processing system, comprising: a main processor for executing a first set of instructions; a coprocessor for executing at least a portion of all instructions in a second set different from said first set of instructions, each of a number of the instructions in said second set specifying a type of operation and an operand having a value; fetch means in said main processor for obtaining instructions of both said sets intermixed in a single stream; initiating means coupled to said fetch means for starting instructions in said main processor and in said coprocessor respectively, a subsequent instruction of said second set being started before the completion of a previous instruction of said first set in said instruction stream; first execution means in said main processor responsive to said initiating means for performing instructions of said first set; second execution means in said coprocessor responsive to said initiating means for performing instructions of said second set so as to produce respective results, and for producing exception signals upon the occurence of predetermined values of said respective results; detecting means coupled to said fetch means for sensing multiple conditions in a current one of said instructions being performed in said second execution means prior to the occurrence of said respective results, said conditions representing the possibility but not the necessity that said respective results will subsequently have said predetermined values; and means for producing a hold signal as a logical function of said multiple conditions at a time before said second execution means has produced one of said respective results corresponding to said current instruction, said detecting means being coupled to said initiating means for delaying the execution of said subsequent instruction in said instruction stream.
Claim 13
Dependent Claim
20 words
The system of claim 10, wherein at least some of said conditions are responsive to certain values of said operand.
Claim 14
Dependent Claim
34 words
The system of claim 11, wherein at least some of said conditions are responsive to a combination of said certain values and an operation specified by said current instruction being executed in said coprocessor.
Claim 15
Dependent Claim
42 words
The system of claim 10, wherein said coprocessor includes an exception register for specifying whether certain conditions are masked, and wherein said detector means is responsive to said exception register for inhibiting certain of said conditions when said certain exceptions are masked.
Claim 16
Dependent Claim
28 words
The system of claim 10, wherein said second execution means produces at least a portion of a result prior to completing the entire execution of said current instruction.
Claim 17
Dependent Claim
18 words
The system of claim 14, wherein at least some of said conditions are responsive to said result portion.
Claim 18
Dependent Claim
12 words
The system of claim 15, wherein said result portion is an exponent.
References Cited (Backward Citations)
US4755966A
Cited
US4777613A
Cited
US4811208A
Cited
US4845659A
Cited
US4967351A
Cited
US4891753A
Cited
US4943915A
Cited
US4991078A
Cited
US4823260A
Cited
US4974155A
Cited
US4975868A
Cited
US5001662A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1995-03-03 | 1995-09-02 | 1996-03-03 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1999-03-03 | 1999-09-02 | 2000-03-03 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2003-03-03 | 2003-09-02 | 2004-03-03 | $7700.00 | Window Closed / Lapsed |