Dynamic Architectural Register Mapping for Physical Pool Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face challenges in increasing the number of physical registers available for register renaming without increasing the overall size of the physical register set, which is constrained by design factors like area and power consumption, and require modifications to the operating system or applications to utilize unused registers effectively.

Innovation Solution

The solution involves using configuration storage to dynamically modify configuration data during operation, allowing the processor to reduce the number of architectural registers that need to be mapped to physical registers, thereby increasing the pool of available physical registers without requiring additional physical registers or modifications to the operating system or applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the number of physical registers is increased to improve register renaming performance, then the number of available physical registers for mapping increases, but the area and power consumption of the design increase

Engineering Contradiction:
Improveregister renaming performanceVSAvoidphysical register set size
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The patent implements dynamic configuration of the architectural register set size through configuration storage that can be modified during operation. The processor can switch between different sizes of architectural register sets (e.g., 31 registers vs. 16 registers) depending on the software hierarchical level being executed, allowing the physical register pool to be dynamically optimized for different operating modes without permanently increasing the physical register set size

Inventive Principle:
Principle #15Dynamics

2Productivity

If the number of physical registers is increased to improve register renaming performance, then the number of available physical registers for mapping increases, but the power consumption of the design increases

Engineering Contradiction:
Improveregister renaming performanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The configuration storage allows the processor to dynamically adjust the architectural register set size based on the executing software level, thereby dynamically optimizing power consumption. When executing at lower hierarchical levels (e.g., application level), a smaller architectural register set (16 registers) is used, freeing more physical registers for renaming and reducing power consumption compared to maintaining a full 31-register architectural set at all times

Inventive Principle:
Principle #15Dynamics

3Productivity

If the architectural register set size is reduced to increase the pool of available physical registers, then more physical registers are available for mapping, but the adaptability to different software requirements decreases

Engineering Contradiction:
Improveavailable physical registers poolVSAvoidsoftware compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent employs dynamic reconfiguration capability where the architectural register set size can be changed during operation based on the software hierarchical level. Configuration storage holds data that defines the current architectural register set size, allowing the processor to adapt between 31 registers for full software compatibility and 16 registers for optimized performance, thereby maintaining both adaptability and productivity

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the parameter of architectural register set size dynamically based on operating mode. By modifying the configuration data in configuration storage, the processor can switch between different register set sizes (31 vs. 16 registers), allowing optimization of the physical register pool for renaming while maintaining software compatibility when needed

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9311088B2Apparatus and method for mapping architectural registers to physical registers
Publication Date: 2016.04.12 ARM LTD
  • US9311088B2 patent drawing
  • US9311088B2 patent drawing
  • US9311088B2 patent drawing

AI summary

An apparatus and method are provided for performing register renaming. Available register identifying circuitry is provided to identify which physical registers form a pool of physical registers available to be mapped by register renaming circuitry to an architectural register specified by an instruction to be executed. Configuration data whose value is modified during operation of the processing circuitry is stored such that, when the configuration data has a first value, the configuration data identifies at least one architectural register of the architectural register set which does not require mapping to a physical register by the register renaming circuitry. The register identifying circuitry is arranged to reference the modified data value, such that when the configuration data has the first value, the number of physical registers in the pool is increased due to the reduction in the number of architectural registers which require mapping to physical registers.