マイクロアーキテクチャ
マルチスレッディングでは、プロセッサが低速なシステムのメモリからデータをフェッチする際、データの到着のためにストールする代わりに、プロセッサは実行可能な別のプログラムあるいはスレッドに切り替えを行う。これは特定のプログラムやスレッドの動作を高速化するものではないが、CPUのアイドル時間を減少させることで全体的なシステムのスループットを向上させる。
概念的には、マルチスレッディングはオペレーティングシステムレベルのコンテキストスイッチと等価である。違いは、マルチスレッド化されたCPUが通常のコンテキストスイッチが必要とする数百から数千のCPUサイクルを1サイクルで行ってしまうという点である。これはCPUの状態ハードウェア(レジスタファイルやプログラムカウンタなど)をアクティブなスレッドごとに持つことにより実現される。
さらなる改善方法として、同時マルチスレッディングがある。この技術は、スーパースケーラCPUに異なるプログラム(スレッド)の命令を同じCPUサイクルで複数実行させるものである。
History of general purpose CPUsの記事に、CPUの設計に影響を与えている研究分野のトピックが述べられている。