我想0x8000 0000直接在 MIPS 32 位架构中访问内存位置,而不使用TLBand MMU。
在 MIPS32 中,kseg0是未映射和缓存的内存,是低 512MB 物理内存的窗口。因此,通过使用这个段,我们可以访问多达 512 MB 的物理内存。但我想访问0x8000 0000(最多 2GB)的物理内存。
有什么方法可以在不使用 MIPS32的情况下访问内存位置0x8000 0000(2 GB 的物理内存) ?MMUTLB
您似乎正在寻求访问 32 位用户空间。
您可以在 MIPS 中通过 using 执行此操作,kuseg但您将无法0x8000.0000使用它进行访问,因为kusegis0x7FFF.FFFF和kseg0映射到0x8000.0000.
请注意,kuseg, kseg0, kseg1, and kseg2映射 4 GB 内存(32 位)。
此链接及其上的图表应提供非常有价值的信息:http ://www.johnloomis.org/microchip/pic32/memory/memory.html 。
这实际上取决于您正在谈论的 MIPS。
在 MIPS32 R3 中,您可以通过 R3 ISA 中的新 EVA(增强虚拟地址)功能来实现这一点。