Variable-Length Instruction Encoding Using Predicted Word Suppression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for encoding and decoding instructions from an instruction set face challenges in achieving high code density and flexibility, particularly when using variable length instruction words, which can increase hardware complexity and make it difficult to add new instructions without reducing code density and efficiency.

Innovation Solution

The method involves re-ordering and grouping bits in instructions into variable-length instruction words based on empirical or simulation data, omitting words that match predicted values to create a compressed version, allowing for different instructions to use different numbers of words, and using a mask to selectively omit words, thereby improving code density and flexibility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If variable length instruction words are used to increase code density, then code density is improved, but hardware complexity increases

Engineering Contradiction:
Improvecode densityVSAvoidhardware complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The instruction is divided into multiple fixed-size words (e.g., 32-bit words) that are processed sequentially. Each word contains a portion of the instruction bits, allowing the decoder to handle complex instructions through multiple simpler word units rather than requiring complex variable-length encoding logic.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The instruction bits are pre-ordered and grouped into fixed-size words before decoding. This preliminary organization allows the decoder to use simple fixed-width word processing logic while still achieving variable-length instruction encoding, as the variable-length semantics are established in advance through the bit ordering and grouping process.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If variable length instruction words are used to improve code density, then code density is improved, but difficulty in adding new instructions increases

Engineering Contradiction:
Improvecode densityVSAvoidease of adding new instructions
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

By segmenting the instruction into fixed-size words with consistent internal structure, new instructions can be added by defining new bit patterns within the established word format without requiring changes to the fundamental encoding architecture or variable-length handling logic.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention changes the parameter of instruction representation from variable-length words to fixed-length words with variable content. This allows the instruction set to be extended by varying the semantic interpretation of bit fields within the fixed words rather than requiring new word lengths, thereby improving adaptability.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If shorter instruction words are used to increase code density, then code density is improved, but functionality of the instruction set is limited

Engineering Contradiction:
Improvecode densityVSAvoidfunctionality of instruction set
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The instruction is segmented into multiple fixed-size words that are processed in sequence. This segmentation allows the full functionality to be distributed across multiple words rather than requiring each word to contain all possible operational codes, thereby maintaining full instruction set functionality while achieving compact encoding.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention transitions from a single-dimension variable-length word approach to a multi-dimensional approach where instructions are represented as sequences of fixed-size words. This dimensional change allows the system to achieve code density through sequence optimization while maintaining full functionality through the extended word sequence structure.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS11347509B2Encoding and decoding variable length instructions
Publication Date: 2022.05.31 IMAGINATION TECH LTD
  • US11347509B2 patent drawing
  • US11347509B2 patent drawing
  • US11347509B2 patent drawing

AI summary

Methods of encoding and decoding are described which use a variable number of instruction words to encode instructions from an instruction set, such that different instructions within the instruction set may be encoded using different numbers of instruction words. To encode an instruction, the bits within the instruction are reordered and formed into instruction words based upon their variance as determined using empirical or simulation data. The bits in the instruction words are compared to corresponding predicted values and some or all of the instruction words that match the predicted values are omitted from the encoded instruction.