我想在MIPS 32位架构中直接访问内存位置0x8000 0000
,而不使用TLB
和MMU
。
在MIPS32中,kseg0
是未映射和缓存的内存,并且是低512MB物理内存的窗口。因此,通过使用这个段,我们可以访问多达512 MB的物理内存。但是我想访问0x8000 0000
(最多2GB)的物理内存。
MMU
和TLB
,是否有任何方法访问内存位置0x8000 0000
(2 GB物理内存)? 似乎您正在寻找访问32位用户空间。
你可以通过使用kuseg
在MIPS中做到这一点,但是你将无法使用它访问0x8000.0000
,因为kuseg
的限制是0x7FFF.FFFF
,因为kseg0
映射到0x8000.0000
。
注意kuseg, kseg0, kseg1, and kseg2
映射4gb内存(32位)。
这个链接和上面的图表应该提供非常有价值的信息:http://www.johnloomis.org/microchip/pic32/memory/memory.html.
这取决于你谈论的是哪种MIPS。
在MIPS32 R3中,您可以通过R3 ISA中的新EVA(增强虚拟地址)功能来做到这一点。
https://www.mips.com/application/login/login.dot?product_name=/auth/MD00952-2B-MIPS32r3-APP-01.03.pdf