Dynamic Instruction Issue Mode Switching for Energy Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Processors face a trade-off between energy efficiency and performance due to the limitations of in-order and out-of-order instruction issue modes, with in-order modes being energy efficient but performing poorly and out-of-order modes consuming more energy due to increased complexity.

Innovation Solution

A processor is configured to switch between in-order and out-of-order instruction issue modes based on characteristics of atomic instruction blocks, using different logic units and circuitry to dynamically select the appropriate mode for energy consumption, with the ability to switch between these modes based on metadata, charge state, or table counts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If in-order instruction issue mode is used, then energy consumption is reduced, but processing performance deteriorates due to stalls on miss events

Engineering Contradiction:
Improveenergy consumptionVSAvoidprocessing performance
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The processor dynamically switches between in-order and out-of-order instruction issue modes based on the characteristics of the current instruction block (e.g., whether it is an atomic instruction block). This dynamic adaptation allows the system to use the energy-efficient in-order mode for suitable workloads while switching to the high-performance out-of-order mode when needed, thereby resolving the contradiction between energy consumption and processing performance.

Inventive Principle:
Principle #15Dynamics

2Productivity

If out-of-order instruction issue mode is used, then processing performance is improved by tolerating dynamic latencies, but energy consumption increases due to increased logic unit complexity

Engineering Contradiction:
Improveprocessing performanceVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

Instead of permanently using the complex out-of-order logic unit, the system dynamically selects between in-order and out-of-order modes based on workload characteristics. This allows the processor to achieve high performance when out-of-order execution is beneficial while avoiding the continuous energy overhead of maintaining and operating complex out-of-order logic for all workloads.

Inventive Principle:
Principle #15Dynamics

3Productivity

If out-of-order instruction issue logic units are implemented, then performance increases by executing instructions based on dependencies, but device complexity increases

Engineering Contradiction:
Improveprocessing performanceVSAvoidlogic unit complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processor implements a dynamic switching mechanism that activates the out-of-order logic unit only when the workload requires it (e.g., non-atomic instruction blocks with complex dependencies). For atomic instruction blocks or workloads suitable for in-order execution, the simpler in-order logic unit is used, thereby reducing the effective device complexity while maintaining the ability to achieve high performance when needed.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3066561B1Energy efficient multi-modal instruction issue
Publication Date: 2019.01.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3066561B1 patent drawingFigure 1
  • EP3066561B1 patent drawingFigure 2A
  • EP3066561B1 patent drawingFigure 2B

AI summary

A processor is described herein that is configured to switch between a first instruction issue mode of the processor and a second instruction issue mode of the processor based at least in part on a characteristic associated with a plurality of instructions. The first instruction issue mode and the second instruction issue mode are associated with different energy consumption characteristics. Also, the first instruction issue mode may be an out-of-order instruction issue mode and the second instruction issue mode may be an in-order instruction issue mode.