Arbitration Matrix for Shared Resource Priority

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer systems, existing arbitration algorithms for prioritizing requests from multiple agents for access to shared resources, such as memory, often face challenges in efficiently determining priority, especially when multiple requests are concurrent, leading to potential delays and inefficiencies.

Innovation Solution

A method and apparatus utilizing a matrix to store numerical comparisons between agents' priority values, allowing a control circuit to determine which agent has higher priority and grant access to the shared resource, thereby optimizing access decisions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If complex arbitration algorithms are used to determine priority, then priority determination accuracy is improved, but arbitration time and system complexity increase

Engineering Contradiction:
Improvepriority determination accuracyVSAvoidarbitration time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent pre-calculates and stores priority comparison results in a matrix before arbitration is needed. When multiple agents concurrently request access to a shared resource, the controller simply retrieves pre-stored comparison results from the matrix rather than performing complex comparisons in real-time, thus resolving the contradiction between accurate priority determination and arbitration time

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent anticipates potential arbitration scenarios by pre-establishing priority relationships between all pairs of agents in a matrix. This preliminary anti-action prevents the need for complex real-time calculations during actual arbitration, maintaining both accuracy and speed

Inventive Principle:
Principle #9Preliminary anti-action

2Measurement precision

If complex arbitration algorithms with multiple factors are used, then priority determination accuracy is improved, but device complexity increases

Engineering Contradiction:
Improvepriority determination accuracyVSAvoidarbitration mechanism complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent moves the complexity of priority determination from the arbitration moment to a preliminary setup phase. A matrix storing pre-calculated priority relationships between all agent pairs is created in advance, simplifying the actual arbitration mechanism to merely querying this pre-established data structure, thus resolving the contradiction between accuracy and device complexity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a simplified copy of the complex priority determination logic in the form of a lookup matrix. Instead of implementing complex comparison algorithms in the arbitration path, the system uses a pre-computed matrix that copies the essential priority relationships, reducing device complexity while maintaining determination accuracy

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8856459B1Matrix for numerical comparison
Publication Date: 2014.10.07 APPLE INC
  • US8856459B1 patent drawing
  • US8856459B1 patent drawing
  • US8856459B1 patent drawing

AI summary

A method and apparatus for utilizing a matrix to store numerical comparisons is disclosed. In one embodiment, an apparatus includes an array in which results of comparisons are stored. The comparisons are performed between numbers associated with agents (or functional units) that have access to a shared resource. The numbers may be a value to indicate a priority for their corresponding agents. The comparison results stored in an array may be generated based on comparisons between two different numbers associated with two different agents, and may indicate the priority of each relative to the other. When two different agents concurrently assert requests for access to the shared resource, a control circuit may access the array to determine which of the two has the higher priority. The agent having the higher priority may then be granted access to the shared resource.