Что такое адресное пространство pci? - PullRequest
0 голосов
/ 26 мая 2018

Например, давайте предположим, что конечная точка PCIe запрашивает 1 МБ (MMIO) памяти, которая будет отображаться в карте памяти системы (адресное пространство памяти) BIOS во время процесса перечисления.Поэтому всякий раз, когда процессор получает доступ к этой области памяти, он будет направлен на устройство конечной точки.Я новичок в PCIe, и это мое понимание того, как устройство PCIe предназначено для использования MMIO (из карты памяти системы).Я где-то читал, что шина PCIe использует адресное пространство pci.Так, где именно адресное пространство PCI играет свою роль в этом процессе?Где находится адресное пространство PCI?

Было бы более полезным объяснение с примером.

Спасибо заранее !!!

1 Ответ

0 голосов
/ 28 мая 2018

PCI поддерживает 3 адресных пространства:
1. Пространство конфигурации PCI
2. Пространство ввода-вывода
3. Пространство MMIO

Способ доступа к каждому из этих адресных пространств зависит отсистема, к которой подключена шина PCI.

В системах x86 ЦП напрямую обращается к PCI MMIO, используя тот же физический адрес, который запрограммирован в BAR устройства.В этом случае адресное пространство PCI соответствует физическому адресному пространству ЦП.

Пространство конфигурации PCI в системах x86 может быть доступно программным способом одним из двух способов:
1. Записав регистр пространства конфигурации PCIадрес порта ввода / вывода 0cf8h, а также чтение или запись значения регистра с использованием порта ввода / вывода 0cfch.
2. В любой современной системе с помощью прямого MMIO по адресу, специфичному для платформы.В этом случае адрес регистра PCI добавляется к базе области MMIO для формирования физического адреса, используемого ЦП.

В других типах систем метод доступа к каждому из адресных пространств PCI можетотличаются.Например, ЦПУ может потребоваться использовать апертуру в физическом адресном пространстве ЦП для доступа к пространству PCI MMIO, аналогично тому, как доступ к пространству конфигурации PCI работает в системах x86.В такой системе адресное пространство PCI отличается от физического адресного пространства ЦП.

...