2010-10-30 90 views
7

在非常低的级别谈话,核心是如何初始化的?多核处理器如何启动?

+0

我会位数的也知道最初的OS(在硬件级别)如何确定有多少核心/封装/逻辑处理器 – PhiS 2010-10-30 12:14:22

+0

@PhiS:它只是问道。查看cpuid ... – Bahbar 2010-10-31 08:41:11

+0

@Bahbar如果系统中存在多个物理包,则由于您只收到包级别的信息(包内有多少个核心/日志处理器),所以@Bahbar CPUID不提供所有必要的信息。 – PhiS 2010-10-31 10:59:12

回答

6

你可以查看Intel specification中的所有血型细节。血淋淋的细节在第8.1章。

下面是一个摘录:

继上电或的 断言的RESET#引脚时, 系统总线上的每个处理器执行硬件 初始化处理器(称为 作为硬件的重置)以及可选的内置自测(BIST) 。 [剪断]在 这一点上,所采取的行动取决于 在处理器家族:

•P6系列处理器-所有的 系统总线(包括单处理器系统中的单个 处理器)上的处理器 执行所述多个处理器(MP) 初始化协议穿过 APIC总线。该处理器是 通过该协议作为 引导处理器(BSP)然后 立即开始在 当前代码段执行 软件初始化代码在 在EIP寄存器偏移量开始选择。

2

有引导多核SOC取决于架构,系统的多种方式 - AMP或SMP等 之一为双核SMP系统简单的方法是,在CPU0复位向量开始(例如00000000指向闪存启动监视程序存储在哪里)。在此期间,其他内核处于WFI(等待中断)或启动保持关闭状态。 CPU0启动并设置CPU1引导的接地。

进一步的细节 http://www.linux-arm.org/LinuxBootLoader/SMPBoot

freescale.com/files/32bit/doc/app_note/AN3542.pdf

相关问题