笠原一輝のユビキタス情報局
なぜ同じCPUでも性能差が出るのか? 新VAIO TruePerformanceが教えてくれるノートPC設計の難しさ
2020年1月23日 09:00
VAIO株式会社は1月23日、同社の新製品「VAIO SX12」と「VAIO SX14」の2020年モデルを発表した。
各モデルの発表内容などは別記事(6コアCPUの高クロック持続を強化した軽量モバイルノート「VAIO SX12/14」)を参照いただくとして、ここでは同社が明らかにした「VAIO TruePerformance」というCPU性能向上機能の拡張に関して紹介しつつ、ノートPCにおけるCPUの性能とは何かという根本的な問題について考えていきたい。
現在のノートPCのCPUの性能を規定しているのはアーキテクチャとクロックだけでなく熱設計がもう1つの要素
CPUの性能を規定する要素は、「CPUコアのアーキテクチャ」と「クロック周波数」である。だが、ノートPCではもう1つの要素を考慮する必要がある。それが「消費電力」であり「熱設計(サーマル)」だ。いまやそれはノートPCの性能に大きな影響を与えており、クロック周波数よりも重要になりつつある。消費電力や熱設計を考慮しないかぎり、ノートPCの正しい性能評価はできないということをまず説明していきたい。
現代のいわゆるノイマン型コンピュータ(0と1を用いて高速に演算するタイプのコンピュータのこと)では、CPUやGPUなどの汎用プロセッサを用いて高速に演算していく。そのときに性能のパラメータとなるのは、プロセッサ(ここではわかりやすくCPUとする、以下同)の内部アーキテクチャの効率とクロック周波数だ。前者は1サイクルの間にどれだけの命令を実行できるかを示す「IPC(Instruction Per Cycle)」で表現され、後者はその1サイクルをどれだけ短い実時間にしているかを示す「クロック周波数」になる。
ただし、現在のCPU、とくにノートPCのCPUは、もう1つの要素が複雑に絡んでいて、それがCPUの性能を決定している。それが前述した「消費電力」であり、それに伴い発生する熱を放熱するための「熱設計」だ。
CPUが発生する熱を正しく放熱しなければ、CPUベンダーが規定している稼働保証温度を超えてしまう「熱暴走」状態になり、最悪の場合はCPUが燃えてしまったり、壊れてしまう。
ただ、きちんと冷却さえすれば良いデスクトップPCとは異なり、ノートPCはバッテリや小容量のACアダプタといったかぎられた電力で動かす必要がある。さらに、筐体を薄く軽く作らないといけないため、より小さな冷却機構で放熱を実現する必要がある。
その熱設計の枠を規定している数値がTDP(Thermal Design Power : 熱設計消費電力)だ。なお、誤解してはならないのだが、TDPはCPUのピーク時の消費電力ではない。「CPUがこの電力を消費しているときに発生する熱を排熱できるように設計しなさい」という指標だ。
TDPの数値が大きければ大きいほど、より高度な放熱機構などを実装しなければならない。現代のノートPCでは、Hシリーズ(AMD/Intelとも、ゲーミングノートPCなど)が45W、Uシリーズ(AMD/Intelとも、薄型ノートPCなど)が15W(一部は28W)、Yシリーズ(Intelのみ、超小型PCやタブレットなど)が9~5Wに設定されている。
繰り返しとなるが、TDPは設計スペックのターゲットクロック周波数(現在はベースクロック周波数と呼ばれている)で動作したときの典型的な消費電力で、スペックどおりにCPUが上限に張りついて動作しているときであっても、きちんと排熱して規定のクロックで動き続けるように設計しなさい、というPCベンダーの設計者に対しての指標だ。
PCメーカーがそれを守って設計することで、スペックどおりにCPUが稼働する。逆に言えば、CPUメーカーが規定しているベースクロックは、このTDPの枠が規定していると考えられる。このため、TDPの枠が大きなHシリーズはベースクロックが高めに設定されているし、逆にU/Yシリーズは低めに設定されている。
つまり、現代のノートPCの性能は、IPCという数字で示されるCPUのアーキテクチャの効率と、TDPの枠で規定されているクロック周波数によって決まっていると言える。
ターボ機能が登場したことで、ベースクロック周波数の意味合いが低下
しかし、最近のIntel/AMDのプロセッサではもう1つ考えないといけない要素として、ターボ機能がある。Intelのプロセッサでは「Intel Turbo Boost Technology」というブランド名がつけられているが、AMDも基本的には同じような機能を実装している。
ターボ機能とは、CPUの消費電力が増えてもすぐにはCPUの発する熱が増えないというタイムラグを活用するもので、その間CPUはスペック上のベースクロック周波数よりも高いクロック周波数で動かすことができる。まさに、エンジンにターボ装置をつけて馬力を上げるような機能なのだ。
それでは、図1を使って利用して、IntelのTurbo Boostがどのように動いているのかを見ていこう。
CPUはアイドル時(PCが使われていない状態)に、もっとも低いクロック周波数に落として待機している。このとき消費電力ももっとも小さい状態にある(図1の①)。
次に、ユーザーがアプリケーションを起動すると、CPUはアイドルから通常状態へ戻り、Turbo Boostで規定されている最高クロック(CPUのスペックに書かれているTurbo Boost時最高クロックというのがこれだ)へと跳ね上がり、しばらくCPUはその最高クロックで動作を続ける(図1の②)。
その後、CPUの消費電力により熱が増えてCPUの温度が上がってくると放熱し切れなくなるので、じょじょにクロック周波数を下げていく(図1の③)。
そして、ややベースクロックよりも高いクロック周波数で動作が安定する。それから放熱に余裕ができれば再びクロック上げたり下げたりしながら動作していく(図1の④)。
Turbo Boostは大まかに言えばこんなかたちで動いている。PCベンダーはTDPの枠ギリギリに設計することは少なく、実際にはもう少しマージンを持たせている。たとえば、15WのTDPをターゲットにして作るところを、18Wをターゲットにして設計したりする。そうすると、先ほどの図1の④で示したように、ベースクロックよりも高いクロック周波数で安定して動かせるのだ。
なお、Intelの用語で言うと、図1の②のクロックがTurbo Boost時最高クロックで消費する電力を「PL2」、④のTurbo Boostで安定して動作するようになるクロック周波数で消費する電力を「PL1」と呼んでいる(PLはPower Limitの略)。
このPL1とPL2については、IntelがノートPCメーカーに配布しているデザインガイドのなかで参考数値として紹介しているが、同社が一般に公開しているデータシートには書かれていない。正しく言うと書かれていないのではなくて、それを規定するのはPCメーカーの設計者なのだ。とくにPL1に関しては熱設計のやり方(高効率なファンを搭載するとか)によってより高めに設定できる。
できるだけ最高クロックに張りつくようになった新しい「VAIO TruePerformance」
このTurbo BoostのPL1、PL2の仕組みを利用してきたのが、VAIOがVAIO SX12/14などに搭載してきた「VAIO TruePerformance」だ。以下の図2がVAIO TruePerformanceの挙動となる。
以前にも別記事(謎の性能向上機能「VAIO TruePerformance」を解説)で説明したが、Intelの第8世代CoreプロセッサのUシリーズ(Kaby Lake-R)では、デュアルコアからクアッドコアになったため、ベースクロックが引き下げられ、ベースクロックとPL2の間が広くなった。そこで、VAIO TruePerformanceでは熱設計を見直すことで、PL1を引き上げて、より高いクロックで動く時間を長くするという改良を行なっていた(図2のイ)。
今回VAIOは、これをさらに拡張してきた。具体的にはPL2で発生する熱量に対応できるように、熱設計周りの素材などを見直して放熱効率を向上。その結果、Turbo Boost時の最高クロックにとどまれるPL2の時間が以前よりも伸びているという(図2のロ)。
つまり、できるだけ高いクロック周波数で粘れるようにし(図2のロ)、かつ従来から実現してきた安定して動作するクロック周波数も対策前より引き上げている(図2のイ)。それにより、ユーザーがPCを使っている時間全体で見ると、CPUの性能は大きく引き上げられ、大きなパフォーマンスアップにつながることになる。
とくに今回のVAIO SX12/14ではCPUとして、14nmプロセスの第10世代CoreプロセッサであるComet Lakeを搭載している。その最上位SKUとなるCore i7-10710Uは6コアでスペックは以下のようになっている。
【表】Core i7-10710Uのスペック | |
---|---|
CPUアーキテクチャ | Comet Lake |
コア/スレッド | 6コア/12スレッド |
キャッシュ | 12MB |
ベースクロック周波数 | 1.1GHz |
ターボ時最大(シングルコア時) | 4.7GHz |
ターボ時最大(マルチコア時) | 3.9GHz |
GPU | Gen.9(Intel UHD Graphics) |
EU数 | 24 |
GPUクロック最大 | 1.15GHz |
このスペックを見て目につくのはベースクロック周波数が1.1GHzと低く抑えられていることだ。これはCore i7-10710UのCPUが6コアになり、クロックを低く抑えないとTDPの枠に入れられないためだと言える。
それに対して、Turbo Boost時のクロック周波数はクアッドコア製品のそれにかなり近い4.7GHz(シングルコア時)、3.9GHz(マルチコア時)とかなり高く設定されている。つまり、ベースクロック周波数とTurbo Boost時の差が大きいため、VAIO TruePerformanceのような取り組みが有効になるのだ。
VAIO TurePerformanceが有効になったCore i7-10710Uでは図3のように動作する。
アイドル時に低いクロック周波数にあるのは同じで、まずマルチコア動作時なら3.9GHzに跳ね上がる。通常よりもやや長くこの3.9GHzにとどまり、その後じょじょにクロックは下がっていき、1.1GHz~3.9GHzのどこかのクロック周波数で落ち着くことになる。
クロック周波数がどこで落ち着くかは室温なども関係してくるので一概には言えないが、通常PL1で規定されているよりも高いところで落ち着き、処理が終わればまたアイドル時の状態に戻る。ただ、ベースクロックにとどまることはほとんどなく、CPUに何かしらの負荷がかかっているときには1.1~3.9GHzのどこかで動き続けることになる。
このように、現在のノートPCのCPUでは、ベースクロック周波数は性能にほぼ影響をおよぼさない。実際にはスペックには書かれていないPL1のところでずっと動き続けてしまうからだ。
VAIOはこの新しいVAIO TurePerformanceを実現するために、CPUのファンやヒートシンク、ヒートパイプの設計を見直したほか、瞬間的にバッテリからも電力を回せるような新しい機構を実現した。図3で言うところのPL2のモードで十分な電力を供給し、その後も必要な電力を供給するための仕組みだ。
そのために、システム側の電圧をACアダプタではなく、バッテリの電圧に合わせる仕組みを使っているが、システム側でACアダプタから供給される電圧を変圧しないといけないため、そこで発生してしまう熱を放熱する必要が出てくる。そしてその機構も考慮に入れた設計を採用することで、結果的に性能を引き上げることができたという。
Core i7-10710Uでオフ時に比べて36%も性能が向上するなど効果は大きい
実際、VAIOが公開したベンチマークの結果を見ると、その効果は明らかだ。6コアのCore i7-10710UでCinebench R20を走らせてみると、VAIO TruePerformanceがオンにしたときは36%も性能が向上している。
このように、現在のノートPCのCPU性能を左右するものとして、PCメーカーの設計が占める割合が大きいということが理解していただけたと思う。
だが、これをスペック(具体的にはクロック周波数)にして説明できるかと言えばそれは難しい。実際、新しいVAIO TruePerformanceを実装したVAIO SX12/14であっても高い室温で動かしたりすれば、当然ベースクロックまで落ちるし、下手をすればそれよりも下がる可能性だってある。そのため、「このクロック周波数で動き続けます」とはなかなか言えない。これが熱設計の難しさだ。
したがって、VAIO TurePerformanceも高クロックで動き続けることを保証するものではなく、あくまで性能向上を目指した設計という意味だと理解しておくのが正しいだろう。
ただ、現在のノートPCでは同じCPUを搭載していながら、性能が結構違うことが少なくない。それはここまで述べてきたように、メーカーが熱設計にどれだけ力を入れているかで差が出てくる。
VAIO TruePerformanceは、VAIO自身のブランドを冠して設計に力を入れているということをアピールしているわけで、ユーザーにとっては“高性能が出せるノートPC”というわかりやすい指標になるはずだ。
最後に新旧VAIO SX14の性能差を紹介したい。旧SX14は4コアで、新SX14は6コアという違いがあるが、どれだけの差が出るものなのか参考になるだろう。両モデルともVAIO TruePerformanceを有効にした状態でCinebench R20を実行している。