パソコンは、たくさんの部品からなる機械であり、そのどれか一つが欠ければパソコンは機能しなくなります。
しかし、その中でもCPUという部品は「パソコンの頭脳」と言われ、パソコンの中で最も大事な部分だと世間ではそう評されています。
こちらの記事ではCPUの基本的なことについて、少し解説しています。
今回は、CPUについてさらに詳しくもう少し深い部分まで掘り下げて、なおかつざっくりとわかりやすく解説をしていきたいと思います。
実はバリバリの肉体派なCPU
CPUはよく「パソコンの頭脳」と言われます。パソコンの中で計算を行い、ソフトウェアを動かす部品がCPUであるから、そう呼ばれるのだと思います。
計算を行うという行動が、私たち人間にとっては頭を使うことであるからCPUのことも頭脳と呼んでしまうのでしょう。しかし実際は、CPUは与えられた命令に従ってひたすら体を動かす肉体派と称すべきです。
そもそもパソコンの内部で行う計算には、4つの段階があります。
外部から入力されてメモリに記憶された命令を読み取る「フェッチ」
読み込んだ命令を解読する「デコード」
解読された命令を実行する「エグゼキュート」
この3つの段階を「1サイクル」として、CPUはパソコンの電源がついている限りこのサイクルをひたすら繰り返しています。
専門用語だけではわかりにくいので、具体的な例を挙げて説明してみましょう。
パソコンのキーボードを使って「あ」という一文字を入力しみましょう。画像の様に、一瞬で画面に表示されると思います。
この一瞬の間にも、パソコンのCPUの中では「『あ』を画面に表示させよ」という命令を受け取り、解読し、実行するというサイクルを行っているのです。
命令はまず、メモリに記憶されます。するとすぐさま、CPUは記憶された命令を読み取り、「フェッチ」を行います。
読み取りが完了すれば、今度はすぐに「デコード」を行います。このデコードとは何をするかを、具体的に説明すると、命令をCPUが理解できる言葉に翻訳することです。
「『あ』を画面に表示させよ」というのは、人間の言葉です。これを機械に通じる「機械語」と呼ばれる言語に直すのです。
機械語に使う文字は「1」と「0」の数字、2つだけです。「000110010」と1と0をどのように並べるかだけで、表現します。
「『あ』を画面に表示させよ」という人間の言語による命令を「1」と「0」だけで表現する機械語に直すのがデコードなのです。
人間の言語による命令は、実際はパソコンを動かすプログラムを構成するプログラミング言語によって行われるぞ。
デコードが完了すれば、命令を実行するエグゼキュートです。命令された通りに、「あ」というもじを画面に表示させます。このとき、メモリから「あ」という文字のデータを読み込むこともしています。データというのは「あ」がどんな形をしているか、同じ「あ」でもパソコンの中には、フォントの違うものもあるが、その中からどの「あ」を表示させるかという処理も行っています。
3つの段階が終わり、「あ」を画面に表示させるという命令を実行したCPUは、これで一休み・・・というわけにはいきません。
先ほども述べましたが、パソコンの電源がついている限り、CPUは命令を受けて実行するを繰り返しています。
「あ」を画面に表示させた後も、「『あ』を画面に表示させたままにする」という命令を実行し続けています。
「『あ』を画面に表示させるために文字入力するソフトウェアを動かす」という命令も同時に実行しています。
パソコンの電源を点けているだけでも「パソコンを動かすOSを起動させておく」という命令を実行しています。他にもパソコンを正常に動作させるために数え切れない数の命令を常に実行しているのです。
たくさんの命令をほぼ同時に、それも瞬時にこなして、さらに繰り返し続けるCPUは、実はバリバリの肉体派であることが言えるでしょう。
“アツい”CPUに欠かせない冷却ファン
たくさんの命令を繰り返し続ける、CPUの仕事は頭脳労働というよりも肉体労働です。
私たち人間は、激しい運動をすると体温が上がっていきます。夏の炎天下で、激しい運動をしているとその内、体温の上昇に体が耐え切れず熱中症になって倒れてしまいます。
外に居ずとも激しい運動をしなくても、真夏にエアコンの無い上に、閉めきった部屋で作業をするだけでも、熱中症になってしまう危険があります。
CPUにも同じことが言えます。
パソコンの中という閉め切った部屋の中で、ひたすら命令を繰り返しているCPUも、やがて本当に熱くなってCPU自体の持つ温度が上がっていきます。
CPUも熱くなりすぎると、そのうち不具合を起こした後、起動しなくなってしまう事があるのです。人間でいう「熱中症」に当たるこの現象を「熱暴走」と言います。
この熱暴走を防ぐために、人間がエアコンで室内の温度を下げるように、パソコンの中にもCPUの温度を下げる部品があります。それが「冷却ファン」です。
ファンというのは英語で扇風機のことを言います。その名のとおり、CPUを冷ますための扇風機なのです。
パソコンを使っていると、「ぶおーん」とパソコンの中から大きな音が鳴りだすという経験はありませんか? これは冷却ファンが回転している音です。CPUが熱くなり始めたのを察知すると、冷却ファンは自動で回り始めます。
CPUが熱くなるのは、それだけCPUに多くの負荷がかかっているからです。重いソフトウェア(動かすために高いパソコンの性能が必要になる)を動かすと、CPUの負荷も高くなります。熱くなるCPUを冷ますために、冷却ファンは回転を強めます。普段は扇風機の「弱」ぐらいの強さで動いている所を「強」に強めます。
「ファンの音がうるさい!」と思うかもしれませんが、それはファンが正常に作動してCPUの冷却をちゃんと行っているという証拠です。特に性能の高いCPUは温度も高くなりやすいので、冷却ファンを常に強く動かしておく必要があります。
CPUが仕事場で働く人間とすれば、冷却ファンは仕事場を快適な環境にするためのエアコンです。冷却ファンはCPUにとって、欠かすことのできない部品なのです。
ファンの音がうるさいのをどうにかするためといって、ファンの回転の強さを自分で設定できるソフトを使ってファンを弱めたりすると、CPUの冷却ができずに熱暴走を起こして、最悪の場合壊れて動かなくなってしまうぞ。
CPUの性能を決める「数字」 クロック周波数/コア数/スレッド数
CPUの性能はいったいどうやって測るべきでしょう? いろいろな考え方はありますが、わかりやすい指標となる3つの数字があります。
クロック周波数、コア数、スレッド数の3つです。ひとつずつ説明していきましょう。
クロック周波数とは
クロック周波数とはざっくりと説明すると、CPUがデータの処理を行う際のテンポを数字で示したものです。
バリバリの肉体派なCPUですが、単純に素早く仕事をこなしている訳ではありません。一定のテンポにしたがってデータの処理を行っています。このテンポの速さが、CPUの処理速度になるのです。
これは筆者が現在使用している、パソコンのスペックです。プロセッサの項目に注目してみましょう。プロセッサとはCPUのことと思っていただいて構いません。
1.80GHzという数字があります。これがクロック周波数です。
GHz(ギガヘルツ)という単位は何かというと、そもそもHz(ヘルツ)という、物質が1秒間に何回震動するかを示した単位があります。
GHzはHzよりも大きく、1GHzで1秒間に10億回震動していることを表しています。
つまり1.80GHzのCPUは1秒間に18億回も震動して動作しているということなのです。想像を絶するような数字ですね。しかも、これで現在出回っている市販のパソコンのCPUの中では性能が低い方なのです。
クロック周波数の大きさが、CPUの性能を表していると思っても構わないのですが、厳密に言うと必ずしもそうではありません。
最近のCPUは省電力設定にすることも可能で、パソコンをスリープモードにして動作数を下げたり、停止させるという機能もあります。逆に、一時的に周波数を上げる「ターボブースト」という機能を備えたCPUもあり、クロック周波数という数字はCPUのスペックを正確に表す数字とは言い切れなくなっている面があります。
コア数とは
CPUの性能を表す、もっとはっきりした数字としてコア数があります。コアとはCPUの部品の一つで、データの計算や処理を実際に行う部分です。例えるなら、CPUという会社の中にコアというチームが存在しているようなものです。
元々、コアはCPUに一つしかありませんでした。しかし、CPUの性能を向上させる手っ取り早くわかりやすい手法として、一つのCPUに2つのコアを搭載する「デュアルコア」が編み出されました。
デュアルコアによる性能の向上は目覚ましいものでした。会社の中に一つのチームしかなかったところを、人員を倍増してもう一つチームを作ったと考えればわかりやすいでしょう。CPUを2つ搭載するのと比べれば、コストも安く済みます。
技術開発はさらに進み、2006年にはコアが4つになった「クアッドコア」も登場しました。当初は、一つのCPUにデュアルコアを2つ搭載する疑似的な手法によるものでしたが、後に本当にコアを4つ搭載したものも登場しました。当然、デュアルコアよりも性能は高いです。2つのチームがさらに増えて4つになれば、業務もはかどります。
その分、開発コストはかかり、価格も上がっています。人員を増やせば払うべき給料も増えるのが当然です。
現在もコア数を増やして、CPUの性能を上げるという技術は進化を続けており、クアッドコアよりもさらに多い、6つのコアの「ヘキサコア」8つのコアの「オクタコア」10のコアで「デカコア」なんてものまで開発されています。
そこまで開発を続ける意味があるほど、コア数はCPUの性能を測るとてもわかりやすい数字であるということです。CPUの性能を確かめたいときは、コア数をまず見てみるべきでしょう。
2019年現在市販されているパソコンの中で、最も高級なものでもCPUのコア数は「4」までのものが多いぞ。個人で使うパソコンなら、高いものでも4コアあれば十分ということだぞ。
スレッド数とは
コア数はCPUの性能を示す、わかりやすい数字ですが、もう一つ覚えておいてほしい数字があります。スレッド数というものです。
スレッドとは一つしかないコアを、ソフトウェアを使って複数あるように見せかける技術を用いてOSに認識させた疑似的なコアのことを言います。
元々は違う意味で、CPUが処理できるデータの最小の単位のことだぞ。
具体的な例を挙げて説明します。
Intel製のCPUにCore-i5とCore-i7という物があります。(以下、i5、i7と表記します)
i5とi7のコア数は二つとも同じ、4コアです。
対してi5のスレッド数は4スレッドで、i7は8スレッドとなっています。つまり、i5よりもi7の方が性能が高いのです。
なぜそうなるのかというと、Intelは「ハイパースレッディングテクノロジー(Hyper Threading Technology)」略して「HTT」という技術を使って、物理的なコアの中にもう一つの疑似的なコアを作ることで、更に処理速度を速める手法を使っています。
i5は4コアで4スレッドです。コア数とスレッド数が同じということは、HTTを用いていないということです。
対してi7は4コアで8スレッドです。HTTを用いて、物理的には4コアしかないCPUを、OSには8つのコアを持っていると認識させることで、CPUの性能を高めているのです。
例えるなら、CPUという会社の中にコアという社員によるチームが4ついて、さらにチームと同じ人数のスレッドというロボットたちが会社で働いているといったところでしょうか。
注意してほしいのは、HTTとはあくまでもコアが増えているように「見せかける」技術だ。だから物理的なコアを複数持たせる方が性能は高い。「2コアで4スレッド」と「4コアで4スレッド」では後者の方が性能は高いぞ。
結局CPUとは何なのか?
CPUはパソコンの性能を左右する、重要なパーツであることは間違いありません。
パソコンにおける計算を実際に行い、電源がついている間、休むことなく動き続けるバリバリの肉体派、それがCPUです。
CPUの性能を確かめるには、クロック周波数という数字もありますが、それよりもわかりやすい、コア数、スレッド数で判断した方が正確でしょう。