pcie中 rc 的type 1配置空间

1、rc 的 bar0/bar1 做什么用的?

Root Complex(RC) 中,BAR0 和 BAR1 的作用与 普通 PCIe Endpoint 类似:
  • BAR0:通常映射设备的 控制寄存器空间;
  • BAR1:在 64-bit 地址映射 场景下,作为 BAR0 的高 32 位地址扩展,两者共同组成一个 64-bit 的 Memory BAR

rc 的bar0 和bar1  配置32bit , ep 可以通过bar 去访问rc 的内部寄存器,比如dma 寄存器

rc 的bar0 和bar1 可以配置成64bit(rambus 家)  ep 可以通过bar01 去访问 rc 的config配置空间

2、rc 的 mem base /limit 已经prefetchable 这些做什么用的?

  • Prefetchable Memory Space(P-MMIO)
  • Non-Prefetchable Memory Space(NP-MMIO)
  • IO Space(IO)

上述这些是rc  给ep 分配地址范围,

 作用   ep 的 TLP (Mrd/Mwr 读写的地址) 

如果访问在rc 配置的mem base 和limit 之间 ,那么rc 回复 UR

如果访问在rc 配置的mem base 和limit 之间 ,那么rc 回复 UR

3 、rc 发出的mem 读写与 mem base/limit /prefetchable 有关系吗?

    无关系,rc 可以发送出 任意的地址的mwr/mrd 

 

posted @ 2025-07-24 20:55  Arqin  阅读(68)  评论(0)    收藏  举报