Arbiter Circuit Arbitration Logic for Memory Bridge Resource Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data processing applications, existing resource arbitration methods fail to ensure fair and efficient access to shared resources among multiple devices, leading to insufficient resources for some devices and unnecessary resource utilization by others, due to lack of proper priority management and quality of service enforcement.
Innovation Solution
A circuit that manages and enforces arbitration and quality of service (QOS) among multiple devices accessing a resource, using per-device and bus counters to select requests based on device identifiers, resource counts, and threshold values, while suspending requests if counts fall below thresholds and employing buffers to manage request storage and backpressure.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a predetermined routine such as round-robin selection is used for arbitration, then the arbitration process is simple and fair among devices, but some devices may receive insufficient resources while others may utilize unnecessary resources
Solution Approach 1:
The arbitration system dynamically adjusts resource allocation based on per-device counter values that reflect current resource availability and device needs. Instead of static round-robin selection, the arbiter circuit selectively enables devices based on dynamic counter states, allowing the system to adapt resource distribution to changing conditions while maintaining operational simplicity
Solution Approach 2:
The system changes the arbitration parameter from fixed sequential selection to variable selection based on counter values. The arbiter circuit uses the per-device counter parameters to determine which devices are eligible for resource access, transforming the arbitration mechanism from a static routine to a parameter-driven dynamic process that optimizes resource allocation efficiency
2Productivity
If per-device counters are used to allocate resources selectively, then resource allocation efficiency is improved, but the device complexity increases
Solution Approach 1:
The arbitration system is segmented into independent per-device counter modules, each managing resource allocation for a specific device. This modular approach allows the complex arbitration logic to be distributed across multiple simple, identical counter units rather than concentrated in a single complex arbiter, making the system more manageable and easier to implement
Solution Approach 2:
The per-device counters serve as intermediary elements between the arbiter circuit and the devices. These counters abstract the complex resource allocation logic into simple increment/decrement operations and threshold comparisons, shielding the arbiter from complexity while enabling efficient resource allocation through standardized counter interfaces
3Reliability
If requests are suspended when counter values fall below thresholds, then quality of service is maintained, but the loss of time increases due to request delays
Solution Approach 1:
The system applies preliminary anti-action by proactively suspending requests before resource depletion occurs. When per-device counters approach threshold values, the arbiter preemptively disables further request acceptance for those devices, preventing quality of service degradation rather than reacting to it after the fact. This anticipatory approach maintains reliability by ensuring resources are available when needed
Solution Approach 2:
The arbitration system employs periodic action through cyclic arbitration rounds where devices are periodically re-evaluated. Suspended requests are not permanently blocked but are reconsidered in subsequent arbitration cycles when counter values may have changed, creating a rhythmic pattern of enable/disable that balances quality of service maintenance with eventual request fulfillment
Data Source
AI summary
An arbiter circuit manages and enforces arbitration and quality of service (QOS) among multiple devices accessing a resource, such as a memory. The arbiter circuit receives requests from a number of devices to use resources of a bridge connecting to a memory, and maintains a count of bridge resources available on a per-device and per-bus basis. The arbiter circuit operates to select a next one of the requests to grant a bridge resource based on the device originating the request, a count of the per-device resources available, and a count of the resources available to the bus connecting the device to the bridge.


