Thread-Specific CAM Enable Logic for TLB Power Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern processors consume significant dynamic power during translation lookaside buffer (TLB) searches due to the need to compare each content addressable memory (CAM) entry with the requested virtual address, even though only a subset of entries are relevant to the executing thread.

Innovation Solution

The implementation of a TLB with enable logic that restricts CAM searches to only the entries associated with the executing thread, using mask vectors to enable only relevant CAM entries during a query, thereby reducing power consumption by limiting the number of entries searched.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all CAM entries are searched during every TLB query, then complete address translation coverage is ensured, but dynamic power consumption increases significantly

Engineering Contradiction:
Improveaddress translation coverageVSAvoiddynamic power consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the CAM into multiple sets, where each set is associated with a specific thread. The enable logic selectively activates only the CAM set corresponding to the querying thread, dividing the search space from a single large CAM into multiple smaller, thread-specific CAM sets. This segmentation reduces the number of entries searched while maintaining complete coverage for the active thread.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by searching only a subset of CAM entries rather than all entries. The enable logic determines which CAM entries are relevant to the current thread and activates only those entries for the search operation. This partial search approach maintains reliability for the active thread while reducing overall power consumption.

Inventive Principle:
Principle #16Partial or excessive action

2Use of energy by moving object

If enable logic is added to selectively enable CAM entries, then power consumption is reduced, but device complexity increases

Engineering Contradiction:
Improvedynamic power consumptionVSAvoidTLB structure complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The patent introduces enable logic as an intermediary component between the TLB query mechanism and the CAM entries. This enable logic acts as a mediator that receives the thread identifier, determines which CAM set is relevant, and activates only the corresponding CAM entries. The intermediary approach manages the complexity by centralizing the selection logic rather than embedding complex control in each CAM entry or throughout the entire CAM structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Use of energy by moving object

If CAM search is limited to thread-associated entries only, then power consumption decreases, but search time may increase due to multiple search phases

Engineering Contradiction:
Improvedynamic power consumptionVSAvoidTLB search time
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-associating each CAM entry with a specific thread identifier during CAM entry creation or update. The enable logic uses these pre-established associations to quickly determine which CAM entries are relevant to the current thread before initiating the search. This preliminary organization eliminates the need for complex runtime analysis and enables rapid selection of the relevant CAM set, reducing search time despite the multi-phase nature of the operation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9208261B2Power reduction for fully associated translation lookaside buffer (TLB) and content addressable memory (CAM)
Publication Date: 2015.12.08 ORACLE INT CORP
  • US9208261B2 patent drawing
  • US9208261B2 patent drawing
  • US9208261B2 patent drawing

AI summary

An apparatus and method for saving power during TLB searches is disclosed. In one embodiment, a TLB includes a CAM having a plurality of entries each storing a virtual address, and enable logic coupled to the CAM. Responsive to initiation of a TLB query by a thread executing on a processor that includes the TLB, the enable logic is configured to enable only those CAM entries that are associated with the initiating thread. Entries in the CAM not associated with the thread are not enabled. Accordingly, an initial search of the TLB for responsive to the query is conducted only in the CAM entries that are associated with the thread. Those CAM entries that are not associated with the thread are not searched. As a result, dynamic power consumption during TLB searches may be reduced.