Compact Instruction Encodings via Context Reuse

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor instruction sets face challenges in efficiently encoding and decoding instructions due to fixed or variable lengths, which can lead to increased complexity, power consumption, and reduced decode rates, especially when trying to reuse context information from prior instructions.

Innovation Solution

The implementation of compact instruction encodings in processors that allow for implicit reuse of context information, such as register values or operation contexts, from prior instructions, reducing the need for explicit specification in subsequent instructions, thereby shortening instruction lengths and improving decode efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If fixed or variable length instruction sets are used with explicit operand specification, then instructions can be universally decoded, but instruction length increases and code density decreases

Engineering Contradiction:
Improveinstruction decode universalityVSAvoidinstruction length
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The decode unit preserves context information from previously decoded instructions before it is needed by subsequent instructions. This preliminary preservation allows later instructions to reference prior context without re-specifying it, reducing instruction length while maintaining universal decodability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A context register acts as an intermediary between prior instructions and subsequent instructions. The context register stores operand information from previous instructions, allowing subsequent instructions to reference this stored context rather than explicitly specifying operands, thereby reducing instruction encoding requirements

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If context information is preserved from prior instructions, then subsequent instructions can be shortened, but decode unit complexity increases

Engineering Contradiction:
Improveinstruction lengthVSAvoiddecode unit complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The decode unit is segmented into distinct functional components: a context preservation unit that stores prior instruction information, a context registration unit that manages context registers, and a subsequent instruction decode unit that utilizes the preserved context. This segmentation allows each component to perform its function independently, managing complexity through modular organization

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If more fields are included in instruction encoding to specify operands explicitly, then instruction precision is improved, but code density decreases

Engineering Contradiction:
Improveoperand specification precisionVSAvoidcode density
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The context register serves multiple functions: it stores operand information from prior instructions, provides this information to subsequent instructions, and enables both explicit and implicit operand referencing modes. This multi-functionality allows the system to maintain precision while improving code density, as the same context mechanism serves multiple purposes

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10761849B2Processors, methods, systems, and instruction conversion modules for instructions with compact instruction encodings due to use of context of a prior instruction
Publication Date: 2020.09.01 INTEL CORP
  • US10761849B2 patent drawing
  • US10761849B2 patent drawing
  • US10761849B2 patent drawing

AI summary

A processor of an aspect includes a decode unit to decode a prior instruction that is to have at least a first context, and a subsequent instruction. The subsequent instruction is to be after the prior instruction in original program order. The decode unit is to use the first context of the prior instruction to determine a second context for the subsequent instruction. The processor also includes an execution unit coupled with the decode unit. The execution unit is to perform the subsequent instruction based at least in part on the second context. Other processors, methods, systems, and machine-readable medium are also disclosed.