Reconfigurable Cache Tag Array for Multi-Thread Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing systems face inefficiencies in single and multi-thread modes due to cache misses and resource stalling, which hinder processor performance and memory access speeds.

Innovation Solution

The system employs multiple independent load/store execution units and data caches, with a reconfigurable tag array to manage cache operations in both single and multi-thread modes, allowing for efficient load and store instructions execution and cache hit/miss handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple independent load/store execution units and data caches are used in multi-thread mode, then thread execution speed is improved, but device complexity increases

Engineering Contradiction:
Improvethread execution speedVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system divides the cache structure into multiple independent data caches (first data cache, second data cache, etc.), each with its own tag array. Each load/store execution unit is associated with specific data caches, creating segmented parallel processing paths that improve thread execution speed while managing complexity through structured division

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements reconfigurable tag arrays that can operate in both single-thread and multi-thread modes. The same hardware structure (load/store execution units and data caches) serves multiple functions: processing multiple threads simultaneously in multi-thread mode, and providing enhanced single-thread performance by utilizing multiple caches in parallel, thereby reducing the need for separate dedicated hardware for different operating modes

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

2Productivity

If multiple independent data caches are used in single-thread mode, then single-thread performance is improved, but device complexity increases

Engineering Contradiction:
Improvesingle-thread performanceVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

In single-thread mode, the patent merges multiple independent data caches into a unified cache system where all caches can be utilized simultaneously for a single thread's operations. The reconfigurable tag arrays are merged to work together, allowing the single thread to benefit from the combined capacity and speed of multiple caches, thereby improving single-thread performance without requiring separate dedicated cache structures

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system employs dynamic reconfiguration of tag arrays that can adapt between single-thread and multi-thread modes. In single-thread mode, the tag arrays are configured to handle unified cache operations, dynamically adjusting the cache access patterns and tag comparison logic to optimize performance for sequential thread execution while utilizing multiple cache structures

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If reconfigurable tag arrays are used to manage cache operations in both single and multi-thread modes, then adaptability is improved, but device complexity increases

Engineering Contradiction:
Improvemode adaptabilityVSAvoiddevice complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements reconfigurable tag arrays that can dynamically change their operational configuration based on the execution mode (single-thread or multi-thread). The tag arrays can be reconfigured to handle different addressing schemes, associativity patterns, and comparison logic required for different modes, providing high adaptability through a single unified structure rather than separate static structures for each mode

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The reconfigurable tag arrays serve multiple functions: they operate as traditional tag arrays in single-thread mode, function as multi-threaded tag arrays with enhanced capabilities in multi-thread mode, and can be dynamically switched between these modes. This universal design allows the same hardware to handle both operating modes efficiently, reducing the need for separate dedicated tag array structures for each mode

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

Data Source

PatentUS8966232B2Data processing system operable in single and multi-thread modes and having multiple caches and method of operation
Publication Date: 2015.02.24 NXP USA INC
  • US8966232B2 patent drawing
  • US8966232B2 patent drawing
  • US8966232B2 patent drawing

AI summary

In some embodiments, a data processing system includes a processing unit, a first load/store unit LSU and a second LSU configured to operate independently of the first LSU in single and multi-thread modes. A first store buffer is coupled to the first and second LSUs, and a second store buffer is coupled to the first and second LSUs. The first store buffer is used to execute a first thread in multi-thread mode. The second store buffer is used to execute a second thread in multi-thread mode. The first and second store buffers are used when executing a single thread in single thread mode.