見出し画像

CPUにおける新しもの信仰を考える

いや、何でこんな記事を書くのかっていうと壊れたレコードの様に「○○は××に向いてない」「CPUが~メモリが~古くて云々」って繰り返す人たちが巷にあふれかえっていて、しかも大して論拠が無かったりするのでちょっとハードウェア仕様面からこれについて考察してみようかな、と思ったから。

まあ主にIntel CPUについてです。

・第12世代Core i7
なんか現況で販売解禁済のK付き型番すごい持ち上げてる人たちがいますねー。12コアだーって。
まあまだ入手して無い人たちも多いと思われるので期待値込みなんでしょうが。

でも、12コアという言い方には違和感が結構あります。8+4コアのbig.LITTLE構成なので。

これスマホなどでよく使われるARM系CPUが結構前から使ってる技術で、主眼になるのは省電力性能を上げるために低能力だけど消費電力の少ないCPUコア(Intelはエフィシェントコア=Eコアと命名。ARM系ではセーバーコアって言われる事もあります)とパフォーマンスは高いけど大飯喰らいなコアを2つ以上のまとまり(クラスターと言う)に分けて組み合わせる物です。
技術情報があまり大っぴらに出回ってませんが内部でのクラスタ接続どうなってるんですかね。リングバス?それは無いか。

省電力を受け持つEコア x4ですが、Intel Atom系統のコアが使われています。Core iのそれではありません。元々高クロックで回してもあまり性能上がらない設計なのでターボクロックもさほど上げない仕様になっています。
てかAtom系コアがエフィシェント=高効率ってどうなのよ…モバイル機器じゃないんだぜ?
Core i7-12700Kでは定格2.7GHz/1コアだけ動作のシングルターボMax時に3.8GHzまでを「上限として許容される」ようになっています。
また1コアを2つに見せかけるハイパースレッディング(HTT)もこちらのコアにはついてません。

パフォーマンスコア=Pコアと呼ばれるx8はCore i本来の設計に基づくもので前世代のCove系を微細化+小改良を加えつつそのまま受け継ぐような形になっています。
HTTありなので8コアで最大16スレッドを処理できます。
定格3.6GHz/シングルターボMax4.9GHz/更に電圧特性の良いコアで消費電力と排熱に余裕がある時にはTBM3.0が働いて5.0GHzまで上がる「可能性があります」/全てのコアに負荷のかかる状態でのターボ上限(オールコアターボMax)は4.7GHzとかなり高め。

※割と重要な話ですがターボブーストに関してはコア倍率のロックがこの周波数まで上限値として外れてますよってだけでそれぞれの個体が本当に安定的にそのクロックに達するかどうかは実は保証されてません。
仕様上の保証周波数はあくまでも定格クロックです。
特にPコアのオールコアターボ4.7GHzはキツイ。

で、ここで疑問。
Windows、big.LITTLEにちゃんと対応する高効率なタスクスイッチャ(ソフトウェアスイッチャ)持ってるのかな?という…

軽めの仕事をセーバーコアに流し、ヘビータスクはパフォーマンスコアに受け持たせると言うインテリジェントな仕組み(タスクマネジメント)がきちんとして無いとbig.LITTLE構成って効果が薄いんですよね。

ARM系CPUでの話ですが、Android4.0~6.0の頃はタスクスイッチャがまだ成熟して無くて、AOSPとかバニラと呼ばれる素のAndroidではbig.LITTLE構成でのパフォーマンスが出ない/あんまりバッテリーの持ちが良くならないって事例が頻発しました。
大手各社ではAndroidをカスタムして対応してましたが、カーネル(OSの核になる部分)レベルで弄る必要が有ったので技術力の怪しいメーカーだとちゃんとカスタマイズが出来なくて「あそこのスマホ/タブレットはスペックだけのこけおどし」って言われたものです。

ま、CPUに仕込まれたIntel Thread Director(ハードウェアスイッチャ)が宣伝されてるほど高機能な回路であれば問題無いかもしれませんけどね。

Kつき12700はTDP125w/最大許容値(MTP)190wですが、いわゆるゲーミングPCだと設定で消費電力制限枠を拡大してターボ掛かりやすくしている可能性が高くなります。
まだ詳細が出てませんが無印12700はまた省電力性アピールの為にTDP65wで納めるのかな?

・第11世代Core i7
ここではK付きでないCore i7-11700を例に挙げて行きます。

構成は8コア最大16スレッド。定格2.5GHz/シングルMax4.8GHz/TBM4.9GHz/オールコアMax4.4GHz。TDP(PL1)65W/MTP(PL2)95w(←見つけた資料にはこうあったんだけど間違ってる気がするなあ)

机上性能では前世代の10700を余裕で上回る筈でしたが、実際に高負荷なゲームをプレイしたり動画編集や3D制作などすると10700以下の性能しか出ていないことが多いです。理由は省電力性のアピールの為に電力制限枠を下げ過ぎた為。

ネット上ではオールコアだと3.1GHz~3.2GHzまでしかターボが掛からないと言う声が上がっていました。
ゲームプレイ中のデータが提示されていたのでAVXターボクロックモードが絡んでいた可能性も有りますが、それにしても低い…

※AVXターボクロックモードはAVX系命令(AVX,AVX2,AVX-512)を処理する為に論理回路に高負荷が掛かると消費電力/発熱量が跳ね上がる事からターボ上限をカタログ値から最大400MHzほど下げる仕組みです。モード遷移条件についてはやや情報が錯綜していて正解がよくわかりません。
てかこれってターボじゃなくてデターボっていう方が正しくない?制限事項じゃん。
このモードが付いているせいでベクトル演算処理を高速化する筈のAVX系命令多用による高速化が机上の空論になりがち…
第12世代ではAVXターボは廃止されました。

手動で倍率設定してのオーバークロックは出来ない無印11700ですが、電力制限枠をPL1=125w/PL2=225w(!)位まで緩めると非常にターボが掛かり易くなって見違えるほど早くなります。ただし当然爆熱なのでサーマルスロットリング(熱暴走を防ぐための強制的なクロック低下)を防ぐ為に品質の良いCPU冷却システムが必須。

※正確に言うならTDP=消費電力は誤りです。Thermal Design PowerはCPUの排熱量でしかないので。
が、CPUを電熱器とみなす事でおおよその消費電力の目安として用いることは出来ます。

・第10世代Core i7
こちらもK無し10700のデータを上げておきます。

構成は8コア最大16スレッド。定格2.9GHz/シングルMax4.7GHz/TBM4.8GHz/オールコアMax4.6GHz。PL1=65w/PL2=95w(224wとする資料も発見。どっちが正しいんだ?)。AVXターボクロックモードあり。

シングルコアのターボ上限値こそ第11世代より100MHz劣りますが、定格で400MHz、オールコアでのターボ上限値が200MHz、Core i7-11700より上のクロック設定になっています。
ゲーム中などであってもオールコア3.5GHz~3.6GHzを維持出来るようでこの辺が実使用だと10700の方が上と言われる理由でしょうね。

ただ、PL1,PL2の設定を11700と同じにしていても10700の方が熱くなると言う話があるのでCPU側の電力設定に厳密さが足りてないような気もします。

こちらもPL1=125w/PL2=225wくらいにするとかなりパフォーマンス上がります。
当然のことながらこの設定では付属クーラーでは冷やしきれませんので高品質の冷却システムが必要。
PL1=150wまでやると大抵オールコア4.5GHzで安定するそうですが…これやるなら水冷かな。

まあぶっちゃけTDP(PL1)125wって10700K/11700Kのデフォルトの電力設定なんだよね。手動設定でオーバークロック詰めるとかしないならマジK付きって要らない子になってるなと思います…

---------------------------------------------------------------------------

ここまででわざわざスレッド数を「最大」って表記してることに気が付いた方、どれくらいいらっしゃいますかね?
これ、ハイパースレッディングの技術特性による物です。
HTTは一つのコアに十分な局所性を持つタスクを突っ込まれた時に、未使用になる回路を用いて仮想的なCPU(論理コア)を構成し、それに別の処理を行わせる効率化技術です。
なので、シングルタスク内容が論理回路に満遍なく分散されるようなワーク分離が悪い状態だとOS上で論理コアが予約されてても実際には使えません。
また、2スレッドを用いてもタスクの勾配が悪くてスラッシングが発生するようだとキャッシュロッキングなどのペナルティを隠ぺいする事が出来なくなるので純粋な物理コアのみによるマルチコアマルチスレッドに比べて激しい性能低下を起こします。

かつてゲームなどでは「下位の低クロックCore i7より上位のHTTなしで高クロックなCore i5の方が良い」と言われましたが、これは当時のゲームプログラミングがHTTの持つ弱点を顕在化させやすい「ワーク分離が悪くて、しかもプログラミングコストが高いマルチスレッド化を嫌った」ものだったからです。
しかしCPUの多コア傾向が極めて高くなった2017年以降、こういった状況はだいぶ変わりつつあります。

理由があって古いXeon機に手を入れる機会が有ったので、「今、Xeonでゲームってどうなの?」みたいな考察もやろうと思ってます。

ではでは。



この記事が気に入ったらサポートをしてみませんか?