【CPUの基本】図解でよくわかる「マルチコア / スレッド」の意味

昔はCPUの性能といえば「クロック周波数」の高さが大事だった。しかし、最近のCPUは世代や「コア数」「スレッド数」の方が性能への影響力が大きい。

この記事では「2コアと4コアの違いが分からない。」「インテルのCPUは2コアなのに4スレッドとか言うけど、スレッドって何?」というPC初心者向けに、図解も使って分かりやすく解説してみる。

Sponsored Link

CPUのコア数とは?

CPUは中に色々と入っている。で、実際に処理をする中央処理ユニットがいくつ搭載されているかこれが「コア数」になります。もっともっと大雑把に言うと、CPUの殻の中にいくつCPUが入っているか?…ということです。

CPUが登場してばかりの頃は、当然「1コア」が主流でした。殻の中に、CPUを1個だけ置いて完成。

デュアルコア

2005年頃から、2つの処理ユニットを搭載する「2コア」(デュアルコア)のCPUが登場した。代表例は「Athlon 64 X2」「Pentium D」など。最近では「Core i3」や「Pentium G」が馴染み深いかと。

クアッドコア

翌年の2006年になると、さっそく4コア搭載(クアッドコア)のCPUも登場。代表例は「Core 2 Quad」「Phenom X4」など。最近は「Core i5 / i7」「Ryzen 5」などが有名。

※AMDは2007年からクアッドコアCPUを発売。特に「Phenom X3」は今では滅多に見られないトリプルコア仕様のCPUだ。

その後もコア数は増え続けている

拡張機能や命令セット、キャッシュの大容量化など、CPUのコア数以外の改善は当然続いていますが、コア数の増加も止まらない。

CPUの絶対的な処理性能を高める上で「コア数を増やす」という方法が、今のところはもっとも手っ取り早いからです。では、なぜCPUの中に入っているコアの数が多いと、処理性能がアップするのだろうか。

 マルチコアの「読み方」

  • 1コア:シングルコア
  • 2コア:デュアルコア
  • 3コア:トリプルコア
  • 4コア:クアッドコア
  • 6コア:ヘキサコア
  • 8コア:オクタコア
  • 10コア:デカコア

それ以上は呼び方が「デカデカ」とするため、普通に「12コア」とか「24コア」とか呼ばれています。

コア数が多いと性能が上がる理由

なぜ、シングルコアCPUよりもデュアルコアCPUの方が性能は上なのだろうか。CPUのコア数は本当に多ければ多いほど優れていると言えるのか。この点について説明していきます。

シングルコアの場合、仕事をこなせる頭脳は1つしかありません。ですから「Windowsだけ」とか、使うソフトウェアが少ない間は、コア数1個で間に合っていたんです。

それに昔のWindows XPは非常に少ないメモリとCPU性能で動いたため、Windows XPを動かしながら、他のアプリで何かをする。ということも可能だった。

しかし…Windows Vistaになってから必要な処理性能は大きく伸びてしまい、当然のことながらシングルコアで処理が追いつかなくなった。「Windowsだけで精一杯なのに、他の仕事なんてやってられない。」ということ。

この結果、PCの動作が重たくなって「なんて処理性能の低いCPUなんだ…使えない…」となってしまった。そこで解決策として登場したのがCPUの「マルチコア化」です。

仕事ができる頭脳の数を、複数に増やしたことで、同時にこなせる仕事の数が増えたのです。1人で4つの仕事(Windows / Excel / Chrome / ペイント)をこなすのはキツイが、4人いれば簡単だ

これが「マルチコア化」をするとCPUの性能がアップする理由です。

エンコードの変換速度がアップする理由

Adobe Premiereというソフトで作った動画を.mp4(H.264)形式でエンコードする場合を考えてみよう。その動画のフレーム数は45000枚(約24分)で、1コアで秒間3枚ずつ処理できる。

そう、このような物量が求められる作業になると、シングルコアは極めて非力ということが分かる。エンコードが終わるのに250分(約4時間)も掛かってしまう計算になるんですよ。

そこでマルチコアの出番。1コアあたり3枚処理できるCPUを4個搭載したクアッドコアなら、秒間12枚ずつ処理できるようになった。所要時間も62分30秒(約1時間)に短縮され、性能は大幅にアップしたと言える。

 エンコードなど、物量作業はコア数が猛威を振るう

エンコード、リアルタイムレンダリング、物理シュミレーションなど、とにかく大量の作業を要求される処理においては、CPUのコア数は多ければ多いほど(ソフト側が対応している限り)良い。

「コア数」まとめ

コア数については、だいたい分かったと思います。基本的にコア数は多いほうが良い、今はWindowsも重たいソフトウェアになったので…最低限デュアルコアは必須だろう。

スレッドが多いと性能は上がるのか?

さて、コア数が理解できたら次に疑問になってくるのが「スレッド数」ですよね。最近のCPUはカタログに「2コア/4スレッド」だったり「4コア/4スレッド」だったり、必ずスレッド数もいっしょに表記されています。

  • 4コア / 4スレッド
  • 4コア / 8スレッド

どちらも同じ「4コア」(クアッドコア)ですが、スレッド数は違う…この場合、どちらの方が性能は上なのか。あえて8スレッド(オクタスレッド)のCPUを選んだほうが賢明なのか?

まずは「スレッド」とは何なのかについて説明していく。

「スレッド」 = CPUが担当できる仕事の数

1コア1スレッドのCPUを例にしてみよう。今、Windows 10 Proを動かしていて、更にGoogle Chromeも使いたいと思ったとする。

オレンジ色がWindowsの処理にかかっているパワーで、空いている領域があるのが分かります。そう、まだこのCPUは余裕があるんですよ。そこでGoogle Chrome(青色)にもパワーを与えたいと思うが…。

このCPUは「1スレッド」しか無いので、別のアプリケーション(仕事)を同時にこなせないんだ。もちろん、動くには動きますが、効率よく仕事をこなせないために妙に動作が重たくなってしまう。

そこで登場したのが「マルチスレッド化」を施したCPUだ。技術としてはハイパースレッディング・テクノロジー(Hyper Threading Technology = HTT)と呼ばれている。

物理的に入っているコアは1個だけど、ソフトウェア(Windowsなど)側からは2個あることにしよう。という考え方。この技術のお陰で、CPUの余力部分も効率よく使えるようになった。

だいぶ大雑把に解説しましたが、「スレッド数は、1人のCPUが同時に処理できる仕事の数」と思えば大丈夫です。2スレッドなら、1コアあたり2個の仕事を(余裕があれば)同時にこなせるってこと。

スレッドが多いとマルチタスク能力がアップする

物理コアが実際にあるわけではないため、圧倒的な性能差はつきづらい。が、処理がものすごく効率化されるため体感上の性能はやはり向上する。単なる4コア4スレッドだと、画像のように「余力」があっても上手く利用できない。

しかし、1コアで同時に2つまでの仕事ができるようになる(= 2スレッド)と、見ての通り「余力」部分を効率よく使えるようになるのだ。

インテルによると、NetBurstマイクロアーキテクチャにおける最初の実装は「通常の」プロセッサへ5%の領域のみを追加するだけで、15 – 30%の性能向上をもたらしたとしている。

Hyper-Threading Technology – Wikipedia より

Wikipediaにもこのような記述があり、処理の効率化によってベンチマーク上の性能も15~30%程度アップしている。

 進化するハイパースレッディング

1コアあたり2倍のスレッドが限界か…と思っていたら、IBMは既に1コアあたり8倍ものスレッド技術を開発している。8コアが64スレッドになるって、どれくらい性能向上に影響があるんだろうか。

他にも、Intelがサーバー向けに開発している「Xeon Phi」も、1コアあたり4倍のスレッドが搭載されている。72コア / 288スレッドという具合に。恐ろしい…。

「スレッド数」まとめ

スレッド数は実際にCPUの中に複数のコアが入っているわけではなく、1コアあたりの同時にこなせる作業数のこと。コア数と比べると性能に与える影響は小さいが…。

CPUの性能をなるべく効率よく、持て余すこと無く利用できるため、マルチタスク重視ならスレッド数は無視できない。

CPUの基本「マルチコア / スレッド」まとめ

2006年以降、「クロック周波数」以上に、コア数とスレッド数はCPUの性能を示すパラメータとして重視されるようになった。さて、両方ともおさらいします。

「コア数」のおさらい

「コア数」はCPUの殻の中に入っている中央処理ユニット(CPU、頭脳)の数です。2コアなら実際に2つのCPUが入っているし、4コアなら4つのCPUが入っているという意味。

CPUコア数スレッド数Passmark
Pentium 411491
Pentium G3258223921
Pentium G4600245480
Core i3 4370245583
Xeon E5-2609 v4887033
Core i5 6600K448007
FX-8370888997
Core i7 7700K4812178
Ryzen 5 1600X61213436
Ryzen 7 1800X81615371

物理的にCPUが複数入っているため、多ければ多いほど処理性能がアップする。しかし、逆に多すぎるとソフトウェア側が対応していないことがある※ので、一般的な使い方なら多くても4~6コアで十分。

※まだまだ2コア対応のソフトが多く、4コア対応もあまり多くない。8コアを超えると恩恵を大きく受けるのはエンコードソフトやベンチマークソフトに限定されるのが今のところ現実。

「スレッド数」のおさらい

「スレッド数」は、搭載されているCPU(頭脳)1人あたり、同時にこなせる仕事の数のことです。1コアあたり2スレッドなら、最大で2つの仕事を同時に処理できるということだ。

CPUコア数スレッド数Passmark
Pentium 411491
Celeron 92511691
Celeron 80712751
Pentium XE 95512905
Celeron G3920223477
Pentium G3258223921
Pentium G4600245480
Core i3 4370245583
Core i5 6500447215
Core i5 7500447981
Core i7 67004810037
Core i7 7700K4812178

ベンチマーク上では、やはりスレッド数の多さもパフォーマンスに大きな影響を与えているのが分かる。「G3258」と「G4600」は世代が違うので一概に比較できないが、マルチスレッド化によって性能アップしているのは間違いない。

 タスクマネージャーから見る「マルチコア / マルチスレッド」

4コア / 4スレッドの「Core i5」です。タスクマネージャーから見ると「窓」が4枚あるのが確認できる。

4コア / 8スレッドの「Ryzen 5」です。載っているコアは4個だが、タスクマネージャーから確認できる「窓」は数は8枚ですね。

同じコア数でも「スレッド数」が多いCPUが性能は高い。

そして、CPUは基本的に「コア数」が多いほうが性能は高い。

以上、「【CPUの基本】図解でよくわかる「マルチコア / スレッド」の意味」について書きました。

CPUの性能を客観的に調べたい人は、上記の記事がオススメ。データベース系のサイトを見れば、大抵のCPUについて性能を知ることが出来る。

「クロック周波数」はCPUの性能を測るパラメータとして有効なのかどうか。今回の記事と同じように、図解で分かりやすく「クロック周波数」について解説しています。

Sponsored Link

コメントを残す

メールアドレスが公開されることはありません。