Superscalar Pipeline Memory Access Allocation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


