Cache Bank Conflict Resolution Logic for Multi-Bank Data Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiple bank data caches, bank conflicts occur when instructions attempt to access the same bank in a single clock cycle, leading to reduced processor performance due to stalled execution and lower memory access throughput.

Innovation Solution

The implementation of conflict resolution logic that prioritizes instructions based on access width and relative program order, allowing only one instruction to access the conflicted bank while redispatching others, thereby optimizing access to a multiple bank data cache.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple instructions access the same bank in a single clock cycle, then parallel processing capability is improved, but bank conflicts occur causing execution stalls and reduced throughput

Engineering Contradiction:
Improvememory access throughputVSAvoidexecution continuity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The conflict resolution logic performs preliminary detection of bank conflicts before instruction execution. By checking bank access patterns in advance and identifying potential conflicts, the system can prioritize instructions before they cause execution stalls, ensuring smoother throughput without compromising execution continuity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The conflict resolution logic acts as an intermediary between multiple instructions and the cache banks. It mediates access requests by detecting conflicts and applying prioritization rules, allowing the system to maintain high throughput while preventing execution stalls through intelligent arbitration

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If instructions are prioritized based on access width and program order, then memory access throughput is enhanced, but access control complexity increases

Engineering Contradiction:
Improvememory access throughputVSAvoidaccess control logic
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system changes prioritization parameters dynamically based on instruction characteristics. By using access width and relative program order as prioritization criteria, the conflict resolution logic adapts its decision-making to different instruction types and scenarios, enhancing throughput without requiring overly complex fixed-rule logic

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The prioritization process is segmented into distinct evaluation stages: first detecting bank conflicts, then evaluating access width, and finally considering program order. This segmentation breaks down the complex access control task into manageable steps, reducing overall logic complexity while maintaining high throughput

Inventive Principle:
Principle #1Segmentation

3Speed

If instructions on the critical path are prioritized, then processor performance is improved, but other instructions may experience delays

Engineering Contradiction:
Improveprocessor performanceVSAvoidinstruction dispatch delay
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The conflict resolution logic performs preliminary identification of critical path instructions using relative program order information. By detecting which instructions are on the critical path before execution, the system can prioritize them appropriately, improving processor performance while minimizing delays to other instructions through fair arbitration

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10095623B2Hardware apparatuses and methods to control access to a multiple bank data cache
Publication Date: 2018.10.09 TAHOE RES LTD
  • US10095623B2 patent drawing
  • US10095623B2 patent drawing
  • US10095623B2 patent drawing

AI summary

Methods and apparatuses to control access to a multiple bank data cache are described. In one embodiment, a processor includes conflict resolution logic to detect multiple instructions scheduled to access a same bank of a multiple bank data cache in a same clock cycle and to grant access priority to an instruction of the multiple instructions scheduled to access a highest total of banks of the multiple bank data cache. In another embodiment, a method includes detecting multiple instructions scheduled to access a same bank of a multiple bank data cache in a same clock cycle, and granting access priority to an instruction of the multiple instructions scheduled to access a highest total of banks of the multiple bank data cache.