Register Index Segmentation for Out-of-Order Wake-Up Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The wake-up logic in out-of-order processors requires extensive compare logic for detecting available operands, leading to high power consumption due to the need for multiple comparators to match source and destination registers.

Innovation Solution

The allocation circuitry allocates source and destination processor registers with shared indices and provides identifying information to exclude differing bits from comparisons, allowing a single comparison to determine data availability for a group of registers, thereby reducing the need for multiple comparisons and circuitry.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If multiple comparators are used to match source and destination registers in wake-up logic, then data availability detection accuracy is improved, but power consumption increases

Engineering Contradiction:
Improvedata availability detection accuracyVSAvoidpower consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The register index comparison is segmented into two parts: common bits and unique bits. The wake-up logic only compares the common bits (e.g., upper bits) while the unique bits (e.g., lower bits) are handled separately through bit masking. This segmentation reduces the number of comparators needed while maintaining detection accuracy, as the common bits provide sufficient discrimination for wake-up detection.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The unique bits that differ between registers in a group are extracted and excluded from the comparison operation. By identifying which bits are unique to each register and removing them from the comparison, the system reduces the comparator input width and complexity, thereby reducing power consumption while preserving the ability to detect data availability through the remaining common bits.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If multiple comparators are used to match source and destination registers, then register matching reliability is improved, but device complexity increases

Engineering Contradiction:
Improveregister matching reliabilityVSAvoidcircuitry complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The register index is segmented into common bits and unique bits. The wake-up logic uses only the common bits for comparison, reducing the comparator complexity. The unique bits are handled through bit masking operations that are simpler than full comparators. This segmentation maintains matching reliability because the common bits provide sufficient discrimination to identify the correct register group.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The common bits of the register index serve multiple functions: they are used for wake-up detection, for identifying register groups, and for reducing comparator complexity. This multi-functionality of the common bits reduces the need for dedicated circuitry for each function, thereby reducing overall device complexity while maintaining reliability.

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

3Measurement precision

If full register index comparison is performed, then data availability detection accuracy is improved, but the number of comparators increases

Engineering Contradiction:
Improvedata availability detection accuracyVSAvoidnumber of comparators
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The register index comparison is segmented such that only the common bits (e.g., upper bits) are compared by the wake-up logic comparators, while the unique bits (e.g., lower bits) are handled through bit masking. This segmentation reduces the number of comparators needed, as each comparator now handles fewer bits and can share resources with other comparators.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The unique bits that would require additional comparator resources are extracted and excluded from the comparison operation. By removing these bits from the comparator input, the system reduces the number of comparators needed while maintaining detection accuracy through the remaining common bits combined with bit masking operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10296349B2Allocating a register to an instruction using register index information
Publication Date: 2019.05.21 ARM LTD
  • US10296349B2 patent drawing
  • US10296349B2 patent drawing
  • US10296349B2 patent drawing

AI summary

Data processing circuitry comprises allocation circuitry to allocate one or more source and destination processor registers, of a set of processor registers each defined by a respective register index, to a processor instruction for use in execution of that processor instruction and to associate, with the processor instruction, information to indicate the register index of the allocated source and destination processor registers; the avocation circuitry being selectively operable to allocate, to a processor instruction, a group of destination processor registers having a subset of their register indices in common and to associate, with the processor instruction, information to indicate the register index of one processor register of the group and identifying information to identify one or more bits of the register index which differ between the processor registers in the allocated group of processor registers.