从非常低的层面来讲,CPU核心是如何初始化的?
从非常低的层面来讲,CPU核心是如何初始化的?
您可以在英特尔规格说明书的第8.1章节中查看所有血腥细节。以下是其中一段摘录:
在上电或RESET#引脚断言后,系统总线上的每个处理器都会对处理器执行硬件初始化(称为硬件复位)和可选的内置自检(BIST)。[snip]此时,所采取的操作取决于处理器系列:
• P6系列处理器 - 系统总线上的所有处理器(包括单处理器系统中的单个处理器)通过APIC总线执行多处理器(MP)初始化协议。通过此协议选择的处理器作为引导处理器(BSP),然后立即开始在EIP寄存器中指定的当前代码段中执行软件初始化代码。
根据架构、系统-AMP或SMP等,启动多核SoC有多种方式。 对于双核SMP系统的简单方法之一是CPU0从复位向量(例如0x00000000,指向存储引导监视器程序的闪存)开始。此时,其他内核处于WFI(等待中断)或引导保持状态。 CPU0启动并设置CPU1的引导基础。
更多详细信息请参见 http://www.linux-arm.org/LinuxBootLoader/SMPBoot
freescale.com/files/32bit/doc/app_note/AN3542.pdf