Micro-benchmark analysis optimization for microprocessor designs

US9483603B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9483603-B2
Application numberUS-201414293763-A
CountryUS
Kind codeB2
Filing dateJun 2, 2014
Priority dateJun 2, 2014
Publication dateNov 1, 2016
Grant dateNov 1, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Embodiments include systems and methods for optimization of micro-benchmark analysis for microprocessor designs. For example, embodiments seek to generate a suite of micro-benchmarks and associated weighting factors, which can be used to effectively define a weighted aggregate workload condition for a fine-grained (e.g., RTL) simulation in a manner that is a sufficient proxy for predicted commercial workload conditions. The suite of micro-benchmarks can be appreciably more efficient to simulate than the commercial workload, so that using the suite of micro-benchmarks as a proxy for the commercial workload can provide many benefits, including more efficient iterative design.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for optimizing micro-benchmark analysis of a microprocessor design, the method comprising: identifying a suite of micro-benchmarks, each corresponding to a micro-benchmark workload condition for the microprocessor design; simulating, under each micro-benchmark workload condition, fine-grained operation of the microprocessor design to generate a set of micro-benchmark activity factors for the micro-benchmark workload condition, each micro-benchmark activity factor indicating an amount of activity monitored for a respective one of a plurality of sub-units of the microprocessor design under the micro-benchmark workload condition; simulating coarse-grained operation of the microprocessor design to generate a set of commercial workload activity factors, each commercial workload activity factor indicating an amount of activity monitored for each respective one of the plurality of sub-units of the microprocessor design under a commercial workload condition; calculating a set of weighting factors as a function of the micro-benchmark activity factors and the commercial workload activity factors to apply to the suite of micro-benchmarks to yield a weighted aggregate micro-benchmark workload condition that substantially approximates the commercial workload condition; and fabricating a semiconductor integrated circuit according to a microprocessor design optimized to the yielded weighted aggregate micro-benchmark workload condition. 2. The method of claim 1 , wherein the calculating comprises minimizing a difference between the weighted aggregate micro-benchmark workload condition and the commercial workload. 3. The method of claim 1 , wherein the simulating fine-grained operation of the microprocessor design comprises performing a register transfer logic (RTL) level simulation of an architectural power model of the microprocessor design. 4. The method of claim 1 , further comprising: setting a plurality of monitors in an architectural power model of the microprocessor design, each monitor configured to count occurrences of one or more of a predetermined set of key architectural behaviors in a respective one of the sub-units, wherein each of the simulating fine-grained operation and the simulating coarse-grained operation comprises monitoring the amount of activity for each respective one of the plurality of sub-units of the microprocessor design according to the occurrences counted by the monitors. 5. The method of claim 4 , wherein each of the predetermined set of key architectural behaviors is associated with an amount of power consumed by the sub-unit when the key architectural behavior occurs, such that the set of micro-benchmark activity factors for each micro-benchmark workload condition indicates a power consumption of the microprocessor design under the micro-benchmark workload condition, and the set of commercial workload activity factors indicates a power consumption of the microprocessor design under the commercial workload condition. 6. The method of claim 4 , further comprising: calculating a difference between the weighted aggregate micro-benchmark workload condition and the commercial workload by computing a root of sum square of elements of a vector defined by W*A−B, wherein: A is a matrix defined by: sum{Wj*C.*AF(j), for j=1 . . . N}; B is a matrix defined by: C.*Target_AF; each j corresponds to one of N micro-benchmarks in the suite of micro-benchmarks; AF(j) is a vector corresponding to the set of micro-benchmark activity factors for the micro-benchmark workload condition associated with micro-benchmark j; Target_AF is a vector corresponding to the set of commercial workload activity factors for the commercial workload condition; C is a vector corresponding to a power consumption associated with each key architectural behavior; and Wj is a vector corresponding to the set of weighting factors applied to the N micro-benchmarks. 7. The method of claim 6 , wherein the calculating the set of weighting factors comprises minimizing the difference between the weighted aggregate micro-benchmark workload condition and the commercial workload by applying a minimize function to: ∥ W*A−B∥^ 2, subject to all elements of Wj being non-negative, wherein ∥ . . . ∥ computes a root of sum square of elements of a vector. 8. The method of claim 7 , wherein the minimize function comprises a convex optimization function. 9. The method of claim 7 , wherein applying the minimize function comprises: computing a gradient of W (“grad(W)”) and an optimal W according to: grad( w )∥ W*A−B∥^ 2= W ( A T A )−( A T B )=0, so that the optimal W=(1/(A T A))*(A T B); iteratively, while any element of the computed optimal W is less than zero: identifying an element W as having a largest absolute negative value; removing the micro-benchmark corresponding to the identified element from the N micro-benchmarks; and re-computing the gradient of W and the optimal W; and setting W to the optimal W when all elements of W are non-negative. 10. The method of claim 1 , wherein each micro-benchmark represents either a kernel in a common algorithm or a corner-case scenario.

Assignees

Inventors

Classifications

  • for solving equations {, e.g. nonlinear equations, general mathematical optimization problems (optimization specially adapted for a specific administrative, business or logistic context G06Q10/04)} · CPC title

  • HW-SW co-design, e.g. HW-SW partitioning · CPC title

  • Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30) · CPC title

  • G06F30/398Primary

    Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM] (optical proximity correction [OPC] design processes G03F1/36) · CPC title

  • Timing analysis or timing optimisation · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9483603B2 cover?
Embodiments include systems and methods for optimization of micro-benchmark analysis for microprocessor designs. For example, embodiments seek to generate a suite of micro-benchmarks and associated weighting factors, which can be used to effectively define a weighted aggregate workload condition for a fine-grained (e.g., RTL) simulation in a manner that is a sufficient proxy for predicted comme…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F30/398. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 01 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).