1

我想0x8000 0000直接在 MIPS 32 位架构中访问内存位置,而不使用TLBand MMU

在 MIPS32 中,kseg0是未映射和缓存的内存,是低 512MB 物理内存的窗口。因此,通过使用这个段,我们可以访问多达 512 MB 的物理内存。但我想访问0x8000 0000(最多 2GB)的物理内存。

有什么方法可以在不使用 MIPS32的情况下访问内存位置0x8000 0000(2 GB 的物理内存) ?MMUTLB

4

2 回答 2

1

您似乎正在寻求访问 32 位用户空间。

您可以在 MIPS 中通过 using 执行此操作,kuseg但您将无法0x8000.0000使用它进行访问,因为kusegis0x7FFF.FFFFkseg0映射到0x8000.0000.

请注意,kuseg, kseg0, kseg1, and kseg2映射 4 GB 内存(32 位)。

此链接及其上的图表应提供非常有价值的信息:http ://www.johnloomis.org/microchip/pic32/memory/memory.html 。

于 2013-06-22T01:46:55.967 回答
1

这实际上取决于您正在谈论的 MIPS。

在 MIPS32 R3 中,您可以通过 R3 ISA 中的新 EVA(增强虚拟地址)功能来实现这一点。

https://www.mips.com/application/login/login.dot?product_name=/auth/MD00952-2B-MIPS32r3-APP-01.03.pdf

于 2013-07-25T06:34:46.147 回答