Claims
- 1. A processing core for executing instructions, comprising:
a first source register including a plurality of source fields; a second source register including a plurality of result field select values and a plurality of operation fields; a multiplexer coupled to at least one of the source fields; a destination register including a plurality of result fields; and an operand processor coupled to at least one of the result fields, wherein the operand processor and multiplexer operate upon at least one of the plurality of source fields.
- 2. The processing core of claim 1, wherein:
the multiplexer includes a mux input, a select input and a mux output; and the operand processor includes a processor input, a processor output and a condition input.
- 3. The processing core for executing instructions of claim 2, wherein the mux input is coupled to at least one of the source fields.
- 4. The processing core for executing instructions of claim 2, wherein the select input is coupled to at least one of the result field select values.
- 5. The processing core for executing instructions of claim 2, wherein the processor input is coupled to the mux output.
- 6. The processing core for executing instructions of claim 2, wherein the condition input is coupled to at least one of the operation fields.
- 7. The processing core for executing instructions of claim 2, wherein the processor output is coupled to at least one of the result fields.
- 8. The processing core for executing instructions of claim 1, wherein the operand processor performs an operation selected from a group consisting of:
setting each bit from the source field low, extension of a highest order bit of the source field to remaining bits, bitwise inversion of the source field, setting each bit of the source field high, inversion of the highest order bit of the source field and extension of the highest order bit to remaining bits, bitwise reversion of the source field, extension of the lowest order bit of the source field to remaining bits, bitwise inversion and reversion of the source field, and inversion of the lowest order bit of the source field and extension of the inverted highest order bit to remaining bits.
- 9. The processing core for executing instructions of claim 1, wherein the operand processor selectively stores a result in one of the result fields.
- 10. A method for performing an operation in a data processing machine, the method comprising steps of:
selecting a source field from a source register having a first bit numbering; manipulating the first source field to produce a result different from the source field; and storing the result in a result field of a destination register having a second bit numbering, wherein:
the first and second bit numberings are identical, the result originates from the source field having a first range included in the first bit numbering, the result field has a second range included in the second bit numbering, the first range is different from the second range; and the manipulating and storing steps are associated with the same instruction issue.
- 11. The method for performing the operation in the data processing machine as recited in claim 10, further comprising a step of loading the source field from the source register.
- 12. The method for performing the operation in the data processing machine as recited in claim 10, wherein the manipulating step includes a step selected from a group consisting of:
setting each bit from the source field low, extending a highest order bit of the source field to remaining bits, bitwise inverting the source field, setting each bit of the source field high, inverting the highest order bit of the source field and extending the highest order bit to remaining bits, bitwise reverting the source field, extending the lowest order bit of the source field to remaining bits, bitwise inverting and reverting of the source field, and inverting of the lowest order bit of the source field and extending the inverted highest order bit to remaining bits.
- 13. The method for performing the operation in the data processing machine as recited in claim 10, wherein the source field is eight bits wide.
- 14. A method for performing an operation in a data processing machine, the method comprising steps of:
loading a first source field from a source register; loading a second source field from the source register; manipulating the first source field to produce a first result; manipulating the second source field to produce a second result; storing the first result in a second result field of a destination field; and storing the second result in a first result field of the destination field, wherein at least three of the preceding steps are associated with a single issue.
- 15. The method for performing the operation in the data processing machine of claim 14, wherein the result field is eight bits wide.
- 16. The method for performing the operation in the data processing machine of claim 14, wherein the first result is different from the first source field.
- 17. The method for performing the operation in the data processing machine of claim 14, wherein the second result is different from the second source field.
- 18. The method for performing the operation in the data processing machine of claim 14, wherein the manipulation step includes a step selected from a group consisting of:
setting each bit from the source field low, extending a highest order bit of the source field to remaining bits, bitwise inverting the source field, setting each bit of the source field high, inverting the highest order bit of the source field and extending the highest order bit to remaining bits, bitwise reverting the source field, extending the lowest order bit of the source field to remaining bits, bitwise inverting and reverting of the source field, and inverting of the lowest order bit of the source field and extending the inverted highest order bit to remaining bits.
- 19. The method for performing the operation in the data processing machine of claim 14, wherein the loading, storing and manipulating steps are part of a same instruction issue.
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application No. 60/187,685 filed on Mar. 8, 2000.
[0002] This application is being filed concurrently with related U.S. patent applications: Attorney Docket Number 016747-00991, entitled “VLIW Computer Processing Architecture with On-chip DRAM Usable as Physical Memory or Cache Memory”; Attorney Docket Number 016747-01001, entitled “VLIW Computer Processing Architecture Having a Scalable Number of Register Files”; Attorney Docket Number 016747-01780, entitled “Computer Processing Architecture Having a Scalable Number of Processing Paths and Pipelines”; Attorney Docket Number 016747-01051, entitled “VLIW Computer Processing Architecture with On-chip Dynamic RAM”; Attorney Docket Number 016747-01211, entitled “Computer Processing Architecture Having the Program Counter Stored in a Register File Register”; Attorney Docket Number 016747-01461, entitled “Processing Architecture Having Parallel Arithmetic Capability”; Attorney Docket Number 016747-01471, entitled “Processing Architecture Having an Array Bounds Check Capability”; Attorney Docket Number 016747-01521, entitled “Processing Architecture Having a Matrix Transpose Capability”; and, Attorney Docket Number 016747-01531, entitled “Processing Architecture Having a Compare Capability”; all of which are incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60187685 |
Mar 2000 |
US |