Claims
- 1. A data processing apparatus comprising:a data register file comprising a plurality of read/write general purpose registers, each of said plurality of registers accessed by a corresponding register access number; at least one functional unit connected to said register file; at least one indirect register access instruction comprising an operand register number field, and executable by said functional unit; and instruction decode circuitry connected to said register file and said functional unit, and responsive to said indirect register access instruction to recall data stored in an operand register specified by said operand register number field in said instruction, identify said recalled data as a register access number, and recall operand data from an indirectly accessed register corresponding to said register access number for use as an operand by said functional unit.
- 2. The data processing apparatus of claim 1, wherein said instruction further comprises an instruction field for a second operand.
- 3. The data processing apparatus of claim 1, wherein only a limited set of registers of said data register file can contain indirect register source operands.
- 4. The data processing apparatus of claim 3, wherein only a single register of said data register file can contain said indirect register source operands.
- 5. The data processing apparatus of claim 3, wherein only two registers of said data register file can contain said indirect register source operands.
- 6. The data processing apparatus of claim 1, wherein only a predetermined set of less than all instructions can employ indirect register access.
- 7. The data processing apparatus of claim 6, wherein said predetermined set of less than all instructions includes a register-to-register move instruction with said indirect register source operand forming a register source for said register-to-register move.
- 8. The data processing apparatus of claim 1, wherein;said indirect register access instruction further includes a destination register number field; and said instruction decode circuitry is further responsive to said indirect register access instruction to recall data stored in a destination register specified by said destination register number field in said instruction, identify said recalled data as a register access number, and store output data from said functional unit in an indirectly accessed register corresponding to said register access number.
- 9. The data processing apparatus of claim 1, wherein operand data stored in at least some registers of said data register file are accessible only via an indirect register access instruction.
- 10. The data processing apparatus of claim 1, wherein:said data register file includes a first set of registers directly accessible via a corresponding register number field in an instruction not an indirect register access instruction and not indirectly accessible via an indirect register access instruction, a second set of registers directly accessible via a corresponding register number field in an instruction not an indirect register access instruction and indirectly accessible via an indirect register access instruction, and a third set of registers not directly accessible via a corresponding register number field in an instruction not an indirect register access instruction and indirectly accessible via an indirect register access instruction.
- 11. The data processing apparatus of claim 1, wherein said indirect register access recalls a data item of selected length and selected position from said indirectly accessed register.
- 12. The data processing apparatus of claim 11, wherein said selected length is a half-word.
- 13. The data processing apparatus of claim 11, wherein said selected length is a byte.
- 14. The data processing apparatus of claim 11, wherein said selected length and selected position respectively correspond to a data size value and a data position value stored in a register.
- 15. The data processing apparatus of claim 14, wherein said data size value and said data position value are stored in a control register.
- 16. The data processing apparatus of claim 14, wherein said data size value and said data position value are stored in said operand register specified by said operand register number field.
- 17. The data processing apparatus of claim 14, wherein data size value corresponds to a data size field in said indirect register access instruction and said data position value corresponds to a data position field in said indirect register access instruction.
- 18. The data processing apparatus of claim 13, wherein said data position value is stored in said operand register specified by said operand register number field.
- 19. The data processing apparatus of claim 11, wherein said data item is right aligned and zero extended to a length of said indirectly accesses register.
- 20. The data processing apparatus of claim 11, wherein said data item is right aligned and sign extended to a length of said indirectly accesses register.
- 21. The data processing apparatus of claim 11, wherein said data item is right aligned and selectively either zero extended or sign extended to a length of said indirectly accesses register dependent upon a zero/sign extend bit of said indirect register access instruction.
- 22. The data processing apparatus of claim 11, wherein said data item is right aligned and selectively either zero extended or sign extended to a length of said indirectly accesses register dependent upon a zero/sign extend bit of said operand register specified by said operand register number field.
- 23. A data processing apparatus comprising:a data register file comprising a plurality of read/write general purpose registers, each of said plurality of registers accessed by a corresponding register access number; at least one functional unit connected to said register file; at least one indirect register access instruction comprising a destination register number field, and executable by said functional unit; and instruction decode circuitry connected to said register file and said functional unit, and responsive to said indirect register access instruction to recall data stored in a destination register specified by said destination register number field in said instruction, identify said recalled data as a register access number, and store output data from said functional unit in a register corresponding to said register access number.
- 24. The data processing apparatus of claim 23, wherein said instruction further comprises an instruction field for at least one operand.
- 25. The data processing apparatus of claim 23, wherein only a limited set of registers can contain indirect register destinations.
- 26. The data processing apparatus of claim 25, wherein only a single register can contain said indirect register destinations.
- 27. The data processing apparatus of claim 25, wherein only two registers can contain said indirect register destinations.
- 28. The data processing apparatus of claim 23, wherein only a limited set of instructions employ indirect register access.
- 29. The data processing apparatus of claim 23, wherein at least some registers of said data register file are accessible as destinations only via an indirect register access instruction.
- 30. The data processing apparatus of claim 23, wherein:said data register file includes a first set of registers directly accessible via a corresponding register number field in an instruction not an indirect register access instruction and not indirectly accessible via an indirect register access instruction, a second set of registers directly accessible via a corresponding register number field in an instruction not an indirect register access instruction and indirectly accessible via an indirect register access instruction, and a third set of registers not directly accessible via a corresponding register number field in an instruction not an indirect register access instruction and indirectly accessible via an indirect register access instruction.
Parent Case Info
This application claims priority under 35 USC §119(e)(1) of Provisional Application No. 60/173,921, filed Dec. 30, 1999.
US Referenced Citations (3)
Number |
Name |
Date |
Kind |
5809327 |
Wollan et al. |
Sep 1998 |
A |
6178492 |
Matsuo |
Jan 2001 |
B1 |
6588008 |
Heddes et al. |
Jul 2003 |
B1 |
Provisional Applications (1)
|
Number |
Date |
Country |
|
60/173921 |
Dec 1999 |
US |