A computer system for conditionally performing an operation defined in a computer instruction, an execution unit of the computer system comprises at least one operand store for holding operands on which an operation defined in an instruction is to be performed, wherein said operand store defines a p
A computer system for conditionally performing an operation defined in a computer instruction, an execution unit of the computer system comprises at least one operand store for holding operands on which an operation defined in an instruction is to be performed, wherein said operand store defines a plurality of lanes each holding an object, a plurality of operators associated respectively with the lanes for carrying out an operation specified in an instruction on objects in the operand lanes, a destination store for holding objects resulting from the operation on a lane by lane basis, a plurality of control stores each comprising a plurality of indicators to control for each lane whether or not an operation defined in an instruction is to be performed on that lane, and control circuitry for controlling which of said plurality of control stores is to be used to control per lane execution of an instruction, the control circuitry being operative to select a control store from the plurality of control stores based on a field contained in the instruction. A method and computer program for performing conditional execution are also claimed.
대표청구항▼
What is claimed is: 1. A computer system for conditionally performing an operation defined in a computer instruction and having an execution unit comprising: at least one operand store for holding operands on which an operation defined in an instruction is to be performed, wherein said operand stor
What is claimed is: 1. A computer system for conditionally performing an operation defined in a computer instruction and having an execution unit comprising: at least one operand store for holding operands on which an operation defined in an instruction is to be performed, wherein said operand store defines a plurality of lanes each holding an object; a plurality of operators associated respectively with the lanes for carrying out an operation specified in an instruction on objects in the operand lanes; a destination store for holding objects resulting from the operation on a lane by lane basis; a plurality of control stores each comprising a plurality of indicators to control for each lane whether or not an operation defined in an instruction is to be performed on that lane; and control circuitry for controlling which of said plurality of control stores is to be used to control per lane execution of an instruction, the control circuitry being operative to select a control store from the plurality of control stores based on a field contained in the instruction. 2. A computer system as in claim 1, wherein each said indicator is settable to a first state or a second state, each state representing a resolved test condition. 3. A computer system as in claim 1, wherein each said control store comprises a predicate register and said indicators comprise a plurality of single bit TRUE/FALSE flags. 4. A computer system as in claim 1, wherein each of said plurality of indicators is connectable to control conditional execution on an operand lane of a predetermined width. 5. A computer system as in claim 1, wherein a plurality of indicators is connectable to control conditional execution on an operand lane having a width greater than a predetermined width. 6. A computer system as in claim 1, wherein the operators are adapted to receive immediate values. 7. A computer system as in claim 1, comprising first and second operand stores for holding operands for data processing operations. 8. A computer system as in claim 7, wherein said operators are arranged to perform a data processing operation specified in an instruction on objects in corresponding lanes of said first and second operand stores. 9. A computer system as in claim 1, wherein the width of an operand lane is defined by an amount of information selected from one or more of the following: a byte; a half-word; a word; a long word; a double long word; and a predetermined larger amount of information. 10. A computer system as in claim 1, comprising first and second single instruction multiple data execution units operable to execute instructions in parallel. 11. A computer system as in claim 1, operable to receive long instruction words capable of containing a single instruction or a plurality of instructions. 12. A method of executing instructions on operands comprising a plurality of packed objects, the method including: accessing at least one source operand store holding a plurality of packed objects in respective lanes; determining which of a plurality of control stores is to control per lane execution of an instruction based on a field of the instruction; accessing said control store to determine for each lane whether or not to perform the instruction on that lane, a plurality of indicators indicating for each lane whether or not an operation defined in the instruction is to be performed on that lane; and performing the operation and updating a destination store only in those lanes for which the indicators indicate that the operation should be performed. 13. A method as in claim 12, wherein each said indicator is set to a first state or a second state, according to a resolved test condition. 14. A method as in claim 12, wherein each said indicator comprises a single bit value. 15. A method as in claim 13, wherein each indicator in said first state is set to TRUE. 16. A method as in claim 13, wherein each indicator in said second state is set to FALSE. 17. A method as in claim 12, wherein for an operand lane of a predetermined width execution is conditionally performed in dependence on the state of a single indicator. 18. A method as in claim 12, wherein for an operand lane having a width greater than a predetermined width execution is performed conditionally in dependence on the states of a plurality of indicators. 19. A method as in claim 18, wherein said plurality of indicators for controlling conditional execution of an operand lane are set to the same state. 20. A method as in claim 18, wherein said plurality of indicators for controlling conditional execution of an operand lane comprise indicators set to different states such that an operation is performed on part of an operand lane. 21. A method as in claim 12, wherein a predetermined number of indicators which is less than the total number of indicators in a control store is used to determine whether or not an operation should be performed on all operand lanes at the same time. 22. A method as in claim 21, wherein said predetermined number is 1 and the operation is conditionally performed on the entire contents of the at least one operand store. 23. A computer program product equipped to perform the method of claim 12. 24. A computer program as in claim 23, wherein the program is recorded on a carrier. 25. A computer system for conditionally performing an operation defined in a computer instruction, the execution unit of the computer system comprising: at least one operand store for holding operands on which an operation defined in an instruction is to be performed, wherein said operand store defines a plurality of lanes each holding an object; a plurality of operators associated respectively with the lanes for carrying out an operation specified in an instruction on objects in the operand lanes; a destination store for holding objects resulting from the operation on a lane by lane basis; a plurality of predicate registers each comprising a plurality of predicate bits to control for each lane whether or not an operation defined in an instruction is to be performed on that lane; and control circuitry for controlling which of said plurality of predicate registers is to be used to control per lane execution of an instruction over said operand lanes simultaneously, the control circuitry being operative to select a predicate register from the plurality of predicate registers based on a field contained in the instruction.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (6)
Radigan James J. (Sunnyvale CA) Schwartz David A. (Moorpark CA), Activity masking with mask context of SIMD processors.
Benayoun, Alain; Le Pennec, Jean-Francois; Pin, Claude; Michel, Patrick, Hardware device for parallel processing of any instruction within a set of instructions.
Chiarulli Donald M. (4724 Newcomb Dr. Baton Rouge LA 70808) Rudd W. G. (Dept. of Computer Science Oregon State University Corvallis OR 97331) Buell Duncan A. (1212 Chippenham Dr. Baton Rouge LA 70808, Processor utilizing reconfigurable process segments to accomodate data word length.
Thayer John S. ; Favor John G. ; Weber Frederick D., System and method for conditional moving an operand from a source register to destination register.
Dayan, Uri; Amir, Aviram; Barak, Itzhaki; Nahum, Shahar; Rozenberg, Idan; Shaposhnikov, Ron; Steinberg, Erez, System, method and computer program product for executing a high level programming language conditional statement.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.