Claims
- 1. A method of resolving an output dependence problem with regard to the requirement to ensure a precise exception in an explicit parallelism architecture processor comprising a set of different latency executive units, a register file with a set of write ports to write the results of the operations execution and a bypass to transfer the results of the operations execution to the following operations as operands before the real write into the register file, the method comprising:
ensuring a correct write order of the operations results into the register file with a WAW hazard available by:
aligning the execution time of a set of short latency instructions to the longest latency from the set and writing their results into the register file only after checking for the absence of precise exception, which restores the issue order of results write into the register file of said instructions and makes it possible to implement precise exception for this type of instructions; canceling the write into the register file for long and undefined latency type operations, which are already being executed in the executive units, and which addresses of the result write into the register file coincide with the write addresses of operations coming to the executive units, in this case the write inhibition is performed only after checking for the absence of precise exception in the operations coming to the executive units is finished; ensuring a correct use through the bypass of the results of operations in the following operations as operands with the WAW hazard available by:
inhibiting the issue through the bypass of the results of all operations, which are already being executed in the executive units, which write addresses into the register file coincide with the write addresses of operations coming to the executive units, in this case the inhibition is performed as soon as the operations with the same result addresses come to the executive units; ensuring access through the bypass to the results of the short latency operations in all additional stages introduced to align the execution time.
- 2. The method of claim 1, where a set of short latency operations comprises integer, combined integer and multimedia operations.
- 3. The method of claim 1, where a group of long and undefined latency operations comprises fpa, combined fpa, multiply and division operations.
- 4. An explicit parallelism architecture processor comprising a set of different latency executive units, a register file with a set of write ports to write the operation execution results and a bypass to transfer the operation execution results to the following operations as operands before they are actually written into the register file, wherein:
a set of short latency executive units has equal latencies due to the introduction of additional stages in the shortest ones, which ensures the issue order of the operation execution results; a set of long and undefined latency executive units has a means for canceling the result write into the register file for operations having a WAW hazard and issued first for execution, in this case the write inhibition is performed after the operations coming for execution are checked for the absence of precise exception; a bypass control unit comprises a means for inhibiting the issue into the bypass of the results of operations having the WAW hazard and issued first for execution; stages of the short latency executive units added for latency aligning are connected to the bypass, which maintains a fast access to the results of the instructions before they are written into the register file.
- 5. The explicit parallelism architecture processor of claim 4, wherein a set of short latency executive units has latency no less than the time required for checking the precise exception absence in the executed operations.
- 6. The explicit parallelism architecture processor of claim 4, wherein a set of short latency executive units comprises Integer Executive Units and Multimedia Executive Units.
- 7. The explicit parallelism architecture processor of claim 4, wherein a set of long and undefined latency executive units comprises Floating Point Units, Multiplication Units and Division Units.
- 8. The explicit parallelism architecture processor of claim 4, wherein a means for canceling the result write into the register file for operations having a WAW hazard and issued first for execution comprises:
an address result path of executive pipeline, comprising the write addresses into the register file of all operations contained in the execution units; comparators of the register file write addresses of the first stage after checking for precise exception absence of all executive units with write addresses of all the following stages of all executive units; a reset circuit of a validate bit of the write address into the register file by the comparison results obtained by said comparators.
- 9. The explicit parallelism architecture processor of claim 4, wherein a means for inhibiting the result issue into the bypass for operations having a WAW hazard and issued first for execution comprises:
an address result path of the executive pipeline, comprising write addresses into the register file of all operations available in the executive units; comparators of operand addresses of all operations issued into the executive units with all write addresses into the register file of all stages of the execution units, used to control the results issue into the bypass; comparators of register file write addresses of all stages of the executive units and write addresses of all the following stages, used to inhibit the issue of the results into the bypass.
- 10. The explicit parallelism architecture processor of claim 9, wherein a means for inhibiting the results issue into the bypass for the operations having a WAW hazard and issued first for execution, comprises:
comparators of register file write addresses of all operations, issued in the executive units, with the write addresses of all stages of the executive units, except for the first one.
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application is related to and claims priority from U.S. patent application Ser. No. 09/505,657, filed Feb. 17, 2000, which claims priority from U.S. Provisional Patent Application Nos. 60/120,352; 60/120,360; 60/120,361; 60/120,450; 60/120,461; 60/120,464; 60/120,528; 60/120,530; and 60/120,533, all of which were filed Feb. 17, 1999, the disclosures of which are incorporated herein by reference in their entirety.
Provisional Applications (9)
|
Number |
Date |
Country |
|
60120352 |
Feb 1999 |
US |
|
60120461 |
Feb 1999 |
US |
|
60120464 |
Feb 1999 |
US |
|
60120528 |
Feb 1999 |
US |
|
60120530 |
Feb 1999 |
US |
|
60120533 |
Feb 1999 |
US |
|
60120450 |
Feb 1999 |
US |
|
60120361 |
Feb 1999 |
US |
|
60120360 |
Feb 1999 |
US |