CPIのこと忘れてたね

驚きの白さ!じゃなくて速さ!

昨日TWOTOPに様子見に行ってみたら前にリストアップしたパーツが全部そろってたので、まとめて買ってきて一気に組み上げちゃいました。相性問題もなく無事に起動してXPをインストール。OSのインストールは前のPCで何度となくやってるけど速くなった気がします。ムフフ

まぁ、その後のデータの引越しに時間がかかるんだけどね。なんとなくHDDを付け替えるのが面倒だったから外付けHDD経由でコピーしたんだけど、USB2.0のはずなのに前PCの方がだいぶ転送が遅い。これがUATAとSATAの差なのか!?

一通り全部終わったらパフォーマンスチェック。ベンチマークソフトにはあまり興味がないので普通に今まで使ってて重かったソフトを起動してみるよ!といっても動画見るのと東方とエロゲとTODくらいか。

エロゲ

このために買ったといっても過言ではない。最近やったTH2ADとかFORTUNE ARTERIALも起動してるだけでほとんどCPU使用率100%、いやTH2の方は50%くらいだったか。とにかく画像表示してるだけでなんでこんなにマシンパワーを使うのかと昔から憤慨していたものだけど、新PCでは0〜2%になってた。なんだこれwww同時起動とかし放題じゃん。いや、する意味ないけどさ。

東方

CPU使用率は大体ほぼ100%でWindowsモードではあまり快適には動かない状態だった。フルスクリーンでも激しい弾幕になると一瞬FPSが60→40くらいに落ちたりしてたんだけど、地霊殿のイージーモードをWindowsモードで試してみたらほぼ10%あたりを推移。快適快適。しかし、イージーモードのくせになんか弾が多いような…。1回目も2回目も6面ボスで撃沈orz

H.264な動画

ニコニコでたまにあたるh.264動画もかなり重かった。
前PCではずっとCPU使用率100%。新PCでは5%あたりを推移。

TOD2(Typing of the Dead 2のことだよ!)

すっかり忘れ去られたTOD2。いやーよく思い出した。前PCでは話にならないくらい遅かったんだけど、新PCではさくさく動く。ロード時間は遅いままだけどね。で、HARDモードを一回りやってみたけどやっぱつまらん。せめてクローンモードの修正してくれるだけでもう少し楽しめると思うんだけど…次のアップデートはまだですかいな。


というわけで、圧倒的な戦力を誇る新PCでありました。
3万7000円の買い物でこんなに変わるんだから安いもんです。
でもあれだね。宝の持ち腐れ感がすごいね。

CPI(Cycles Per Instruction)の違い

ところでふと思ったのが「前はPen4の2.4GHzでこれが3.0GHz*2になったからって速くなりすぎじゃね?」ってこと。CPU使用率が100%から10%になるってのは単純に言えば10倍速くなったってことです。でも二つのCPUはクロック周波数はほとんど変わってません。コアが二つあってもアプリケーション側で対応してなければシングルコアと同じなので、2.4GHz V.S. 3.0GHzなのです。2次キャッシュも512KB V.S. 6MBとだいぶ違うけどここまで速度に差が出るものなのでしょうか。まぁ、それ言ったらメモリもHDDも全部高速化されてるんだけどね。

とりあえずCPU以外は置いておくにしてもこんなにCPU使用率が下がるのってどうなんだろうなと思ったところで、CPIのことを思い出しました。CPIは1命令あたりに必要なサイクル数(クロック数)のことでこの数字が小さいほどクロック周波数の効果が上がります。

CPUのスペックに載っているクロック周波数というのは単に1秒間あたりに何回リズムを刻んでいるかというだけで、その数字だけでは処理の高速性を示すことにはなりません。タンタンタンとリズムを刻んでいく一拍の中でどれだけの処理ができるかはCPUのアーキテクチャによって大きく変わってくるのです。そしてそれを示すのがCPIの値になります。特にシングルコアのPen4デュアルコアのCore2では構成が大きく変わりCPIもかなり小さくなっていると考えられます。

CPUの性能を如実に現すCPIなのですが、たいていCPUのスペック表には載ってません。みんなが納得するような正確な値*1を測定するのが難しいってのもあるんでしょうけど困ったものです。というのもCPUが一つ一つの命令を直列に計算すれば平均CPIはわりと簡単に出せると思いますが、今のCPUは複雑な並列パイプラインが組みあがってるので、どの命令がどういう順序でくるかで大きく変わってしまうから。なんですかね。


とまぁ、基本情報技術者試験に出てきそうな話でした。
うん。すっかり忘れてた。

<追記>
そうそう、新PCにしたときに忘れてならないのが各種温度チェックなんだけど、マザーボードの温度表示を見ると「Offset to TCC Activation Temperature:-50」とか書いてて、最初はなんだこりゃーって思ったんだけど、TCC Activation(CPUの限界温度のことでTjMaxと表記したりThermal Specificationとか書いたりもするらしい)との差らしい。が!その限界温度が書いてないので実際何度なのかわからん。
CoreTempやSpeedFanを起動すると限界温度が105度として計算されているので、CPU温度は50度あたりになってるんだけど、これも正しいのかどうかわからない。

あ、CPUのスペックシートに書いてあるね。これから50度引けばいいっぽい。でもTCC Activation TemperatureとThermal Specificationが同じ意味なのかちょっと自信がない。というか限界温度との差分情報だけ取得できてその指標となるThermal Specificationとかはプログラム側から取得できないもんなのかな?

Thermal Specification:72.4℃

Intel Core2 Duo Desktop Processor E8400 - SLAPL


それっぽい記事発見。あとで読む。
Core 2 Quad and Duo Temperature Guide

*1:ぶっちゃけベンチマークと一緒で「正確な」値というのは無いと思います