• ベストアンサー

Windows2000とハイパースレッド

CPUにPen4 のHT対応を載せていますが、OSは、Windows2000Proを使用しています。 HTは、WindowsXPから対応とのことですが、タスクマネージャで見ると、CPUが2つついているように見えます。 それに、それぞれのCPUの使用率は、異なった動きをしています。 これって、Windows2000がCPUが二つ搭載されていることを認識して動いているのではないのでしょうか? OSから見て、CPUが二つに見えること以外にHTの(OSから見た)機能に違いがあるのでしょうか? 教えていただければと思います。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • deadline
  • ベストアンサー率63% (1239/1943)
回答No.2

>OSから見て、CPUが二つに見えること以外にHTの(OSから見た)機能に違いがあるのでしょうか? Pentium 4環境でHTを有効にすると、2000 ProもXP Proも、タスクマネージャー上ではご質問にもあるようにCPUが2つ表示されます。(←HTを有効にすると、1つの『物理CPU』が2つの『論理CPU』としてOS上で認識されているため。『物理CPU』というのは『CPU』そのもの、『論理CPU』というのはHTを有効にした時の『仮想的なCPU』の意味です。) しかし、 ・2000 Proは実際には『論理CPU』を『論理CPU』として認識しているのではなく、『物理CPU』として認識しているために、Dual Xeon(HT対応)環境では、2つの『物理CPU』を使用してHTを有効にしても、2つの『論理CPU』しか使われず、残り2つの『論理CPU』が使われません。 ・XP Proは『論理CPU』を『論理CPU』として正しく認識するために、Dual Xeon環境では、2つの『物理CPU』の4つの『論理CPU』すべてが使われ、タスクマネージャ上に4つのCPUが表示されます。 (2000、XP共にPro版は、2つの『物理CPU』に対応している(XP Homeは1つの『物理CPU』=HT使用時の2つの『論理CPU』に対応。)) ・2000の場合には、OSやアプリケーションがCPUを使用する時に、HT有効時の『論理CPU』のリソース(資源)を適切に割り振るようにOSが作られていません。(ただし、特に問題も起きずに動きますし、4つの『物理CPU』対応のServerバージョンや、8つの『物理CPU』対応のAdvanced Serverバージョンなら、Dual Xeon環境で4つのCPUが表示されます。) 『Microsoft:Microsoft Windows ベースのサーバーと Intel ハイパー スレッディング技術』 http://www.microsoft.com/japan/windows2000/server/evaluation/performance/reports/hyperthread.asp ↑の右上の『ダウンロード』の"hyperthreading.doc"の4ページ『Windows 2000 Serverファミリとハイパースレッディング技術』に、『物理CPU』と『論理CPU』が2000では区別されないと明記されています。(HT機能搭載CPUが発売前に開発されたOSだから当たり前ですが・・・) 『Windows 2000 Serverはハイパースレッディング技術が有効化されたシステムでは、物理プロセッサと論理プロセッサを区別しません。Windows 2000は単にBIOSがカウントした最初のプロセッサから始めて、ライセンスの制限数まで使います。』

参考URL:
http://www.microsoft.com/japan/windows2000/server/evaluation/performance/reports/hyperthread.asp
jingzhi
質問者

お礼

ご回答いただき、ありがとうございました。 ちょっと、私には難しいところもありましたが、要は、物理CPUと思って、動作すると言うことですよね? 疑問がはれました。

その他の回答 (1)

  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.1

HTでもデュアルCPU(ないしデュアルコア:以下「デュアルCPU」とする)でも、OSから見ればCPUが2個見えることに違いはありません。 しかし、CPUの振る舞いはHTなのかデュアルCPUなのかで大きく異なるところがあります。それは、デュアルCPUではそのうち一方を大忙しの状態にしてももう一方のCPUの処理能力が影響を受けることはないのに対して、HTでは一方の論理CPUが大忙しになるともう一方の論理CPUの処理能力が連動して落ちてしまうことです。 これは、HTが一組の処理装置を2つの論理CPUで取り合いながら使用していることによるものです。 Windows XPはHTが登場してから発売になったOSで、そのようなHTの特性(弱点)を回避できる場合は回避するように作りこまれています。 しかしWindows 2000はHTが登場する前に発売になったOSですので、HTの弱点が出てしまう局面があります。 このような差異により、HTを使用する場合、全く同じ処理を行っても一般にWindows XPのほうがWindows 2000よりも処理能力が高くなります。

jingzhi
質問者

お礼

ご回答いただき、ありがとうございました。

関連するQ&A