gpt4 book ai didi

memory - PCI BAR 内存地址

转载 作者:行者123 更新时间:2023-12-05 02:23:18 28 4
gpt4 key购买 nike

快速提问,我正在阅读有关 PCI 的 OSDev Wiki 页面,它说了以下内容 -

“基地址寄存器(或 BAR)可用于保存设备使用的内存地址,或端口地址的偏移量。通常,内存地址 BAR 需要位于物理 ram 中,而 I/O 空间 BAR 可以位于任何内存地址(甚至超出物理内存)。”

我不明白哪里说内存地址 BAR 需要位于物理 ram 中? MMIO 的全部意义在于,当它被分配一个内存地址时,它将被路由到设备而不是物理 RAM。它需要位于物理 RAM 中是什么意思?

它不会只是 3GB - 4GB 地址空间之间的地址,而不管安装了多少物理 RAM?

这是 OSDev 网站上的错误还是我误解了?

链接 - About halfway down, under the heading Base Address Registers

谢谢。

最佳答案

OSDev 站点正常。他们从 PCI 设备的角度而不是主机的角度描述内存/IO BARS。所以 OSDev 所说的内存 BAR 可以(但不一定)映射到 PCI 设备上的物理 RAM。而 IO BAR 通常是其他东西(寄存器、FIFO 等)。

另请注意,不鼓励使用 IO BAR。最好只使用内存 BAR。通常,您会有一个小的内存 BAR,它将所有寄存器分组。而其他 BAR 将暴露您的 PCI 设备的 RAM 片段。

关于memory - PCI BAR 内存地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23376954/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com