Extensible Execution Unit Interface Architecture for Flexible Decode Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The development of application-specific programmable chips is hindered by the substantial upfront efforts and costs associated with designing, testing, and verifying multiple integrated functional units, despite design reuse efforts, as different workloads require optimized instruction sets and execution units.

Innovation Solution

An extensible execution unit interface architecture that tightly couples decode logic across multiple execution units with varying priorities, allowing instructions to be forwarded to the highest priority unit for execution, enabling flexible integration of auxiliary execution units to enhance or replace general purpose processing core functionality without modifying the core.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple execution units are integrated into a programmable chip to optimize different workloads, then application-specific performance is improved, but design and verification costs increase substantially

Engineering Contradiction:
Improveapplication-specific performanceVSAvoiddesign and verification costs
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The decode logic is designed to handle multiple execution unit types (fixed point, floating point, graphics, physics, encryption) through a universal interface. A single decode logic unit can decode instructions for various execution unit types, allowing one component to serve multiple functions and reducing the need for separate dedicated decode logic for each execution unit type.

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

Solution Approach 2:

The system dynamically selects which execution unit receives decoded instructions based on runtime conditions and priority schemes. The interface architecture allows flexible routing of instructions to different execution units depending on the current workload requirements, enabling adaptive optimization without hardwiring specific execution paths.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If multiple execution units with different instruction sets are integrated, then workload optimization is improved, but integration complexity increases

Engineering Contradiction:
Improveworkload optimizationVSAvoidintegration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A universal decode logic interface is provided that can decode instructions for multiple execution unit types through a common protocol. This universal interface reduces integration complexity by standardizing the interaction between decode logic and various execution units, eliminating the need for multiple specialized interfaces.

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

Solution Approach 2:

The decode logic interface acts as an intermediary layer between the instruction stream and multiple execution units. It mediates the interaction by translating and routing instructions appropriately, shielding the complexity of multiple execution unit interfaces from the rest of the system and simplifying integration.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of manufacture

If design reuse is employed to reduce development costs, then custom logic requirements increase, but this increases verification efforts

Engineering Contradiction:
Improvedevelopment costsVSAvoidverification efforts
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The decode logic interface is designed as a reusable universal component that can work with multiple execution unit types. By providing a standardized interface, the same decode logic can be reused across different configurations, reducing the amount of custom logic needed and simplifying verification since the interface behavior is consistent and predictable.

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

Solution Approach 2:

The system allows configuration of priority schemes and execution unit selections through parameters rather than requiring custom logic for each configuration. By changing parameters such as priority assignments and execution unit identifiers, the same hardware interface can be adapted to different applications without redesign, reducing both custom logic and verification burden.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9594562B2Extensible execution unit interface architecture with multiple decode logic and multiple execution units
Publication Date: 2017.03.14 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9594562B2 patent drawing
  • US9594562B2 patent drawing
  • US9594562B2 patent drawing

AI summary

Various circuit arrangements tightly couple together decode logic associated with multiple types of execution units and having varying priorities to enable instructions that are decoded as valid instructions for multiple types of execution units to be forwarded to a highest priority type of execution unit among the multiple types of execution units. Among other benefits, when an auxiliary execution unit is coupled to a general purpose processing core with the decode logic for the auxiliary execution unit tightly coupled with the decode logic for the general purpose processing core, the auxiliary execution unit may be used to effectively overlay new functionality for an existing instruction that is normally executed by the general purpose processing core, e.g., to patch a design flaw in the general purpose processing core or to provide improved performance for specialized applications.