Parallel Slice Processor Dispatch Logic for Thread Shadowing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In processor architectures, resources can be tied up when pipelines are busy, leading to reduced throughput due to stalled instruction streams, as existing designs often allocate specific resources and pipelines for execution, resulting in inefficiencies when all assigned pipelines are occupied.

Innovation Solution

A circuit arrangement with dynamically-combinable parallel execution slices and dispatch logic that allows for the execution of instructions from multiple streams, including supplemental instructions and support for various threading modes, enabling flexible assignment and partitioning of execution slices to maintain active states even during busy conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If specific resources and pipelines are allocated for execution of different instruction streams, then instruction stream execution is enabled, but resources remain tied up when pipelines are busy, reducing throughput

Engineering Contradiction:
Improveprocessor throughputVSAvoidresource allocation flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic resource allocation where execution slices can be reassigned between instruction streams based on real-time pipeline availability. Instead of static allocation, the system dynamically selects which instruction stream receives which execution slice, allowing resources to be freed and reassigned when pipelines become available, thus maintaining high throughput while preserving allocation flexibility.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal resource pool where execution slices serve multiple instruction streams rather than being dedicated to single streams. Each execution slice can handle instructions from any instruction stream, and the dispatch logic routes instructions to appropriate slices based on current workload and availability, enabling one resource to perform multiple functions across different instruction streams.

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

2Reliability

If multiple pipelines are assigned to an instruction stream, then program execution continues during busy conditions, but all pipelines may still become occupied, causing stalls

Engineering Contradiction:
Improveexecution continuityVSAvoidinstruction stream throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges multiple execution slices into a unified resource pool that serves all instruction streams collectively. Instead of maintaining separate pipeline assignments for each instruction stream, the system combines execution resources and uses centralized dispatch logic to allocate them dynamically, ensuring continuous execution while maximizing overall throughput through coordinated resource sharing.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces dispatch logic as an intermediary between instruction streams and execution slices. This mediator monitors pipeline availability and instruction readiness, making intelligent routing decisions to prevent stalls by directing instructions to available execution slices rather than allowing instruction streams to wait for specific dedicated pipelines.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If execution slices are dedicated to specific instruction streams, then instruction execution is simplified, but resource utilization decreases when pipelines are busy

Engineering Contradiction:
Improveinstruction execution simplicityVSAvoidresource utilization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the processor into multiple independent execution slices that can be individually allocated to different instruction streams. Each slice maintains its own execution simplicity while the system as a word achieves high utilization through flexible combination and reassignment of these segmented units based on real-time demand and pipeline availability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10838728B2Parallel slice processor shadowing states of hardware threads across execution slices
Publication Date: 2020.11.17 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10838728B2 patent drawing
  • US10838728B2 patent drawing
  • US10838728B2 patent drawing

AI summary

Supplemental instruction dispatch may be used in some instances in a parallel slice processor to dispatch additional instructions, referred to as supplemental instructions, to supplemental instruction ports of execution slices and using primary instruction ports of one or more execution slices to supply one or more source operands for such supplemental instructions. In addition, in some instances, in lieu of or in addition to supplemental instruction dispatch, selective slice partitioning may be used to selectively partition groups of execution slices in a parallel slice processor based upon a threading mode within which such execution slices are executing.