マルチプロセッサプロセッサのどのコアが最初に初期化されるのか、CPUの起動時に知りたいのですが? (私はブートローダレベルで)を意味する最初のコアですか?ランダムコア?システム起動時にどのコアが最初に初期化されますか?
答えて
あなたは「ボリューム2A」は約読むことができるローカルAPICを、読みたい:
http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
各プロセッサは、対応するローカルAPICを持って、各ローカルAPICにAPIC IDレジスタがありますシステム初期化時に一意の値が割り当てられます。
オンラインになる最初のコアは、ブートストラッププロセッサ(BSP)と呼ばれ、実際にダイ上の物理的なコアである可能性があります。詳細は、「ボリューム3a」を参照してください。ここで、ブートストラッププロセッサの選択プロセスについて説明します。ここ
がvol3aからの抜粋である:ブートストラッププロセッサ(BSP)とアプリケーションプロセッサ:
8.4.1 BSPとAPプロセッサ
MP初期化プロトコルは、2つのプロセッサのクラスを定義します(AP)。 MPシステムのパワーアップまたはリセットに続いて、システムハードウェアは、システムバス上のプロセッサの1つをBSPとして動的に選択する。残りのプロセッサはAPとして指定されます。
BSP選択メカニズムの一部として、BSPフラグがBSPのIA32_APIC_BASE MSR(図10-5を参照)に設定され、BSPがBSPであることを示します。このフラグは、他のすべてのプロセッサーでクリアされます。
BSPは、BIOSのブートストラップコードを実行してAPIC環境を設定し、システム全体のデータ構造を設定し、APを起動および初期化します。 BSPおよびAPが初期化されると、BSPはオペレーティングシステム初期化コードの実行を開始します。
これは、プロセッサ自体のアーキテクチャによって異なります。このようなもののための標準は実際にはありません。例えば、PS3のコアには9つのコアがあり、他の8つのコアにタスクをスケジューリングします。この場合、他のプロセッサの前に1つのコア処理命令について考えることは公正です。分かりにくいものがあります。ブートローダーが命令をコアのセットに送信すると仮定することは賢明でしょう。論理ゲートが命令をコアに割り当てるときはいつでも、どのような方法ででも実行できます。ほとんどの場合、ブート時のタスクスケジューリングと他の時のタスクスケジューリングとの間に実際には違いがないことがわかっています。最も基本的なタスクスケジューリングハードウェアは、マシンによって最初に使用されたコアであると考えられる最初のコアを選択するだけです。しかし、私は別のマシンが異なっていると言っているように、あなたが使っているコアを見つけ出し、それが何をしているのかを確認することを提案します。がんばろう。
各プロセッサは、この1つはローカルAPICレジスタから読み取ることができる、関連するローカルAPIC IDを持つ独自のローカルAPICを持っている(同じものが各プロセッサに異なるIDを与える)
- 1. Unityシステム実装:アプリの起動時にクラッシュ - MetadataCache ::初期化()
- 2. Spring起動時にElasticsearchが初期化されない
- 3. 起動時にパラメータ化された初期化を持つシングルトンデータベースオブジェクト?
- 4. サーバ起動時のデータソースの初期化
- 5. 起動時のオブジェクト初期化のパターン
- 6. 再起動時にサービスが最初に開始されます
- 7. 初期化時に$ watchCollectionが起動されないようにする
- 8. onCheckedChangedシステム初期化時に呼び出されるメソッド
- 9. 初期化時にPendingIntentが起動するようです。
- 10. Extjs:起動時に非表示のコンテンツが初期化される
- 11. iPhoneアプリの起動時に起動/初期化の手順は何ですか?
- 12. 最初のロード時に指令パラメータがAngularJsで初期化されない
- 13. Androidは初回起動時にfirebaseデータベースを初期化します
- 14. Spring Webアプリケーション:起動時に何かを行う(初期化)
- 15. ASP.NETコアのDIで初期化オブジェクトからオブジェクトを初期化
- 16. スプリングブートの起動時にテーブルを初期化する
- 17. Jersey webappの起動時にデータベースを初期化する
- 18. アプリケーションの起動時にライブラリプロジェクトを初期化する
- 19. アプリケーションの起動時にバーコードスキャナを初期化する方法
- 20. TextTo音声初期化リスナーは起動しますが、TTSエンジンは初期化されていません
- 21. 起動時にサーバーを初期化する
- 22. サーバ起動時にサーブレットを初期化する方法
- 23. 最初の再起動時にC#サービスが起動しない
- 24. C#はプログラムの起動時にオブジェクトをインスタンス化/初期化します
- 25. 最初の起動時に表示されるチュートリアルがある場合、どのView Controllerを初期View Controllerにする必要がありますか?
- 26. システム起動時またはシステム初期化時にすべての割り込みを無効にする必要があるのはなぜですか?
- 27. fireDateで初期化されたNSTimerが起動しない
- 28. ビューのどの機能が最初に実行されますか?初期化またはレンダリング?
- 29. Qtウィジェットは初期化時に2回リサイズされますか?
- 30. jQueryはクリック時に初期化されますか?
はあなたの情報をいただき、ありがとうございます。あなたは、 "どちらのコアもマシンの"最初の "ものとみなされるように言っています - いくつかのasmコードを使って現在のコア/ cpuidを見つける方法はありますか?私はそのasmコードを何回も実行して、すべてのcoreids/cpuidsを見つけることができるように?私はコア2デュオを持っています..私の目的は、ブートローダーレベルでそれの中のすべてのコアのcpuidを見つけることです..どのように私はそれを行うことはできますか? –
hmmm ... cpuidの見た目からは、コア自体ではなく、プロセッサ自体についてしか伝えられません。コマンドが実行されるときにプロセッサの中のどのコアが実際の課題のように聞こえるかを知るためには、これは、使用しているコアのデータページへのリンクです。これはそのような情報を探す場所です: http://www.intel.com/design/core2duo/documentation.htm – usumoio