本特集ではこれまで主にハードウエア側の対応の話をしたが、最後にソフトウエア側の話を紹介したい。

 マルチコア化に関しては、OS(Windows)、ドライバ/ミドルウエア、アプリケーションの3つのレベルにおいて対応が必要となる。これらの対応は、最近になってやっと充実してきた。以下、各レベルにおける対応について説明する。

OS(Windows):マルチコア化は既に完了

 Windows自身は、かなり前からマルチコア化に対応済みである。下の表はWindows XP~Windows 10について、それぞれソケット数(いくつのプロセッサまで対応するか)と論理コア数(システム全体でのスレッド数)をまとめたものだ。32ビット版の方は論理コア数が32に制限されているが、64ニット版だとWindows XPの時点で既に64、Windows 7以降は256コアに設定されており、今回紹介したような多コアCPUでも何ら問題はない。

 ちなみに技術的には、サーバー向けのWindows Server 2012の時点で既に640個(Hyper-V無効の場合。有効だと320個)までサポートしており、Windows Server 2016ではHyper-Vの有無に関わらず512個まで有効となっている。単にPC向けは256で制限しているだけと思われる。

OSのマルチコアサポート状況
OSのマルチコアサポート状況
[画像のクリックで拡大表示]

 それこそRyzen ThreadRipperでもCore i9-7980XEであっても、64ビット版であればWindows 7はおろかWindows XP環境ですら利用できる(今頃XPや7のドライバが提供されるのか、というのはまた別の問題である)。このレベル言えば、マルチコア化は完了していると言える。

 OSレベルでマルチコアのメリットを享受したいという場合、体感しやすいのはWindows 8以降であろう。Windows 8以降はModern UIが提供されるようになり、Windows 10ではスタートメニューがModern UIとして復活している。このModern UIでは複数のタイルが同時に動いており、この部分は少なくとも2コア程度のマシンよりも4コア以上の方が動きが明らかにスムーズである。といってもこれを18コアとかにしたところで、体感性能は全く変わらない。

 ただ次に説明する理由により、現実問題としてはWindows 10を強力にお薦めする。