xf2016的个人空间 https://blog.eetop.cn/1536195 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

umctl2的PA(port arbitor)模块工作机制

热度 1已有 287 次阅读| 2025-6-25 10:35 |个人分类:sdram controller|系统分类:芯片设计| PA

以下是基于文档的 uMCTL2 Port Arbiter (PA) 模块功能详解,按核心功能分层解析:

1. 多级仲裁机制

(1) 读写方向仲裁(Read/Write Arbitration)

  • 目标:动态选择当前周期处理读或写请求,最大化内存效率。

  • 决策依据

    • 信用机制:检查DDRC的读/写信用(Credits)是否可用。

    • 超时请求:优先处理达到超时(Priority0)的端口。

    • 方向切换代价:减少读写切换频率以提升总线效率。

  • 算法逻辑

    • 读模式

      • 持续处理读请求,直到:
               (a) 出现超时写请求(Priority0)且有写信用;
               (b) 无读信用且有待处理写请求。

    • 写模式

      • 持续处理写请求,直到:
               (a) 出现超时读请求(Priority0)或有高优先级读(HPR);
               (b) 无写信用且有待处理读请求。

  • 紧急信号
         arurgent/awurgent 信号可强制立即切换方向(需寄存器使能)。

(2) 超时仲裁(Port Timeout)

  • 机制

    • 每个端口的读/写请求设有老化计数器(Aging Counter),初始值由 PCFGR_n.rd_port_priority       等寄存器设定。

    • 计数器归零时触发 Priority0(最高优先级),防止饥饿。

  • 紧急信号联动
         arurgent/awurgent 可直接将端口提升至 Priority0(独立于计数器)。

2. 请求优先级分层

(1) 读请求分级(HPR/LPR/VPR)

  • HPR (High Priority Read)
         独占高优先级队列(需预留CAM空间),优先级      > LPR/VPR。

  • VPR (Variable Priority Read)

    • 未超时:视为 LPR(低优先级)。

    • 超时后:升级为       Priority0(优先级 > HPR)。

  • LPR (Low Priority Read)
         基础优先级,仅当无HPR/VPR超时时被调度。

(2) 写请求分级(NPW/VPW)

  • VPW (Variable Priority Write)

    • 未超时:视为 NPW(普通优先级)。

    • 超时后:升级为       Priority0。

  • NPW (Normal Priority Write)
         基础写优先级,与VPW未超时同级。

3. 端口(port)优先级策略

(1) 外部QoS优先级(UMCTL2_EXT_PORTPRIO=1)

  • 通过AXI的 arqos/awqos 信号动态设置16级优先级(值越高优先级越高)。

  • 适用于端到端QoS管理系统。

                      qos 端到端.png                        

Qos 端到端例子(由QOS来决定服务优先级)

(2) 内部老化优先级(UMCTL2_EXT_PORTPRIO=0)

  • 基于端口老化计数器的值自动计算优先级(32级)。

  • 计数器值越低,优先级越高(逼近超时则优先级提升)。

 

4. 仲裁收尾策略

  • 轮询仲裁(Round-Robin)
         同优先级请求按端口索引顺序轮流服务,保证公平性。

  • 触发条件
         经过前序仲裁层后仍存在多个同级请求。

 

5. 高级优化功能

(1) 页面匹配(Page Match)

  • 机制
         当端口连续访问相同Bank/Row(同一页)时,锁定该端口优先处理后续请求。

  • 释放条件

    • 其他端口出现Priority0请求;

    • 达到连续事务上限(默认4个);

    • 信用耗尽需切换方向。

  • 目的:减少DDR预充电开销,提升带宽利用率。

(2) 独占写锁(Write Exclusive Access Lock)

  • 确保AXI独占写(Exclusive Access)的多命令原子性。

  • 锁定期间不响应其他请求,防止数据竞争。

 

6. 特殊模式支持

(1) 双HIF模式(UMCTL2_DUAL_HIF=1)

  • 读写并行:读/写请求可同时提交至HIF,跳过读写仲裁层。

  • 保留机制:超时、优先级、轮询等仲裁仍生效。

(2) RDIMM适配

  • 自动处理DDR4      RDIMM的时序约束(如Staggered CS、Output      Inversion)。

 

总结:PA模块核心价值

  1. 多层仲裁:通过方向选择→超时处理→分级优先级→轮询的四层仲裁,平衡效率、实时性与公平性。

  2. 智能优化:页面匹配减少DDR操作开销,信用机制防止过载。

  3. 灵活配置:支持外部QoS或内部老化策略,适配不同场景。

  4. 异常处理:超时与紧急信号确保关键请求低延迟响应。

最终目标:在满足DDR协议约束下,最大化多端口内存访问的吞吐量与实时性。

 


1

点赞

刚表态过的朋友 (1 人)

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 1

    周排名
  • 1

    月排名
  • 11

    总排名
  • 0

    关注
  • 2

    粉丝
  • 1

    好友
  • 3

    获赞
  • 0

    评论
  • 18

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-6-27 13:54 , Processed in 0.013811 second(s), 9 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部