Claims
- 1. A method comprising:
performing data processing using a main processor in response to a stream of data processing instructions, said data processing instructions including at least one coprocessor instruction; providing two source registers and a destination register for at least one coprocessor instruction, said registers including data elements; and providing a coprocessor instruction that includes an opcode specifying a data processing operation to be performed by the coprocessor and a coprocessor identification field for identifying a target coprocessor for the coprocessor instruction, said instruction to broadcast a data element from one of said source registers to elements of said destination register.
- 2. The method of claim 1 including providing an instruction to broadcast a data element to all elements of said destination register.
- 3. The method of claim 1 including specifying the size of the data element to be broadcast.
- 4. The method of claim 3 including selectively specifying one of eight, sixteen, or thirty-two bit data elements to be broadcast.
- 5. The method of claim 1 including assigning the bits zero through thirty-one, using bits seven through five to indicate the operation type, assigning the bits eleven through eight to indicate the coprocessor number, assigning the bits 23 and 22 to indicate the operand size, and assigning the bits 21 and 20 to set the saturation type.
- 6. The method of claim 1 including assigning the bits 27 to 24 to be 1110.
- 7. The method of claim 1 including conditionally executing the coprocessor instruction dependent on a state of a main processor arithmetic flag.
- 8. The method of claim 1 including providing an instruction to broadcast a data element from a main processor source register to a coprocessor destination register.
- 9. An article comprising a medium storing instructions that, if executed, enable a processor-based system to:
perform data processing using a main processor in response to a stream of data processing instructions, said data processing instructions including at least one coprocessor instruction; use two source registers and one destination register for at least one coprocessor instruction, said register including data elements; and handle a coprocessor instruction that includes an opcode specifying a data processing operation to be performed by the coprocessor and a coprocessor identification field for identifying a target coprocessor for the coprocessor instruction, said instruction to broadcast a data element from one of said source registers to elements of said destination register.
- 10. The article of claim 9 further storing instructions that, if executed, enable a processor-based system to provide an instruction to broadcast a data element to all elements of said destination register.
- 11. The article of claim 9 further storing instructions that, if executed, enable a processor-based system to provide an instruction to specify the size of the data element to be broadcast.
- 12. The article of claim 9 further storing instructions that, if executed, enable a processor-based system to provide an instruction to selectively specify one of eight, sixteen, or thirty-two bit data elements to be broadcast.
- 13. The article of claim 9 further storing instructions that, if executed, enable the processor-based system to handle an instruction to assign the bits zero through thirty-one, use bits seven through five to indicate the operation type, assign the bits eleven through eight to indicate the coprocessor number, assign the bits twenty-three and twenty-two to indicate the operand size, and assign the bits twenty-one and twenty to set the saturation type.
- 14. The article of claim 9 further storing instructions that, if executed, enable the processor-based system to conditionally execute the coprocessor instruction dependent on a state of a main processor arithmetic flag.
- 15. A processor comprising:
a main processor including an arithmetic flag; and a coprocessor coupled to said main processor, said coprocessor including opcodes specifying a data processing operation to be performed by the coprocessor and a coprocessor identification field for identifying a target coprocessor for the coprocessor instructions, said coprocessor to allocate two source registers and a destination register for a coprocessor instruction, said registers including data elements, said coprocessor including an instruction to broadcast a data element from said source register to elements of said destination register.
- 16. The processor of claim 15 wherein said processor is a single instruction multiple data coprocessor.
- 17. The processor of claim 15 wherein said coprocessor uses instructions having bits zero through thirty-one, and wherein bits seven through five indicate the operation type, bits eleven through eight indicate the coprocessor number, bits twenty-three and twenty-two indicate the operand size, and bits twenty-one and twenty set the saturation type.
- 18. The processor of claim 15 wherein said instruction to broadcast a data element to all elements of said destination register.
- 19. The processor of claim 15 wherein said instruction specifies the size of the data element to be broadcast.
- 20. The processor of claim 19 wherein said instructions selectively specify one of eight, sixteen, or thirty-two bit data elements to be broadcast.
- 21. The processor of claim 15 wherein said coprocessor includes said destination register and said main processor including the source registers.
- 22. A system comprising:
a main processor; and a coprocessor coupled to said main processor, said coprocessor including opcodes specifying a data processing operation to be performed by the coprocessor and a coprocessor identification field for identifying a target coprocessor for the coprocessor instructions, said coprocessor to allocate two source registers and one destination register for a coprocessor instruction, said registers including data elements, said instruction to broadcast a data element from said source register to an element of said destination register; and a wireless interface coupled to said main processor.
- 23. The system of claim 22 wherein said coprocessor instructions have bits twenty-seven to twenty-four that are 1110.
- 24. The system of claim 22 wherein said coprocessor uses the instructions zero through thirty-one, with bits seven through five indicating the operation type, bits eleven through eight indicating the coprocessor number, the bits twenty-three and twenty-two indicating the operand size and the bits twenty-one to twenty setting the saturation type.
- 25. The system of claim 22 wherein said instruction to transfer a data element from said source register to all elements of said destination register.
- 26. The system of claim 22 wherein said instruction to specify the size of the data element to be broadcast.
- 27. The system of claim 26 wherein said instruction to selectively specify one of eight, sixteen, or thirty-two bit data elements to broadcast.
- 28. A method comprising:
performing data processing using a main processor in response to a stream of data processing instructions, said data processing instructions including at least one coprocessor instruction; providing two source registers and a destination register for said at least one coprocessor instruction; providing a coprocessor instruction that includes an opcode specifying a data processing operation to be performed by the coprocessor and a coprocessor identification field for identifying a target coprocessor for the coprocessor instruction; and executing an instruction to extract values from said source registers and to place the values in said destination register, said instruction including information from which to determine the offset of the values to enable those values to be extracted from said source registers.
- 29. The method of claim 28 including providing the offset in the instruction.
- 30. The method of claim 28 including providing information in the instruction about where to locate the offset information.
- 31. The method of claim 30 including providing an indication in the instruction about a general purpose register that includes information about the offset.
- 32. The method of claim 28 including conditionally executing the coprocessor instruction dependent on a state of a main processor arithmetic flag.
- 33. An article comprising a medium storing instructions that, if executed, enable a processor-based system to:
perform data processing using a main processor in response to a stream of data processing instructions, said data processing instructions including at least one coprocessor instruction; provide two source registers and one destination register for said at least one coprocessor instruction; provide a coprocessor instruction that includes an opcode specifying a data processing operation to be performed by the coprocessor and a coprocessor identification field for identifying a target coprocessor for the coprocessor instruction; and execute an instruction to extract values from said source registers and to place the values in said destination register, said instruction including information from which to determine the offset of the values to enable those values to be extracted from said source registers.
- 34. The article of claim 33 further storing instructions that, if executed, enable the processor-based system to provide the offset in the instruction.
- 35. The article of claim 33 further storing instructions that, if executed, enable the processor-based system to provide information in the instruction about where to locate the offset information
- 36. The article of claim 33 further storing instructions that, if executed, enable the processor-based system to provide an indication in the instruction about a general purpose register that includes information about the offset.
- 37. The article of claim 33 further storing instructions that, if executed, enable the processor-based system to provide three different saturation types including signed saturation, no saturation, and unsigned saturation.
- 38. The article of claim 33 further storing instructions that, if executed, enable the processor-based system to conditionally execute the coprocessor instruction dependent on a state of a main processor arithmetic flag.
- 39. A coprocessor comprising:
a main processor including an arithmetic flag; and a storage storing opcodes specifying a data processing operation to be performed by the coprocessor and a coprocessor identification field for identifying a target coprocessor for the coprocessor instructions, said coprocessor to execute an instruction to extract values from said source registers and to place the values in said destination register, said instruction including information from which to determine the offset of the values to enable those values to be extracted from said source registers.
- 40. The coprocessor of claim 39 wherein said coprocessor is a single instruction multiple data coprocessor.
- 41. The coprocessor of claim 39 to extract the offset from the instruction.
- 42. The coprocessor of claim 39 to extract information from the instruction about where to locate the offset information.
- 43. The coprocessor of claim 39 to extract an indication from the instruction about a general purpose register that includes information about the offset.
- 44. The coprocessor of claim 39 wherein said coprocessor uses instructions having bits zero through thirty-one, and wherein bits seven through five indicate the operation type, bits eleven through eight indicate the coprocessor number, bits twenty-three and twenty-two indicate the operand size, and bits twenty-one and twenty set the saturation type.
- 45. A system comprising:
a main processor; a coprocessor coupled to said main processor, said coprocessor including opcodes specifying a data processing operation to be performed by the coprocessor and a coprocessor identification field for identifying a target coprocessor for the coprocessor instructions, said coprocessor to allocate two source registers and one destination register for a coprocessor instruction, said coprocessor including an instruction to extract values from said source registers and to place those values in said destination register, said instruction including information from which to determine the offset of the values to enable said values to be extracted from said source registers; and a wireless interface coupled to said main processor.
- 46. The system of claim 45 wherein said coprocessor has three different types of saturation including signed saturation, no saturation, and unsigned saturation.
- 47. The system of claim 45 wherein said coprocessor to extract the offset from the instruction.
- 48. The system of claim 45 wherein said coprocessor to extract information from the instruction about where to locate the offset information.
- 49. The system of claim 48 wherein said coprocessor to extract an indication from the instruction about a general purpose register that includes information about the offset.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This is a continuation-in-part of U.S. patent application Ser. No. 10/215,756, filed on Aug. 9, 2002.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10215756 |
Aug 2002 |
US |
Child |
10263246 |
Oct 2002 |
US |