Writing /share/Web/wiki/data/cache/8/8305236108ac8b957d2894869ee2f40e.metadata failed
协议学习:x86:apic
差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 后一修订版 | 前一修订版 | ||
| 协议学习:x86:apic [2020/03/12 14:50] – 创建 zhangguo | 协议学习:x86:apic [2023/03/17 10:12] (当前版本) – 外部编辑 127.0.0.1 | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| apic | apic | ||
| + | |||
| + | https:// | ||
| + | |||
| + | https:// | ||
| + | |||
| + | https:// | ||
| + | |||
| + | |||
| + | |||
| + | https:// | ||
| + | |||
| + | apic 发展历程: | ||
| + | |||
| + | pic(8259) -> apic(早期P6) -> xapic(PENTIUM 4 AND XEON) -> x2apic | ||
| + | |||
| + | 检测APIC版本可以用CPUID指令。 | ||
| + | |||
| + | 在xAPIC模式中,寄存器是通过内存映射到一段物理地址。有一个默认值。防止同其他地址冲突,这个基地址又可以重新指定到另外一个地方。BIOS开发人员在对付APIC时可能会用到这个功能。 | ||
| + | |||
| + | 在x2APIC模式中,取消了内存映射方式来读取APIC的寄存器,而是采用了MSR的方式。MSR的全写是Model-specific register(每个型号特有的寄存器)这样的好处是不用再担心内存地址的冲突问题。 | ||
| + | |||
| + | 不同的APIC模式的开启,关闭以及状态切换之间又有一些规则。如果你要自己改这些地方,就要按照规定来。同时注意在x2APIC模式下,写入寄存器的时候不保证顺序,所以要自己小心,比如用个BARRIER之类的。 | ||
| + | |||
协议学习/x86/apic.1583995843.txt.gz · 最后更改: 2023/03/17 10:12 (外部编辑)