Processor Merge System for Partial Write Renaming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The processor's physical register file renaming style faces sizing issues due to complex operand sizes, where partial write operations modify only a portion of a register, leading to challenges in subsequent read operations as no single physical register holds the complete result of the architectural register.

Innovation Solution

A system and method are introduced that include a merge system within the processor, which generates and inserts merge instructions to merge partial write results, ensuring that each architectural register is mapped to a maximum number of physical registers, and issues these instructions in consecutive cycles based on a take rule, allowing for efficient handling of read operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If partial write operations are allowed to modify only a portion of a register, then flexibility in handling complex operand sizes is improved, but the ability to store complete results in a single physical register deteriorates

Engineering Contradiction:
Improveflexibility in handling complex operand sizesVSAvoidability to store complete results in a single physical register
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the complete result of an architectural register into multiple partial results stored in different physical registers. Each physical register holds a portion of the data (e.g., different byte lanes), and the renaming structure tracks which physical registers contain which segments. This allows partial write operations to target specific segments without affecting other segments, maintaining flexibility while preserving the ability to reconstruct complete results.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a nested structure where the logical complete register value is composed of nested partial values stored in multiple physical registers. The renaming structure maintains a hierarchical mapping where one architectural register maps to multiple physical registers, each holding a nested portion of the data. This nested organization allows the system to treat distributed partial results as a unified complete result when needed.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Adaptability or versatility

If multiple physical registers are allocated for the same architectural register to handle partial writes, then handling of complex operand sizes is improved, but the complexity of the renaming structure increases

Engineering Contradiction:
Improvehandling of complex operand sizesVSAvoidcomplexity of the renaming structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal renaming structure that handles both full-register writes and partial-byte writes through the same mechanism. The same renaming table and physical register allocation logic used for traditional full-register renaming are extended to handle partial writes by simply allocating multiple physical registers when needed. This multi-functional approach allows the system to handle different operand sizes (8-bit, 16-bit, 32-bit, 64-bit) and write patterns uniformly without requiring separate handling logic.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Ease of manufacture

If each instruction is assigned a separate physical register, then simplicity of register allocation is improved, but the efficiency of subsequent read operations deteriorates

Engineering Contradiction:
Improvesimplicity of register allocationVSAvoidefficiency of subsequent read operations
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent merges multiple physical registers that contain partial results of the same architectural register into a unified logical view. When a read operation targets an architectural register, the renaming structure identifies all physical registers containing portions of that register's value and combines them to produce the complete result. This merging occurs transparently through the renaming mechanism, maintaining simple allocation while enabling efficient reads of complete results from distributed physical registers.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10853080B2System and method of merging partial write results for resolving renaming size issues
Publication Date: 2020.12.01 VIA ALLIANCE SEMICON CO LTD
  • US10853080B2 patent drawing
  • US10853080B2 patent drawing
  • US10853080B2 patent drawing

AI summary

A processor including a physical register file with multiple physical registers, mapping logic, and a merge system. The mapping logic maps up to a first maximum number of the physical registers for each architectural register specified in received program instructions and stores corresponding mappings in a rename table. The merge system generates a merge instruction for each architectural register that needs to be merged, inserts each generated merge instruction into the program instructions to provide a modified set of instructions, and that issues the modified set of instructions in consecutive issue cycles based on a take rule. In one embodiment, the first maximum number may be two.