Switchable Conditional Execution in VLIW Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional VLIW processors face challenges in balancing energy consumption and performance due to limitations in conditional execution mechanisms, which often result in longer execution latency and increased power consumption, especially in achieving near-ASIC performance.

Innovation Solution

A switchable conditional execution apparatus for VLIW processors that includes instruction decoders, ALUs with control units, and a register file, allowing the processor to switch between conditional issue mode for energy-saving and conditional write-back mode for high-performance execution, with the compiler performing different scheduling schemes to optimize instruction execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conditional execution is implemented in conventional VLIW processors, then performance improvement is achieved through reduced pipeline stall, but execution latency increases and power consumption increases

Engineering Contradiction:
Improvepipeline execution performanceVSAvoidexecution latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements dynamic conditional execution by allowing conditional instructions to be executed speculatively without waiting for condition resolution. The system dynamically adjusts execution flow by inserting barrier instructions that control when subsequent instructions should execute, enabling the processor to proceed with conditional operations immediately while maintaining correctness through controlled synchronization points later in the pipeline.

Inventive Principle:
Principle #15Dynamics

2Productivity

If conditional execution is implemented in conventional VLIW processors, then dual-path execution capability is provided, but power consumption increases

Engineering Contradiction:
Improveparallel execution capabilityVSAvoidprocessor power consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent applies local quality by enabling conditional execution only in specific pipeline stages where it provides maximum benefit. Barrier instructions are strategically placed to enable speculative execution of conditional operations in early pipeline stages while maintaining power efficiency in later stages through controlled synchronization. This localized application of conditional execution allows dual-path capability where needed without unnecessarily increasing power consumption across the entire processor.

Inventive Principle:
Principle #3Local quality

3Loss of time

If conditional instructions are executed speculatively without condition resolution, then execution latency is reduced, but instruction correctness may be compromised

Engineering Contradiction:
Improveconditional execution latencyVSAvoidinstruction execution correctness
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent uses preliminary action by inserting barrier instructions at carefully selected points in the instruction stream. These barrier instructions are placed after speculative conditional executions to ensure that any subsequent instructions dependent on the conditional result are properly synchronized. The barrier mechanism preliminarily establishes the correct execution order and data dependencies before speculative operations occur, ensuring that correctness is maintained while enabling latency-reducing speculative execution.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7412591B2Apparatus and method for switchable conditional execution in a VLIW processor
Publication Date: 2008.08.12 IND TECH RES INST
  • US7412591B2 patent drawing
  • US7412591B2 patent drawing
  • US7412591B2 patent drawing

AI summary

An apparatus for switchable conditional execution in a VLIW processor is provided, comprising one or more decoders, one or more ALU with control units, and a register file. The decoder loads and decodes instructions from a fetch unit for decoding and sending the decoded instructions to the ALU with control units for execution. The register file stores and forwards the results on result buses to the decoders. The execution of a VLIW instruction includes a fetch stage, a decode stage, plural execution stages and a write-back stage. The invention has the features of approximate ASIC timing by conditional write-back with the compiler support for the conditional write-back, condition resolved just before write-back, software selective conditional issue and conditional write-back modes, and without hardware interlock/dependence checking for the VLIW processor.