Instruction Execution Control via Single Test and Basic Block Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The frequent performance of tests after each instruction in a processing environment significantly impacts system performance, as these tests are costly and unnecessary at times, such as when an instruction is at the beginning of a page, where page boundary checks are not required.

Innovation Solution

A method is introduced where a single test is performed to determine if the mainline instruction stream can continue executing without additional tests, and if the test fails, a test set is executed, allowing instructions to be processed without the overhead of frequent testing, using a buffer for special handling of instructions like page boundary crossings.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If tests are performed after each instruction to ensure proper execution, then instruction execution correctness is improved, but system performance deteriorates due to the costly overhead of frequent testing

Engineering Contradiction:
Improveinstruction execution correctnessVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the instruction stream into basic blocks that are grouped by common characteristics (such as page boundary crossing behavior). By dividing the instruction stream into these segments, the system can apply testing selectively to each segment rather than after every single instruction, reducing the overall number of tests while maintaining correctness within each segment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary classification of instruction streams into basic blocks before execution. This preliminary action groups instructions that share the same testing requirements, allowing the system to determine in advance which testing regime applies to each block. This avoids the need to perform tests after every instruction during execution, thereby improving performance while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If tests are performed after every instruction to detect boundary conditions, then execution accuracy is improved, but processing speed deteriorates due to unnecessary tests

Engineering Contradiction:
Improveexecution accuracyVSAvoidprocessing speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The patent applies local quality by assigning different testing characteristics to different basic blocks based on their specific properties. Instructions within a basic block share the same testing requirements, allowing the system to apply the appropriate level of testing locally to each block rather than uniformly to all instructions. This ensures accurate detection of boundary conditions where needed while avoiding unnecessary tests in blocks where they are not required.

Inventive Principle:
Principle #3Local quality

3Reliability

If comprehensive test sets are executed to handle all edge cases, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improveedge case handlingVSAvoidtest execution complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces dynamic selection of test sets based on the characteristics of each basic block. Rather than executing a fixed comprehensive test set after every instruction, the system dynamically determines which test set is appropriate for the current basic block. This dynamic approach maintains reliability by ensuring that appropriate tests are performed for each block type while reducing complexity by avoiding the execution of unnecessary comprehensive test sets.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP2115582B1Controlling instruction execution in a processing environment
Publication Date: 2019.04.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP2115582B1 patent drawingFigure 1~2
  • EP2115582B1 patent drawingFigure 3
  • EP2115582B1 patent drawingFigure 4A~4B

AI summary

Instruction execution is controlled by a single test that determines whether processing should continue in mainline processing or fall through to a test set. The single test compares a dynamically set variable to an instruction counter. If the test is met, mainline processing continues. Otherwise, processing falls through to a test set.