Instruction Encoding with Predicted Word Omission for Code Density

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing encoding and decoding methods for instruction sets face challenges in achieving high code density while accommodating variable instruction frequencies and hardware complexities, particularly when adding new instructions or switching between different instruction lengths.

Innovation Solution

A method of encoding and decoding instructions using a variable number of fixed-length instruction words, where bits are reordered and grouped based on empirical or simulation data to omit instruction words with matching predicted values, allowing for efficient compression and decoding across different processor variants.

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 device complexity increases due to hardware requirements for handling variable lengths

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

Solution Approach 1:

The instruction is segmented into multiple fixed-length instruction words (e.g., 32-bit words) instead of using a single variable-length instruction word. This segmentation allows the instruction to be represented as a sequence of fixed-size units, simplifying hardware handling while achieving variable effective length through selective omission of trailing words.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Trailing instruction words that contain only predicted (default) values are discarded from the encoded instruction stream. The decoder recovers the complete instruction by generating these omitted words on-demand using predicted value logic, eliminating the need to store or transmit redundant data while maintaining full instruction functionality.

Inventive Principle:
Principle #34Discarding and recovering

2Quantity of substance

If shorter instruction words are used to increase code density, then code density is improved, but functionality is limited due to reduced space for operands and operations

Engineering Contradiction:
Improvecode densityVSAvoidinstruction functionality
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The instruction encoding dynamically adjusts its effective length based on the specific instruction type and usage patterns. Common instructions use fewer instruction words for higher density, while complex instructions can utilize more words when needed, providing adaptability without sacrificing functionality.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The encoding scheme changes parameters such as the number of instruction words used and the placement of bit fields based on the instruction type. Bits are reordered and grouped according to encoding types that optimize for either compactness or full functionality depending on the specific instruction being encoded.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If bits are reordered based on empirical data to omit matching predicted values, then code density is improved, but encoding and decoding complexity increases

Engineering Contradiction:
Improvecode densityVSAvoidencoding and decoding complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

Predicted values for instruction word bits are determined in advance based on empirical data and usage patterns. These predicted values are used to identify which trailing instruction words can be omitted, allowing the encoder to skip generating them and the decoder to regenerate them on-demand without complex real-time analysis.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of storing complete trailing instruction words, the system uses predicted value templates that represent the expected content of these words. The decoder copies these predicted values to reconstruct omitted instruction words, avoiding the need to transmit or store redundant information while maintaining accuracy.

Inventive Principle:
Principle #26Copying

4Quantity of substance

If different numbers of instruction words are used for different instructions, then code density is improved, but ease of operation deteriorates due to variable fetching requirements

Engineering Contradiction:
Improvecode densityVSAvoidinstruction fetching
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The instruction stream is segmented into fixed-length instruction word units, each with a standardized format. This segmentation allows the fetch mechanism to operate uniformly on fixed-size units while the logical instruction may span varying numbers of these units, simplifying the fetching operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The encoding includes metadata or control bits that provide feedback information about the instruction structure, such as the number of instruction words required or indicators of which words are actual data versus predicted values. This feedback enables the decoder to correctly reconstruct variable-length instructions from fixed-width fetched words.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12561139B2Encoding and decoding variable length instructions
Publication Date: 2026.02.24 IMAGINATION TECH LTD
  • US12561139B2 patent drawing
  • US12561139B2 patent drawing
  • US12561139B2 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 re-ordered 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.