Processor Instruction Scheduling via Dynamic Reordering and Fusion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing methods for executing processor instructions are inefficient in terms of time and energy consumption due to the fixed order of instructions, which leads to increased temporal latencies and energy usage, as they fail to effectively reorder or fuse instructions that could benefit from co-execution or fusion.

Innovation Solution

The method involves pre-decoding blocks of instructions, analyzing their properties for co-execution opportunities and dependencies, and assigning sequential ITAGs to reorder and fuse instructions dynamically before execution, allowing for improved pipeline efficiency and reduced latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If instructions are executed in fixed program order, then program logic correctness is maintained, but execution time and energy consumption increase due to temporal latencies

Engineering Contradiction:
Improveexecution timeVSAvoidinstruction execution efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent implements dynamic instruction reordering by analyzing instruction properties (data dependencies, control dependencies, resource requirements) and reorganizing instructions adaptively based on current execution context. This allows the processor to dynamically adjust instruction execution order to minimize temporal latencies while maintaining correctness through dependency tracking.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary analysis of instruction blocks to identify co-execution opportunities and fusion candidates before actual execution. By pre-analyzing data dependencies and resource requirements, the processor can prepare optimized execution sequences in advance, reducing runtime latency without compromising program correctness.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If instructions are reordered for co-execution and fusion, then execution efficiency improves, but system complexity increases due to additional analysis and reordering mechanisms

Engineering Contradiction:
Improveinstruction execution efficiencyVSAvoidprocessor control complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the instruction stream into manageable blocks and processes them through separate analysis stages (dependency analysis, reordering, fusion identification). This segmentation allows complex reordering operations to be broken down into simpler, more manageable tasks, reducing overall system complexity while maintaining execution efficiency benefits.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces intermediary data structures (dependency graphs, instruction metadata, reordering buffers) that mediate between the original instruction stream and the execution units. These intermediaries simplify the control logic by providing structured representations of instruction relationships, making the reordering process more manageable despite increased functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Use of energy by moving object

If instructions are fused and co-executed, then energy consumption decreases, but manufacturing precision requirements increase for accurate dependency analysis

Engineering Contradiction:
Improveenergy consumptionVSAvoiddependency analysis accuracy
Core Design Contradiction:
Use of energy by moving objectVSManufacturing precision

Solution Approach 1:

The patent applies partial reordering and fusion only to instruction blocks where dependency analysis confirms safety, rather than attempting to reorder all instructions. This selective approach reduces energy consumption for beneficial cases while avoiding the high precision requirements and potential errors that would arise from attempting comprehensive reordering of all instructions.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10983797B2Program instruction scheduling
Publication Date: 2021.04.20 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10983797B2 patent drawing
  • US10983797B2 patent drawing
  • US10983797B2 patent drawing

AI summary

Processor instruction scheduling by: providing a set of program instructions, selecting instructions for reordering from the set of program instructions, reordering the instructions according to instruction properties, assigning sequential instruction tags to the instructions, tagging the instructions for completion as a group in a completion table; and executing the instructions.