1. ICR寄存器

logical processor可以使用ICR(interrupt command register)向一个一组logical processor发送inter-processor interrupt(IPI)进行通信,如实验18-6所示。

7. ICR寄存器-IPI

上图是在xAPIC模式下,64位的ICR分为两部分映射在物理地址上,高32位地址偏移量是310H,低32位地址偏移量是300H

x2APIC模式下使用RDMSR和WRMSR指令访问64位的MSR地址是830H

ICR与LVT寄存器部分域作用是相同的,此外还新增了几个域。

2. Destination Shorthand域

这个域设置发送IPI消息的目标类型

① 00(No Shorthand):这个模式用户可以提供发送的指定目标

② 01(Self):logical processor给自己发送IPI命令

③ 10(All including self):给所有logical processor发送IPI命令,包括自己。

④ 11(All excluding self):给所有logical processor发送IPI命令,但不包括自己

3. Destination Mode域

这个域使用在No Shorthand模式中,提供查找目标processor的方式

  • 0为physical方式
  • 1为logical方式

它们的使用依赖于LDR(Logical Destination Register)和DFR(Destination Format Register)。我们将在后面进行探讨。

4. Destination Field域

这个域提供目标processor地址。我们将在后面的发送IPI消息部分进行探讨。

在ICR的delivery mode里增加了2个交付模式Lowest Priority模式Start Up模式去掉了ExtINT模式

5. Lowest Priority模式

使用lowest priority交付模式匹配的目标logical prcessor一组logical processor运行在低优先级下。

6. Start Up模式

logical processor可以发送SIPI(Start-Up IPI)消息给目标logical prcessor一组logical processor

在MP系统里所有的AP(Application Processor,应用处理器)在完成自己的初始化后,进入wait-for-SIPI状态。

等待从BSP(Bootstrap Processor,自举处理器)发送过来的SIPI消息,然后每个AP处理器执行自己的配置程序

相关文章: