Запутался в отображении памяти

Я недавно начал разбираться в низкоуровневых вещах и изучать загрузчики, операционные системы и т. д.

Насколько я понимаю, по крайней мере, для процессоров ARM, периферийные устройства инициализируются загрузчик, а затем они отображаются в пространство физической памяти. Отсюда код может получить доступ к периферийным устройствам, просто записав значения в область памяти, сопоставленную с регистрами периферийных устройств. Позже, если у чипа есть MMU, его можно будет использовать для дальнейшего переназначения в области виртуальной памяти. Я прав?

Я не понимаю (при условии, что то, что я сказал выше, верно):

  • Как загрузчик инициализирует периферийные устройства, если они еще не сопоставлены с адресным пространством?
  • При отображении виртуальной памяти есть таблицы, которые сообщают MMU, где что отображать. Но что определяет, где периферийные устройства отображаются в физической памяти?
7
задан tangrs 11 July 2011 в 10:38
поделиться