Looking for x86 Answers? Try Ask4KnowledgeBase
Looking for x86 Keywords? Try Ask4Keywords

Intel x86 Assembly Language & Microarchitectureマルチプロセッサ管理


パラメーター

LAPICレジスタ住所( APIC BASE基準にして
ローカルAPIC ID登録 + 20時間
スプリアス割り込みベクタレジスタ + 0f0h
割り込みコマンドレジスタ(ICR);ビット0-31 + 300h
割り込みコマンドレジスタ(ICR);ビット32-63 + 310h

備考

LAPICレジスタにアクセスするには、セグメントがAPICベースIA32_APIC_BASE内 )から始まるアドレス範囲に到達できる必要があります。
このアドレスはリロケータブルであり、理論的には下位メモリのどこかを指すように設定できるため、範囲をリアルモードでアドレス可能にすることができます。

しかし、LAPIC範囲への読み出し/書き込みサイクルは、バスインターフェースユニットに伝搬され 、それにより、その「背後にある」アドレスへのアクセスをマスクする。

読者はUnrealモードに精通していると仮定しています 。これは、いくつかの例で使用されるためです。

それにも堪能であることが必要です。

  • 論理アドレスと物理アドレスの差異の処理1
  • リアルモードセグメンテーション。
  • メモリエイリアシング、id est同じ物理アドレスに対して異なる論理アドレスを使用する能力
  • 絶対的な、相対的な、遠くの、近くの呼び出しとジャンプ。
  • NASMアセンブラ 、特にORG指令はグローバルです。コードを複数のファイルに分割することにより、異なるセクションに異なるORGを与えることが可能になるので、コードを大幅に簡略化します。

最後に、CPUにはLAPICLocal Advanced Programmable Interrupt Controller )が搭載されているものとします。
コンテキストから曖昧な場合、APICは常にLAPICを意味します(一般的にはIOAPICまたはxAPICではありません)。


参考文献:

ビットフィールド
スプリアス割り込みベクタレジスタ
割り込みコマンドレジスタ
ローカルAPIC ID登録
IA32_APIC_BASE
MSR名住所
IA32_APIC_BASE 1h

1ページングを使用する場合は、 仮想アドレスも有効になります。

マルチプロセッサ管理 関連する例