Unified Cache with Tag Array for Multi-Type Data Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional cache systems in processors are inflexible and space-intensive due to the need for multiple separate caches for different types of data, which limits their efficiency and increases the overall space required within the processor.

Innovation Solution

A cache system with a data array and a tag array that can store multiple types of data, using comparators to identify and retrieve data efficiently, and a content addressable memory to store identification bits, allowing for dynamic assignment of entries and a single I/O interface, thereby reducing space and improving flexibility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple separate caches are used to store different types of data, then data retrieval reliability is improved, but device complexity and space consumption increase

Engineering Contradiction:
Improvedata retrieval reliabilityVSAvoidcache structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent combines multiple separate caches (instruction cache, data cache, unified cache) into a single cache structure that can store different types of data simultaneously. The cache includes a data array with multiple banks and a tag array with type identifiers that distinguish between different data types, allowing one cache to perform functions previously requiring multiple separate caches.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The cache is designed as a universal structure that can store and retrieve multiple types of data (instruction data, data operands, unified data) through a single interface. The tag array includes type identification fields that enable the cache to differentiate and properly handle different data types, making the cache multi-functional rather than dedicated to a single purpose.

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

2Reliability

If multiple separate caches are used to store different types of data, then data retrieval reliability is improved, but the space required within the processor increases

Engineering Contradiction:
Improvedata retrieval reliabilityVSAvoidprocessor space
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent combines multiple separate caches (instruction cache, data cache, unified cache) into a single cache structure that can store different types of data simultaneously. The cache includes a data array with multiple banks and a tag array with type identifiers that distinguish between different data types, allowing one cache to perform functions previously requiring multiple separate caches.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The cache is designed as a universal structure that can store and retrieve multiple types of data (instruction data, data operands, unified data) through a single interface. The tag array includes type identification fields that enable the cache to differentiate and properly handle different data types, making the cache multi-functional rather than dedicated to a single purpose.

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

3Device complexity

If a single cache stores multiple types of data, then device complexity is reduced, but data retrieval speed may be affected

Engineering Contradiction:
Improvecache structure complexityVSAvoiddata retrieval speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The cache is segmented into multiple banks within the data array, each capable of independent operation. The tag array is also segmented with separate fields for type identification. This segmentation allows parallel access to different data types and prevents retrieval operations on one data type from interfering with others, maintaining high speed despite the unified structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache employs dynamic allocation and management of entries based on data type. The system can dynamically determine which bank to access based on the type identifier in the tag array, and can dynamically allocate cache space to different data types based on current processor needs, optimizing retrieval speed for the most frequently accessed data types.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8843726B2Cache for storing multiple forms of information and a method for controlling a cache storing multiple forms of information
Publication Date: 2014.09.23 ADVANCED MICRO DEVICES INC
  • US8843726B2 patent drawing
  • US8843726B2 patent drawing
  • US8843726B2 patent drawing

AI summary

A cache is provided, including a data array having a plurality of entries configured to store a plurality of different types of data, and a tag array having a plurality of entries and configured to store a tag of the data stored at a corresponding entry in the data array and further configured to store an identification of the type of data stored in the corresponding entry in the data array.