MENU

YouTube

YouTube始めました!
、だからさらに・・・分かる!

プロフィール

よし

IT/情報技術を独自の視点で噛み砕いて可視化し、初心者の方にもわかりやすく解説していきます!


\Follow me/
サイト新規開設!

CPUとは? ~コンピュータの頭脳に迫る~

CPUとは?

どうも、みなさんこんにちは、よしです。

今回は、コンピュータの頭脳に当たる「CPU」について解説していきたいと思います。

何故CPUがコンピュータの頭脳と呼ばれるのか。その理由を紐解きながら、「CPUとは?」を解説します。「クロック周波数」「コア数」などのCPUの性能を表す指標についても説明します。

ほな、いきましょう!

メモリを動かすのは誰?

メモリやストレージはデータを記憶するための装置であることを説明しました。

メモリとストレージの違い
~どちらも記憶装置!?~
メモリに書き込む

メモリやストレージは、記憶装置としての役割しか持たないため、それとは別にデータを書き込んだり、読み出したりする指示を出す装置が必要になります。「ノート単体だけでは意味をなさず、人間がノートにメモを書き込んだり、メモを読み返すことで、ノートが記録できる物としての意味をなす」のと似ています。その役割を担っているのがCPUです。

CPUとは?

CPU

「CPU」とは、Central Processing Unitの略で、日本語では中央処理装置と呼ばれています。上述のように、メモリやストーレージの記憶装置に対して、このデータを書け、読めといった指示を出しています。また、記憶装置以外にもコンピュータにはマウスやキーボードなどの入力装置、ディスプレイなどの出力装置があります。それらコンピュータに備わっている全ての装置を制御する装置がCPUです。

CPUはプログラムの命令に従って各装置を制御

この指示は、プログラム(ソフトウェア)と呼ばれる指示書に記載された命令に従って行われます。つまり、CPUとは「プログラムを解釈し、その命令に従って各装置を制御している装置」と言うことができます。

CPUに指示を出すプログラム

ここで、プログラムについて少しだけ触れておきます。

プログラムがCPUに各装置の制御方法を教える

CPUは他の装置を制御するのですが、どのように制御するかは、機器や状況によって異なるります。スマホ画面の同じ部分をタッチしても、その動作は起動しているアプリケーションによって異なるのはご存知でしょう。つまり、頭脳であるCPUに「この画面タッチの場合はAをしろ、このタッチの場合はBをしろ」と制御の仕方を教える何かが必要になります。それがプログラム(ソフトウェア)です。

つまり、プログラム(ソフトウェア)とは、「装置をどのように制御するのかをCPUに教える指示書」と言えます。

注釈

    プログラムとソフトウェアの違いについて

    「プログラム」と「ソフトウェア」は同じ意味を表し、プログラムをソフトウェアと言い換えても問題ありません。その逆もしかりです。これらは主に文脈によって使い分けられます

    プログラミングにより生成されたモノに焦点を当てる場合は「プログラム」という言葉が使われます。一方、ハードウェアと対比したモノに焦点を与える場合は「ソフトウェア」という言葉が使われます。

コンピュータの5大装置

コンピュータの装置は5つの種類に大別される

では、CPUはどのような装置を制御しているのでしょうか?
コンピュータには様々な装置が備わっていますが、それらは次の5つの種類に大別されます。

  • 人間からの指示を受け取る「入力装置」(例:マウス、キーボード)
  • 指示の結果を表現する「出力装置」(例:ディスプレイ)
  • データを記憶する「記憶装置」(例:メモリ、ストレージ)
  • プログラムに記載された算術/論理/比較演算をする「演算装置」
  • これら装置を制御する装置である「制御装置」
コンピュータの5大装置

これらの名称は、コンピュータが行なっている仕事を理解するために付けられた概念的な呼び方です。この5つの装置を「コンピュータの5大装置」と呼びます。

このうち、演算装置と制御装置は個別のハードウェアとして存在しているわけではなく、CPUがその2つの役割を果たしています。先に述べたように、CPUはプログラムの命令に従って演算をする演算装置であり、その他の装置を制御する制御装置なのです。

注釈

    5大装置は「バス」と呼ぶ線で繋がっています。制御装置が他の装置を制御する指示が流れるバスと、その指示によって演算、記憶、入力、出力装置間で交換するデータが流れるバスは異なっています。

5大装置の具体例

少し複雑になってきましたので、コンピュータとビデオゲーム を例にとり考えてみましょう。

コンピュータにおけるCPUの動作

コンピュータの場合、キーボードやマウスなどの入力装置から人間の指示を受け取ります。そして、プログラムの指示に従い、演算装置を使って次のアクションを計算します。この際、計算結果などの後に必要となるデータを記憶装置であるメモリへ記憶します。最後に、ディスプレイなどの出力装置にアクションの結果を表示します。これらの処理を制御装置がコントロールしています。コンピュータはこの処理を何度も繰り返しながら動作しています。

ビデオゲームにおけるCPUの動作

ビデオゲームの場合はどうでしょうか。人間はコントローラを操作することで画面の中の車やキャラクタを操作することができます。これは、コントローラという入力装置が人間の指示を受け取り、ゲーム機本体に内蔵されているCPUが、ゲームソフト(プログラム)に従って次のアクションを計算、保存し、その結果をディスプレイに表示する、という動作によって実現されているわけです。

入力装置・出力装置はI/O装置と呼ばれる

ここで出てきた、入力装置と出力装置は合わせて、「I/O装置:Input/Output device」と呼ばれることもありますので覚えておくとよいでしょう。

注釈

    これら動作は単純化して説明しています。実際の動作はもう少し複雑で、また、機器によっても異なることがあります。

CPUの性能

CPUはコンピュータの頭脳と例えられる

CPUは制御装置であり演算装置であるということを説明しました。演算をこなし、他の装置も制御することから、CPUは「コンピュータの頭脳」と例えられることがあります。ということは、コンピュータやビデオゲームの性能は、その頭脳であるCPUの性能に依存するということが想像できるかと思います。

皆さんは、パソコンを購入される際、CPUのアップグレードを検討されたことはありますでしょうか。頭脳をより高性能することで、パソコンの処理速度向上が期待できます。

ではどういったCPUが高性能と呼べるのか、その性能を表す指標をいくつかを見ていきましょう。

クロック周波数

同期を取るダンスの例

数人のグループでダンスの練習をしている場面を想像してください。全員の振り付けを合わせるためには、代表者が手拍子を打とうとするでしょう。これを、同期を取るといいます。

クロック周波数が高いほどCPUは高速に動作

コンピュータも同様に、各装置はクロックと呼ばれる周期的な信号に合わせて動く決まりになっています。代表者が打った手拍子、つまり、クロックに合わせて装置が動くことで、装置間での同期を取っているのです。このクロックが1秒間に繰り返される回数のことを「クロック周波数」と呼びます。そして、手を早く叩けば、ダンスが速くなるのと同様に、CPUもクロック周波数が高くなるほど高速に動作します。

MacBookのクロック

こちらはMacBookに搭載されているCPUの仕様です。記載されている「プロセッサ」とは「CPU」と同じ意味だと捉えてください。このMacBookの場合、オプションでCPUを1.1GHzから1.2GHzへアップグレードすることができます。追加のお金を払えば、よりクロック周波数の高いCPUに交換できるということですね。

「1GHz」のGは、10の9乗=10億を、Hzは1秒間あたりの振動数(手拍子の回数)を表します。よって「1.1Ghz」は1秒間に11億回、動作することのできるCPUということを示しています。

クロック周波数は高い方が良い?

ここまでの話を聞くと、クロック周波数は高ければ高いほど嬉しいように思います。しかし、クロック周波数を高くしすぎると、いくつかの問題が発生します。

クロックを高くすると発熱し消費電力が増加

一つは、速くダンスをすればするほど汗をかいて疲れるのと同様に、クロック周波数を高くすれば、それだけ発熱し、消費する電力も増えます。例えば、スマホなどのモバイル機器は駆動時間も重要な要素ですから、消費電力が多くてスマホのバッテリがすぐになくなってしまうのは問題となるわけです。

1GHzは1秒間に10億回振動

また、別の問題も生じます。1GHzの場合、1クロックは10億分の1秒になります。言い換えると、10億分の1秒という凄まじく短い間隔で手が叩かれていることになります。クロック信号は電流であり、電流はおおよそ光速の30万km/sという速さで伝わります。その速さを持ってしても、クロック信号はこの10億分の1秒という短い時間では、約30cmしか進めないのです。30cm進んだところで次のクロック信号が発せられるわけです。

少し考えてみてください。同期を取ろうと思った場合、次の手拍子が来る前に振りを終わらせていないといけません。次の手拍子が発せられてから一つ前の振りをしていては、ダンスがバラバラになってしまうからです。つまり、同期を取る人同士が、ダンスの例であれば、ダンスを踊る人同士が、30cm以内の距離にいないと、ダンスがバラバラになってしまうことになります。

CPU半導体の微細化の限界

3GHzのCPUの場合は10cmです。このように、クロック周波数を高くするには、構成部品を微細化してCPU内に配置する必要があります。しかし、この微細化にも限界がきているのです。

注釈

    光速の30万km/sという値は真空中を伝播する速度です。そのため、CPUの回路上を流れる電流の速度はそれよりもさらに遅くなります。

コア数

CPUコアとは?

そこで、クロック周波数を程々にとどめることで発熱を抑え、代わりにコアを複数搭載することで、CPUの性能を向上させようと考えられました。「コア」とは、CPUの仕事の中心を成す部分を指し、コアが複数あるとは、一つのCPUの中に演算装置や制御装置が複数ある状況を意味します。コア単体の速度を上げるのではなく、複数のコアを搭載することで、CPU全体としての性能向上を狙っているのです。

コアが2個搭載されているCPUをデュアルコアCPU、4個をクアッドコアCPUと呼びます。数に関係なく、複数のコアを搭載したCPUをマルチコアCPUと呼びます。

MacBookのコア

先程のMacBookの例では、CPUにコアが4個搭載されていることがわかります。

スレッド数

CPUスレッドとは?

また、「スレッド」と呼ばれる技術も登場しました。これは、コアの中の制御装置を増やし、擬似的にコアが増えたようにPCに見せかける技術です。種類の異なる演算をするために、演算装置の中にはまたいくつかの装置があります。それら全てが同時に使用されるわけではないため、空いている装置を有効的に活用することで、性能向上を目指しています。ただし、演算装置が増えているわけではないため、コアの増加ほどに、性能向上が見込めるわけではありません。

このスレッド数を増やす技術は、Intel製のCPUでは、「HTT:Hyper-Threading Technology」、AMD製のCPUでは「SMT:Simultaneous Multithreading」と呼ばれています。
注釈

    他にも、キャッシュとよばれる技術が存在します。キャッシュはメモリよりも高速に読み書きができる記憶領域であり、それをCPU内部に搭載することで性能向上を図っています。

まとめ

最後に、ここまでの内容を振り返ってまとめたいと思います。今回、「CPUとは?」について解説して来ました。

まとめ

CPUは、

  • 制御装置であり演算装置であること
  • コンピュータの5大装置の中でも中心的な存在であること

を解説しました。また、CPUの性能を表す指標として、

  • 「クロック周波数」があり、高いほど処理が速くなるが、高くなりすぎると問題が生じること
  • 「コア数」、「スレッド数」など、クロック周波数とは別の考え方でCPUの性能向上を狙っていること

を説明しました。


ということで、今回は以上になります。

よし

ここまで、記事をお読み下さり、ありがとうございました。

ほなね!