计算机系统初始化与引导机制详解
1. 处理器与芯片组初始化
在系统启动过程中,处理器和芯片组的初始化是关键步骤。若预期的处理器在10毫秒定时器到期前出现,定时器可取消并跳至步骤10。步骤10是读取并评估COUNT变量,确定处理器数量;步骤11则是在必要时重新配置APIC,并继续进行其余系统诊断。
AP(Application Processor,应用处理器)的初始化序列如下: 1. 等待BIOS初始化锁信号量,获得控制权后继续初始化。 2. 将微代码更新加载到处理器。 3. 同步BSP(Boot Strap Processor,引导处理器)的MSRs(Model Specific Registers,模型特定寄存器)和MTRRs(Memory Type Range Registers,内存类型范围寄存器)。 4. 启用缓存。 5. 从本地APIC ID寄存器确定AP的APIC ID,并将其添加到MP(Multi-Processor,多处理器)和ACPI(Advanced Configuration and Power Interface,高级配置与电源接口)表中,还可选择添加到RAM中的系统配置空间。 6. 初始化并配置本地APIC,配置AP的SMI(System Management Interrupt,系统管理中断)执行环境,每个AP和BSP必须有不同的SMBASE地址。 7. 将COUNT变量加1。 8. 释放信号量。 9. 执行以下操作之一: - 如果不支持MONITOR/MWAIT,执行CLI(Clear Interrupt Flag,清除中断标志)和HLT(Halt,暂停)指令。