В программном пространстве MIPS arcitecture есть сегменты памяти kuseg, kseg0, kseg1 и kseg2. Есть ли какая-то историческая и логическая причина этого разделения?
Существуют логические причины существования сегментов памяти:
Вот для чего используются регионы:
Адреса KSEG1 не кэшируются и не переводятся MMU. KSEG1 является единственной областью памяти, которую можно использовать при сбросе, поскольку MMU и кэши на процессорах MIPS должны быть настроены с помощью загрузочного кода, который должен быть помещен в KSEG1.
KSEG0 предоставляет область адреса для ядра, которое кэшируется, но не отображается MMU.
KSEG2 используется для кода режима ядра, который отображается MMU и кэшируется.
KUSEG используется для кода режима пользователя, который отображается MMU и кэшируется.