Pipelined Prefetcher Parallel Data Stream Advancement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern processors face challenges in efficiently executing complex instructions, such as floating-point operations and data moves, which require more resources and time, impacting overall throughput, especially in applications like internet, text, and multimedia processing.

Innovation Solution

The implementation of a pipelined prefetching mechanism that advances multiple data streams in parallel, utilizing out-of-order processors and SIMD technology to execute instructions quickly by optimizing the execution units and register architectures, allowing for faster execution of packed data operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If pipelined prefetching mechanism is implemented to advance multiple data streams in parallel, then processor throughput is improved, but device complexity increases

Engineering Contradiction:
Improveprocessor throughputVSAvoidprefetching mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The prefetching mechanism is divided into multiple independent pipelines, each handling a separate data stream. This segmentation allows parallel advancement of multiple streams while keeping each individual pipeline relatively simple, resolving the contradiction between throughput improvement and complexity increase.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Data is prefetched in advance before it is actually needed for execution. By performing preliminary data stream advancement through multiple parallel pipelines, the system prepares data ahead of time, improving throughput without requiring complex real-time data handling mechanisms.

Inventive Principle:
Principle #10Preliminary action

2Speed

If out-of-order processing is used to execute instructions quickly, then execution speed is improved, but reliability of instruction execution order deteriorates

Engineering Contradiction:
Improveinstruction execution speedVSAvoidinstruction execution order
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system uses feedback mechanisms to track and manage out-of-order execution. By monitoring execution status and providing feedback control, the system can execute instructions out of order for speed while maintaining reliable ordering through feedback-driven coordination and completion tracking.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10157136B2Pipelined prefetcher for parallel advancement of multiple data streams
Publication Date: 2018.12.18 INTEL CORP
  • US10157136B2 patent drawing
  • US10157136B2 patent drawing
  • US10157136B2 patent drawing

AI summary

A processor includes a front end to decode instructions, an execution unit to execute instructions, multiple caches at different cache hierarchy levels, a pipelined prefetcher, and a retirement unit to retire instructions. The prefetcher includes circuitry to receive a demand request for data at a first address within a first line in a memory and, in response, to provide the data at the first address to the execution unit for consumption, to prefetch a second line at a first offset distance from the first line into a mid-level cache, and to prefetch a third line at a second offset distance from the second line into a last-level cache. The prefetcher includes circuitry to prefetch, in response to another demand request, the third line into the mid-level cache, and a fourth line into the last-level cache. The prefetcher enforces minimum or maximum offset distances between prefetched data streams.