Micro-operation Cache Predictive Allocation for Power Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Mobile processors face challenges in reducing power consumption without performance penalties, particularly due to thermal limitations and battery life constraints, in the execution of micro-operations within the instruction cycle.

Innovation Solution

A micro-operation cache system using predictive allocation, which includes an instruction fetch unit, decode unit, execution unit, and a branch prediction circuit to identify repeating kernels of instructions, allowing for storage and retrieval of micro-operations without the need for constant instruction decoding, thereby enabling power-saving modes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If instructions are constantly decoded from the instruction cache, then performance is maintained, but power consumption increases

Engineering Contradiction:
Improvepower consumptionVSAvoidperformance
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The micro-operation cache stores pre-decoded micro-operations from repeating instruction kernels, so that when these instructions are encountered again, the already-decoded micro-operations can be directly supplied to the execution unit without repeating the decode process, thus saving power while maintaining performance

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of re-decoding instructions from the instruction cache, the system creates and stores copies of decoded micro-operations in the micro-operation cache, which can then be retrieved and executed directly, eliminating redundant decode operations and reducing power consumption

Inventive Principle:
Principle #26Copying

2Temperature

If the instruction decode unit operates continuously, then performance is maintained, but thermal generation increases

Engineering Contradiction:
Improvethermal managementVSAvoidperformance
Core Design Contradiction:
TemperatureVSProductivity

Solution Approach 1:

By pre-decoding instruction kernels and storing the resulting micro-operations in the micro-operation cache, the decode unit can be powered down or idle during subsequent executions of the same kernel, reducing thermal generation while maintaining execution performance through cache retrieval

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system alternates between active decode operations for new instruction kernels and idle/cache-retrieval modes for repeating kernels, creating periodic operation patterns that reduce average thermal generation while maintaining overall performance

Inventive Principle:
Principle #19Periodic action

3Use of energy by moving object

If the micro-operation cache is populated with repeating kernels, then power consumption is reduced, but device complexity increases

Engineering Contradiction:
Improvepower consumptionVSAvoiddevice complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The micro-operation cache serves multiple functions: it acts as a standard cache for stored micro-operations, enables power-saving modes for repeating kernels, and works in conjunction with the branch prediction circuit to identify and cache repeating instruction patterns, thereby justifying the added complexity through multi-functional benefits

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11169810B2Micro-operation cache using predictive allocation
Publication Date: 2021.11.09 SAMSUNG ELECTRONICS CO LTD
  • US11169810B2 patent drawing
  • US11169810B2 patent drawing
  • US11169810B2 patent drawing

AI summary

According to one general aspect, an apparatus may include an instruction fetch unit circuit configured to retrieve instructions from a memory. The apparatus may include an instruction decode unit configured to convert instructions into one or more micro-operations that are provided to an execution unit circuit. The apparatus may also include a micro-operation cache configured to store micro-operations. The apparatus may further include a branch prediction circuit configured to: determine when a kernel of instructions is repeating, store at least a portion of the kernel within the micro-operation cache, and provide the stored portion of the kernel to the execution unit circuit without the further aid of the instruction decode unit circuit.