arm中常用的仲裁方案
在ARM架构的SoC设计中,总线仲裁器是共享总线系统的核心组件,负责在多个主设备(如CPU、DMA、GPU等)竞争总线资源时进行高效调度。以下是ARM系统中常用的仲裁方案及其技术特点:
⚙️ 一、轮询仲裁(Round Robin, RR)
- 工作原理:按固定顺序循环分配总线使用权。仲裁器维护一个主设备队列,依次授权。若当前设备无请求则跳过。
- 实现特点:
- 通过状态机(如Idle、Master1、Master2等状态)实现通道切换逻辑。
- AXI总线中需对写地址、写数据、读地址等通道独立仲裁。
- 优势:公平性强,避免低优先级设备“饿死”;硬件实现简单(移位寄存器或优先级编码器)。
- 变种:
- 加权轮询(Weighted RR):为设备分配权重(如权重2:1:1),高权重设备每轮可连续访问多次。
🔝 二、优先级仲裁(Priority-Based)
- 固定优先级(Fixed Priority)
- 每个主设备分配静态优先级,高优先级请求立即抢占总线。
- 缺点:低优先级设备易“饿死”,不适合混合负载系统。
- 动态优先级(Dynamic Priority)
- 优先级随系统状态调整(如基于任务紧迫性)。
- 案例:最小空闲时间优先(Least Slack First):根据截止时间动态计算优先级,紧急任务优先调度。
⚖️ 三、平等者间公平仲裁(Fair-Among-Equals)
- 分层策略:
- 组间:固定优先级(如High > Medium > Low)。
- 组内:同优先级设备采用RR仲裁。
- 应用场景:
- 高优先级组:CPU缓存填充请求(实时性要求高)。
- 平等组(Medium):多个DMA引擎(轮询分配带宽)。
- 优势:兼顾实时性与公平性,避免组内资源垄断。
🎫 四、彩票仲裁(Lottery)
- 核心机制:主设备持有“彩票”,随机数生成器选中彩票持有者获得总线权。
- 变种与改进:
- 静态彩票:彩票数固定,带宽分配概率可控。
- 动态彩票:彩票数实时调整,适应负载变化(如RT-Lottery支持硬实时任务)。
- 两级仲裁:第一级处理硬实时请求,第二级采用彩票分配剩余带宽。
- 局限:随机性导致响应时间不确定,需结合优先级优化。
⏱️ 五、时分复用(Time Division Multiplexing, TDM)
- 原理:将总线时间划分为固定时隙,预分配给各主设备。
- 扩展应用:
- 可编程带宽压缩:通过BRF(Bandwidth Reduction Factor)字段控制时隙利用率(25%/50%/75%/100%)。
- 案例:LCD控制器需实时刷新时,可分配10个时隙(占总数60%),确保显示无卡顿。
🚨 六、实时自适应仲裁
- 基于最小空闲时间优先(Least Slack First, LSF)
- 动态计算设备空闲时间(Slack Time = 截止时间 - 剩余服务时间),优先调度空闲时间最短的设备。
- 防颠簸机制:引入抢占阈值,避免频繁切换导致的性能损失。
- 抢占式仲裁(Lock/Grab)
- Lock:顺序等待仲裁后独占总线直至主动释放。
- Grab:立即抢占总线(UVM验证中用于模拟中断场景)。
🔄 七、混合仲裁策略
实际SoC常组合多种策略以平衡需求:
- 优先级+RR:高优先级设备(如中断控制器)用固定优先级,其余设备用RR。
- TDM+动态调整:如NS9750总线支持时隙分配与带宽压缩,动态响应LCD或以太网控制器需求。
- SPLIT/RETRY机制(AHB总线):
- SPLIT:Slave未准备好时通知仲裁器临时降低主设备优先级,准备完成后恢复。
- RETRY:Slave请求主设备稍后重试,不改变调度优先级。
📊 仲裁方案对比与选型指南
| 方案 | 公平性 | 实时性 | 硬件复杂度 | 适用场景 |
|---|---|---|---|---|
| 轮询 (RR) | ✅✅✅ | ⚖️ | 低 | 带宽均衡型系统(如DMA控制) |
| 固定优先级 | ❌ | ✅✅✅ | 低 | 实时关键设备(如CPU) |
| Fair-Among-Equals | ✅✅ | ✅✅ | 中 | 混合负载(如多核SoC) |
| 彩票仲裁 | ✅✅ | ⚖️ | 中高 | 带宽可控场景 |
| 最小空闲时间优先 | ⚖️ | ✅✅✅ | 高 | 强实时系统(如汽车ECU) |
💎 总结
ARM总线仲裁设计需根据实时性需求、带宽分配公平性及硬件开销综合选型:
- 高性能系统:优先组合Fair-Among-Equals与动态优先级(如ARM CoreLink NIC-400)。
- 实时控制系统:采用LSF或抢占式仲裁(如车载ECU)。
- 可编程灵活性:TDM+带宽压缩(如NS9750)满足多媒体设备动态需求。
混合策略已成为现代SoC主流,通过分层仲裁最大化总线利用率与响应效率。
浙公网安备 33010602011771号