L2 Cache Controller Multi-Buffer Pipelining for Hazard Stall Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data processing systems with second-level memory, existing technologies face challenges in managing multiple access requests from different requestors to various endpoints efficiently, leading to interference and performance degradation, especially when resources are conflicted or external influences occur.

Innovation Solution

A data processing system with a level two memory controller that includes four arbitration units to select and prioritize requests, ensuring independent operations across different pipelines, maintaining read/write ordering, and utilizing multiple buffers to maintain high throughput even in the presence of external stalls.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple access requests from different requestors are managed in a shared memory controller, then resource utilization improves, but interference and performance degradation occur

Engineering Contradiction:
Improveresource utilizationVSAvoidperformance stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The memory controller is segmented into multiple independent pipelines (first pipeline for CPU requests, second pipeline for DMA requests, third pipeline for internal cache requests). Each pipeline has dedicated arbitration units and buffer units, allowing simultaneous independent operation without mutual interference, thus maintaining high resource utilization while ensuring stable performance for each requestor type

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Pipeline arbitration units act as intermediaries between different requestors and the shared memory resources. These arbitration units independently manage and prioritize requests from different sources, coordinating access to prevent conflicts while maximizing overall resource utilization through fair scheduling

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If a single pipeline is used for memory access, then device complexity is reduced, but throughput and parallelism are limited

Engineering Contradiction:
ImprovethroughputVSAvoidcontroller architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The controller architecture is divided into three parallel pipelines, each handling specific types of requests independently. This segmentation enables simultaneous processing of multiple request types, achieving high throughput while keeping each individual pipeline relatively simple and manageable

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from a single-dimensional sequential processing model to a multi-dimensional parallel processing model by introducing multiple pipelines operating simultaneously. Each pipeline operates in its own dimension of execution, allowing throughput to scale with the number of pipelines while maintaining individual pipeline simplicity

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Reliability

If external memory responses are awaited synchronously, then data accuracy is ensured, but latency increases due to external stalls

Engineering Contradiction:
Improvedata accuracyVSAvoidaccess latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The buffer units pre-allocate storage space and prepare to receive external memory responses before the actual data transfer completes. This allows the memory controller to continue processing other requests without waiting for slow external memory operations, reducing latency while ensuring data accuracy through proper buffering and synchronization protocols

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

While one pipeline is waiting for external memory responses, other pipelines continue to process requests without interruption. The buffer units maintain continuous operation by decoupling the timing of request issuance from response receipt, ensuring that useful work continues throughout the system rather than stalling when external memory is slow

Inventive Principle:
Principle #20Continuity of useful action

4Productivity

If multiple requestors share the same memory controller resources, then resource efficiency improves, but resource conflicts and stalls occur

Engineering Contradiction:
Improveresource efficiencyVSAvoidrequest processing smoothness
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

Resources are segmented and dedicated to specific pipelines: CPU requests use the first pipeline with its dedicated arbitration and buffer units, DMA requests use the second pipeline with its own dedicated units, and internal cache requests use the third pipeline. This segmentation eliminates resource conflicts between different requestor types while maintaining high overall resource efficiency through parallel utilization

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each pipeline is self-sufficient with its own arbitration unit that independently manages its queue of requests and its own buffer units that handle its specific data flow. This self-service capability allows each requestor type to operate smoothly without being blocked or stalled by the activities of other requestors, while all pipelines collectively achieve high resource efficiency

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8732398B2Enhanced pipelining and multi-buffer architecture for level two cache controller to minimize hazard stalls and optimize performance
Publication Date: 2014.05.20 TEXAS INSTRUMENTS INC
  • US8732398B2 patent drawing
  • US8732398B2 patent drawing
  • US8732398B2 patent drawing

AI summary

This invention is a data processing system including a central processing unit, an external interface, a level one cache, level two memory including level two unified cache and directly addressable memory. A level two memory controller includes a directly addressable memory read pipeline, a central processing unit write pipeline, an external cacheable pipeline and an external non-cacheable pipeline.