Source Operand Renaming With Linear-Scaling Register Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing processor architectures face significant hardware complexity, die area, and power consumption issues due to the quadratic increase in hardware complexity with the number of instructions, particularly in multithreaded microarchitectures, as a result of the sequential reading and writing from the register alias table (RAT) during the renaming process.

Innovation Solution

The proposed solution involves a renaming register with a single read and write port, which allocates physical register identifiers from a list of free identifiers and propagates them on bus lines, allowing for sequential insertion in program order, reducing hardware complexity to be linear with the size of the instruction group.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the RAT is implemented as multi-ported SRAM with 2n read ports and n write ports to enable parallel renaming of n instructions, then the renaming speed is improved, but the hardware complexity increases quadratically

Engineering Contradiction:
Improverenaming speedVSAvoidhardware complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The renaming process is segmented into two distinct phases: (1) parallel reading of architectural to physical register mappings from the RAT for all source operands, and (2) sequential writing of new mappings to the RAT. This segmentation allows the system to use a simple single-ported SRAM for the RAT while achieving parallel renaming throughput through pipelining, eliminating the need for complex multi-ported SRAM.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by reading all required architectural to physical register mappings from the RAT in parallel before the actual renaming operation begins. This pre-fetching of mapping data allows the subsequent renaming and writing operations to proceed without blocking on memory access, thereby maintaining high renaming speed while using simple memory hardware.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the RAT is implemented as multi-ported SRAM with 2n read ports and n write ports, then the renaming process is faster, but the die area increases quadratically

Engineering Contradiction:
Improverenaming throughputVSAvoiddie area
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The renaming operation is divided into separate read and write phases, allowing the use of a single-ported SRAM for the RAT. This segmentation enables the system to achieve parallel renaming throughput through temporal multiplexing rather than spatial multiplexing (multiple ports), thereby maintaining high productivity while minimizing die area.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses a shadow RAT or buffer structure that holds copies of the architectural to physical register mappings during the renaming process. This copying approach allows parallel access to mapping data without requiring multiple ports on the main RAT, reducing the die area while maintaining renaming throughput.

Inventive Principle:
Principle #26Copying

3Productivity

If the RAT is implemented as multi-ported SRAM with 2n read ports and n write ports, then the renaming operation is faster, but the power consumption increases quadratically

Engineering Contradiction:
Improverenaming throughputVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

By segmenting the renaming operation into separate read and write phases using a single-ported SRAM, the patent eliminates the need for simultaneous multiple read/write operations that would require multiple ports. This reduces the number of active memory interfaces and associated power consumption while maintaining high renaming throughput through efficient pipelining.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs periodic action by alternating between read phases and write phases in a pipelined manner. During read phases, mapping data is fetched in parallel; during write phases, new mappings are committed. This periodic alternation allows the use of a single memory port while achieving parallel processing throughput, thereby reducing power consumption compared to continuous multi-ported access.

Inventive Principle:
Principle #19Periodic action

4Device complexity

If sequential reading and writing from the RAT is performed in program order, then the hardware complexity is reduced, but the renaming process becomes prohibitively slow

Engineering Contradiction:
Improvehardware complexityVSAvoidrenaming speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The patent segments the renaming process into distinct parallel read operations followed by sequential write operations. The read phase fetches all required architectural to physical register mappings in parallel for the current instruction group, while the write phase sequentially commits the new mappings in program order. This segmentation maintains simple single-ported memory hardware while achieving parallel renaming throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary parallel reading of all mapping data required for the renaming operation before the sequential write phase begins. This pre-fetching of data eliminates the bottleneck of sequential memory access during the critical renaming path, thereby maintaining high speed while using simple sequential write hardware.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11520586B2Method and apparatus for renaming source operands of instructions
Publication Date: 2022.12.06 SPASOV DEJAN
  • US11520586B2 patent drawing
  • US11520586B2 patent drawing
  • US11520586B2 patent drawing

AI summary

A renaming unit configured to rename source operands of instructions in a group. A renaming register maintains architectural to physical register mappings. Architectural to physical register mappings propagate from the renaming register through a chain of update units (U) over bus lines denoted with the architectural registers 0 to L. Update units (U) sequentially, in program order, insert physical register identifiers PR(i) allocated to instructions I(i) with destination operands DOP(i) on bus lines denoted with the destination operands DOP(i). Source operands of an instruction I(i) may be renamed to physical register identifiers after physical register identifiers allocated to instructions older than I(i) are sequentially, in program order, inserted on the bus lines, but before physical register identifiers allocated to I(i) and younger instructions are inserted on the bus lines. A source operand SOP(i) is renamed to a physical register identifier that propagates on a bus line denoted with SOP(i).