Compare and Mask Configure Instruction for Conditional Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern integrated circuits face inefficiencies in executing conditional statements due to costly encoding space requirements for dedicated predicates and conditional flags, particularly with increasing software complexity.

Innovation Solution

The implementation of a compare and mask configure instruction that generates a multiple bit mask, allowing for efficient execution of complex control sequences without allocating additional encoding bits or using high fan-out predication flags, and enabling parallel comparisons and algorithmic operations to simplify conditional statement execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If dedicated predicates with dedicated fields in instructions are used to execute conditional statements, then conditional statement execution is enabled, but encoding space is consumed excessively

Engineering Contradiction:
Improveconditional statement execution capabilityVSAvoidencoding space
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent makes general-purpose registers serve dual functions: both as data containers and as predicates for conditional statements. By allowing any register to act as a predicate through the use of a mask register and comparison mechanism, the system eliminates the need for dedicated predicate registers, thereby reducing encoding space while maintaining full conditional execution capability.

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

Solution Approach 2:

The patent extracts the predicate functionality from dedicated hardware fields and relocates it to general-purpose registers controlled by a mask register. This extraction allows the same hardware resources (registers) to serve multiple purposes, reducing the specialized hardware footprint and encoding requirements for conditional statements.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If multiple dedicated predicates are allocated to handle complex conditional statements, then execution accuracy is improved, but encoding space and device complexity increase

Engineering Contradiction:
Improveconditional statement execution accuracyVSAvoidencoding space
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the conditional execution logic into separate functional components: a comparison unit that evaluates conditions, a mask register that stores the comparison result, and general-purpose registers that hold both data and predicate values. This segmentation allows complex conditional logic to be handled through a systematic process rather than requiring multiple dedicated predicate hardware elements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The mask register serves as an intermediary between the comparison result and the final conditional execution. It receives the comparison outcome and uses it to control which register values are used for subsequent operations, enabling accurate conditional statement execution without requiring multiple dedicated predicate registers.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If a single true flag is used to indicate condition fulfillment, then encoding space is reduced, but the ability to handle complex conditional statements is limited

Engineering Contradiction:
Improveencoding spaceVSAvoidcomplex conditional statement handling
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamic control through the mask register, which can be configured differently for each conditional statement based on the comparison results. This dynamic configuration allows a single flag mechanism to handle complex conditional logic by adapting its behavior through software-controlled masking rather than requiring multiple static dedicated predicates.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8332620B2System, method and computer program product for executing a high level programming language conditional statement
Publication Date: 2012.12.11 NXP USA INC
  • US8332620B2 patent drawing
  • US8332620B2 patent drawing
  • US8332620B2 patent drawing

AI summary

A method for executing an instruction, the method includes: executing a compare and configure mask instruction, wherein the executing comprises: performing a comparison to provide a comparison result; and configuring, in response to the comparison result, a multiple bit mask that is stored in a multiple-purpose register; wherein all bits of the multiple bit mask are configured to have the same value; and applying an algorithmic operation on the multiple bit mask to provide an algorithmic operation result; wherein the algorithmic operation result represents an outcome of a high level programming language conditional statement.