Dynamic Register Renaming to Reduce Bank Conflicts

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveregister mapping complexityVSAvoidinstruction issue rate
Core Design Contradiction:
Device complexityVSProductivity

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If more wavefronts are executed concurrently, then productivity increases, but bank access conflicts increase causing stalls

Engineering Contradiction:
Improveconcurrent wavefront executionVSAvoidstall latency
Core Design Contradiction:
ProductivityVSLoss of time

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #23Feedback

3Productivity

If dynamic remapping of virtual to physical registers is implemented, then bank access conflicts are reduced improving productivity, but device complexity increases

Engineering Contradiction:
Improveinstruction issue rateVSAvoidregister remapping mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20230315536A1Dynamic register renaming in hardware to reduce bank conflicts in parallel processor architectures
Publication Date: 2023.10.05 ADVANCED MICRO DEVICES INC
  • US20230315536A1 patent drawing
  • US20230315536A1 patent drawing
  • US20230315536A1 patent drawing

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.