Instruction Conversion Program for Legacy Processor Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Previous-generation processors cannot execute new instructions supported by subsequent-generation processors, leading to unknown instruction exceptions and termination of processes, preventing applications or operating systems with new instructions from running on older processors.

Innovation Solution

A method and system that receive and convert new instructions into old instructions, allowing their execution on previous-generation processors without modifying the hardware architecture, using an instruction decoding unit and a conversion program to determine and convert new instructions into executable old instructions in the same execution mode.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If new instructions are added to subsequent-generation processors, then processor functionality is improved, but compatibility with previous-generation processors deteriorates

Engineering Contradiction:
Improveprocessor functionalityVSAvoidinstruction execution compatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

A conversion program acts as an intermediary between new instructions and the previous-generation processor. When the processor encounters an unknown instruction, it generates an exception that triggers the conversion program, which then translates the new instruction into equivalent old instructions that the processor can execute, thereby maintaining compatibility while supporting new functionality

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary detection of unknown instructions before execution fails. By monitoring instruction decoding and identifying new instructions in advance, the system can prepare conversion routines and execute them before the processor would normally terminate with an unknown instruction exception

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If hardware architecture is modified to support new instructions, then instruction execution capability is improved, but device complexity increases

Engineering Contradiction:
Improveinstruction execution capabilityVSAvoidhardware architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent replaces hardware modification with a software-based conversion program. Instead of physically modifying the processor architecture to support new instructions, the system uses software to detect, translate, and execute new instructions through equivalent old instructions, thereby maintaining simple hardware while achieving enhanced functionality

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The system changes the execution parameter from direct hardware execution to software-mediated translation. By altering how instructions are processed (from direct CPU execution to conversion program translation), the system enables new instruction support without changing the underlying hardware architecture

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11789736B2Method and system for executing new instructions
Publication Date: 2023.10.17 VIA ALLIANCE SEMICON CO LTD
  • US11789736B2 patent drawing
  • US11789736B2 patent drawing
  • US11789736B2 patent drawing

AI summary

A method for executing new instructions is provided. The method is used in a processor and includes: receiving an instruction; generating an unknown instruction exception when the received instruction is an unknown instruction; in response to the unknown instruction exception, executing the following steps through a conversion program: determining whether the received instruction is a new instruction; and converting the received instruction into at least one old instruction when the received instruction is a new instruction; and executing the at least one old instruction in the same execution mode as the received instruction.