VLIW Processor Software Pipelined Loop Mechanism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing DSP architectures with hardware looping mechanisms face limitations in implementing large loops due to restricted instruction buffer sizes, which restricts the flexibility and efficiency of zero-overhead looping mechanisms.

Innovation Solution

A VLIW processor with a software pipelined loop mechanism that allows for zero-overhead execution of large instruction sets by using a program memory closely coupled with the instruction buffer, enabling block and iteration counters to manage loop execution without buffer size limitations, and generating control signals for parallel instruction execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a hardware looping mechanism with a dedicated loop buffer is used to achieve zero-overhead looping, then loop execution efficiency is improved, but the loop size is limited by the instruction buffer size

Engineering Contradiction:
Improveloop execution efficiencyVSAvoidloop size flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent divides the loop execution mechanism into two parts: a hardware looping mechanism for efficient execution and a software pipelining mechanism for extended range. The hardware buffer handles immediate execution while software pipelining manages larger loop structures, allowing the system to overcome the fixed buffer size limitation and support arbitrarily large loops.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent combines hardware looping mechanisms with software pipelining techniques to create a hybrid approach. By merging the speed advantages of hardware buffering with the flexibility of software-controlled pipelining, the system achieves both zero-overhead execution and the ability to handle large loops that exceed traditional buffer capacities.

Inventive Principle:
Principle #5Merging (Combining)

2Adaptability or versatility

If the instruction buffer size is increased to support larger loops, then loop size flexibility is improved, but device complexity and resource usage increase

Engineering Contradiction:
Improveloop size flexibilityVSAvoidinstruction buffer size
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic loop buffering where the effective buffer size is extended through software pipelining techniques. Instead of physically increasing the hardware buffer, the system dynamically manages instruction streams across multiple buffer cycles, allowing large loops to be executed by recycling buffer contents under software control.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent adds a temporal dimension to the buffer management by implementing software pipelining across multiple instruction cycles. Rather than expanding the buffer in space (size), the system extends the functional capacity in time by maintaining pipelined instruction streams that span multiple buffer refill cycles, effectively supporting larger loops without increasing physical buffer size.

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

3Adaptability or versatility

If software pipelining is used to implement large loops, then loop size flexibility is improved, but execution overhead increases

Engineering Contradiction:
Improveloop size flexibilityVSAvoidexecution overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent performs preliminary setup of software pipelined instruction streams before loop execution begins. By pre-configuring the pipelining structures and preparing instruction sequences in advance, the system minimizes the overhead during actual loop execution, allowing large loops to be handled efficiently with reduced runtime penalties.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent maintains continuous instruction flow through software pipelining, ensuring that useful work is performed across all pipeline stages simultaneously. By keeping the pipeline fully utilized and avoiding stalls or idle cycles, the system minimizes execution overhead while maintaining the ability to handle large loop sizes.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8447961B2Mechanism for efficient implementation of software pipelined loops in VLIW processors
Publication Date: 2013.05.21 TEJAS NETWORKS LTD
  • US8447961B2 patent drawing
  • US8447961B2 patent drawing
  • US8447961B2 patent drawing

AI summary

A system to implement a zero overhead software pipelined (SFP) loop includes a Very Long Instruction Word (VLIW) processor having an N number of execution slots. The VLIW processor executes a plurality of instructions in parallel without any limitation of an instruction buffer size. A program memory receives a Program Memory address to fetch an instruction packet. The program memory is closely coupled with the instruction buffer size to implement the zero overhead software pipelined (SFP) loop. The size of the zero overhead software pipelined (SFP) loop can exceed the instruction buffer size. A CPU control register includes a block count and an iteration count. The block count is loaded into a block counter and counts the plurality of instructions executed in the SFP loop, and the iteration count is loaded into an iteration counter and counts a number of iterations of the SFP loop based on the block count.