STARTUP IPI 对应用处理器有什么影响?

What is the effect of STARTUP IPI on Application Processor?

我现在正在尝试了解启动过程以及处理器如何初始化。我已阅读多处理器规范部分 B.4.2,但我不清楚 INIT IPISTARTUP IPIBSPAP 的作用。

一般; INIT IPI 就像(逻辑)CPU 的软重置,将其放入 "wait for SIPI state"。 Intel 手册中有一个 table 显示各种寄存器在开机后、复位后和 INIT IPI 后的默认值。

Startup IPI 是一种告诉 CPU 在某个地址(从 Startup IPI 的 "vector field" 派生的地址)开始执行的方法可以设置可用的 IDT。这也会将 CPU 从 "wait for SIPI state" 中剔除。某些(大多数)CPU 不在 "wait for SIPI state" 中时会响应 Startup IPI,但如果没有之前的 INIT IPI,您就不能期望 [=29] =]当时处于known/safe状态。

所有 CPU 对 INIT IPIStartup IPI 的响应相同。 BSP 和 AP 之间的主要区别在于上电期间(BSP 执行固件,而 AP CPUs 等待)。