カテゴリー
最近更新したページ
メニューバーA
ここは自由に編集できるエリアです。
メニューバーB
ここは自由に編集できるエリアです。

ハイパースレッディング【Hyper-Threading】

 Intel社が2001年8月に発表した、マイクロプロセッサの高速化技術。プロセッサ内のレジスタやパイプライン回路の空き時間を有効利用して、1つのプロセッサをあたかも2つのプロセッサであるかのように見せかける技術。

 1つのスレッドが処理を進めている間には、レジスタやパイプラインなどに必ず空き時間が生じる。従来はこうした空き時間は無駄になっていたが、これらのリソースを集めて1 つのプロセッサに見せかけることにより、もう1つ別のスレッドの処理を進めるのがHyper-Threadingである。

 このため、Hyper-Threadingを実装したマイクロプロセッサでは、1つのプロセッサコアに対し2つのバスがある。つまり、OS側から見ると仮想的に2つのプロセッサが存在することになり、シングルプロセッサのコンピュータをデュアルプロセッサのように振る舞わせることができる。

 これにより、2つの異なるアプリケーションを同時に実行したり、1つのアプリケーションを通常のシングルプロセッサマシンより高速に実行することができる。ただし、2つのアプリケーションが同じプロセッサ要素(演算器など)を同時に利用できないという制約があり、単純に性能が2倍になるわけではなく、現在はおおむね20%程度クロックあたり性能が向上すると言われている。

 この点がデュアルプロセッシングとHyper-Threadingの違いだが、デュアルプロセッシングでも常に2倍の性能を発揮できるわけではない。

 Hyper-ThreadingはIntel社のNetBurstアーキテクチャに実装されており、2002年1月に新型のXeon/Xeon MPに搭載される形で対応製品がデビューした。その後、2002年10月にはデスクトップ向けPentium 4にも搭載されたほか、今後リリースされるIA-32ベースのプロセッサでもHyper-Threadingに対応する。

 ちなみに、Pentium 4のマイクロアーキテクチャであるNetBurst自体が、そもそもHyper-Threadingを前提として設計されていたとされている。

 なお、理論上はHyper-Threadingによって出現する仮想プロセッサの数は3個以上でもよいが、現在リリースされている製品では仮想プロセッサ数は2個になっている。
2005年11月22日(火) 21:59:15 Modified by mizunobara




スマートフォン版で見る