摘要 |
The present invention is directed to methods and systems for allocating bandwidth (or other shared resource) among multiple masters. According to an aspect of the present invention, an arbiter assigns a bucket to each CPU (or other device) where each bucket holds the credits for that CPU. Each bucket has a predetermined fill rate and a drain rate. Depending on the priority given to a particular CPU, the corresponding bucket will drain (or fill) at a particular rate. For example, CPUs with a higher priority will drain at a slower rate. For each clock tick (or other period of time) that a CPU is stalled, a number of credits is accrued. The bucket with the highest number of credits has priority and will be given access to the shared resource (e.g., DRAM, SDRAM, SRAM, EPROM, etc.).
|