Cache-Like Counter Pools for Data Processor Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processors and graphics processing systems face inefficiencies in the provision of performance counters, as they often require a large number of counters to be constantly available, leading to resource wastage and increased complexity.

Innovation Solution

The implementation of a 'cache-like' pool of entries for counters, where each entry is associated with a respective counter and includes an identifier that can indicate a memory address, allows for dynamic allocation of counters. This approach enables efficient counter provision by reusing entries and reducing the overall number of counters required.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a large number of counters are constantly available in data processors, then counter availability and reliability are improved, but device complexity and resource utilization deteriorate

Engineering Contradiction:
Improvecounter availabilityVSAvoidnumber of counters
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic counter allocation where counters are allocated from a pool based on demand rather than being statically provisioned. The control circuit manages counter allocation and deallocation, allowing the system to adapt counter availability to actual workload requirements, thus reducing the total number of counters needed while maintaining reliability when counters are required.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal counter pool that serves multiple processing units and operations. Instead of dedicating separate counters to each processing unit, a shared pool of counters is managed by a control circuit that allocates counters to different units as needed, making the counter resource multi-functional and reducing overall complexity.

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

2Reliability

If a large number of counters are constantly available in data processors, then counter availability is improved, but resource utilization deteriorates

Engineering Contradiction:
Improvecounter availabilityVSAvoidresource wastage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system dynamically allocates and deallocates counters based on actual demand. Counters are allocated when needed by processing units and deallocated when no longer required, ensuring that counter resources are actively used only when necessary. This dynamic management prevents resource wastage while maintaining availability when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements a mechanism where counters are discarded (deallocated) from active use and recovered (returned to the pool) when no longer needed by processing units. This allows the system to reuse counter resources for different operations, preventing permanent allocation and wastage of counter resources while maintaining availability through the pool mechanism.

Inventive Principle:
Principle #34Discarding and recovering

3Adaptability or versatility

If more counters are provided in data processors, then counting capability is improved, but device complexity increases

Engineering Contradiction:
Improvecounting capabilityVSAvoidcounter structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the counter functionality into a managed pool structure with separate allocation and deallocation operations. Instead of having a monolithic structure with all counters always available, the counter resource is segmented into allocated and unallocated portions, managed through control circuit logic that handles allocation requests, thereby reducing structural complexity while maintaining capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The control circuit acts as an intermediary between processing units and the counter pool. It manages the complexity of counter allocation and deallocation internally, presenting a simplified interface to processing units. This intermediary manages the counting capability while hiding the structural complexity from the rest of the system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12346255B2Providing counters in a data processor
Publication Date: 2025.07.01 ARM LTD
  • US12346255B2 patent drawing
  • US12346255B2 patent drawing
  • US12346255B2 patent drawing

AI summary

A data processor, such as a graphics processor, is disclosed. The data processor includes a set of one or more counters, and a control circuit that maintains a cache-like pool of corresponding entries. In response to a request for a counter, the control circuit may allocate an entry of the cache-like pool to thereby allocate a counter of the set.