Variable Register and Immediate Field Encoding in RISC ISA

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing size of RISC microprocessors and memory required for executable code leads to higher manufacturing costs, necessitating a reduction in memory usage without compromising functionality or performance.

Innovation Solution

Implementing a RISC Architecture that encodes instructions in 16-, 32-, and 48-bit lengths, allowing for compact, normal, and extended forms, enabling flexible encoding selection based on cost, size, and performance requirements, along with compilers and linkers to generate executable software applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If instruction code size is reduced to lower memory requirements and manufacturing costs, then memory usage decreases, but functionality or performance may be compromised

Engineering Contradiction:
Improvememory usageVSAvoidfunctionality
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The instruction set is segmented into multiple encoding formats (16-bit, 32-bit, 48-bit) with different functionality. Common instructions use compact 16-bit encoding to reduce memory usage, while extended instructions use 32-bit or 48-bit encoding when additional functionality is required. This segmentation allows the system to optimize for memory efficiency while preserving access to full functionality when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The instruction encoding parameter (bit length) is changed based on the specific instruction requirements. The architecture dynamically selects between 16-bit, 32-bit, and 48-bit encoding formats, allowing the same instruction mnemonic to be encoded in different lengths depending on whether it requires extended functionality. This parameter change enables memory optimization without sacrificing the ability to execute complex instructions when required.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If instruction code size is reduced, then memory usage decreases, but device complexity increases due to multiple encoding formats

Engineering Contradiction:
Improvememory usageVSAvoidencoding complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The instruction encoding system is designed to be universal, where a single instruction mnemonic can be encoded in multiple formats (16-bit, 32-bit, 48-bit) depending on the required functionality. The decoder is designed to handle all encoding formats uniformly, extracting the necessary operational parameters regardless of the encoding length. This multi-functionality allows the system to reduce memory usage with compact encodings while maintaining a unified decoding mechanism that manages the complexity of multiple formats.

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

3Quantity of substance

If compact encoding is used for all instructions, then code size is minimized, but performance suffers due to lack of extended functionality

Engineering Contradiction:
Improvecode sizeVSAvoidperformance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The instruction encoding system is dynamic rather than static. The encoder dynamically selects the appropriate encoding length (16-bit, 32-bit, or 48-bit) based on the specific instruction being compiled. Frequently used simple instructions are encoded in compact 16-bit format to minimize code size, while instructions requiring extended functionality automatically use 32-bit or 48-bit encoding. This dynamic adaptation allows the code size to be optimized for common cases while preserving performance-critical extended functionality when needed.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10776114B2Variable register and immediate field encoding in an instruction set architecture
Publication Date: 2020.09.15 ARM FINANCE OVERSEAS LTD
  • US10776114B2 patent drawing
  • US10776114B2 patent drawing
  • US10776114B2 patent drawing

AI summary

A method and apparatus provide means for compressing instruction code size. An Instruction Set Architecture (ISA) encodes instructions compact, usual or extended bit lengths. Commonly used instructions are encoded having both compact and usual bit lengths, with compact or usual bit length instructions chosen based on power, performance or code size requirements. Instructions of the ISA can be used in both privileged and non-privileged operating modes of a microprocessor. The instruction encodings can be used interchangeably in software applications. Instructions from the ISA may be executed on any programmable device enabled for the ISA, including a single instruction set architecture processor or a multi-instruction set architecture processor.