Variable-Length Instruction Encoding via Predicted Word Suppression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing instruction encoding and decoding methods face challenges in increasing code density while maintaining functionality, as they often require complex hardware designs and are prone to errors when adding new instructions, especially with variable length instruction words.

Innovation Solution

The method involves reordering and grouping instruction bits into variable-length words based on empirical or simulation data, omitting words with matching predicted values to create a compressed instruction, allowing for flexible encoding and decoding that accommodates different instruction lengths and hardware variants.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If variable length instruction words are used to increase code density, then memory size and bandwidth are reduced, but hardware design complexity increases and error-proneness increases when adding new instructions

Engineering Contradiction:
Improvememory sizeVSAvoidhardware design 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) instead of using a single variable-length instruction word. The encoder segments the instruction bits into fixed-width words, and the decoder processes them as fixed-size units, eliminating the complexity of variable-length decoding while achieving compression through selective omission of redundant words.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses template-based decoding where predicted instruction words are generated from templates based on the instruction type. Instead of decoding each variable-length instruction uniquely, the system copies and fills template patterns, simplifying the hardware design while maintaining the ability to represent variable-length instructions efficiently.

Inventive Principle:
Principle #26Copying

2Loss of energy

If variable length instruction words are used to increase code density, then memory bandwidth is reduced, but reliability decreases due to error-proneness when adding new instructions

Engineering Contradiction:
Improvememory bandwidthVSAvoidinstruction encoding reliability
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

By segmenting instructions into fixed-size words with structured formats (opcode, operands, etc.), the system ensures that each word has a well-defined meaning and validation rules. This segmentation makes the encoding scheme more robust and less error-prone when adding new instructions, as the fixed structure provides clear boundaries and validation criteria.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of instruction word length from variable to fixed, while achieving variable-length functionality through the number of words used. This parameter change improves reliability because fixed-size words are easier to validate, parse, and extend without introducing errors, while still allowing efficient representation of different instruction types through selective word omission.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If fixed size instruction words are used, then hardware design is simplified, but code density decreases and memory size increases

Engineering Contradiction:
Improvehardware design simplicityVSAvoidmemory size
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The patent segments instructions into fixed-size words that can be efficiently processed by simple hardware, maintaining hardware design simplicity. At the same time, by allowing variable numbers of these fixed-size words to represent different instructions and by omitting redundant words, the system achieves better code density compared to traditional fixed-length instruction formats.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system uses partial action by transmitting only the necessary fixed-size words required to represent each instruction, omitting redundant words that would be present in a traditional fixed-length format. This reduces the average number of words per instruction, improving code density while keeping each individual word at a fixed, hardware-friendly size.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10579381B2Encoding and decoding variable length instructions
Publication Date: 2020.03.03 IMAGINATION TECH LTD
  • US10579381B2 patent drawing
  • US10579381B2 patent drawing
  • US10579381B2 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.