Register Allocation Circuit for Power Gating

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing register allocation systems in integrated circuits often allocate registers inefficiently, leading to reduced effectiveness of power management techniques like clock gating, as they do not prioritize regions of the register file for power conservation.

Innovation Solution

A register allocation system that includes a free list circuit and an allocation adjustment circuit, which identifies unallocated registers and adjusts their allocation to prioritize regions, thereby increasing the likelihood that a region of the register file is not in use during a clock cycle, making clock gating more effective.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by stationary object

If registers are allocated using a traditional free list circuit without region prioritization, then register allocation is simple and fast, but power management effectiveness is reduced because regions cannot be efficiently gated

Engineering Contradiction:
Improvepower consumptionVSAvoidallocation circuit complexity
Core Design Contradiction:
Use of energy by stationary objectVSDevice complexity

Solution Approach 1:

The register file is divided into multiple regions, and the free list circuit is segmented to maintain separate free lists for each region. This segmentation enables independent tracking and management of unallocated registers in each region, allowing the system to identify and gate entire regions when they are unused, thereby improving power management effectiveness without significantly increasing overall system complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system pre-organizes free lists by region before allocation occurs. When registers are deallocated, their region is immediately identified and the free list for that region is updated. This preliminary organization by region enables the power management circuit to quickly determine which regions are completely unused and can be gated, improving power efficiency without requiring complex real-time analysis

Inventive Principle:
Principle #10Preliminary action

2Use of energy by stationary object

If clock gating is applied to individual registers, then fine-grained power control is achieved, but the overhead and complexity increase significantly

Engineering Contradiction:
Improvepower control precisionVSAvoidcontrol circuit overhead
Core Design Contradiction:
Use of energy by stationary objectVSDevice complexity

Solution Approach 1:

Multiple individual register control lines are merged into regional control signals. Instead of controlling each register independently, the system controls entire regions by determining whether any register in the region is allocated. This merging reduces the number of control signals and simplifies the power management circuitry while maintaining effective power control through region-level gating

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system applies different levels of control granularity to different parts of the register file. Regions that are completely unused receive regional gating (coarser control), while regions with active allocations maintain individual register control (finer control). This local differentiation optimizes power management effectiveness while minimizing the overhead associated with fine-grained control

Inventive Principle:
Principle #3Local quality

3Productivity

If registers are allocated to multiple processes concurrently without region awareness, then process execution is efficient, but power management opportunities are lost

Engineering Contradiction:
Improveprocess execution efficiencyVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The free list circuit is segmented into multiple region-specific free lists, allowing concurrent process execution to proceed efficiently while enabling independent power management for each region. Each process can allocate registers from any region without blocking others, while the power management circuit monitors each region separately to identify gating opportunities

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements feedback mechanisms where the allocation status of each region is continuously monitored and fed back to the power management circuit. When a region's free list indicates all registers are unallocated, this feedback triggers regional clock gating, creating power savings without impacting active processes in other regions

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10372500B1Register allocation system
Publication Date: 2019.08.06 APPLE INC
  • US10372500B1 patent drawing
  • US10372500B1 patent drawing
  • US10372500B1 patent drawing

AI summary

In some embodiments, a system includes a register file, a plurality of clock gating circuits, a free list circuit, and a register allocation adjustment circuit. The register file includes a plurality of registers. The clock gating circuits control receipt of a clock signal at respective regions of registers. The free list circuit performs multiple search operations in parallel to identify unallocated registers. The register allocation adjustment circuit implements a mapping between registers identified by the free list circuit and registers of the register file such that the multiple search operations identify whether registers of a first region are unallocated prior to identifying whether registers of a second region are unallocated. As a result, a region of the register file is less likely to be in use during a particular clock cycle and a clock gating circuit may prevent a clock signal from being received at the region.