Patent ID: 8935685
Filing Date: 2015-01-13
Classification: G06F

Abstract:
1. A method to select a design from at least two different designs of a processor with at least two execution pipes and at least two registers, the method comprising: Obtaining the at least two different designs of the processor, wherein the at least two different designs each indicate a respective specific processor instruction set architecture having a defined hardware and instruction set thereof, and wherein the at least two different designs comprise data for processor instruction latency and execution pipes; Obtaining a plurality of code streams, each code stream of the plurality of code streams comprising processor instructions and corresponding register selections, and each code stream of the plurality of codes streams comprising code compiled for a corresponding different design of the at least two different designs of the processor; generating, by a processor, an optimized code stream for each design of the at least two different designs, the generating being performed for each design based on the defined hardware and instruction set of the design, wherein generating an optimized code stream for a design of the at least two different designs comprises reordering the code stream corresponding to that design such that an optimum value for at least one design parameter is achieved without affecting operation results of the corresponding code stream corresponding to that design, and wherein the generating the optimized code stream for each design of the at least two different designs provides a plurality of optimum values for the at least one design parameter; selecting a design, from the at least two different designs, for which the best optimum value of the plurality of optimum values for the at least one design parameter is achieved; and wherein the at least one design parameter comprises the number of processing cycles for the optimized code stream, which is minimized for the design in the generating; and wherein the generating uses register renaming.