Dynamic Counter Pool Allocation for Register Mapping Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In processors, the frequent execution of move register instructions requires efficient tracking of logical register mappings to physical registers, but existing methods often incur hardware overhead and inefficient counter management.

Innovation Solution

A mapper unit dynamically assigns counters from a pool to track logical register mappings to physical registers, allowing for efficient execution of move register instructions without additional hardware overhead, by managing counter allocation and release based on mapping needs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a separate counter is allocated for every physical register to track logical register mappings, then mapping tracking accuracy is improved, but hardware overhead and device complexity increase

Engineering Contradiction:
Improvemapping tracking accuracyVSAvoidhardware overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

A single pool of counters is shared across multiple physical registers to track logical register mappings. The counters are dynamically allocated from the pool to physical registers that currently have multiple logical registers mapped to them, and returned to the pool when no longer needed. This universal counter pool serves the function of tracking mappings for any physical register without requiring dedicated counters for each register.

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

Solution Approach 2:

The counter allocation is dynamic rather than static. Counters are allocated from the pool to physical registers based on current mapping needs (when a physical register has multiple logical registers mapped to it), and released back to the pool when the mapping count returns to one. This dynamic allocation adapts to changing mapping requirements without requiring fixed hardware for each register.

Inventive Principle:
Principle #15Dynamics

2Reliability

If counters are statically allocated to each physical register, then mapping tracking reliability is improved, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improvemapping tracking reliabilityVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Counters are discarded (returned to the pool) from physical registers when they are no longer needed for tracking multiple logical register mappings. When a physical register's mapping count returns to one, its allocated counter is recovered and returned to the free pool for potential reallocation to another physical register that may need tracking. This ensures reliability when needed while maximizing resource utilization by recovering and reuseing counters.

Inventive Principle:
Principle #34Discarding and recovering

Solution Approach 2:

The counter allocation system dynamically adjusts to current mapping requirements, allocating counters only when a physical register has multiple logical registers mapped to it, and releasing them when the mapping count decreases. This dynamic behavior ensures reliable tracking when necessary while optimizing resource utilization by making counters available for reuse.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If additional hardware counters are provided for every physical register, then mapping tracking capability is improved, but manufacturing cost and device complexity increase

Engineering Contradiction:
Improvemapping tracking capabilityVSAvoidhardware overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A universal pool of counters serves multiple physical registers that need mapping tracking capability. Instead of providing dedicated hardware counters for each physical register, the system uses a shared pool that can be allocated to any physical register requiring tracking of multiple logical register mappings, reducing overall hardware overhead while maintaining full tracking capability when needed.

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

Solution Approach 2:

The counter resource is segmented into a manageable pool that can be dynamically distributed to physical registers as needed. Rather than having fixed dedicated counters for each register, the counter pool is segmented and allocated to specific physical registers based on current mapping requirements, providing tracking capability only where and when needed.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9069546B2Allocation of counters from a pool of counters to track mappings of logical registers to physical registers for mapper based instruction executions
Publication Date: 2015.06.30 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9069546B2 patent drawing
  • US9069546B2 patent drawing
  • US9069546B2 patent drawing

AI summary

A computer system assigns a particular counter from among a plurality of counters currently in a counter free pool to count a number of mappings of logical registers from among a plurality of logical registers to a particular physical register from among a plurality of physical registers, responsive to an execution of an instruction by a mapper unit mapping at least one logical register from among the plurality of logical registers to the particular physical register, wherein the number of the plurality of counters is less than a number of the plurality of physical registers. The computer system, responsive to the counted number of mappings of logical registers to the particular physical register decremented to less than a minimum value, returns the particular counter to the counter free pool.