为什么MIPS Architecture程序空间分为4个区域?

时间:2011-10-12 22:17:45

标签: mips

MIPS arcitecture程序空间具有kuseg,kseg0,kseg1和kseg2内存段。 这种划分背后有历史和逻辑上的原因吗?

1 个答案:

答案 0 :(得分:6)

存在内存段的逻辑原因是:

  1. MIPS中的缓存需要通过引导代码进行初始化(与硬件初始化的x86缓存不同)。
  2. 嵌入式系统中的内存管理单元(MMU)是可选的,因此为内核保留显式物理内存区域并且用户模式代码无法访问它是很有用的。
  3. 以下是区域的用途:

    • KSEG1地址未缓存且未由MMU翻译。 KSEG1是唯一可以在复位时使用的存储区域,因为MIPS CPU上的MMU和高速缓存必须由引导代码配置,引导代码必须放在KSEG1中。

    • KSEG0为缓存但未由MMU映射的内核提供地址区域。

    • KSEG2用于由MMU映射并缓存的内核模式代码。

    • KUSEG用于由MMU映射并缓存的用户模式代码。