Memory Access Management via Scoreboard Dependency Matrix

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory access management in computing devices is inefficient due to the need to decompose instructions accessing large memory regions into multiple cache-line accesses, leading to performance limitations and increased memory usage.

Innovation Solution

A system that includes a scoreboard and a dependency matrix to manage memory access operations by comparing address ranges instead of cache-lines, allowing for out-of-order execution of instructions with overlapping or non-overlapping address ranges without decomposing instructions, and using a scheduler and arbiter to handle dependencies and execution order.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If memory access instructions accessing large memory regions are decomposed into multiple cache-line accesses, then memory access granularity is improved, but instruction count and memory usage increase

Engineering Contradiction:
Improvememory access granularityVSAvoidinstruction count
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent segments the memory access management into two distinct components: a scoreboard that tracks uncompleted operations at the instruction level, and a dependency matrix that manages dependencies at the cache-line level. This segmentation allows the system to handle large memory regions as single instructions while maintaining fine-grained dependency tracking, thus avoiding the need to decompose instructions into multiple cache-line accesses.

Inventive Principle:
Principle #1Segmentation

2Reliability

If multiple memory access instructions accessing the same cache-line are executed in order, then data hazard prevention is ensured, but execution speed decreases

Engineering Contradiction:
Improvedata hazard preventionVSAvoidexecution speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic execution by allowing out-of-order execution of memory access instructions that access different cache-lines, while maintaining in-order execution for instructions accessing the same cache-line through the dependency matrix. The system dynamically determines execution order based on real-time dependency relationships, enabling parallel execution of independent instructions and improving overall execution speed while preventing data hazards.

Inventive Principle:
Principle #15Dynamics

3Productivity

If instructions accessing different cache-lines are executed out-of-order, then execution efficiency is improved, but dependency tracking complexity increases

Engineering Contradiction:
Improveexecution efficiencyVSAvoiddependency tracking complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a dependency matrix as an intermediary data structure that efficiently tracks dependencies between memory access instructions. The matrix uses cache-line addresses as indices to store dependency information, providing a compact and efficient mechanism for determining whether instructions can be executed out-of-order. This intermediary structure simplifies dependency tracking compared to more complex graph-based approaches while enabling efficient out-of-order execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Ease of operation

If a scoreboard tracks uncompleted memory access operations, then execution control is improved, but memory usage increases

Engineering Contradiction:
Improveexecution controlVSAvoidmemory usage
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent designs the scoreboard to serve multiple functions: tracking uncompleted memory access operations, storing instruction identifiers, and maintaining associations with cache-line addresses. By making the scoreboard multi-functional, the system avoids the need for separate data structures for each function, thereby reducing overall memory usage while maintaining comprehensive execution control.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11669273B2Memory access management
Publication Date: 2023.06.06 QUALCOMM INC
  • US11669273B2 patent drawing
  • US11669273B2 patent drawing
  • US11669273B2 patent drawing

AI summary

A device includes a scoreboard and a processor. The scoreboard includes scoreboard entries configured to store information regarding one or more uncompleted memory access operations. The scoreboard also includes a dependency matrix configured to store dependency information corresponding to the scoreboard entries. The processor is configured to retrieve a first memory access instruction that indicates a first address range of a first memory access operation, and to add an indication of the first memory access instruction to a first scoreboard entry. The processor is further configured to, based on determining that the first address range at least partially overlaps a second address range associated with a second scoreboard entry that corresponds to a second memory access instruction, set an element of the dependency matrix to have a has-dependency value indicating a dependency of the first scoreboard entry on the second scoreboard entry.