ハードウェアマルチスレッディング
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/05 02:03 UTC 版)
同時マルチスレッディング
概念
もっとも進歩したタイプのマルチスレッディングはスーパースケーラ CPU に適用するものである。通常のスーパースケーラプロセッサは一つのスレッドから毎サイクル複数の命令を発行する。同時マルチスレッディング (SMT) ではスーパースケーラプロセッサは複数のスレッドから毎サイクル複数の命令を発行する。各シングルスレッドの命令レベルの並列性が限定されていることを認識し、この種のマルチスレッディングは、使用されていない命令発行スロットに関連した無駄を削減するため、スレッド間で利用できる並列性を活用しようとするものである。
例:
- サイクル i: スレッド A からの命令 j と j+1 、スレッド B からの命令 k がすべて同時に発行される
- サイクル i+1: スレッド A からの命令 j+2 、スレッド B からの命令 k+1 ; スレッド C からの命令 m がすべて同時に発行される
- サイクル i+2: スレッド A からの命令 j+3 、スレッド C からの命令 m+1 とm+2 がすべて同時に発行される
用語
SMT をその他のマルチスレッディングの種類と区別するため、同時に一つのスレッドからの命令しか発行できない場合には経時的マルチスレッディング (temporal multi-threading) という用語が用いられる。
ハードウェアのコスト
「#粗粒度マルチスレッディング」で議論されているハードウェアコストに加え、SMTは各パイプラインのステージが処理する命令のスレッド ID を「各命令ごとに」認識するコストがかかる。さらに多数のアクティブのためキャッシュや TLB などの共有リソースを大きくしなければならない。
例
- MIPS 34k
- Intel Hyper-Threading
- IBM POWER5 以降
- 1 ハードウェアマルチスレッディングとは
- 2 ハードウェアマルチスレッディングの概要
- 3 同時マルチスレッディング
- 4 実装に固有の課題
固有名詞の分類
マイクロプロセッサ |
Athlon 64 AMD Fusion ハードウェアマルチスレッディング OpenSPARC Pentium Dual-Core |
並列コンピューティング |
MIMD OpenCL ハードウェアマルチスレッディング 並行制約プログラミング タスク並列性 |
- ハードウェアマルチスレッディングのページへのリンク