Extended Register Handling for RISC Instruction Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing RISC instruction set architecture with a fixed 32-bit instruction length limits the number of registers that can be handled in a single operation, preventing performance improvements through optimizations like software pipelining and loop unrolling, and restricts the definition of SIMD instructions, leading to inefficient use of cache memory and restricted programming capabilities.

Innovation Solution

A processing unit is designed with an extended arithmetic register (XAR) that allows for instruction extension by storing instruction extension information, enabling the combination of existing instructions with new extension instructions and allowing for the definition of SIMD operations, while also enabling independent handling of first and second half data in registers, even in SIMD instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the instruction length is extended to 64 bits to handle more registers, then the number of registers that can be handled increases, but existing software compatibility is lost

Engineering Contradiction:
Improvenumber of registersVSAvoidsoftware compatibility
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent divides the 64-bit instruction into two 32-bit parts. The first part contains the operation code and register designations, while the second part contains additional register designations and extension information. This segmentation allows the system to handle more registers while maintaining compatibility with existing 32-bit software through the register window system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to instruction encoding by adding an extension information field that indicates whether the second 32-bit part should be interpreted as an extended instruction or as data. This allows the same instruction format to serve multiple purposes and maintain backward compatibility.

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

2Productivity

If the number of registers is increased beyond 32 to enable software pipelining and loop unrolling, then compiler optimization capability improves, but the instruction set architecture complexity increases

Engineering Contradiction:
Improvecompiler optimization capabilityVSAvoidinstruction set architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent makes the instruction format dynamic by introducing extension information that changes the interpretation of subsequent instructions. When extension information is set, the next instruction is interpreted as an extended instruction with additional register designations, enabling handling of more than 32 registers without permanently increasing the base instruction set complexity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The extended instruction format serves multiple functions: it can handle additional registers for compiler optimizations, define new SIMD operations, and maintain compatibility with existing instructions through the extension information mechanism. This multi-functionality reduces the need for separate instruction formats for different purposes.

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

3Speed

If SIMD instructions are defined with extended register addressing, then processing efficiency improves, but programming flexibility and independent handling of data halves is restricted

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidprogramming flexibility
Core Design Contradiction:
SpeedVSEase of operation

Solution Approach 1:

The patent applies different interpretation rules to different parts of the extended instruction based on the extension information. When extension information is set, the instruction is interpreted as a SIMD operation with extended register addressing. When not set, it maintains standard interpretation, allowing independent handling of data halves. This local quality approach preserves programming flexibility while enabling SIMD efficiency where needed.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP2083352B1Processing unit
Publication Date: 2017.08.09 FUJITSU LTD
  • EP2083352B1 patent drawingFigure 1
  • EP2083352B1 patent drawingFigure 2
  • EP2083352B1 patent drawingFigure 3

AI summary

A processing unit has an extended register to which instruction extension information indicating an extension of an instruction can be set. An operation unit that, when instruction extension information is set to the extended register, executes a subsequent instruction following a first instruction for writing the instruction extension information into the extended register, extends the subsequent instruction based on the instruction extension information.