Register Analysis for Microprocessor Power Saving
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current hardware-oriented low power technologies for microprocessors are limited in reducing bit switching power consumption, as they only apply to single codes and functions, and are restricted by register changes that cannot be freely altered across different functions and compile modes.
Innovation Solution
An apparatus and method that includes a register analysis unit and a register change unit to determine changeable registers, identify pairs with minimum bit switching frequency, and change registers to reduce overall bit switching frequency, applicable to global functions and codes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If hardware-oriented low power technology is used to reduce bit switching frequency, then power consumption is reduced, but the technology is limited to single code and single function and cannot be applied globally
Solution Approach 1:
The patent creates a universal register allocation framework that works across multiple functions and compile modes. The register analysis unit and register change unit are designed to operate globally rather than being confined to single-function optimization, allowing the same mechanism to reduce bit switching frequency across the entire codebase regardless of function boundaries or compilation settings.
Solution Approach 2:
The patent introduces dynamic register change capability that adapts to different compile modes and function contexts. Instead of static register allocation, the system dynamically determines which registers can be changed based on call-return relationships and compile mode specifications, enabling flexible power optimization across diverse operational contexts.
2Use of energy by moving object
If register changes are made to reduce bit switching frequency, then power consumption decreases, but register changes are restricted by compile mode and function-specific constraints
Solution Approach 1:
The patent performs preliminary analysis of call-return relationships and compile mode constraints before executing register changes. The register analysis unit pre-determines which registers are safe to change by analyzing function boundaries and register usage patterns, allowing the register change unit to confidently modify registers without violating function-specific constraints or compile mode requirements.
Solution Approach 2:
The system incorporates feedback mechanisms where the register analysis unit continuously monitors register usage patterns, call-return relationships, and compile mode constraints to dynamically adjust which registers can be changed. This feedback loop ensures that register changes reduce bit switching frequency while respecting function-specific and compile-mode constraints.
3Loss of energy
If conventional bit switching optimization is applied to all registers, then total bit switching reduces from 20 bits to 6 bits, but the complexity of investigating changeable registers increases
Solution Approach 1:
The patent segments the register analysis process into distinct functional units: the register analysis unit that determines changeability based on call-return relationships and compile modes, and the register change unit that executes optimizations. This segmentation allows complex analysis to be broken down into manageable, specialized components that can operate independently and efficiently.
Solution Approach 2:
The patent introduces an intermediary register analysis unit that acts as a mediator between the code and the register change mechanism. This intermediary analyzes call-return relationships and compile mode constraints to determine which registers can be safely changed, simplifying the overall process by centralizing the complex analysis logic in a dedicated component rather than scattering it throughout the optimization process.
Data Source
AI summary
An apparatus and method for power savings are provided. The apparatus includes a register analysis unit and a register change unit. The register analysis unit determines if registers among bit-switching targeted registers are one of changeable and unchangeable. The register change unit searches for a register pair having a minimum bit switching frequency among registers determined to be changeable, and changes at least one register.


