Asymmetrical Execution Pipelines for Multithreaded Processor Resource Conflict Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multithreaded processors face performance limitations due to serial processing of program threads when they have integer or Boolean instructions, and the use of symmetrical execution pipelines increases die size and power consumption.

Innovation Solution

Implementing asymmetrical execution pipelines that support different sets of instructions, with a decode circuit that assigns threads to pipelines based on priority and updates thread assignments on a cycle-by-cycle basis to optimize resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If symmetrical execution pipelines are used to support multithreaded operation, then concurrent processing capability is improved, but die size and power consumption increase

Engineering Contradiction:
Improveconcurrent processing capabilityVSAvoiddie size
Core Design Contradiction:
ProductivityVSWeight of stationary object

Solution Approach 1:

The patent implements asymmetrical execution pipelines where different pipelines support different subsets of instructions rather than identical symmetrical pipelines. This allows the processor to handle multiple thread types efficiently without duplicating full pipeline functionality for each thread, thereby reducing die size while maintaining concurrent processing capability.

Inventive Principle:
Principle #4Asymmetry

Solution Approach 2:

The decode circuit is designed to dynamically assign different thread types to different execution pipelines based on the instruction set being executed. This multi-functional decode circuit can route integer instructions, Boolean instructions, and other thread types to appropriate pipelines, allowing a single pipeline to serve multiple purposes across different time cycles, thus reducing the need for multiple dedicated pipelines.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If symmetrical execution pipelines are used to support multithreaded operation, then concurrent processing capability is improved, but power consumption increases

Engineering Contradiction:
Improveconcurrent processing capabilityVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

By implementing asymmetrical pipelines with specialized instruction set support, the processor activates only the necessary pipeline components for each thread type being executed. This prevents power-wasting activation of unused pipeline stages and reduces overall power consumption compared to keeping multiple full-featured symmetrical pipelines active.

Inventive Principle:
Principle #4Asymmetry

Solution Approach 2:

The decode circuit dynamically routes different thread types to appropriate execution pipelines based on current workload requirements. This ensures that execution pipelines are activated only when needed and deactivated when not in use, optimizing power consumption by avoiding continuous operation of all pipeline components regardless of actual processing needs.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If threads are assigned to specific execution pipelines, then processing efficiency is improved, but resource conflicts occur when threads require the same shared circuit

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidresource conflict
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The decode circuit implements dynamic thread-to-pipeline assignment that adjusts in real-time based on the current instruction requirements and pipeline availability. Rather than static assignment, the system continuously monitors and reassigns threads to appropriate pipelines, allowing flexible resource sharing and conflict resolution while maintaining high processing efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms where the decode circuit monitors pipeline status and instruction requirements, then adjusts thread assignments accordingly. This feedback loop enables the system to detect potential resource conflicts before they occur and reassign threads to avoid conflicts, ensuring both high efficiency and reliable resource management.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11531550B2Program thread selection between a plurality of execution pipelines
Publication Date: 2022.12.20 CADENCE DESIGN SYST INC
  • US11531550B2 patent drawing
  • US11531550B2 patent drawing
  • US11531550B2 patent drawing

AI summary

Techniques are disclosed relating to an apparatus that includes a plurality of execution pipelines including first and second execution pipelines, a shared circuit that is shared by the first and second execution pipelines, and a decode circuit. The first and second execution pipelines are configured to concurrently perform operations for respective instructions. The decode circuit is configured to assign a first program thread to the first execution pipeline and a second program thread to the second execution pipeline. In response to determining that respective instructions from the first and second program threads that utilize the shared circuit are concurrently available for dispatch, the decode circuit is further configured to select between the first program thread and the second program thread.