Почему в MIPS Architecture программа Space разделена на 4 области? - PullRequest
4 голосов
/ 13 октября 2011

В программном пространстве MIPS arcitecture есть сегменты памяти kuseg, kseg0, kseg1 и kseg2. Есть ли какая-то историческая и логическая причина этого разделения?

1 Ответ

6 голосов
/ 13 октября 2011

Существуют логические причины существования сегментов памяти:

  1. Кэши в MIPS должны быть инициализированы загрузочным кодом (в отличие от кешей x86, которые инициализируются аппаратным обеспечением).
  2. Блок управления памятью (MMU) во встроенных системах является необязательным, поэтому полезно иметь явные области физической памяти, зарезервированные для ядра и недоступные для кода режима пользователя.

Вот для чего используются регионы:

  • Адреса KSEG1 не кэшируются и не переводятся MMU. KSEG1 является единственной областью памяти, которую можно использовать при сбросе, поскольку MMU и кэши на процессорах MIPS должны быть настроены с помощью загрузочного кода, который должен быть помещен в KSEG1.

  • KSEG0 предоставляет область адреса для ядра, которое кэшируется, но не отображается MMU.

  • KSEG2 используется для кода режима ядра, который отображается MMU и кэшируется.

  • KUSEG используется для кода режима пользователя, который отображается MMU и кэшируется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...