ハイパースレッディング(HT)またはハイパースレッディング技術(HTT)は、インテルが一部のプロセッサに搭載された同時マルチスレッディング(SMT)機能に付与した名称です。この技術は、プロセッサの非実行セクションの一部を複製することで、単一のプロセッサコアをオペレーティングシステムに対して2つの論理プロセッサとして認識させ、パフォーマンスを向上させます。
OSはこれらの2つの論理コアをアドレス指定し、ワークロードをそれら之间で共有します。これにより、プロセッサはリソースを管理して実行ユニットを常に稼働状態に保つことで、複数のスレッドを同時に処理することが可能になります。
ハイパースレッディングには、効率の向上やリソースの有効活用、そして最も重要なパフォーマンスの向上といった複数のメリットがあります。インテルは、ハイパースレッディングを搭載したチップは、搭載していないチップに比べて最大30%のパフォーマンス向上を実現すると主張しています。チップのシリコン面積にわずか5%を追加するだけでこの効果を得られるのは、決して悪くない数字です。新しいプロセッサー世代が一般的に単一の桁のパーセンテージ改善しかもたらさないことを考えると、これは軽視できるものではありません。
ハイパースレッディングには問題がないわけではありません。一部のアプリケーションでは、ハイパースレッディングを有効にしても性能の向上が見られないだけでなく、逆に性能が低下するケースもあります。ハイパースレッディングはセキュリティ上の脆弱性を引き起こすことも報告されており、特にサイドチャネル攻撃が指摘されています。このため、OpenBSDオペレーティングシステムではセキュリティ上の理由からハイパースレッディングを無効化しています。また、同時マルチスレッディングは従来の設計に比べて最大46%多くの電力を消費するとの主張もあります。
インテルは2002年に、ワークステーション向けプロセッサであるXeonプロセッサにハイパースレッディングを初めて搭載し、同年中にPentium 4にも採用しました。ハイパースレッディングは、それ以降、同社のほとんどのプロセッサに搭載される標準機能となりました。その後、CPUのコア数は大幅に増加し、ハイパースレッディングと組み合わせることで、Core i9-13900のような現代のプロセッサでは、最大32のスレッドを同時に処理できるようになったのです。
冒頭で述べたように、ハイパースレッディングはインテルの同時マルチスレッディング(SMT)のブランド名ですが、当然ながらAMDはインテルが最大30%の余剰性能を自由に活用するのを黙って見ているわけにはいきませんでした。そのため、AMDはハイパースレッディングのブランド名を使用することはありませんでしたが、最初のZenプロセッサでSMTを採用し、以来その技術を活用してきました。AMDはコア数も着実に増加させており、Intel同様、Ryzen 9 9950Xのような最上位デスクトップチップでは、最大32スレッドを同時に処理可能です。
もしこれらがハイパースレッディングの健全性を過度に楽観的に描いているのであれば、インテルのCPU倍増技術が最近のプロセッサの機能リストに載っていないことに驚くかもしれません。例えば、Intelが最近発表したCore Ultra 9 285Kは、8つのPerformanceコアと16つのEfficientコアを搭載しており、どちらのコアタイプにもハイパースレッディングの痕跡はありません。これはプロセッサの設計方針の変化を示しており、新しい「ハイブリッド」プロセッサでは、ハイパースレッディングが以前のようなパフォーマンスを提供しないことが基本的に判断されたためです。
インテルは12世代目のCoreプロセッサでハイブリッド設計を採用しました。これらのプロセッサは、パフォーマンスコアとエフィシエントコアを組み合わせた構造を採用しており、ARMがプロセッサで実現したbig.LITTLEアプローチを模倣しています。チップ内には、異なるワークロードに対応し、従来のCPU設計に比べて効率を向上させる2種類のコアが搭載されています。当初、インテルはパフォーマンスコアでハイパースレッディングをサポートしていましたが、最新世代ではこれを廃止し、代わりに効率コアの数を実質的に倍増させる選択をしました。
AMDは、インテルの先導に従って本格的なハイブリッド設計を急ぐ様子は見られず、代わりにX3Dキャッシュ技術に注力し、性能優位性を維持する方針のようです。したがって、同時マルチスレッディングは当面は継続される見込みですが、ハイパースレッディングという名称は使われないかもしれません。
記事内の製品