Instruction Predication via Address Pattern Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Instruction pipelining in computers faces inefficiencies due to branch misprediction, which leads to the flushing of instructions in the pipeline, wasting resources and reducing throughput.

Innovation Solution

Implementing instruction predication based on address pattern matching using a set of instruction address mask, match, and count registers, allowing dynamic predication without dedicated predicate register bits, thus enabling instructions to be treated as no-ops when their addresses fall within specified ranges.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If predicate registers are used for instruction predication, then instruction execution can be conditionally enabled or disabled, but additional opcode and register address space is consumed

Engineering Contradiction:
Improveinstruction throughputVSAvoidinstruction format complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a mediator mechanism (predication logic unit) that intercepts and evaluates branch outcomes independently of the traditional predicate register system. This mediator unit receives branch condition codes and generates predication signals that control instruction execution without requiring modifications to the instruction format or consuming additional opcode space.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts the predication control logic from the instruction format itself and places it in a separate hardware unit (predication logic). This separation allows the instruction format to remain unchanged while still enabling conditional execution, effectively removing the burden of additional opcode requirements from the instruction set architecture.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If branch prediction is used to maintain pipeline flow, then instruction throughput is improved, but misprediction causes pipeline flushing and performance penalty

Engineering Contradiction:
Improveinstruction throughputVSAvoidbranch prediction accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements preliminary action by pre-computing branch outcomes and preparing predication signals before instructions reach the execution stage. The predication logic unit evaluates branch conditions in advance and sets up control signals that will determine whether subsequent instructions execute, allowing the pipeline to continue flowing without stalls even when predictions are made.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent converts the harmful effect of branch misprediction (pipeline flushing) into a beneficial mechanism by using the mispredicted branch outcome itself as the predication signal. Instead of discarding mispredicted instructions, the system treats them as conditionally executed instructions with a false predicate, effectively transforming the penalty into a controlled no-op that maintains pipeline efficiency.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

3Reliability

If instructions are flushed on branch misprediction, then correct instruction execution is ensured, but pipeline resources are wasted and throughput decreases

Engineering Contradiction:
Improveinstruction execution correctnessVSAvoidpipeline resource wastage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent converts the harmful waste of flushing pipeline resources into a beneficial reuse by redirecting mispredicted instructions through the predication mechanism. Instead of discarding these instructions, the system executes them with a predication signal that prevents their side effects, thereby recovering the invested pipeline resources and eliminating the energy waste associated with flushing.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

Solution Approach 2:

The patent implements a selective discarding and recovering mechanism where instructions are not completely discarded on misprediction but are instead recovered and re-executed with modified predication controls. This allows the system to recover the computational investment in mispredicted instructions while still ensuring correctness by preventing their harmful effects through the predication logic.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS10261793B2Instruction predication using instruction address pattern matching
Publication Date: 2019.04.16 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10261793B2 patent drawing
  • US10261793B2 patent drawing
  • US10261793B2 patent drawing

AI summary

A particular method includes receiving, at a processor, an instruction and an address of the instruction. The method also includes preventing execution of the instruction based at least in part on determining that the address is within a range of addresses.