SMTを無効化することの意味と性能の変化

※当ページはアフィリエイトプログラムによる収益を得ています。

PCゲーマーであれば、「SMT(Simultaneous Multithreading)」という言葉を聞いたことがある方も多いと思います。

SMTとは、日本語で「同時マルチスレッディング」と翻訳され、ひとつの物理コアで複数の実行スレッドを実行するための技術です。

最近ではローエンドCPUにも搭載されており、物理コアの2倍のスレッド数を持つCPUが当たり前になってきました。

そこで、SMTの存在意義を改めて考えてみたいと思います。

SMTはBIOS上からon/offが可能

まず、大前提としてSMT(IntelならばHTT)は、BIOS上から有効/無効の切り替えが可能ということを知っておきましょう。

つまり、「4コア8スレッド」や「6コア12スレッド」のCPUであっても、設定で「4コア4スレッド」「6コア6スレッド」に変更できるということです。

スレッド数が減らさなければ動作しないソフトウェアはほとんどないため、実際にはSMTを無効にするという発想自体が無いかもしれません。

しかし、一部のゲームではSMTをoffにしたほうがFPSレートが上がるため、あえて無効にしているユーザーもいます。

そこで、SMTがどういった効果を生み出しているかを検証するために、BIOS上からoff/onにした場合の動作について紹介したいと思います。

ベンチマークでは変化なし、しかしFPSは…

初期のRyzenシリーズであるRyzen 7 1700では、SMTを無効にすることで「ベンチマークの数値は変わらないが、平均FPSが上がる」という事象が確認されています。

この事象のやっかいなところは、ユーザーが体感できる部分(平均FPS)に変化があるという点。

例えば「Far Cry」や「フォーオナー」では、SMTをonにすることで平均FPSが数%下がったり、一時的にFPSがかなり落ち込むといった事象が確認されています。

つまりSMTをoff(無効)にすることで、安定して高いFPSを叩き出すことがあるということ。

SMTが有効になっている方がマルチスレッド性能はあがりますが、シングルスレッド性能がモノを言うゲーム分野ではスレッド数=処理性能とは言えないのかもしれません。

SMTの有無によるCPUの性能差

次に、SMTが無効化されているCPU「Ryzen 5 3500」と、有効化されているCPU「Ryzen 5 3600」で性能を比較してみます。

CINEBENCH R20を使用すると、次のような結果が得られました。

CPU マルチスレッドスコア シングルスレッドスコア
Ryzen 5 3600(SMT有効) 3500 480
Ryzen 5 3600(SMT無効) 2600 470
Ryzen 5 3500(SMTがデフォルトで無効) 2500 460

SMTを搭載しているRyzen 5 3600については、SMTを無効にすることでマルチスレッド性能が約3割落ち、シングルスレッド性能はほぼ変化がありませんでした。

また、Ryzen 5 3600はSMTを無効にすることで、下位モデルのRyzen 5 3500と大差ない性能になっていることがわかります。

これは、ほかのベンチマークソフトでも概ね同じ傾向の結果がでており、SMTはマルチスレッド性能を大きく底上げする以外に、特別な効果を発揮しているわけではないことがわかりました。

今後はSMT搭載が当たり前に

しかし、今後はマルチスレッド対応(特に8スレッド以上)のソフトウェアが増えてくると予想されることから、SMTが有効になっているCPUはぜひとも確保したいところです。

個人的な予想ですが、今後2~3年で、「4コア8スレッド」あたりがゲーミングPCの最低ラインになっていくと思いますよ。