Preserve-Sign Instruction for Packed Decimal Data Movement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer programming languages, such as COBOL, require general-purpose instructions for move and copy operations on signed packed decimal numbers, which necessitate memory operations, leading to inefficiencies and increased resource usage.

Innovation Solution

A single architected instruction is introduced to perform move, truncate, and preserve the sign code of a source value, utilizing hardware registers to reduce memory access and improve performance by passing through the sign code unmodified.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If general-purpose instructions are used for move and copy operations on signed packed decimal numbers, then the operations can be performed with existing language constructs, but memory operations are required leading to increased resource usage and reduced performance

Engineering Contradiction:
Improveprocessing performanceVSAvoidresource usage
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent replaces the mechanical memory access operations with a direct hardware instruction that performs move, truncate, and sign code preservation in a single cycle. The new instruction eliminates the need for multiple software-based operations that require memory access, effectively substituting a complex mechanical process with a streamlined hardware operation.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent combines three separate operations (move, truncate, and preserve sign code) into a single architected instruction. This merging of operations reduces the total number of instructions required and eliminates intermediate memory accesses, directly improving performance and reducing resource usage.

Inventive Principle:
Principle #5Merging (Combining)

2Adaptability or versatility

If multiple instructions are used to perform move, truncate, and preserve sign code operations, then legacy code compatibility is maintained, but the path length increases and instruction cache efficiency decreases

Engineering Contradiction:
Improvelegacy code compatibilityVSAvoidpath length
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The new architected instruction provides multi-functionality by performing move, truncate, and sign code preservation in a single operation. This universal instruction can replace multiple legacy instructions while maintaining compatibility with existing programming models, reducing path length without sacrificing adaptability.

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

Solution Approach 2:

The instruction is designed with distinct functional segments (move operation, truncate operation, and sign code preservation) that can be independently controlled through instruction operands. This segmentation allows the instruction to adapt to different legacy code requirements while executing as a single unified operation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250328346A1Instruction with a preserve sign control
Publication Date: 2025.10.23 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20250328346A1 patent drawing
  • US20250328346A1 patent drawing
  • US20250328346A1 patent drawing

AI summary

An instruction is executed to obtain a result that includes an output value and a result sign code. At least one operation is performed on at least a portion of a source value to provide the output value. The source value is located in a source location which includes a source position to include the source value and a source sign position to include a sign code of the source value. One or more controls of the instruction, including a preserve sign control, are checked to determine the result sign code. Based on, at least, the value of the preserve sign control being set to enabled, the result sign code is the sign code in the source sign position unmodified. The unmodified sign code is provided as the result sign code. The result including the output value and the result sign code is provided.