系统启动时哪个核心首先初始化?

Kni*_*der 8 cpu bootloader

我想知道多核处理器的哪个核心在cpu启动时首先初始化?(我的意思是在引导程序级别)是第一个核心?还是随机核心?

Chr*_*ins 10

您想要阅读本地apic,您可以在"第2a卷"中阅读:

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标志在IA32_APIC_BASE MSR(见图10-5)的BSP的设置,这表明它是BSP.为所有其他处理器清除此标志.

BSP执行BIOS的引导代码以配置APIC环境,设置系统范围的数据结构,以及启动和初始化AP.当BSP和AP初始化时,BSP然后开始执行操作系统初始化代码.