Meaning
Resource allocation conflicts in shared-bus architectures occur when one or more processing units are denied access to the communication medium. In systems with multiple controllers, multi-master starvation arises when high-priority devices continuously monopolize the bus, preventing lower-priority units from transmitting or accessing memory. This situation can lead to system hangs, data buffer overflows, execution timeouts and failure to meet real-time constraints.
This issue must be resolved through balanced and fair arbitration policies.
Arbitration Failure
Fixed-priority schemes often trigger this condition under heavy traffic conditions. The high-priority master continuously asserts its request, locking out other processors that require the same memory interface or bus lines. This condition persists as long as the dominant master has packets to send.
The starved masters remain idle, unable to progress their workloads.
System Consequence
Peripheral modules suffering from this deprivation cannot flush their internal buffers in time. This delay leads to data loss when new samples arrive and overwrite unread memory locations. Real-time control loops may fail if the feedback signals are delayed beyond their execution windows.
The overall system efficiency drops, leading to erratic device behavior.
Design Solution
Implementing round-robin arbitration ensures that every master receives a guaranteed share of the bandwidth. This approach prevents any single master from blocking the bus. Hardware designers must verify this arbitration behavior under simulated peak-load conditions during pre-silicon development.