Claims Analysis
Total Claims: 18
Claim 1
Independent Claim
112 words
A method for programmatic design of a VLIW processor comprising: reading a specification for at least one candidate VLIW processor, where the specification describes a specific instance of a parameterized VLIW processor design; obtaining internal resource usage statistics for the candidate VLIW processor, where the internal resource usage statistics indicate how operations or hardware components of the candidate VLIW processor are used during execution of an application program on the candidate processor, wherein the internal resource usage statistics include data indicating costs of individual structural components; and using the internal resource usage statistics to provide one or more new candidate VLIW processor specifications or to exclude one or more previously identified candidates.
Claim 2
Independent Claim
112 words
A method for programmatic design of a VLIW processor comprising: reading a specification for at least one candidate VLIW processor, where the specification describes a specific instance of a parameterized VLIW processor design; obtaining internal resource usage statistics for the candidate VLIW processor, where the internal resource usage statistics indicate how operations or hardware components of the candidate VLIW processor are used during execution of an application program on the candidate processor, wherein the internal resource usage statistics include data indicating costs of individual structural components; and using the internal resource usage statistics to provide one or more new candidate VLIW processor specifications or to exclude one or more previously identified candidates.
Claim 3
Dependent Claim
47 words
The method of claim 1 including: repeating the method of claim 1 for two or more candidate processors to find an optimized candidate processor that satisfies a pre-determined design constraint; wherein the two or more candidate processors are selected programmatically from a parameterized space of processor designs.
Claim 4
Dependent Claim
23 words
The method of claim 2 wherein the design constraint is VLIW processor cost measured in area occupied by hardware components in the description.
Claim 5
Dependent Claim
33 words
The method of claim 2 wherein the design constraint is VLIW processor performance measured in execution time of an application program or set of application programs to be executed on the VLIW processor.
Claim 6
Dependent Claim
49 words
The method of claim 1 wherein the specification is a structural description of the VLIW processor, including parameters describing instances of structural hardware components in the VLIW processor, and providing the new specification includes modifying, removing or adding a structural hardware component based on the internal resource usage statistics.
Claim 7
Dependent Claim
57 words
The method of claim 1 wherein the specification is an abstract non-structural specification of the candiate VLIW processor, including parameters specifying processor operations and instruction level parallelism constraints among the specified processor operations; and providing the new specification includes modifying, removing or adding processor operations or instruction level parallelism constraints based on the internal resource usage statistics.
Claim 8
Dependent Claim
94 words
The method of claim 6 including: programmatically generating a processor datapath of the candidate processor from the specification, the datapath including register file ports and a correspondence between the ports and processor operations using the ports; obtaining operation issue statistics indicating how the application program uses the processor operations; using the operation issue statistics and correspondence between the ports and processor operations, determining utilization of the ports by the application program; and based on the utilization, modifying, removing or adding processor operations or instruction level parallelism constraints based on the internal resource usage statistics.
Claim 9
Dependent Claim
80 words
The method of claim 6 including: programmatically generating a processor hardware description from the specification, including macrocell instances of hardware components and processor operations used by the macrocell instances; obtaining operation issue statistics indicating how the application program uses the processor operations; using the operation issue statistics, determining utilization of the macrocell instances by the application program; and based on the utilization, modifying, removing or adding processor operations or instruction level parallelism constraints based on the internal resource usage statistics.
Claim 10
Dependent Claim
87 words
The method of claim 6 including: programmatically generating a processor instruction format from the specification, including instruction templates representing VLIW instructions having slots for two or more concurrently issued operations and instruction fields for the operations; obtaining operation issue statistics indicating how the application program uses the instruction fields; using the operation issue statistics, determining utilization of the instruction fields by the application program; and based on the utilization, modifying, removing or adding processor operations or instruction level parallelism constraints based on the internal resource usage statistics.
Claim 11
Dependent Claim
45 words
The method of claim 1 wherein the internal resource usage statistics include data indicating frequency of usage of structural hardware components in the candidate VLIW processor; and providing the new specification includes deleting instances of rarely used components or adding instances of highly used components.
Claim 12
Dependent Claim
70 words
The method of claim 1 wherein the internal resource usage statistics include data indicating frequency that two or more operations are used concurrently; and providing the new specification includes adding instruction level parallelism constraints to the specification to prohibit selected operations from being issued concurrently in the new candidate processor or adding instruction level parallelism constraints to require that the new candidate processor be able to execute selected operations concurrently.
Claim 13
Dependent Claim
43 words
The method of claim 1 wherein the internal resource usage statistics include data indicating usage of registers in the candidate processor; and providing the new specification includes using the internal usage statistics to select a number of registers in the new candidate processor.
Claim 14
Dependent Claim
45 words
The method of claim 1 including: providing the new specification includes using the internal resource usage statistics to identify a structural component having a higher cost and lower utilization than other components, and modifying or deleting the structural component having higher cost and lower utilization.
Claim 15
Dependent Claim
81 words
The method of claim 1 wherein the specification comprises a non-structural processor parameterization including specified processor operations and instruction level parallelism constraints among the specified operations, and programmatically generating a description of the new candidate VLIW processor, including: programmatically generating a datapath of the new candidate processor, including a hardware description of functional units for executing the specified operations according to the instruction level parallelism constraints, register files and an interconnect coupling data ports of the functional units and register files.
Claim 16
Dependent Claim
29 words
The method of claim 14 including: programmatically generating an instruction format specification including instruction templates, instruction fields for each template, and bit positions and encodings for each instruction field.
Claim 17
Dependent Claim
30 words
The method of claim 14 including: programmatically generating a description of control logic for issuing control signals to control ports of the functional units and register files in the datapath.
Claim 18
Dependent Claim
14 words
A computer readable medium having software for performing the method of claim 1 .