当我们在 SMP 系统上启动内核时,CPU0 启动内核代码,在 CPUx 处于 WFI 状态时,CPU0 的主内存、缓存和 MMU 被初始化。当从 CPU0 发送 cpu_up(x) 时,每个 CPUx 都被初始化并调用 secondary_startup ,其中再次初始化 CPUx 特定的主存储器、高速缓存和 MMU。
现在我知道不同内核的缓存缓存可能不同,但是我们是否也有不同内核的主存和 MMU?我从来没有听说过。这里到底发生了什么,主存和 MMU 的划分是如何在 CPU 之间发生的?
当我们在 SMP 系统上启动内核时,CPU0 启动内核代码,在 CPUx 处于 WFI 状态时,CPU0 的主内存、缓存和 MMU 被初始化。当从 CPU0 发送 cpu_up(x) 时,每个 CPUx 都被初始化并调用 secondary_startup ,其中再次初始化 CPUx 特定的主存储器、高速缓存和 MMU。
现在我知道不同内核的缓存缓存可能不同,但是我们是否也有不同内核的主存和 MMU?我从来没有听说过。这里到底发生了什么,主存和 MMU 的划分是如何在 CPU 之间发生的?