Atomic Instruction Group Decoding for Power-Performance Balance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Designers of instruction set architectures (ISAs) and processors face challenges in balancing power consumption and performance, as higher performance often comes at the cost of increased power consumption, and lower power consumption results in reduced performance.

Innovation Solution

The method involves fetching and decoding groups of instructions that can execute atomically, using a processor with a front-end control unit and instruction decoder to process information about the group size, and utilizing meta-information and control information to optimize execution, such as through predication and reduced register file accesses, allowing for better balancing of performance and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If instructions are designed to deliver higher performance, then processing capability is improved, but power consumption increases

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

Solution Approach 1:

The patent segments instructions into groups that execute atomically, with each group having a header containing metadata about the group size. This segmentation allows the processor to handle instructions in manageable units, improving throughput without proportionally increasing power consumption for each individual instruction.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by including group size information in the instruction group header, which is decoded before execution. This allows the processor to pre-determine the number of instructions in a group and allocate resources accordingly, improving execution efficiency while avoiding the power overhead of dynamic determination during execution.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If a large amount of hardware resources is used, then performance is improved, but power consumption increases

Engineering Contradiction:
ImproveperformanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The patent implements dynamic resource allocation by using the group size field to determine how many instructions are in each atomic group. The processor dynamically adjusts its resource utilization based on the actual group size rather than being fixed, allowing high performance when needed while conserving power when fewer instructions are present.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of instruction grouping by varying the group size according to the actual workload. The group size field in the header allows the system to adapt the number of instructions processed atomically, optimizing the balance between hardware resource utilization and power consumption for different execution scenarios.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If instruction groups execute atomically, then execution efficiency is improved, but decoding complexity increases

Engineering Contradiction:
Improveexecution efficiencyVSAvoiddecoding complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the group size information into a separate field in the instruction group header, distinct from the individual instruction opcodes. This extraction simplifies the decoding process by providing explicit metadata about the group composition, allowing the processor to quickly determine execution boundaries without complex analysis of the instruction stream.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10409599B2Decoding information about a group of instructions including a size of the group of instructions
Publication Date: 2019.09.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10409599B2 patent drawing
  • US10409599B2 patent drawing
  • US10409599B2 patent drawing

AI summary

A method including fetching a group of instructions, where the group of instructions is configured to execute atomically by a processor is provided. The method further includes decoding at least one of a first instruction or a second instruction, where: (1) decoding the first instruction results in a processing of information about a group of instructions, including information about a size of the group of instructions, and (2) decoding the second instruction results in a processing of at least one of: (a) a reference to a memory location having the information about the group of instructions, including information about the size of the group of instructions or (b) a processor status word having information about the group of instructions, including information about the size of the group of instructions.