N-Dimensional Bus Arbitration Algorithm Scalable to Any Number of End Points
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing bus arbitration algorithms become complex and resource-intensive as the number of device nodes and decision criteria increase, leading to increased processing power and hardware costs, and fail to efficiently manage multiple priority levels and varied priority values.
Innovation Solution
An n-dimensional bus arbitration algorithm using a binary tree structure with binary comparators to compare requests from device nodes based on multiple parameters, reducing complexity by iteratively halving the number of inputs and comparators at each stage, and employing a round-robin criterion for ties.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the number of device nodes and decision criteria increase, then the arbitration capability and resolution are improved, but the algorithm complexity and hardware costs increase
Solution Approach 1:
The patent segments the arbitration process into multiple stages, where each stage handles a subset of device nodes. Instead of comparing all N device nodes simultaneously, the algorithm divides them into groups and performs pairwise comparisons in successive stages, reducing the complexity from O(N!) to O(N log N). This segmentation allows the system to handle larger numbers of device nodes and criteria without exponential complexity growth.
Solution Approach 2:
The patent introduces an additional dimension to the arbitration by incorporating multiple criteria (priority, byte count, data rate, etc.) as separate dimensions. Each device node is evaluated across multiple dimensions simultaneously, and the arbitration decision is made by comparing nodes across all dimensions. This multi-dimensional approach enhances arbitration capability while maintaining manageable complexity through structured comparison.
2Adaptability or versatility
If the number of device nodes and decision criteria increase, then the arbitration capability and resolution are improved, but the processing power and hardware costs increase
Solution Approach 1:
The patent segments the arbitration process into multiple stages, where each stage handles a subset of device nodes. Instead of comparing all N device nodes simultaneously, the algorithm divides them into groups and performs pairwise comparisons in successive stages, reducing the complexity from O(N!) to O(N log N). This segmentation allows the system to handle larger numbers of device nodes and criteria without exponential complexity growth.
Solution Approach 2:
The patent implements a staged comparison approach where not all device nodes are compared against all criteria simultaneously. Instead, comparisons are performed in stages, with each stage eliminating a portion of the device nodes based on the comparison results. This partial action approach reduces the total processing power required while still achieving comprehensive arbitration across all nodes and criteria.
3Productivity
If multiple priority levels are considered, then the arbitration fairness and efficiency are improved, but the queuing duration of lower priority requests increases
Solution Approach 1:
The patent incorporates a feedback mechanism through the round-robin tie-breaker that tracks the last granted device node. When multiple device nodes have identical priority values, the system uses the round-robin counter to ensure that lower priority requests eventually get granted the bus after higher priority requests are served. This feedback mechanism prevents indefinite queuing of lower priority requests while maintaining arbitration efficiency during high-priority periods.
Data Source
AI summary
A method, a system and a computer programmable product have been provided for arbitrating bus cycles among a plurality of device nodes. Requests for bus grant are received from the device nodes. Each request includes values of one or more arbitration parameters. The requests grouped at a first stage, with two requests in each group. A comparison is performed in each group, based on the values of the one or more parameters. Further, winners from each comparison are forwarded to a next stage. Subsequently, comparisons are performed over one or more stages to select a winner of the bus grant.


