Nested Loop Controller Predicate FIFO Pipelined Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern digital signal processors (DSPs) face challenges in efficiently executing nested loops in a pipelined fashion, particularly with imperfectly nested loops, due to difficulties in determining whether to execute instructions associated with outer loops.

Innovation Solution

A nested loop controller is introduced, which includes registers for inner and outer loop counters and a predicate FIFO. This controller advances loop counters and populates the predicate FIFO based on loop thresholds, allowing for efficient determination of whether to execute outer loop instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If nested loops are executed in a pipelined fashion to improve DSP performance, then execution speed and productivity are improved, but the complexity of determining predicate values for outer loop instructions increases

Engineering Contradiction:
Improveexecution speedVSAvoidpredicate determination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

A predicate FIFO buffer is introduced as an intermediary mechanism between the loop counter and the predicate determination logic. The buffer stores predicate values in a first-in-first-out manner, allowing the pipelined execution to access previous predicate values without complex real-time calculations, thus reducing the complexity of predicate determination while maintaining high execution speed

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system pre-calculates and stores predicate values in the FIFO buffer before they are needed during pipelined execution. By preparing predicate values in advance based on loop counter thresholds, the system eliminates the need for complex predicate calculations during the critical execution path, resolving the contradiction between speed and complexity

Inventive Principle:
Principle #10Preliminary action

2Reliability

If multiple registers are used to track loop counters and predicates for pipelined execution, then execution accuracy is improved, but register overhead and device complexity increase

Engineering Contradiction:
Improveexecution accuracyVSAvoidregister overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent combines multiple functions into a unified nested loop controller structure. The loop counters, predicate generation logic, and FIFO buffer management are merged into a single integrated unit, reducing the total number of separate registers needed while maintaining execution accuracy through coordinated operation of the combined components

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20250117224A1Nested loop control
Publication Date: 2025.04.10 TEXAS INSTRUMENTS INC
  • US20250117224A1 patent drawing
  • US20250117224A1 patent drawing
  • US20250117224A1 patent drawing

AI summary

A nested loop controller includes a first register having a first value initialized to an initial first value, a second register having a second value initialized to an initial second value, and a third register configured as a predicate FIFO, initialized to have a third value. The second value is advanced in response to a tick instruction during execution of a loop. In response to the second value reaching a second threshold, the second register is reset to the initial second value. The nested loop controller further includes a comparator coupled to the second register and to the predicate FIFO and configured to provide an outer loop indicator value as input to the predicate FIFO when the second value is equal to the second threshold, and provide an inner loop indicator value as input to the predicate FIFO when the second value is not equal to the second threshold.