我想知道CPU启动时多核处理器的哪个核心首先初始化? (我的意思是在引导加载程序级别)是第一个核心?还是随机核心?
您想要阅读本地 apic,您可以在“卷 2a”中阅读:
http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
每个处理器都有一个相应的本地 apic,在每个本地 apic 中都有一个 apic ID 寄存器,它在系统初始化时被分配一个唯一的值。
上线的初始核心称为引导处理器 (BSP),实际上可以是芯片上的任何物理核心。更多信息位于“第 3a 卷”中,其中讨论了引导处理器选择过程。
以下是 vol3a 的摘录:
8.4.1 BSP 和 AP 处理器
MP 初始化协议定义了两类处理器:引导处理器 (BSP) 和应用处理器 (AP)。 MP 系统上电或复位后,系统硬件会动态选择系统总线上的处理器之一作为 BSP。其余处理器被指定为 AP。
作为 BSP 选择机制的一部分,BSP 标志在 BSP 的 IA32_APIC_BASE MSR(见图 10-5)中设置,表明它是 BSP。对于所有其他处理器,该标志被清除。
BSP 执行 BIOS 的引导代码来配置 APIC 环境、设置系统范围的数据结构以及启动和初始化 AP。当 BSP 和 AP 初始化时,BSP 然后开始执行操作系统初始化代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)