同時マルチスレッディング
単一CPU(単一コア)で複数スレッドを同時実行することで、擬似的な対称型マルチプロセッシング (SMP) 環境を提供することができる。これは主にハードウェアの観点からの見方だが、ソフトウェアの視点からこの技術を見た場合は複数の実行スレッドが単一のプロセッサを共有していると言える。SMTを有効にすることで、見かけのプロセッサ数(論理プロセッサ数、論理コア数)が増加する。オペレーティングシステム (OS) がSMTに対応することで、アプリケーションソフトウェアからは透過的に複数のプロセッサとして利用することができるようになる。SMTにより同時駆動されるスレッドは、タイムスライスで切り替えて疑似的に同時実行するスレッドと対比して、ハードウェアスレッドと呼ばれることがある。
上に「擬似的なSMP環境を提供する」と書いたが、これはSMTの結果であって目的ではない。SMTの本来の目的は、プロセッサ内部の各実行ユニットの使用率を上げることにある。高度にパイプライン化された現代のスーパースカラープロセッサの実行の様子をつぶさに調べると、プロセッサ内部の実行ユニットすべてが動作しているわけではない場合が多いことがわかった。つまり、せっかくプロセッサ内部を高度に並列化しているにも拘らず並列性が最大限に活かされていない。単一スレッドでは完全には使われないプロセッサ内部資源を複数のスレッドに分配することで、プロセッサが本来持つ並列性を最大限に引き出してシステム全体のパフォーマンスを向上させようというのがSMTの本来の目的である。