Dynamic Instruction Merging for Wide Data Path Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern microprocessors face challenges in processing multiple instructions efficiently due to increased complexity and power consumption, while maintaining compatibility with legacy systems is essential for backward compatibility, existing techniques like instruction merging and speculative dynamic vectorization do not adequately address the front-end bottleneck and do not allow for execution on wide data paths.

Innovation Solution

A method and apparatus that dynamically merge instructions to form a single internal instruction operating on a wide data path, reducing the number of instructions tracked and allowing execution on both modern and legacy systems, while preserving compatibility with prior generation microprocessors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple instructions are processed simultaneously to improve computational performance, then productivity increases, but device complexity increases due to more issue slots, dependence checking logic, and control structures

Engineering Contradiction:
Improvecomputational performanceVSAvoidcontrol complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple legacy instructions into a single compound instruction that operates on wide data paths. This consolidation reduces the number of instructions that need to be tracked through issue queues, dependence checking logic, and commit tables, thereby improving productivity while reducing device complexity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The compound instruction executes multiple operations simultaneously on wide data paths, making a single instruction perform multiple functions. This multi-functionality increases computational performance without proportionally increasing the number of instructions that require complex control structures to manage.

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

2Productivity

If instruction set extensions are added to enable wide data path operations, then productivity improves through data-parallel processing, but adaptability decreases due to loss of binary compatibility with legacy systems

Engineering Contradiction:
Improvedata-parallel processing capabilityVSAvoidbinary compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The processing unit is designed to execute both legacy scalar instructions and compound wide-data instructions through a unified instruction decoding mechanism. This multi-functionality allows the system to maintain binary compatibility with legacy software while simultaneously enabling high-performance data-parallel processing when compound instructions are used.

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

Solution Approach 2:

The system dynamically selects between executing legacy instructions on scalar paths and compound instructions on wide data paths based on the instruction type. This dynamic execution approach allows the processor to adapt to different instruction formats, maintaining compatibility with legacy binaries while exploiting wide data paths for enhanced performance when appropriate.

Inventive Principle:
Principle #15Dynamics

3Productivity

If the number of instructions in flight is increased to improve throughput, then productivity increases, but use of energy increases due to more storage structures and longer signaling wires

Engineering Contradiction:
Improveinstruction throughputVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

By merging multiple legacy instructions into a single compound instruction, the patent reduces the total number of instructions that need to be stored in issue queues and tracked through commit tables. This reduction in instruction count decreases the area of storage structures and length of signaling wires, thereby reducing power consumption while maintaining throughput through efficient wide data path execution.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10095524B2Method and apparatus for dynamically replacing legacy instructions with a single executable instruction utilizing a wide datapath
Publication Date: 2018.10.09 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10095524B2 patent drawing
  • US10095524B2 patent drawing
  • US10095524B2 patent drawing

AI summary

A processing system and method includes a predecoder configured to identify instructions that are combinable to form a single, executable internal instruction. Instruction storage is configured to merge instructions that are combinable. An instruction execution unit is configured to execute the single, executable internal instruction on a hardware wide datapath.