Multi-threaded RISC Processor Pipeline Decision Tree Traversal

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional RISC processors face inefficiencies in processing multiple threads due to high overhead and resource wastage from context switching and management tasks, particularly in I/O-intensive applications like network interface cards, which affects processing speed and resource utilization.

Innovation Solution

A high-speed, multi-threaded RISC processor architecture with a hardware-implemented scheduler that alternates between two register sets to process threads efficiently, reducing context switching overhead and utilizing pipelined instructions to traverse decision trees, thereby minimizing pipeline flushing and improving processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional RISC processors process multiple threads using context switching, then multi-threading capability is achieved, but processing overhead and resource wastage increase significantly

Engineering Contradiction:
Improvemulti-threading capabilityVSAvoidprocessing overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The processor is divided into multiple independent processing cores that can simultaneously execute different threads. Each core maintains its own program counter, register set, and instruction queue, allowing true parallel execution without context switching overhead. This segmentation enables the system to handle multiple threads concurrently while minimizing resource wastage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from temporal multi-threading (context switching between threads over time) to spatial multi-threading (parallel execution of multiple threads across multiple cores simultaneously). This dimensional shift from single-core time-multiplexed processing to multi-core space-parallel processing eliminates the need for context switching and enables true concurrent execution.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Adaptability or versatility

If context switching is used to manage multiple threads, then thread management is achieved, but processing speed decreases due to switching overhead

Engineering Contradiction:
Improvethread managementVSAvoidprocessing speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The processor architecture segments thread management functions across multiple independent cores, each capable of autonomous thread execution. This eliminates the need for centralized context switching and allows each core to maintain its own thread state independently, thereby preserving processing speed while managing multiple threads.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each processing core is self-sufficient with dedicated resources including program counters, register sets, and instruction queues. This self-service capability allows each core to independently manage its own thread execution without requiring context switching or resource sharing, thereby maintaining high processing speeds while handling multiple threads concurrently.

Inventive Principle:
Principle #25Self-service

3Difficulty of detecting and measuring

If pipelined instructions traverse decision trees with multiple branches, then complex decision problems are solved, but pipeline flushing occurs frequently

Engineering Contradiction:
Improvedecision problem solvingVSAvoidpipeline flushing
Core Design Contradiction:
Difficulty of detecting and measuringVSLoss of time

Solution Approach 1:

The processor performs preliminary evaluation of decision tree branches using multiple execution units that simultaneously evaluate different paths. By pre-computing multiple branch outcomes in parallel before the pipeline reaches the branch instruction, the system determines the correct path in advance, eliminating the need for pipeline flushing and maintaining continuous instruction flow.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The processor dynamically selects and executes different pipeline paths based on real-time evaluation of decision conditions. Multiple execution units continuously evaluate branch conditions and dynamically redirect the instruction pipeline to the appropriate path without flushing, enabling adaptive decision tree traversal while maintaining pipeline efficiency.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8230144B1High speed multi-threaded reduced instruction set computer (RISC) processor
Publication Date: 2012.07.24 BROADCOM ISRAEL R&D
  • US8230144B1 patent drawing
  • US8230144B1 patent drawing
  • US8230144B1 patent drawing

AI summary

A reduced instruction set computer (RISC) includes at least one arithmetic logic units (ALUs), which are arranged to evaluate logical conditions. A processing pipeline is arranged to solve a decision problem that is representable as a decision tree including at least three nodes by processing a sequence of pipelined instructions that traverse the decision tree. At least some of the pipelined instructions instruct the one or more ALUs to evaluate respective logical conditions, such that the pipeline flushes the instructions from the pipeline no more than once in the course of processing the sequence regardless of whether the logical conditions evaluate to true or false.