- 1. ICR寄存器
- 2. Destination Shorthand域
- 3. Destination Mode域
- 4. Destination Field域
- 5. Lowest Priority模式
- 6. Start Up模式
1. ICR寄存器
logical processor可以使用ICR(interrupt command register)向一个或一组logical processor发送inter-processor interrupt(IPI)进行通信,如实验18-6所示。
上图是在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处理器执行自己的配置程序。