← Back to Patent Explorer
US6408428B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Automated design of processor systems using feedback from internal measurements of candidate systems

Assignee: Hewlett Packard Development Co LP
•
Filing: 1999-08-20
•
Granted: 2002-06-18
•
Expires: 2019-08-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An automated design system for VLIW processors explores a parameterized design space to assist in identifying candidate processor designs that satisfy desired design constraints, such as processor cost and performance. A VLIW synthesis process takes as input a specification of processor parameters and synthesizes a datapath specification, an instruction format design, and a control path specification. The synthesis process also extracts a machine description suitable to re-target a compiler. The re-targeted compiler generates operation issue statistics for an application program or set of programs. Using these statistics, a procedure for searching the design space can extract internal resources utilization information that is used to determine new candidate processors for evaluation.

Inventors

  • 👤 Michael S. Schlansker
  • 👤 Vinod K. Kathail
  • 👤 Greg Snider
  • 👤 Shail Aditya Gupta
  • 👤 Scott A. Mahlke
  • 👤 Santosh Abraham

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 10:41
CPC Classifications
G; G06; G06F; G06F30/00; G06F30/30; G06F2111/00; G06F2111/06

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 .

References Cited (Backward Citations)

US6088783A Cited
US6223274B1 Cited
US6112299A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-06-17 2005-12-17 2006-06-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-06-17 2009-12-17 2010-06-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-06-17 2013-12-17 2014-06-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag