Cache Memory Management for Scalar and Vectorial Data Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache memory management in microprocessor architectures for multimedia applications faces challenges in optimizing data access efficiency and power consumption, particularly in handling simultaneous operations across multiple processor clusters, where either a shared cache leads to bottlenecks or distributed caches result in complex coherence and data duplication issues.

Innovation Solution

A cache memory management technique that allows data locations to be accessed in either scalar or vectorial modes, with explicit mapping using control registers, enabling simultaneous operation of processor clusters on scalar and vectorial data, and allowing for dynamic switching between global and local access mechanisms to optimize cache usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single centralized cache is adopted, then each cluster can access data via a single data path, but the system becomes a bottleneck and data access efficiency deteriorates

Engineering Contradiction:
Improvecache architecture complexityVSAvoiddata access efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The cache memory is segmented into multiple independent cache modules, each associated with a specific processor cluster. Each cache module can independently serve its associated cluster, eliminating the bottleneck of a single centralized cache while maintaining manageable complexity through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache architecture transitions from a single-dimensional centralized structure to a multi-dimensional distributed structure, where caches are organized both locally (per-cluster) and globally (shared address space), enabling simultaneous local and remote access operations.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If separate caches are equipped for each cluster, then data access efficiency is maximized, but data duplication and memory architecture complexity increase

Engineering Contradiction:
Improvedata access efficiencyVSAvoidmemory architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Each cache module serves dual purposes: it acts as a dedicated local cache for its associated processor cluster while simultaneously being part of the global shared memory space. This multi-functionality eliminates data duplication and reduces memory architecture complexity.

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

Solution Approach 2:

The patent merges the concepts of distributed and shared caches by allowing each cache module to function both as a private local cache and as part of a unified global memory space, combining the benefits of both approaches while avoiding their respective drawbacks.

Inventive Principle:
Principle #5Merging (Combining)

3Ease of operation

If a single address space is used, then programmer control of program flow is improved, but explicit access to each data item is required and data access efficiency deteriorates

Engineering Contradiction:
Improveprogrammer controlVSAvoiddata access efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system dynamically switches between global and local access modes based on the operation type. Scalar operations automatically access global memory with full programmer control, while vectorial operations automatically access local cache modules for improved efficiency, eliminating the need for explicit access specification.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The cache control unit automatically determines whether to access global or local memory based on the operation type (scalar or vectorial), eliminating the need for programmer intervention and explicit access specification while optimizing data access efficiency.

Inventive Principle:
Principle #25Self-service

4Productivity

If multiple caches are distributed across clusters, then data access efficiency is improved, but power consumption increases due to inactive caches remaining powered

Engineering Contradiction:
Improvedata access efficiencyVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The cache control unit periodically monitors the activity status of cache modules and dynamically powers down inactive caches while maintaining power to active ones. This periodic power management maintains data access efficiency for active clusters while reducing overall power consumption.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

Inactive cache modules are temporarily discarded (powered down) when not in use, and their functionality is recovered when needed. The system can quickly reactivate caches as needed, maintaining data access efficiency while minimizing power consumption during idle periods.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS8078804B2Method and arrangement for cache memory management, related processor architecture
Publication Date: 2011.12.13 STMICROELECTRONICS INT NV
  • US8078804B2 patent drawing
  • US8078804B2 patent drawing
  • US8078804B2 patent drawing

AI summary

A data cache memory coupled to a processor including processor clusters are adapted to operate simultaneously on scalar and vectorial data by providing data locations in the data cache memory for storing data for processing. The data locations are accessed either in a scalar mode or in a vectorial mode. This is done by explicitly mapping the data locations that are scalar and the data locations that are vectorial.