Multi-thread Processing via Instruction Fusion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-thread processing mechanisms, the increased hardware costs and resource requirements limit the number of threads that can be processed in parallel, as each thread necessitates an independent hardware running environment, leading to inefficiencies and higher costs with increasing thread numbers.

Innovation Solution

The method involves compiling multiple threads into a single fused thread using load effective address instructions and control transfer instructions, allowing for multi-thread processing without the need for additional hardware resources by reusing existing register sets and optimizing instruction sequences.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple threads are processed in parallel using independent hardware environments, then multi-thread processing capability is improved, but hardware costs and resource requirements increase

Engineering Contradiction:
Improvemulti-thread processing capabilityVSAvoidhardware resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent merges multiple independent thread hardware environments into a single shared hardware environment. By fusing multiple threads into one thread context and reusing the same register sets, instruction prediction buffers, and execution resources across different threads, the system achieves multi-thread processing capability without proportionally increasing hardware resources. This combining approach allows N threads to share the hardware resources of approximately 1 thread, directly resolving the contradiction between processing capability and resource consumption.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements multi-functionality by making single hardware resources serve multiple threads. The same register sets are universally used across different threads at different time periods, the instruction prediction mechanism serves multiple thread contexts, and execution resources are shared among fused threads. This universal usage pattern enables the hardware to handle multiple threads sequentially or interleaved, achieving multi-thread productivity without requiring dedicated hardware for each thread.

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

2Productivity

If the number of running threads is increased, then processing throughput is improved, but hardware costs increase by 5% per additional thread

Engineering Contradiction:
Improveprocessing throughputVSAvoidhardware costs
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent combines multiple thread processing contexts into a single hardware environment, allowing the system to process N threads using the hardware resources of approximately 1 thread. This merging eliminates the need to increase hardware complexity proportionally with thread count, directly addressing the 5% hardware cost increase per additional thread problem while maintaining improved processing throughput.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If independent hardware environments are prepared for each thread, then thread execution reliability is improved, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improvethread execution reliabilityVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent introduces dynamic context switching between different thread contexts within a single hardware environment. The system dynamically allocates register sets, instruction prediction buffers, and execution resources to different threads based on current execution needs. This dynamic allocation maintains thread execution reliability by preserving complete thread contexts while improving resource utilization efficiency by eliminating idle hardware resources that would exist in static dedicated configurations.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent enables the single hardware environment to self-manage multiple thread contexts through automatic context switching and resource allocation. The fused thread mechanism allows the hardware to automatically save and restore thread states, manage register allocations, and switch between threads without requiring external intervention for each thread's hardware setup, thereby maintaining reliability while improving overall resource utilization efficiency.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11216278B2Multi-thread processing
Publication Date: 2022.01.04 ADVANCED NEW TECHNOLOGIES CO LTD
  • US11216278B2 patent drawing
  • US11216278B2 patent drawing
  • US11216278B2 patent drawing

AI summary

A computer-implemented method for multi-thread processing, the method including: compiling a first plurality of threads using a corresponding first register set for each thread in the first plurality of threads, to obtain a first plurality of corresponding machine instruction codes; and fusing the first plurality of machine instruction codes using first instructions in an instruction set supported by a processing core, to obtain machine instruction code of a fused thread, the machine instruction code of the fused thread including thread portions corresponding to each thread of the first plurality of threads, in which the first instructions include load effective address instructions and control transfer instructions, in which the load effective address instructions and the control transfer instructions are compiled using a second register set, and in which jump operations between thread portions are implemented by the control transfer instructions inserted into the machine instruction code of the fused thread.