Loop Coalescing Method Reduces Branching Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In processor development, nested loops in software pipeline technology hinder processing speed due to conditional statements and their branching, which increase processor overhead, especially with complex operations like modulo, necessitating an effective loop coalescing method to simplify conditional statement operations.

Innovation Solution

A loop coalescing method and device that remove the inner-most loop and generate a guard code using an if-conversion method, allowing the outer operation to proceed based on a guard calculated by a new instruction storing information related to the loop's iteration period in a register, thereby simplifying the operation and reducing branching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If nested loops are used in software pipeline technology, then loop operations can be performed, but processing speed is reduced due to conditional statements and branching

Engineering Contradiction:
Improveprocessing speedVSAvoidconditional statement complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the inner-most loop from the nested loop structure and processes it separately. The outer loop operations are performed once per inner loop iteration, eliminating the need for complex nested conditional statements. This separation reduces the branching complexity while maintaining the loop operation functionality, directly addressing the contradiction between processing speed and conditional statement complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the nested loop into two independent parts: the outer loop operation and the inner loop operation. By dividing the original nested structure into separate processing stages, the patent eliminates the need for complex nested conditionals, reducing processor overhead and improving processing speed while preserving the essential loop functionality.

Inventive Principle:
Principle #1Segmentation

2Productivity

If conditional statements with complex operations like modulo are used, then loop control can be achieved, but processor overhead is increased

Engineering Contradiction:
Improveprocessor overheadVSAvoidoperation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces expensive modulo operations with simpler arithmetic operations. By using a counter variable that increments by one each iteration and comparing it against the loop bound, the patent eliminates complex modulo operations in favor of simple addition and comparison, significantly reducing processor overhead while maintaining loop control functionality.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The patent changes the parameter representation from using modulo operations on iteration counters to using simple incrementing counters with comparison against bounds. This parameter transformation replaces complex mathematical operations with basic arithmetic, reducing computational overhead while achieving the same loop control effect.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If nested loops are coalesced into inner-most loop, then software pipeline technology can be effectively utilized, but the number of branches in conditional statements increases

Engineering Contradiction:
Improvesoftware pipeline utilizationVSAvoidnumber of branches
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the inner-most loop iteration logic from the nested structure and applies it to the outer loop operations. By taking out the repetitive inner loop pattern and applying it once to outer operations, the patent achieves effective software pipeline utilization while minimizing the number of conditional branches, as the extracted logic eliminates redundant nesting conditions.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8549507B2Loop coalescing method and loop coalescing device
Publication Date: 2013.10.01 SAMSUNG ELECTRONICS CO LTD
  • US8549507B2 patent drawing
  • US8549507B2 patent drawing
  • US8549507B2 patent drawing

AI summary

A loop coalescing method and a loop coalescing device are disclosed. The loop coalescing method comprises removing an inner-most loop from among nested loops, so that an outer operation provided outside of the inner-most loop is performed when a condition of a conditional statement is satisfied, generating a guard code by applying an if-conversion method to the conditional statement, and converting a guard by using an instruction calculating the guard of the guard code, the instruction calculating the guard using a register where information related to a period of time corresponding to the number of iterations of the inner-most loop is stored.