Selective Cache Access Control for Data Processor Power Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data processor units face performance and power consumption issues due to tight timing constraints in the access set-up cycle, where it may not be possible to definitively determine the memory location of instruction operands, leading to speculative cache access requests that reduce performance or increase power consumption.

Innovation Solution

A data processor unit that can definitively determine whether an effective address is within a local memory address range, preventing speculative cache access requests by comparing a base address value with the effective address input operands in parallel with calculating the access requests, thereby reducing unnecessary cache accesses and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple speculative access requests are generated to ensure instruction operand access, then performance is maintained, but power consumption increases

Engineering Contradiction:
ImproveperformanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent applies local quality by differentiating between different types of memory access requests based on their certainty. Speculative access requests are generated only when necessary (when timing constraints prevent definitive determination), while definitive requests are used when possible. This selective approach optimizes the balance between performance and power consumption by applying different access strategies to different access scenarios.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically adjusts its access strategy based on timing constraints and available information. The load/store unit can switch between generating multiple speculative requests, delaying requests, or using definitive single requests depending on whether the access set-up cycle allows for definitive determination. This dynamic adaptation resolves the contradiction by optimizing performance when possible and reducing power consumption when definitive determination is achievable.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If access request generation is delayed by a clock cycle to provide additional access set-up time, then definitive memory determination is possible, but performance reduces

Engineering Contradiction:
Improvememory determination accuracyVSAvoidperformance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent applies preliminary action by performing address calculation and memory determination as early as possible within the access set-up cycle. The system attempts to definitively determine the target memory during the set-up cycle itself, only delaying or speculating when absolutely necessary. This early determination approach minimizes performance impact while maximizing accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the timing parameter of access request generation based on whether definitive determination is possible. When timing constraints allow, requests are generated with full determination accuracy. When constraints prevent this, the system adjusts by either delaying by one clock cycle or generating speculative requests, changing the timing parameter to resolve the contradiction between accuracy and performance.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If a single speculative access request is generated to maintain performance, then performance is maintained, but the request may fail to access the instruction operand from the target device

Engineering Contradiction:
ImproveperformanceVSAvoidaccess reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies partial action by generating the minimum necessary number of access requests based on certainty levels. When definitive determination is possible, only one request is generated. When uncertain, multiple speculative requests are generated. This partial approach avoids excessive requests when not needed, resolving the contradiction by matching the number of requests to the actual uncertainty level.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8904109B2Selective cache access control apparatus and method thereof
Publication Date: 2014.12.02 TAIWAN SEMICONDUCTOR MANUFACTURING CO LTD
  • US8904109B2 patent drawing
  • US8904109B2 patent drawing
  • US8904109B2 patent drawing

AI summary

A data processor is disclosed that definitively determines an effective address being calculated and decoded will be associated with an address range that includes a memory local to a data processor unit, and will disable a cache access based upon a comparison between a portion of a base address and a corresponding portion of an effective address input operand. Access to the local memory can be accomplished through a first port of the local memory when it is definitively determined that the effective address will be associated with an address range. Access to the local memory cannot be accomplished through the first port of the local memory when it is not definitively determined that the effective address will be associated with the address range.