4

Поймите, что я НЕ спрашиваю о том, как настроен MMIO (ввод / вывод с отображением в памяти), но спрашиваю, как он отображается, то есть, что именно отображает? Не то, что сопоставлено с чем, я могу Google карту памяти для этого.

То, что я хочу знать, например, когда вы впервые включаете компьютер, что именно "отображает" память или как это работает?

В основном, что настраивает память или "отображает" ее для определенных целей?

Первоначально я думал, что это загрузочная прошивка, как BIOS или EFI/UEFI, но другой пользователь на другом сайте сказал мне, что это связано с контроллером памяти. Это правда?

Но как, если поподробнее, если не слишком много спрашивать? Большое спасибо всем, кто разъяснит!

1 ответ1

7

Есть несколько шагов. Во-первых, BIOS обнаруживает все устройства в системе. Затем он опрашивает каждое устройство, чтобы решить, будет ли BIOS настраивать это устройство, и, если это так, определить, сколько адресного пространства памяти, если оно есть, требуется устройству. Затем BIOS назначает пространство каждому устройству и программирует декодер адресов, записывая его в BAR (регистр базового адреса).

В итоге, BIOS:

  1. Обнаруживает BAR устройства (регистр базового адреса). Каждое устройство может иметь до шести BAR.

  2. Для каждого BAR спрашивает BAR, сколько ему требуется адресного пространства.

  3. Назначает BAR блок адресного пространства.

  4. Программирует BAR с базовым адресом выбранного блока адресного пространства памяти.

Декодер адреса устройства теперь отвечает на чтение и запись в этом блоке адресного пространства. С этого момента, когда ЦП (или любое устройство в системе, способное к DMA) считывает или записывает на любой адрес в этом диапазоне, устройство будет отвечать на запрос.

Обратите внимание, что устройству не назначена память . Память на устройстве. Это адресное пространство памяти, которое назначено устройству.

Конечно, вы можете найти процесс, подробно описанный на странице конфигурации PCI в Википедии.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .