Reconfigurable Processor Parallel Conditional Branch Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional processors face inefficiencies in executing conditional branch statements due to control dependencies, which lead to blocked processing pipelines and increased running times, as they require advance execution of instructions that cannot alter the system state until the conditional judgment is calculated.

Innovation Solution

A reconfigurable processor with a routing unit that assigns conditional judgment and execution statements to separate arithmetic logic units for parallel processing, allowing the conditional branch to be executed in a single clock cycle by converting control dependencies into data dependencies through a single-bit signal control mechanism.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conditional execution is used to eliminate control dependencies, then execution efficiency improves, but the dependence distance and running time increase because conditional judgment statements must be executed in advance

Engineering Contradiction:
Improveexecution efficiency of conditional branch statementsVSAvoidrunning time of conditional branch statements
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The processor is divided into multiple arithmetic logic units (ALUs) that can be independently configured. The routing unit segments the instruction stream and assigns different instructions to different ALUs, enabling parallel execution of conditional judgment and execution statements, thereby reducing the dependence distance and running time while maintaining high execution efficiency

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The processor employs dynamic reconfiguration capabilities where the routing unit can dynamically assign and reassign instructions to different ALUs based on runtime conditions. This dynamic assignment allows the system to optimize the execution path for conditional branches, reducing both the dependence distance and running time by executing conditional logic in parallel rather than sequentially

Inventive Principle:
Principle #15Dynamics

2Productivity

If branch prediction is used to execute instructions in advance, then assembly line blocking is reduced, but system security decreases and incorrect predictions cause costly assembly line clearing

Engineering Contradiction:
Improveassembly line throughputVSAvoidsystem security and prediction accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

By segmenting the processing into multiple independent ALUs, the system can execute conditional judgment and execution statements in parallel without relying on branch prediction. This eliminates the security risks and costly clearing operations associated with incorrect predictions, while maintaining high throughput through parallel processing

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The routing unit acts as an intermediary that dynamically manages instruction assignment to ALUs. Instead of using branch prediction to speculate about execution paths, the routing unit receives conditional statements and intelligently distributes them to appropriate ALUs based on current system state, eliminating the need for risky advance execution while maintaining assembly line efficiency

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10203960B2Reconfigurable processor and conditional execution method for the same
Publication Date: 2019.02.12 TSINGHUA UNIVERSITY
  • US10203960B2 patent drawing
  • US10203960B2 patent drawing

AI summary

A reconfigurable processor and a conditional execution method for the same are provided. The reconfigurable processor includes: a routing unit, configured to assign a conditional judgment statement and a conditional execution statement to process the conditional judgment statement and the conditional execution statement in parallel; a first arithmetic logic unit, configured to process the conditional judgment statement according to an assignment of the routing unit to obtain a single-bit signal; a second arithmetic logic unit, configured to: process the conditional execution statement according to the assignment of the routing unit to obtain a conditional execution result; receive the single-bit signal; and control an output of the conditional execution result according to the single-bit signal. The reconfigurable processor according to embodiments of the present disclosure may reduce a dependence distance and a running time of the conditional branch statement and enhance an execution efficiency of the conditional branch statement by executing the conditional judgment statement and the conditional execution statement in parallel.