非常に低レベルで話しますが、コアはどのように初期化されますか?
2 に答える
Intel の仕様ですべての悲惨な詳細を確認できます。悲惨な詳細は 8.1 章にあります。
ここに抜粋があります:
電源投入または RESET# ピンのアサートに続いて、システム バス上の各プロセッサは、プロセッサのハードウェア初期化 (ハードウェア リセットと呼ばれる) とオプションのビルトイン セルフテスト (BIST) を実行します。[中略] この時点で実行されるアクションは、プロセッサ ファミリによって異なります。
• P6 ファミリ プロセッサ - システム バス上のすべてのプロセッサ (ユニプロセッサ システムの単一プロセッサを含む) は、APIC バスを介して複数プロセッサ (MP) 初期化プロトコルを実行します。このプロトコルによってブートストラップ プロセッサ (BSP) として選択されたプロセッサは、EIP レジスタのオフセットから始まる現在のコード セグメントでソフトウェア初期化コードの実行を直ちに開始します。
アーキテクチャ、システム (AMP または SMP など) に応じて、マルチコア SoC を起動する方法は複数あります。デュアル コア SMP システムの簡単な方法の 1 つは、CPU0 がリセット ベクター (たとえば、ブート モニター プログラムが格納されているフラッシュ メモリを指す 0x00000000) で開始することです。 . この間、他のコアは WFI (割り込み待ち) またはブート ホールドオフ状態になります。CPU0 が起動し、CPU1 の起動用のグランドをセットアップします。
詳細については http://www.linux-arm.org/LinuxBootLoader/SMPBoot
freescale.com/files/32bit/doc/app_note/AN3542.pdf