Claims
- 1. In a computer processing core, a method for conditionally moving L-bit data from a data source to a data destination comprising steps of:
(i) providing a bit pattern of L bits; and (ii) for each bit in the bit pattern that is at a first logic state, transferring the correspondingly positioned bit in the data source to a correspondingly positioned bit location in the data destination.
- 2. The method of claim 1 further including:
providing a register file comprising a plurality of general purpose registers; selecting a first general purpose register and loading the bit pattern thereinto; selecting a second general purpose register and loading the data thereinto; and selecting a third general purpose register as the destination; wherein the step of transferring includes writing a bit from the second register to a bit position in the third register; whereby only those bit positions in the second register are written to corresponding positions in the third register when the bit in the corresponding position of the first register is in the first logic state.
- 3. The method of claim 2 wherein the first logic state is a logic ‘1’.
- 4. The method of claim 2 wherein the registers in the register file are L-bit registers.
- 5. In a RISC-based computer processing core having a general purpose register file, a method for moving data between two registers comprising steps of:
receiving a single machine-level instruction; decoding the single instruction, and in response to the decoding: accessing first and second registers from the register file; and producing an output bit pattern, including for each bit in the second register that is in a first logic state, producing a correspondingly positioned bit from the first register.
- 6. The method of claim 5 further including, in response to decoding the single instruction, accessing a third register from the register file; wherein the correspondingly positioned bit from the first register is copied to a corresponding bit position in the third register.
- 7. The method of claim 5 further including, in response to decoding the single instruction, accessing a third register from the register file; wherein the step of producing an output bit pattern further includes for each bit in the second register that is in a second logic, producing a correspondingly positioned bit from the third register.
- 8. The method of claim 7 further including, in response to decoding the single instruction, storing the output bit pattern into the third register.
- 9. In a computer processing core having a register file of general purpose L-bit registers, conditional transfer logic comprising:
a first set of L input lines in data communication with a first general purpose register; a second set of L input lines in data communication with a second general purpose register; a third set of L input lines in data communication with a third general purpose register; L selector circuits, each having a first input and a second input, a select control input, and an output, the selector circuit effective for providing its first or its second input at its output depending on the logic state of its select input; each of the first input lines coupled to the first input of one of the selector circuits; each of the third input lines coupled to the second input of one of the selector circuits; and each of the second input lines coupled to the select input of one of the selector circuits.
- 10. The conditional transfer logic of claim 9 wherein the outputs of the selector circuits are grouped to form an L-bit datum.
- 11. In a computer, a method of permuting data comprising steps of:
receiving a single machine-level instruction; decoding the single instruction, and in response to the step of decoding:
(i) reading out a first general purpose register to produce first data; (ii) reading out a second general purpose register to produce second data; and (iii) producing third data by reading out data fields from the first data based on the second data and arranging their order based on the second data.
- 12. The method of claim 11 wherein the second data includes M identifiers, each identifying a data field in the first data and wherein substep (iii) includes simultaneously selecting M data fields from the first data.
- 13. The method of claim 12 wherein each of the M identifiers specifies a data field in the first data, whereby the specified data fields are simultaneously selected.
- 14. The method of claim 11 wherein the second data includes M identifiers and wherein substep (iii) includes arranging the data fields read out from the first data in an order corresponding to the order of the M identifiers.
- 15. The method of claim 11 wherein the second data includes M identifiers and wherein substep (iii) includes simultaneously selecting M data fields from the first data, each being identified by one of the M identifiers, and combining the M data fields in an order corresponding to the order of the M identifiers.
- 16. The method of claim 11 wherein the first data includes 2N data fields and the second data includes a plurality of N-bit identifiers, each identifier identifying one of the data fields.
- 17. The method of claim 11 further including, in response to decoding the single instruction, accessing a third general purpose register and storing the third data thereinto.
- 18. In a RISC-based computer processing core having a general purpose register file, a method of copying data comprising steps of:
receiving a single machine-level instruction; decoding the single instruction, and in response to decoding the single instruction; accessing first and second registers from the general purpose register file; providing source data from the first register, the source data comprising N data elements; providing control data from the second register, the control data comprising M identifiers, each identifying one of the N data elements; and producing an M-element output datum including:
for each of the M identifiers, selecting the identified data element from the source data to produce M selected data elements; arranging the selected data element in the M-element output datum in an order corresponding to the order of the M-identifiers.
- 19. The method of claim 18 wherein the M selected data elements are simultaneously selected.
- 20. The method of claim 18 further including, in response to decoding the single instruction, accessing a third register from the general register file and storing the M-element output datum therein.
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application is related to co-pending U.S. application No. ------, filed Oct. 1, 1999, entitled “AN INTEGER INSTRUCTION SET ARCHITECTURE AND IMPLEMENTATION,” (Attorney Docket No. 16869A-003700US) and to co-pending U.S. application No. ------, filed Oct. 1, 1999, entitled “MEHTOD AND APPARATUS FOR MANIPULATING VECTORED DATA,” (Attorney Docket No. 16869A-004000US) both of which are commonly owned by the Assignee of the present application, the contents of which are incorporated herein by reference.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09410599 |
Oct 1999 |
US |
Child |
10358757 |
Feb 2003 |
US |