Multi-Slice Processor Parallel Dispatching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern computer systems face inefficiencies due to the need for dedicated and space-consuming registers to handle segmented instructions, which can limit the parallel dispatching of multi-operation instructions in multi-slice processors.

Innovation Solution

The method involves determining whether an instruction needs to be broken into smaller operations, marking these operations for parallel dispatching, and dispatching them to distinct instruction issue queues during the same clock cycle, utilizing a multi-slice processor architecture with execution and load/store slices, and a dispatch network to optimize instruction execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If instructions are segmented into smaller operations and stored in dedicated registers, then instruction processing capability is improved, but space consumption and device complexity increase

Engineering Contradiction:
Improveinstruction processing capabilityVSAvoidspace consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent reuses general-purpose registers to store intermediate results of segmented instructions instead of using dedicated registers. The same registers that would normally hold operand data are utilized to store intermediate computation results, allowing one resource to serve multiple functions and eliminating the need for additional dedicated register space.

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

Solution Approach 2:

The patent allows intermediate results to be temporarily stored in general-purpose registers and then discarded or overwritten once the segmented instruction sequence completes. Registers that held intermediate values are recovered and made available for new instructions, creating a dynamic reuse pattern that reduces overall space requirements.

Inventive Principle:
Principle #34Discarding and recovering

2Reliability

If dedicated registers are used for segmented instructions, then processing reliability is improved, but device complexity and cost increase

Engineering Contradiction:
Improveprocessing reliabilityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

By making general-purpose registers multi-functional (serving both as operand storage and intermediate result storage), the patent maintains reliable data management through the existing register file infrastructure without adding complex dedicated register structures. The unified register management approach simplifies the overall device architecture while preserving processing reliability.

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

Solution Approach 2:

The patent enables the existing register file to serve itself by managing both operand data and intermediate results within the same structure. The register allocation and management logic handles intermediate value storage without requiring separate dedicated register structures, allowing the system to maintain reliability through its existing self-managing register infrastructure.

Inventive Principle:
Principle #25Self-service

3Productivity

If multi-operation instructions are processed sequentially, then device complexity is reduced, but productivity decreases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoiddispatching complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides multi-operation instructions into smaller sequential operations that can be dispatched independently to different execution units. Each segmented operation can be processed in parallel when resources are available, improving throughput while maintaining manageable dispatching complexity through systematic operation breakdown.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic dispatching where segmented operations are dispatched to available execution units based on real-time resource availability. The dispatching mechanism adaptively assigns operations to different execution units or queues depending on current processor state, enabling parallel processing when possible while maintaining simplicity when resources are constrained.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10970079B2Parallel dispatching of multi-operation instructions in a multi-slice computer processor
Publication Date: 2021.04.06 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10970079B2 patent drawing
  • US10970079B2 patent drawing
  • US10970079B2 patent drawing

AI summary

Parallel dispatching of multi-operation instructions in a multi-slice computer processor, including: determining whether an instruction must be broken into a plurality of smaller operations; marking each of the smaller operations as instructions to be dispatched in parallel; determining whether each of the operations can be dispatched to distinct instruction issue queues during a same clock cycle; and responsive to determining that each of the operations can be dispatched to distinct instruction issue queues during the same clock cycle, dispatching each of the operations to distinct instruction issue queues during the same clock cycle.