Instruction Cache Non-Cacheable Data Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing systems face inefficiencies in storing non-cacheable instruction data, leading to increased silicon area requirements and potential processor stalls due to the need for additional buffering and re-fetching of infrequent non-cacheable instructions.

Innovation Solution

The proposed solution involves utilizing the existing instruction cache to temporarily store non-cacheable instruction data, marking cache lines as invalid to prevent cache hits, and maintaining records for retrieval, allowing non-cacheable instructions to be re-fetched from memory when needed, thus avoiding the need for additional buffer storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If separate buffer storage is provided for non-cacheable instructions, then temporary storage capability is improved, but silicon area increases

Engineering Contradiction:
Improvestorage capabilityVSAvoidsilicon area
Core Design Contradiction:
Quantity of substanceVSArea of stationary object

Solution Approach 1:

The instruction cache is designed to handle both cacheable and non-cacheable instructions using the same storage structure. The cache control circuitry determines the instruction type and manages storage accordingly, allowing the same physical storage resources to serve multiple purposes without requiring separate buffer structures.

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

Solution Approach 2:

The patent merges the storage functionality for non-cacheable instructions with the existing instruction cache structure. Instead of providing separate buffer storage, the solution combines both instruction types into a single cache system, utilizing the same data storage resources for both cacheable and non-cacheable instruction temporary storage.

Inventive Principle:
Principle #5Merging (Combining)

2Area of stationary object

If instruction cache is used for non-cacheable instructions, then silicon area is reduced, but cache operation complexity increases

Engineering Contradiction:
Improvesilicon areaVSAvoidcache operation complexity
Core Design Contradiction:
Area of stationary objectVSDevice complexity

Solution Approach 1:

The cache control circuitry acts as an intermediary that manages the interaction between cacheable and non-cacheable instructions. It determines the instruction type, selects appropriate cache lines, and manages valid/invalid flags to prevent cache hits for non-cacheable instructions, thereby handling the increased operational complexity within the control logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Different cache lines are assigned different qualities based on their content type. Cache lines storing non-cacheable instructions are marked as invalid to prevent cache hits, while cache lines storing cacheable instructions maintain normal valid/invalid functionality. This local differentiation allows the system to handle mixed instruction types without requiring complete redesign of the cache operation.

Inventive Principle:
Principle #3Local quality

3Quantity of substance

If non-cacheable instructions are stored in cache, then storage efficiency is improved, but cache hit accuracy deteriorates

Engineering Contradiction:
Improvestorage efficiencyVSAvoidcache hit accuracy
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The system uses valid/invalid flags as visual indicators (analogous to color changes) to distinguish between cacheable and non-cacheable instruction storage. When a cache line contains non-cacheable instructions, the invalid flag is set, effectively marking it as unavailable for cache hits. This allows the cache structure to physically store both types of instructions while maintaining logical separation through status indicators.

Inventive Principle:
Principle #32Color changes

Data Source

PatentUS9003123B2Data processing apparatus and method for reducing storage requirements for temporary storage of data
Publication Date: 2015.04.07 ARM LTD
  • US9003123B2 patent drawing
  • US9003123B2 patent drawing
  • US9003123B2 patent drawing

AI summary

An instruction cache stores cacheable instructions for access by a processing circuitry, the instruction cache having a data storage comprising a plurality of cache lines and a tag storage comprising a plurality of tag entries, each cache line for storing instruction data specifying a plurality of cacheable instructions, and each tag entry for storing an address identifier for the instruction data stored in an associated cache line. The instruction cache including valid flag storage for identifying whether each cache line is valid. Instruction cache control circuitry is arranged to store within a selected cache line of the data storage the instruction data for a plurality of cacheable instructions as retrieved from memory, to store within the tag entry associated with that selected cache line the address identifier for that stored instruction data, and to identify that selected cache line as valid within the valid flag storage.