PFPO Instruction with Test Bit for Floating-Point Function Availability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer systems lack a floating-point operation instruction that can determine whether a requested floating-point function is installed and, if not, inform the program accordingly, leading to potential errors or crashes when attempting to perform unsupported operations.

Innovation Solution

The introduction of a Perform Floating-Point Operation (PFPO) instruction that uses a test bit to check if a specified floating-point conversion function is installed, setting a condition code to indicate whether the function is valid or not, allowing programs to handle unsupported functions gracefully.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a floating-point operation instruction is executed without checking function availability, then the operation can be performed when supported, but the system crashes or produces errors when the function is not installed

Engineering Contradiction:
Improvesystem stabilityVSAvoidinstruction complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by checking function availability before executing the floating-point operation. The instruction includes a test bit that, when set, causes the system to check if the specified floating-point conversion function is installed before attempting to execute it. This prevents system crashes by detecting unsupported functions in advance, thereby improving reliability without significantly increasing instruction complexity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a floating-point operation instruction checks for function availability, then unsupported functions can be detected, but the instruction execution time increases

Engineering Contradiction:
Improvefunction availability detectionVSAvoidinstruction execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies partial action by making the function availability check optional through the test bit. When the test bit is clear (0), the instruction executes normally without the availability check, maintaining fast execution for common cases. When the test bit is set (1), the availability check is performed. This selective approach provides reliable function detection when needed while minimizing time loss for routine operations.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If multiple floating-point conversion functions are provided, then more operations can be performed, but the device complexity increases

Engineering Contradiction:
Improvefloating-point function varietyVSAvoidinstruction set complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies universality by designing a single PFPO (Perform Floating-Point Operation) instruction that can perform multiple floating-point conversion functions. The instruction uses a function code field to specify different conversion types (e.g., binary to decimal, decimal to binary, format conversions) and a format field to specify operand formats. This multi-functional approach provides versatile floating-point support while maintaining a compact instruction set, as one instruction replaces what would otherwise require multiple separate instructions.

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

Data Source

PatentUS10387117B2Executing perform floating point operation instructions
Publication Date: 2019.08.20 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10387117B2 patent drawing
  • US10387117B2 patent drawing
  • US10387117B2 patent drawing

AI summary

Execution of a machine instruction in a central processing unit. A perform floating-point operation instruction and a test bit are obtained. If the test bit has a first value, a specified floating-point operation function is performed, and a condition code is set to a value determined by the specified function. If the test bit has a second value, a check is made to determine if the specified function is valid and installed on the machine. If the specified function is valid and installed on the machine, the condition code is set to one code value, and if the specified function is either not valid or not installed on the machine, the condition code is set to a second code value.