ハードウェアマルチスレッディング
細粒度のマルチスレッドの主な利点の1つは、短時間および長時間のスレッドの停止によって生じるスループット低下を隠せることである。というのも、あるスレッドが停止したとき(たとえ数サイクルの停止であったとしても)、サイクルごとに実行スレッドの切り替えを行うので、他のスレッドの命令が実行されるためである。
もっとも進歩したタイプのマルチスレッディングはスーパースケーラ 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 がすべて同時に発行される