Genetic Algorithm Microcode Compression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current microcode compression techniques, such as the K-means algorithm, do not directly optimize for maximal microcode size reduction by minimizing redundancy between rows, leading to suboptimal reductions in microcode storage size, especially in processor designs requiring small footprint and low power consumption.

Innovation Solution

A genetic algorithm is employed to identify the best clustering of microcode storage columns for cluster-based compression, using an objective function to iteratively improve microcode size reduction by evolving a population of chromosomes representing candidate solutions, where each chromosome corresponds to a clustering assignment of columns to clusters.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the K-means algorithm is used for clustering microcode storage columns, then the clustering process is simple and fast, but the microcode size reduction is suboptimal because the distance metric does not directly relate to microcode size reductions

Engineering Contradiction:
Improvemicrocode size reductionVSAvoidclustering algorithm complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the optimization parameter from distance metric (used in K-means) to microcode size reduction metric. The genetic algorithm evaluates clusterings based on their ability to minimize microcode storage size directly, rather than minimizing column distances. This parameter change enables the system to achieve optimal microcode compression by selecting clusterings that maximize redundancy exploitation between rows.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If more advanced functionality is migrated to microcode, then processor functionality is enhanced, but microcode storage consumes up to 20% of die area

Engineering Contradiction:
Improveprocessor functionalityVSAvoiddie area
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The patent extracts and removes redundancy from microcode storage by identifying and eliminating duplicate patterns across rows. Through cluster-based compression, the system separates unique column patterns from redundant repetitions, storing only the essential unique information. This extraction of redundancy reduces microcode storage size while preserving all processor functionality, directly addressing the die area consumption problem.

Inventive Principle:
Principle #2Taking out (Extraction)

3Quantity of substance

If microcode storage size is reduced through compression, then die area and power consumption are reduced, but the clustering must optimize for maximal size reduction rather than simple distance metrics

Engineering Contradiction:
Improvemicrocode storage sizeVSAvoidclustering optimization complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The genetic algorithm performs self-service by automatically evolving clusterings that optimize microcode size reduction without requiring manual intervention or simple distance-based heuristics. The system self-adjusts the clustering assignments through iterative selection, crossover, and mutation operations, automatically discovering the optimal clustering structure that maximizes compression efficiency for the specific microcode dataset.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7451121B2Genetic algorithm for microcode compression
Publication Date: 2008.11.11 INTEL CORP
  • US7451121B2 patent drawing
  • US7451121B2 patent drawing
  • US7451121B2 patent drawing

AI summary

A method to compress microcode utilizing a genetic algorithm includes generating a population of chromosomes, each chromosome including one or more elements that indicate a cluster to which a portion of microcode memory belongs. The method further includes determining a fitness value of each chromosome and modifying the population of chromosomes based on the fitness values of the chromosomes to generate a new population of chromosomes. In addition, the method includes compressing the microcode memory using a cluster-based compression technique, wherein clusters are selected according to a chromosome from the new population with the best fitness value. Other embodiments are also disclosed.