Pre-staged Instruction Registers for Variable Length ISAs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer processing architectures face inefficiencies in energy consumption and instruction transmission due to the need for larger instruction sizes and more specialized instructions, which increase costs and complexity.

Innovation Solution

A processing architecture that dynamically creates compound instructions, allowing for the execution of multiple operations using the power and bus size associated with a single instruction, by pre-staging instructions in registers and triggering their execution with a single instruction from memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If larger instruction sizes are used to include more specialized instructions, then more operations can be performed per instruction, but the bus size, register size, and logic complexity increase

Engineering Contradiction:
Improveoperations per instructionVSAvoidbus size and logic complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The instruction stream is segmented into two types: compact component instructions (small size) and compound instructions (larger size). The compound instructions are broken down into multiple component instructions that are executed sequentially. This segmentation allows the system to achieve high productivity through compound instructions while keeping the basic instruction format compact, thus resolving the contradiction between operations per instruction and device complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The compound instructions are pre-decoded into sequences of component instructions and stored in the instruction cache. When a compound instruction is encountered, the pre-decoded component instructions are retrieved and executed, eliminating the need for real-time decoding of complex instructions. This preliminary action reduces the logic complexity required for instruction decoding while maintaining the ability to execute multiple operations per compound instruction.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If more specialized instructions are included in the instruction set, then fewer instructions need to be transmitted, but a larger library of instructions and more complex functional processing units are required

Engineering Contradiction:
Improvenumber of instructions transmittedVSAvoidinstruction library size and functional unit complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

A small set of universal functional processing units is designed to execute the compact component instructions. By making these units multi-functional, the system can perform a wide variety of operations without requiring specialized hardware for each instruction type. The compound instructions achieve specialization through software-based composition of these universal units, reducing both the instruction library size and hardware complexity while minimizing the number of instructions that need to be transmitted.

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

Solution Approach 2:

Instead of transmitting large compound instructions repeatedly, the system transmits a compact compound instruction once, which is then decoded and cached as a sequence of component instructions. These cached component instructions are reused for subsequent executions, reducing transmission overhead. This copying approach minimizes the number of instructions transmitted while avoiding the need for a large specialized instruction library.

Inventive Principle:
Principle #26Copying

3Productivity

If a variable length instruction set machine is implemented, then more operations can be performed per instruction, but the instruction bus size increases

Engineering Contradiction:
Improveoperations per instructionVSAvoidinstruction bus size
Core Design Contradiction:
ProductivityVSLength of moving object

Solution Approach 1:

The instruction set dynamically adapts its effective length based on the instruction type. Compound instructions can be longer when needed to specify multiple operations, while simple component instructions remain short. The system dynamically selects between using pre-decoded cached instructions (effectively shorter transmission) and transmitting new compound instructions only when necessary. This dynamic approach allows high productivity through compound instructions while keeping the average instruction bus size manageable.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12067395B2Pre-staged instruction registers for variable length instruction set machine
Publication Date: 2024.08.20 TENSTORRENT AI ULC
  • US12067395B2 patent drawing
  • US12067395B2 patent drawing
  • US12067395B2 patent drawing

AI summary

Methods and systems relating to improved processing architectures with pre-staged instructions are disclosed herein. A disclosed processor includes a memory, at least one functional processing unit, a bus, a set of instruction registers configured to be loaded, using the bus, with a set of pre-staged instructions from the memory, and a logic circuit configured to provide the set of pre-staged instructions from the set of instruction registers to the at least one functional processing unit in response to receiving an instruction from the instruction memory.