Instruction Decoder Mode Switching for Vector Length Adaptation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing vector processing technologies require knowledge of the physical vector length provided by hardware to decode and execute instructions, limiting flexibility and efficiency in processing operations.

Innovation Solution

An apparatus and method that allow switching between different processing modes using distinct instruction sets and registers, enabling execution of instructions on either a primary processing circuitry or a secondary co-processor with different vector lengths, facilitated by mode change instructions and vector length detection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If vector processing instructions are decoded using knowledge of physical vector length, then instruction decoding and execution can be performed, but flexibility and adaptability are limited when hardware vector lengths differ

Engineering Contradiction:
Improveadaptability to different hardware vector lengthsVSAvoidcomplexity of instruction decoding and execution
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The instruction set is segmented into two distinct instruction sets: a first instruction set for the main CPU with its specific vector length, and a second instruction set for the co-processor with its different vector length. This segmentation allows each processing unit to operate with instructions optimized for its hardware capabilities, resolving the contradiction between adaptability and complexity by eliminating the need for a single complex decoding mechanism that must handle all vector lengths.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A vector length detection mechanism acts as an intermediary that automatically identifies the appropriate vector length and selects the corresponding instruction set and processing mode. This intermediary handles the complexity of adaptation, allowing the system to maintain high adaptability to different hardware vector lengths while keeping the instruction decoding process straightforward through automated selection rather than manual configuration.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If a single instruction set is used across different processing units with different vector lengths, then code portability is improved, but processing efficiency decreases due to inability to utilize available vector lengths

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidcode portability between different processing modes
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system dynamically switches between first and second processing modes based on the detected vector length and the appropriate instruction set. This dynamic adaptation allows the system to maximize processing efficiency by utilizing the full vector length capabilities of each processing unit while maintaining code portability through automated mode selection. The mode change instructions enable seamless transitions between processing modes without requiring manual intervention or sacrificing productivity.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If mode change instructions are implemented to switch between processing modes, then flexibility in utilizing different vector lengths is improved, but instruction decoding complexity increases

Engineering Contradiction:
Improveflexibility in processing mode selectionVSAvoidcomplexity of decoding multiple instruction sets and modes
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system performs preliminary vector length detection before instruction execution to determine the appropriate processing mode in advance. This preliminary action allows the system to pre-select the correct instruction set and processing mode, thereby reducing the complexity of real-time decoding. The mode change instructions are processed based on pre-determined conditions, which simplifies the decoding logic compared to handling all possible mode transitions simultaneously.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12197916B2Processing instructions selected from a first instruction set in a first processing mode and instructions selected from a second different instruction set in a second processing mode
Publication Date: 2025.01.14 ARM LTD
  • US12197916B2 patent drawing
  • US12197916B2 patent drawing
  • US12197916B2 patent drawing

AI summary

Instruction decoder to decode processing instructions; one or more first registers; first processing circuitry to execute the decoded processing instructions in a first processing mode and configured to execute the decoded processing instructions using the one or more first registers; and control circuitry to execute the decoded processing instructions in a second processing mode using one or more second registers; the instruction decoder being configured to decode processing instructions selected from a first instruction set and a second instruction set in the second processing mode, in which one or both of the first and second instruction sets comprises at least one unique instruction set; the instruction decoder configured to decode one or more mode change instructions to change between the first and second processing mode; and the first processing circuitry configured to change the current processing mode between the first and second processing mode responding to executing mode change instruction.