2016年7月4日月曜日

PCの総合速度

前置き
PCに限らず、スマホなどでも次の5つの項目の性能で速度が総合的に決定されます。
CPUのクロック周波数
CPUのコア数
・内臓メモリの容量
・ソフトの性能
・その他
尚、本ブログは「ソフトの性能」がテーマになりますので、他の項目の詳細は他のサイトを参照してください。
CPUのクロック周波数
一般的にPCの速度の目安として、これが注目されます。
CPU
速度=1GHzとか2GHzとか商品に記載されていますね。
(CPUの世代も関係しますが、ここでは触れないことにします。テーマから外れていってしまうので)
でも、1GHzってどのくらいの速度?と思われる方もいらっしゃるのではないでしょうか。
簡単に言うと、1Hzの性能のCPUは1秒間に1回の処理能力を持ちます。
1KHzだと1000回/秒、1MHzだと100万回/秒、1GHzだと10億回/秒になります。
処理能力ってなあに?といえば、発信するクロックのことなのですが、詳細は他サイトに譲ります。
新発売のPCやスマホのCPU速度が、2倍とかになれば「すご~い」と思いますね。でも、2倍は2倍なのです。
「すご~い」と思うのは体感速度で、これが2倍以上の操作の快適さを与えてくれるのです。
(でも、体感速度は大切です。いらいらしなくて済みますもんね)
CPUのコア数
2006年ころから1つのCPUに複数のコアが搭載されるモデルが出始めたようです。
それまでは、1つのCPUには1つのコアだけが搭載されていました。
当時コアってなあに?と考えたとき、1つのPCに複数のCPUが搭載されたと考えました。
おそらく、そう考えても大差ないと思うので、今でもそう思っています。
2つのコアでデュアル、4つのコアでクアッドというようです。
では、PCの速度は、コアの数だけ速くなるのかというと、必ずしもそうではありません。
コアの数が増えれば増えるほど、コア間の協調性が重要になってきます。
内臓メモリの容量
内臓メモリまたはメインメモリや実装メモリと呼ばれるメモリはCPUと直結しているメモリです。
(スマホだと1GBか2GB、PCだと4GBか8GBくらいが標準でしょうか?)
かたや、ストレージと呼ばれるメモリ(USBメモリなど)は、ハードディスクなどと同じ種類で、直接PCの速度に影響を与えません。
何故、内臓メモリが直接PCの速度に影響を与えるかというと、OSが仮想メモリという技術を採用しているからです。
CPUからみて内臓メモリは物理的なメモリ空間です。
仮想メモリは内臓メモリより大きな空間を提供できます。
その大きい空間はハードディスクに構成されます。
大きなメモリ空間を必要とするソフト(アプリ)をたくさん同時に実行すると、内臓メモリ空間で足りなくなった空間をハードディスクに退避させるのです。
この退避はOSが自動的にやってくれるので、ユーザは気に掛ける必要はありませんが、この内臓メモリ空間⇔仮想メモリ空間(ハードディスク)のやりとりが頻発するとPCは動かないと同じ状態になることがあります。
さらに、設定してある仮想メモリ空間(ハードディスク)のサイズを超えてソフト(アプリ)を実行するとOSから「仮想メモリを増やしてください」と警告されます。
その他
本来なら、ソフトの性能の順番ですが、「ソフトの性能」はこの記事のメインテーマなので後回しにしたいと思います。
その他は、デバイスの数だけ考えられますが、ここでは通信だけに絞って考えたいと思います。
現代では、インターネットに接続しているPC(スマホ)がほとんどといっていいくらい多いのではないでしょうか。
インターネットに接続するためには、なんらかの回線が必要になります。
そして、回線には規格が存在します。
ただし、規格は多くの場合最大通信速度を示しています。
わたしの例をあげたいと思います。
わたしは次の3つの回線を利用しています。
・固定電話の光回線
基地局から遠く離れた田舎に住んでいるので劣化した回線しか使えず、わたしの持つ回線の中で最も遅い回線です。
時として、接続できません。
ただし、通信量の制限はありません。
・Wimax
AUのルータを使用し、最も速い回線です。
ただし、月に12GBという通信量の制限があります。
このルータだけだと10日~15日でパンクしてしまいます。
さらに、電波の届かない山奥などに行くと使えません。
・タブレットのモバイルデータ通信
AUの通常通信で4G規格を使用しています。
ただし、月に7GBという通信量の制限があります。
さらに、PCには使えません。
これらを組み合わせながらPCなどを操作しています。
つまり、インターネットを使うなら回線の速度とPCの速度のバランスが必要になるということです。
PCの速度は遅い方に引っ張られます。
ソフトの性能
今までは、ハードについて述べてきました。
ハードの性能は数倍~数十倍というオーダーで性能が決定されますが、ソフトは何倍という性能比では評価できません。
最も安直な例を1つあげます。
複数個のリスト項目から1つの項目を検索するときを考えます。
複数個をN個とし1番目のリスト項目から順に目的の項目を検索していくと、運がよければ1回の照会で済みますが、運が悪ければ最後まで照会しなければなりません。
そこで、2分探索という手法(アルゴリズム)を用いると、LogN(低は2)回の照会で検索できるようになります。
このLogを対数と呼びます。
(対数の例として、N=2の8乗=256のとき、8回(8乗なので)の照会で目的の項目が検索できます)
このようにソフトが用いるアルゴリズムによってPCの速度は、ハードと桁外れに違ってきます。
ただし、現代の多くのソフトはアルゴリズムの優劣をハードによって吸収するのであまり気にならないかもしれません。
ただ、確信的な想像なのですが、Googleなどの検索エンジンで用いるアルゴリズムは絶対的な社外秘になっていると思います。
強烈なアルゴリズムを用いているのではないでしょうか。
また、本ブログ(ホームページもですが)のメインテーマは、(計算複雑性理論)計算量理論の1つとなる巡回セールスマン問題の解法の1つを完成に導くことです。
今後、アルゴリズムの考え方やアルゴリズムそのものを投稿していきたいと思っています。


0 件のコメント:

コメントを投稿