PCI / PCIe应用程序中BAR位的定义是什么?

内存基地址寄存器的BAR的位定义是:

  • 位0:保留为0作为存储空间指示。
  • 位2~1:00表示32位访问空间;
  • 而11表示64位访问空间。
  • 位3:1表示存储器是可预取的,这意味着对读取没有副作用。

位31~4:最低位的0数用于定义16字节对齐的地址块中的存储条大小,而初始化期间最高位应为全1。

例1

对于32位宽的1KBytes不可预取的存储空间,将BAR设置为“0xFFFF_FC00”。

例2

对于32位宽的1MBytes可预取存储空间,将BAR设置为“0xFFF0_0008”。
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-27 12:00:17 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它