Instruction Predication Using Unused Operand Bits

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In fixed instruction length processor architectures, dedicating bits to a predication field reduces the number of possible opcodes, source, and target addresses, limiting the efficiency of instruction predication.

Innovation Solution

Instruction predication is achieved by using unused or logically non-significant portions of an operand to store a predicate register address, allowing the predication logic to determine whether to predicate an instruction based on a value stored in the predicate register address, thereby avoiding the need for a dedicated predication field.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If bits of an instruction are dedicated to a predication field, then instruction predication can be implemented, but the number of possible opcodes and addresses is reduced

Engineering Contradiction:
Improveinstruction predication capabilityVSAvoidopcode and address space
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The operand fields in fixed-length instructions are made multi-functional by allowing them to serve both their traditional purposes (holding source/target addresses and data) and simultaneously encode predication register addresses. This is achieved by interpreting specific bit patterns in operand fields as predication register addresses when predication is enabled, rather than dedicating separate bits solely for predication.

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

Solution Approach 2:

The interpretation of operand field bits changes based on the predication enable bit state. When predication is enabled, certain bit patterns in operand fields are re-interpreted as predication register addresses rather than traditional address or data fields. This parameter-based interpretation allows the same instruction format to support both traditional operations and predicated operations without reducing opcode or address space.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If the instruction length is fixed, then processor architecture is simplified, but flexibility in implementing predication is reduced

Engineering Contradiction:
Improveprocessor architecture simplicityVSAvoidpredication implementation flexibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The instruction decoding process becomes dynamic based on the predication enable bit. The same fixed-length instruction format is interpreted differently depending on whether predication is enabled. When enabled, the decoder dynamically re-interprets operand field bit patterns as predication register addresses, allowing flexible predication implementation within the rigid fixed-length format.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The fixed-length instruction format achieves multi-functionality by allowing operand fields to serve dual purposes: traditional address/data holding and predication register address encoding. This universal usage of instruction bits maintains the simplicity of fixed-length instructions while adding predication capability without requiring variable-length instructions or additional instruction bits.

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

3Adaptability or versatility

If opcode and address space are maximized, then more instructions and addresses are available, but space for predication control is reduced

Engineering Contradiction:
Improveopcode and address varietyVSAvoidpredication control capability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system uses parameter-based interpretation where the predication enable bit changes how operand field bits are interpreted. When predication is enabled, specific bit patterns in operand fields are interpreted as predication register addresses rather than traditional addresses. This allows full opcode and address space to be maintained while adding predication control through re-interpretation of existing bits based on the enable parameter.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The predication enable bit acts as an intermediary that controls the interpretation of operand field bits. Rather than directly encoding predication information in dedicated bits, the enable bit mediates between the traditional instruction format and predication functionality, allowing the same bits to serve different purposes based on the enable state.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10776117B2Instruction predication using unused datapath facilities
Publication Date: 2020.09.15 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10776117B2 patent drawing
  • US10776117B2 patent drawing
  • US10776117B2 patent drawing

AI summary

A method and circuit arrangement for selectively predicating an instruction in an instruction stream based upon a value corresponding to a predication register address indicated by a portion of an operand associated with the instruction. A first compare instruction in an instruction stream stores a compare result in at a register address of a predication register. The register address of the predication register is stored in a portion of an operand associated with a second instruction, and during decoding the second instruction, the predication register is accessed to determine a value stored at the register address of the predication register, and the second instruction is selectively predicated based on the value stored at the register address of the predication register.