Non-Contiguous Register File Specifier for Fixed-Width Instruction Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern microprocessors face challenges in achieving high parallelism and tolerating increasing latency due to limited register resources, which are exacerbated by the fixed instruction width and legacy architectures that complicate the encoding of new instructions and register specifications.

Innovation Solution

The implementation of a non-contiguous register file specifier in a fixed-width instruction set architecture allows for extended register specifications, enabling the use of a larger register file without altering the instruction encoding, by translating non-contiguous register specifiers into contiguous logical specifiers and remapping them to physical registers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a fixed-width instruction set architecture is used, then code density and compatibility with existing architectures are improved, but the ability to encode extended register specifications is worsened

Engineering Contradiction:
Improveregister specification capabilityVSAvoidinstruction encoding complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The register specifier is divided into multiple segments: a primary register field and additional specifier fields that can be concatenated to form extended register addresses. This segmentation allows the fixed-width instruction to encode larger register files by combining multiple smaller fields rather than requiring a single large contiguous field.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The instruction encoding nests multiple levels of specification: base register fields are nested within extended specifier fields, which are in turn nested within the complete instruction word. This nested structure enables compact representation of extended register addresses within the fixed instruction width constraint.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Productivity

If the number of registers is increased to support higher parallelism, then processing efficiency is improved, but the register file size and access complexity increase

Engineering Contradiction:
Improveparallelism capabilityVSAvoidregister file complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Instead of expanding the register file in a single dimensional array, the patent organizes registers into multiple banks or sets that can be independently accessed. The extended specifier fields enable selection across these dimensional divisions, effectively adding another dimension to the register organization that supports higher parallelism without proportionally increasing access complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Ease of operation

If legacy architecture compatibility is maintained, then ease of operation is improved, but the ability to implement new instruction formats is worsened

Engineering Contradiction:
Improvearchitecture compatibilityVSAvoidinstruction format flexibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The fixed-width instruction format is designed with universal fields that can serve multiple purposes: primary register fields work for both legacy and extended modes, while additional specifier fields can be activated or deactivated based on the instruction type. This multi-functionality allows the same instruction format to maintain legacy compatibility while enabling extended register specifications for new instructions.

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

Data Source

PatentUS8166281B2Implementing instruction set architectures with non-contiguous register file specifiers
Publication Date: 2012.04.24 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8166281B2 patent drawing
  • US8166281B2 patent drawing
  • US8166281B2 patent drawing

AI summary

There are provided methods and computer program products for implementing instruction set architectures with non-contiguous register file specifiers. A method for processing instruction code includes processing a fixed-width instruction of a fixed-width instruction set using a non-contiguous register specifier of a non-contiguous register specification. The fixed-width instruction includes the non-contiguous register specifier.