我想0x8000 0000
直接在 MIPS 32 位架构中访问内存位置,而不使用TLB
and MMU
。
在 MIPS32 中,kseg0
是未映射和缓存的内存,是低 512MB 物理内存的窗口。因此,通过使用这个段,我们可以访问多达 512 MB 的物理内存。但我想访问0x8000 0000
(最多 2GB)的物理内存。
有什么方法可以在不使用 MIPS32的情况下访问内存位置0x8000 0000
(2 GB 的物理内存) ?MMU
TLB
您似乎正在寻求访问 32 位用户空间。
您可以在 MIPS 中通过 using 执行此操作,kuseg
但您将无法0x8000.0000
使用它进行访问,因为kuseg
is0x7FFF.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(增强虚拟地址)功能来实现这一点。