■プロフィール

うなちょ

Author:うなちょ
うなちょのほんわか日記へようこそ

RagnarokOnlineと、PC版Minecraft++Forge+MODで
遊びつつ、片手間でWindowsのソフト作って遊んでます

■最近の記事
■最近のコメント
■最近のトラックバック

■月別アーカイブ
■カテゴリー

■リンク
■RSSフィード
■ブログ内検索

うなちょホットライン

うなちょへ直接連絡したい場合は、こちらから。
うなちょのPCメールへ着信するので、比較的
レスポンス早いかも…?(5分周期でチェック中)
※E-Mailですので、メルアドがある方のみです
※うなちょの携帯に転送する方法は、直接聞いて
  くだし。
無料アクセス解析
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


スポンサー広告 | --:--:--

手持ちのCPUの処理性能とちょっとした疑問を他力包含で検証して見た
CPUスコア一覧を見て、ふと今使ってるPC達の性能はどうなんだろうと思い、またCPU世代によってどの程度性能差が出るものなのかを疑問に思い、CPUスコア比較サイトの情報で調べて処理性能を比較して見ることにした。

現在の手持ちのCPUはすべてIntelで、以下の通り。


・Core-i5 750
 初のi5シリーズであるNehalem世代のCPUで、Ivy Bridgeから見ると2世代前のCPUとなる。
 私が使った初のCoreシリーズCPUで、元メインPCで使っていたCPUである。
 現在はマザーボードのBIOS修復不可能につき、CPUソケット(LGA1156)のマザーボードもないことから、取り外した状態になっている。
 (現在のメインPCの枠、HDD、メモリはこの当時のメインPCのパーツを流用している)

 2.66GHz(133MHz×20)で動き、4コア4スレッド。
 TurboBoost機能があり、定格倍率を上回る倍率(i5 750だと21倍までか24倍まで)で動くことができる。


・Core-i3 2125
 SandyBridge世代(現行から1世代前)のCPUで、現行のメインPCで使っているCPU。
 3.3GHz(100MHz×33)で動き、2コア4スレッド。
 なお、ローエンド向けであるCore-i3にはTurboBoost機能が搭載されていないので、十分に冷えていても、33倍速以上にはならず、16~33倍速の間を行ったり来たりしている。
 よく見て見ると、16倍か33倍のどちらかでしか動いていない様に見えなくも無い・・・?


・Core-i5 3470
 最新のIvy Bridge世代のCPUで、現行のサブPCで使っているCPU。性能が所有CPUの中で一番高いので、HDMIキャプチャ、動画エンコード、ROサブ垢用として使用している。
 3.2GHz(100MHz×32)で動き、4コア4スレッド。
 SandyBridgeおよびIvyBridgeは、改良型のTurboBoost2.0を持っていて、全コアの倍率が独立で変わり、定格倍率以上で動作できる。
 一応、細かい倍率制御も可能ではあるものの、Core-i3 2125と同様、16倍速か34~36倍速か、のいずれかしか使っていない様にも見える。


・Core-i3 3110M
 これもIvy Bridge世代であるが、モバイル向けのCPUとなる。ノートPCで使っているCPU。
 2.4GHz(100MHz×24)で動き、2コア4スレッド。
 これもTurboBoostを持っていないので、12~24倍速の間で倍率が変化する。
 見ていると、ある程度細かく倍率制御をしているものの、16、17、19、23、24倍速しか見えていない。
 バッテリ駆動になると、もうちょっと細かくやってくれるのかもしれない。


TurboBoostという機能は、CPU放熱量が設計限界値と比べて余裕がある場合のみ、定格倍率を若干超える倍率で動作させて処理性能をさらに向上させる機能で、Core-i5またはi7シリーズでのみサポートしている。ある意味CPUグレード付けの機能。
(逆に言うと、Core-i7,i5からTurboBoostを取り除いたのがCore-i3。
実際にはTurboBoost以外の機能もはずされているが)
TurboBoostは初代のVer1.0とVer2.0があり、Core-i5 750の場合はVer1.0が入っていて、最大で定格倍率+4となる24倍速(約3.20GHz)で動作できる。
ただし、最大倍速は2コアのみに制限されており、他のコアは定格以下で動く。
3コア以上の場合は、定格倍率+1の21倍速までに抑えられる。
実際動かしている状態で倍率を見ると、4コアで最大21倍速までが多く、2コアに高負荷アプリ(動画エンコードとか)を割り当てると、そのコアが24倍速まで上がっていた。
最低9倍速まで落とすことができ、暇なときは9倍速で動いていた。

TurboBoost2.0になると、対象コアの制限が外れて、全コアで最大+4倍の36倍速(3.6GHz)で動作できる。
なぜか知らんが、現在も全コア34~35倍速、たまに36倍速で動いている。
冷えているとはいえ、無駄に早く動かれても・・・ねぇ?
どうやら、最低倍率は、定格倍率の半分(端数切捨て)になっている模様である。


さて、これらをCPUスコアサイトでスコアとGFLOPS、DMI転送速度を参照して、一覧にしてみると以下の様になる。
CPU Typeコア数/スレッド数稼動クロック(GHz)
(ベースクロックx倍率)
スコアGFLOPSDMI (GT/s)
Core-i5 7504/42.66(133x20)
3.06(133x23)
2.80(133x21)
512042.722.5
Core-i3 21252/43.30(100x33)571252.805
Core-i5 34704/43.20(100x32)
3.60(100x36)
9096102.405
Core-i3 3110M2/42.40(100x24)419738.405

Core-i5 750のクロックは、一段目が標準クロック、二段目が1コアのみのTurboBoost最大クロック、三段目が3コアまでの最大TurboBoostクロック。
今回の計測の場合、すべてのコアに負荷が掛かっていると想定されるので、21倍速の時のスコアであろうと推測し、2.8GHz時のスコアと仮定する。
Core-i5 3470のクロックは、一段目が標準クロック、二段目が最大TurboBoostのクロック。
こちらは4コアとも最大倍率で動作することができるので、全コアとも36倍速で動いていた際のスコアであろうと仮定する。

GFLOPSとは浮動小数点計算(つまり、0.12345みたいな小数点付きの値)が1秒間に何回計算できるのかをギガ単位(=1,000,000,000)で示した数値である。
DMI(GT/s)とは、データ転送方式と転送回数を示す。データ転送方式がDMIという方式であり、この方式でのデータ転送が1秒間に何ギガ回行えるかを示す。
(現在のデータ転送は複数の信号線を使ったパラレル転送ではなく、1本の線を使ったシリアル通信になっているのだが、この1本の線の1ビットは1ビットデータとはならず、8B10B等の変換を行っている関係上、数値=データ転送速度、とはならない。
5GT/sの場合、実際のデータ転送は4Gbpsとなり、8ビットのデータ転送速度に換算すると、500MByte/secとなる)

スコアがばらばらで判り難いであろうから、1GHzあたりに換算した場合のスコアとGFLOPS値を以下に出す。
各スコアは、TurboBoost機能付の場合、TurboBoostが発動した状態での値と思われます。(ここまで記述がなかったので推測)

CPU Typeコア数/スレッド数スコア
(1GHzあたり)
GFLOPS
(1GHzあたり)
DMI (GT/s)
Core-i5 7504/41828.57115.2572.5
Core-i3 21252/41730.90916.0005
Core-i5 34704/42842.50028.4445
Core-i3 3110M2/41748.75016.0005


これは面白い結果になった。
GFLOPSに注目してもらうと、SandyBridge世代とIvyBridge世代で、コア数に比例した計算能力になっています。
それに対して、Nehalem世代のi5 750は、4コアあるにもかかわらず、2コアしかないCore-i3程度しか出ていませんね。
SandyBridgeになってからいろいろ改良し、IvyBridgeでちょこっとだけ改良した、という感じですかね。

ですが、GFLOPSは素直に出てきたものの、スコアがバラついていて、コアによっても違うのかな、と思ったりするものの、Core-i3 2125とCore-i3 3110Mでスコアがほぼ同じ感じですよね。
ですけど、Core-i5 3470はi3の2倍も出ていません。

実は、Core-i3はハイパースレッドテクノロジで4スレッドになっているだけなので、処理能力は4コア4スレッドより若干落ちます。
また、Core-i5はコア毎にL1キャッシュ、L2キャッシュが独立していて、L3キャッシュが6MBあるのに対して、Core-i3はコア単位でL1キャッシュ、L2キャッシュを持ち、同一コアのスレッドでは共有されていて、さらにL3キャッシュも半分しかありません。
この辺りも、性能に多少影響するのもあって、スレッド単位の処理能力比較の場合、2コア4スレッドは処理能力が落ちてしまいます。
まぁ、実際には1コアで2つ命令を処理しているので、その辺りの処理待ちが低下の原因であることが、性能低下の割合が大きいのですが。

どの程度落ちているかを計算してみました。
低下率=((Core-i3 2125のスコア+i3 3110Mのスコア)÷2)÷Core-i5 3470のスコア
    =((1730.909+1748.750)÷2)÷2526.667
    =0.688587≒0.7
大体1コア=2スレッドになると、同一クロックの1コア=1スレッドの処理性能と比べ、処理能力は同一クロックの場合でも、0.7倍程度になる模様です。

もう1つ計算してみると、仮想のCore-i3で3.6GHz動作した場合の仮想スコアを、現状のCore-i3の動作クロックとスコアから計算してみて、Core-i5 3470のスコアと比較してみます。
仮想スコア=Core-i3 2125のスコア÷Core-i3 2125のクロック×Core-i5 3470の動作クロック
       =5712×3.3÷3.6
       =6231.273
この仮想スコアを同クロックのCore-i5 3470のスコアで割ると、6231.273÷9096=0.685056≒0.7、となります。
つまり、低下率の検算みたいなものですが、それなりに当たってるのかもしれない、と思わなくも無い。

・・・なんてこじつけてみたりしますが、偶然同じ結果になっただけかもしれない。
所詮素人が考えることですし(HAHAHAHA

ちなみに、同じような計算でCore-i5 750を3.6GHzで動かしたと仮定すると、仮想スコアは6582.857となり、IvyBridgeのCore-i5 3470と比較して0.723709倍でしたので、世代が変わると性能もその分UPしていることが判ります。
なお、SandyBridgeのCore-i3より処理性能が若干高めではあるみたいです。
まぁ、スコアが350くらいしか変わりませんが。
でも、DMI転送が2.5GT/sで、次世代にあたるCore-i3の処理性能を抜いているので、やっぱり1コア=1スレッドは処理性能が強いですね。


さて、さらに考えて見ると、それじゃコア1個あたりの演算能力は、どの位になるのでしょうか?
Core-i3のコアと、Core-i5のコアでは、性能差があるのでしょうか?
それを計算したのが以下の表です。
CPU Typeコア数/スレッド数1コアあたりのスコア
Core-i5 7504/4457.143
Core-i3 21252/4605.818
Core-i5 34704/4631.667
Core-i3 3110M2/4612.063


この1スレッドあたりのスコアの計算は、2コア4スレッドの場合、処理低下を考慮してスコアをコア数で割って、更に0.7掛けをしています。
4コア4スレッドは処理低下無しとして、素直にスコアをコア数で割っています。
これはこれは、面白い値になりますね。
多少差があるものの、SandyBridgeとIvyBridgeは1コアあたりのスコアが大体同じであることがわかりますし、Nehalem世代より性能が向上していることがわかります。
まぁ、SandyBridgeとIvyBridgeのコアあたりのスコアがほぼ同じなのは当たり前で、Core-i7からハイパースレッドおよび若干の機能を取り除いたのがCore-i5(例外もあるが)ですし、Core-i5からTurboBoostや他の機能を取り除いた廉価版がCore-i3ですから、これらの取り除いた機能がスコアに影響していなければ、ほぼ同じスコアになるだろうとは予想していたのですが、実際計算してみたら、ほぼ同じ結果となりました。
これは予想していたにせよ、やっぱ同じなんだなーと再認識しますね。


・・・とはいえ、そもそも、このスコア自体は自分で計測した値ではありませんので、何の検証をしたのやら、って感じではありますがねw

駄文はここまでにしておきますw


(*゚ω゚)ノ ヒサビサ!  うん、ヒサビサダネヾ(゚ω゚*)


┣【PCだっ】 | 01:26:18 | Trackback(0) | Comments(0)

コメントの投稿

管理者にだけ表示を許可する

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。