IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0074131
(2005-03-07)
|
등록번호 |
US-7506326
(2009-03-17)
|
발명자
/ 주소 |
|
출원인 / 주소 |
- International Business Machines Corporation
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
2 인용 특허 :
5 |
초록
▼
An improved method, apparatus, and computer instructions for generating instructions to process multiple similar expressions. Parameters are identified for the expressions in the original instructions, to form a set of identified parameters typically including the operations performed, the types of
An improved method, apparatus, and computer instructions for generating instructions to process multiple similar expressions. Parameters are identified for the expressions in the original instructions, to form a set of identified parameters typically including the operations performed, the types of data used, and the data sizes. Each type of execution unit that can execute the instructions needed to process the expressions using the set of identified parameters is identified, wherein a set of identified execution unit types is formed. An execution unit type from the set of identified execution unit types is selected to meet a performance goal. The new instructions are generated for the selected execution unit type to process the expressions, and the original instructions for the expressions are discarded.
대표청구항
▼
What is claimed is: 1. A method in a data processing system for processing expressions, the method comprising: responsive to receiving expressions, identifying parameters for the expressions to form a set of identified parameters; identifying each type of execution unit with an instruction category
What is claimed is: 1. A method in a data processing system for processing expressions, the method comprising: responsive to receiving expressions, identifying parameters for the expressions to form a set of identified parameters; identifying each type of execution unit with an instruction category from an existing set of instruction categories, wherein the execution unit can execute instructions needed to process the expressions using the set of identified parameters, wherein a set of identified execution unit types is formed; generating a list of acceptable types of registers associated with the set of identified execution types to form a set of registers; constructing lists of stores involving adjacent memory; for each list of stores, selecting an adjacent subset; setting all acceptable register class flags to true; examining instructions in lists of store and updating acceptable register kind flags; selecting a combination of an execution unit type from the set of identified execution unit types and an acceptable register from the set of registers, to meet a performance goal; and generating replacement instructions for the combination to process the expressions. 2. The method of claim 1 further comprising: selecting an instruction category from the replacement instructions to process the expression. 3. The method of claim 1, wherein the expressions are located within original instructions and the replacement instructions are new instructions generated to process the expression. 4. The method of claim 1 further comprising: generating a set of instructions to process the expressions, wherein the set of instructions use executions units from the execution unit type. 5. The method of claim 1, wherein the set of identified execution unit types includes at least one of general purpose registers, floating point registers, and vector registers. 6. The method of claim 1, wherein the execution unit type is identified by or identifies a register class. 7. The method of claim 1, wherein the parameters include at least one of an operation performed, a type of data used by the expression, and a data size. 8. The method of claim 1, wherein the identifying step includes: generating ordered lists of load instructions and ordered lists of store instructions to process the expression. 9. A data processing system for generating instructions to process expressions, the data processing system comprising: a bus; a communications unit connected to the bus; a memory connected to the bus; a processor unit connected to the bus; wherein the processor executes: first identifying means, responsive to receiving expressions, for identifying parameters for the expressions to form a set of identified parameters; second identifying means for identifying each type of execution unit with an instruction category from an existing set of instruction categories, wherein the execution unit can execute instructions needed to process the expressions using the set of identified parameters, wherein a set of identified execution units types is formed; first generating means for generating a list of acceptable types of registers associated with the set of identified execution types to form a set of registers; constructing means for constructing lists of stores involving adjacent memory; selecting means, for each list of stores, for selecting an adjacent subset; setting means for setting all acceptable register class flags to true; examining means for examining instructions in lists of store and updating acceptable register kind flags; selecting means for selecting a combination of an execution unit type from the set of identified execution unit types and an acceptable register from the set of registers to meet a performance goal; and second generating means for generating replacement instructions for the combination to process the expressions. 10. The data processing system of claim 9 wherein second generating means further comprises: generating means for generating a set of instructions to process the expressions, wherein the set of instructions use execution units from the execution unit type. 11. A computer program product for generating instructions to process expressions, the computer program product comprising: a computer usable recordable-type medium containing instructions, executable by a computer stored thereon, the instructions comprising: instructions executable by the computer, responsive to receiving expressions, for identifying parameters for the expression to form a set of identified parameters; instructions executable by the computer for identifying each type of execution unit with an instruction category from an existing set of instruction categories, wherein the execution unit can execute instructions needed to process the expressions using the set of identified parameters, wherein a set of identified execution units types is formed; instructions executable by the computer for generating a list of acceptable types of registers associated with the set of identified execution types to form a set of registers; instructions executable by the computer for constructing lists of stores involving adjacent memory; instructions executable by the computer for, for each list of stores, selecting an adjacent subset; instructions executable by the computer for setting all acceptable register class flags to true; instructions executable by the computer for examining instructions in lists of store and updating acceptable register kind flags; instructions executable by the computer for selecting a combination of an execution unit type from the set of identified execution unit types and an acceptable register from the set of registers to meet a performance goal; and instructions, executable by the computer for generating replacement instructions for the combination to process the expressions. 12. The computer program product of claim 11 further comprising: instructions executable by the computer for selecting an instruction category from the instructions to process the expressions. 13. The computer program product of claim 11, wherein the expressions are located within original instructions and the replacement instructions are new instructions generated to process the expressions. 14. The computer program product of claim 11 further comprising: instructions executable by the computer for generating a set of instructions to process the expressions, wherein the set of instructions use execution units from the execution unit type. 15. The computer program product of claim 11, wherein the set of identified execution unit types includes at least one of general purpose registers, floating point registers, and vector registers. 16. The computer program product of claim 11, wherein the execution unit type is identified by or identifies a register class. 17. The computer program product of claim 11, wherein the parameters include at least one of an operation performed, a type of data used by the expression, and a data size. 18. The computer program product of claim 11, wherein the instructions executable by the computer include: instructions executable by the computer for generating ordered lists of load instructions and ordered lists of store instructions to process the expressions. 19. A data processing system comprising: a bus; a communications unit connected to the bus; a memory connected to the bus, wherein the memory includes a plurality of instructions; and a processor unit connected to the bus, wherein the processor unit executes the plurality of instructions to; identify parameters for the expressions to form a set of identified parameters in response to receiving expressions; identify each type of execution unit with an instruction category from an existing set of instruction categories, wherein the execution unit can execute instructions needed to process the expressions using the set of identified parameters, wherein a set of identified execution units types is formed; generate a list of acceptable types of registers associated with the set of identified execution types to form a set of registers, construct lists of stores involving adjacent memory; for each list of stores, select an adjacent subset; set all acceptable register class flags to true; examine instructions in lists of store and updating acceptable register kind flags; and select a combination of an execution unit type from the set of identified execution unit types and an acceptable register from the set of registers to meet a performance goal; and generate replacement instructions from the combination to process the expressions. 20. The data processing system of claim 19, wherein the processor unit further executes the plurality of instructions to generate a set of instructions to process the expressions, wherein the set of instructions use executions units from the execution unit type. 21. The data processing system of claim 19, wherein the set of identified execution unit types includes at least one of general purpose registers, floating point registers, and vector registers. 22. The data processing system of claim 19, wherein the execution unit type is identified by or identifies a register class. 23. The data processing system of claim 19, wherein the parameters include at least one of an operation performed, a type of data used by the expression, and a data size.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.