关于多核cpu的地址访问到同一个内存方法

基于mips架构的loongson3A-4核cpu

当一个cpu具有多个物理核心时,他们的虚拟地址时不一样的,但是最后都能访问到内存条,宏观上的路径时怎么走的?

假设一下每个cpu的虚拟地址:
核1:0000_0000--  ffff--ffff (0-4G)
核2:10000_0000--1ffff--ffff (4-8G)
核3:20000_0000--2ffff--ffff (8-12G)
核4:30000_0000--3ffff--ffff (12-16G)

假设每个cpu为32位,那寻址空间就是4G,这样叠加就是每个cpu的寻址范围了。
那么这样不同的寻址空间,最后是怎么落到同一个内存条的呢?

mips架构的cpu每个核心都有自己的地址窗口映射,也就相当于灵活设置不同的核心中不同地址访问的设备是那个,换句话说就是同一个内存条,只要那个核心的虚拟地址通过地址窗口之后,对应到这个内存条上,那么就访问到了。

地址窗口怎么使用,参考blog中的另一篇,地址窗口的使用。

你可能感兴趣的:(硬件知识)