Processor Floating Point Register Aliasing Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storing densely packed architectural registers in physical registers can cause aliasing effects, leading to invalid data being written or read, and requires additional measures to correct the mapping, especially in processor architectures where all registers must be independently readable and writable.

Innovation Solution

A register state is stored for each quad to track whether it is fully packed or broken up into smaller registers, allowing direct access or reorganization of data within physical registers, with logical register names mapped to physical register names to handle aliasing issues and ensure valid data access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If densely packed architectural registers are stored in physical registers, then register density and storage efficiency are improved, but aliasing effects occur causing invalid data to be written or read

Engineering Contradiction:
Improveregister densityVSAvoiddata validity
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent segments the physical register storage by creating separate storage locations for different register types (Q registers, D registers, S registers) within the same physical register file. Each architectural register type has its own dedicated storage segment, preventing aliasing effects while maintaining dense packing. The segment identifier is used to determine which segment to access based on the register type being referenced.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a segment identifier as an intermediary between the architectural register reference and the physical register storage. This segment identifier acts as a mediator that directs the access to the correct segment within the physical register file, ensuring that the intended register type is accessed and preventing invalid data access due to aliasing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If register renaming is implemented to deserialize execution, then instruction throughput and performance are improved, but complexity of register mapping and management increases

Engineering Contradiction:
Improveinstruction throughputVSAvoidregister mapping complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The register mapping structure is segmented by register type, with separate mapping entries for Q, D, and S registers. This segmentation simplifies the renaming process by allowing the processor to directly map architectural registers of different types to physical registers without complex cross-type mapping logic, reducing overall mapping complexity while enabling efficient renaming for throughput improvement.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent establishes predetermined mapping rules and segment identifiers for each register type before execution begins. This preliminary organization of register mapping information allows the register renaming process to proceed efficiently during execution without requiring complex real-time decision-making, thereby improving throughput while keeping management complexity manageable.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If all registers are organized in a unified dense structure, then storage efficiency is improved, but independent access and manipulation of individual registers becomes difficult

Engineering Contradiction:
Improvestorage efficiencyVSAvoidregister accessibility
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The unified physical register file is segmented into type-specific segments (Q, D, S register segments) that are logically organized but physically co-located. This segmentation allows efficient storage utilization while maintaining easy access to individual register types through type-specific addressing mechanisms. Each segment can be independently accessed and manipulated while maintaining the overall dense structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different segments of the physical register file are optimized for their specific register types, with each segment having local access pathways and control logic tailored to its register type. This local optimization enables efficient independent access and manipulation of each register type while maintaining the benefits of the unified dense structure for overall storage efficiency.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP3060978B1Processor and methods for floating point register aliasing
Publication Date: 2021.08.11 ADVANCED MICRO DEVICES INC
  • EP3060978B1 patent drawingFigure 1A~1B
  • EP3060978B1 patent drawingFigure 2
  • EP3060978B1 patent drawingFigure 3

AI summary

Methods, devices, and systems for accessing packed registers are presented. A state of the packed registers may be tracked and it may be determined whether the register is directly accessible based on the state. If the register is not directly accessible, an action may be performed which allows the register to be accessed directly. The action may include injecting at least one uop for reorganizing the physical storage of the register such that it is directly accessible. The action may include aligning the data with the least significant bit of a physical register or otherwise aligning the data with the datapath. The action may also include changing the state of the packed registers.