首页 » 技术SOS » 嵌入式系统 » MCU和嵌入式微处理器 » 请教mips cpu地址映射的问题?

请教mips cpu地址映射的问题?

菜鸟
2008-03-26 13:10:56     悬赏5分
在mips体系结构中,地址空间可以分为kuseg,k0seg,k1eg,k2seg.其地址范围我也就不说了,相信大家都知道的。关于虚拟地址和物理地址的映射,我有一个问题。在k1seg中,需要把0xa000_0000-0xbfff_ffff映射为0x0000_0000-0x1fff_ffff,那么这个地址映射是通过硬件来完成的,还是通过软件来完成的阿?因为这个地址范围包含了0xbfc0_0000,它需要映射到物理地址为0x1fc0_0000.而这个地址是mips cpu的入口地址,cpu启动的时候,没有任何的软件而言,所有,我想应该是直接通过硬件把高位清零?对么?那么,kuseg,k0seg,k2seg当中的地址映射是不是通过软件来完成的? 还有,好像k0seg也是要把地址映射为0x0000_0000-0x1fff_ffff.这不是跟k1seg映射的物理地址冲突么?我看资料说,访问这段地址是通过cache来完成的。
分享
关键词: mips, cpu  
菜鸟
2008-03-26 13:11:48
1楼

所有,我想应该是直接通过硬件把高位清零?对么? Re:是通过硬件直接映射的。 那么,kuseg,k0seg,k2seg当中的地址映射是不是通过软件来完成的? Re:不确切记得这几个段中每一个段的映射方法;但如果是unmapped空间,则通过硬件直接映射;如果是mapped空间,则通过tlb进行虚实地址转换,应该是软硬件结合的吧。另外,有一个段的地址空间是否mapped可通过config寄存器进行控制,不记得是哪个段的,好像是k0seg。 还有,好像k0seg也是要把地址映射为0x0000_0000-0x1fff_ffff.这不是跟k1seg映射的物理地址冲突么?我看资料说,访问这段地址是通过cache来完成的。 Re:允许不同段的逻辑地址映射到相同的物理地址。

工程师
2008-03-31 18:09:33
2楼

这个问题还是真挺难得