Dynamic Register Renaming to Reduce Bank Conflicts
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Parallel processors face inefficiencies due to bank access conflicts in register files, leading to stalls and increased latency, as static mapping of virtual to physical registers can result in conflicts, especially when multiple instructions attempt to access the same register bank, limiting the number of wavefronts that can be executed concurrently.
Innovation Solution
A remapping module dynamically remaps virtual registers to physical registers based on bank conflicts and activity levels, using a mapping table to track available registers and apply a register mapping policy that selectively remaps registers to avoid conflicts, allowing parallel access and reducing stalls.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If static mapping of virtual to physical registers is used, then device complexity is reduced, but bank access conflicts increase causing stalls and reduced productivity
Solution Approach 1:
The patent implements dynamic register renaming where the mapping between virtual and physical registers is not fixed but can change over time. A remapping module monitors bank access patterns and dynamically remaps virtual registers to different physical register banks when conflicts are detected, allowing the system to adapt to varying access patterns and eliminate stalls without requiring a completely complex static design
Solution Approach 2:
The patent introduces a remapping module as an intermediary component between the virtual register file and physical register banks. This module acts as a mediator that intercepts register access requests, detects potential bank conflicts, and remaps virtual registers to alternative physical registers in different banks, thereby resolving conflicts without requiring changes to the core processor architecture
2Productivity
If more wavefronts are executed concurrently, then productivity increases, but bank access conflicts increase causing stalls
Solution Approach 1:
The system dynamically adjusts register mappings based on real-time bank activity monitoring. When multiple wavefronts are executed concurrently and bank conflicts are detected, the remapping module actively remaps virtual registers to different physical banks, allowing concurrent execution to continue without stalls caused by bank access conflicts
Solution Approach 2:
The patent implements a feedback mechanism where bank activity is monitored and this information is fed back to the remapping module. The module uses this feedback to make intelligent remapping decisions, remapping virtual registers away from congested banks to underutilized banks, thereby maintaining high concurrent wavefront execution while minimizing stalls
3Productivity
If dynamic remapping of virtual to physical registers is implemented, then bank access conflicts are reduced improving productivity, but device complexity increases
Solution Approach 1:
The patent segments the register file into multiple independent banks and introduces a separate remapping module that operates independently from the main execution units. This segmentation allows the dynamic remapping functionality to be added without significantly complicating the core processor architecture, as the remapping logic is isolated in a dedicated module that can be implemented as a separate component
Data Source
AI summary
To reduce inter- and intra-instruction register bank access conflicts in parallel processors, a processing system includes a remapping circuit to dynamically remap virtual registers to physical registers of a parallel processor during execution of a wavefront. The remapping circuit remaps virtual registers to physical registers at a register mapping table that holds the current set of virtual to physical register mappings based on a list of available registers indicating which physical registers are available for a new mapping and a register mapping policy.


