図1のように32ビット論理プロセッサを2基装備した物理プロセッサという模式化が可能です.
具体的にどのようなリソースを共有しているかを説明します.
次のリソースに関しては,論理プロセッサごとに独自に持っています.
汎用レジスタ この場合,論理プロセッサは32ビットCPUなので八つの32ビット汎用レジスタ(EAX,EBX,ECX,EDX,EBP,ESI,EDI,ESP)を装備しています.
コントロール・レジスタ 80286から存在しています.プロテクト・モードとリアル・モードの切り替えに使用したり,例外の発生をコントロールします.
割り込みコントロール用レジスタ
APIC(Advanced Programmable Interrupt Controller)と呼
ばれています.
これはIntel社が1994年にリリースしたマルチプロセッサ向けのアーキテクチャ,およびそのための割り込みコントローラです.ユニプロセッサのPCではIRQは15までで,PIC(Programmable Interrupt Controller)で動作しています.これに対して,マルチプロセッサ対応のOSではAPICを使用しています.
このオプションに関してはC++を説明する際に扱います.throw exceptionsをトラップするために使います.
一方,共有するリソースは以下のとおりです.
● キャッシュ
● 実行ユニット
● 分岐予測器
● コントロール・ロジック
● バス
これらを共有することで回路を簡略化し,消費電力を抑え,コストを低減しています.
(参考資料:Intel社の公式文書「ハイパー・スレッディング・テクノロジのアーキテクチャとマイクロアーキテクチャ」)
|