2010-10-30 92 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

相關問題