Superscalar Pipeline Memory Access Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Superscalar data processing architectures face performance bottlenecks and increased complexity due to asymmetric execution pipelines, where only one pipeline handles memory access operations, leading to potential hazards and underutilization when multi-threading is introduced, as well as the need for complex hazard detection hardware.

Innovation Solution

Implementing multiple memory access capable pipelines, each associated with a subset of execution threads, allowing memory access operations to be allocated to specific pipelines, thereby reducing hazard detection requirements and enabling efficient operation across multiple threads without the need for complex hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If only one execution pipeline handles memory access operations, then hazard detection hardware is avoided, but pipeline utilization is reduced and performance bottlenecks occur when multi-threading is introduced

Engineering Contradiction:
Improvehazard detection hardwareVSAvoidpipeline utilization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent divides the execution pipelines into separate memory access capable pipelines and other operation pipelines. Each memory access capable pipeline is associated with specific execution threads, creating segmented functional units that can handle memory operations independently without requiring complex hazard detection hardware across all pipelines.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements local quality by making each memory access capable pipeline have specialized capabilities tailored to specific execution threads. Each pipeline is associated with a subset of execution threads and optimized for handling memory access operations for those threads, rather than requiring all pipelines to be universally capable.

Inventive Principle:
Principle #3Local quality

2Productivity

If multiple execution pipelines are allowed to handle memory access operations, then pipeline utilization is improved, but complex hazard detection hardware is required to detect and manage hazards

Engineering Contradiction:
Improvepipeline utilizationVSAvoidhazard detection hardware
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the pipeline system such that each memory access capable pipeline is associated with specific execution threads. This segmentation allows multiple pipelines to handle memory operations in parallel while limiting hazard detection requirements to only within each associated thread subset, rather than across all pipelines.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism where the issue logic allocates memory access operations to specific memory access capable pipelines based on thread association. This intermediary allocation mechanism simplifies hazard management by pre-determining which pipeline handles which thread's memory operations, reducing the need for complex real-time hazard detection hardware.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If symmetric pipelines are used where each pipeline can handle memory access operations, then throughput is maximized, but hazard detection hardware becomes very complex and costly

Engineering Contradiction:
ImprovethroughputVSAvoidhazard detection hardware
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements local quality by making each memory access capable pipeline have specialized capabilities tailored to specific execution threads. Each pipeline is associated with a subset of execution threads and optimized for handling memory access operations for those threads, rather than requiring all pipelines to be universally capable.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent divides the execution pipelines into separate memory access capable pipelines and other operation pipelines. Each memory access capable pipeline is associated with specific execution threads, creating segmented functional units that can handle memory operations independently without requiring complex hazard detection hardware across all pipelines.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7734897B2Allocation of memory access operations to memory access capable pipelines in a superscalar data processing apparatus and method having a plurality of execution threads
Publication Date: 2010.06.08 ARM LTD
  • US7734897B2 patent drawing
  • US7734897B2 patent drawing
  • US7734897B2 patent drawing

AI summary

A superscalar data processing apparatus and method are provided for processing operations, the apparatus having a plurality of execution threads and each execution thread being operable to process a sequence of operations including at least one memory access operation. The superscalar data processing apparatus comprises a plurality of execution pipelines for executing the operations, and issue logic for allocating each operation to one of the execution pipelines for execution by that execution pipeline. At least two of the execution pipelines are memory access capable pipelines which can execute memory access operations, and each memory access capable pipeline is associated with a subset of the plurality of execution threads. The issue logic is arranged, for each execution thread, to allocate any memory access operations of that execution thread to an associated memory access capable pipeline. Such a system has been found to provide an effective balance between increasing the efficiency of operation of the superscalar data processing apparatus when employing multiple execution threads whilst also alleviating the need for complex hardware to handle hazard detection.