スポンサーリンク

CPU、プロセッサとは何か?

基本情報技術者試験

本記事の内容

本記事は、基本情報技術者試験におけるCPUについて、情報及びコンピュータの素人目線から説明する記事です。

以下の基礎理論については、下記URLから御覧ください!

  • データの単位、基数変換、負の2進数、2進数の四則演算
  • 集合、論理演算、論理回路、オートマトン
  • データ構造、アルゴリズム、プログラミング

本記事の位置付け

本記事では、コンピュータを構成する「ハードウェア」について述べます。
具体的なハードウェアとしては、CPU、メモリ、キーボード、ディスプレイなどがあります。

キーワード

プロセッサ:コンピュータやプロセッサの種類、構成・動作原理など

出題傾向

CPU」だの「メモリ」だのに関する問題が頻出。

基本情報技術者試験では、「CPU」だの「メモリ」だのに関する問題が非常によく出題される模様です。

CPU(Central Processing Unit) とは

CPU

CPU(Central Processing Unit:中央処理装置)とは、コンピュータの中心で仕事をする機械を指す。

少々抽象的ですが、人間における脳に当たる部分で、命令を下す機械(部品)です。
CPUは「プロセッサ」と記載されることもあります。

CPUには低性能のものから高性能のものまで様々な種類がありますが、CPUの性能は、主として以下の3つの指標で評価されます。

  1. クロック周波数
  2. MIPS
  3. コア

クロック周波数

クロック周波数

クロック周波数とは、CPUの動作の速さを表す指標であり、CPU内の発振器が1秒間に発生させる信号の回数を指す。

コンピュータは内部に発振器を持っていて、CPUはこの発振器が発生するテンポに合わせて命令を処理します。
振動しているわけですから、単位は「Hz (へるつ)」です。
すなわち、

1病患に1回の信号を発生させるとき1Hz

と表記します。

現実世界であえて例えるなら、発振器はメトロノームで、CPUは演奏者です。
発振器(メトロノーム)が発するテンポに合わせてCPUが命令の処理を行うのです。

コンピュータの世界では、命令の処理にかかるCPUの手順を「クロック数」で表します。

クロック数

発振器がテンポを刻む回数をクロック数という。

発振器が1回分のテンポを刻むことを1クロックと表記します。

コンピュータが処理する命令の中には、1クロックで終わる命令もあれば、4クロックかかる命令もあります。
命令が複雑であれば、その分多くのクロック数を要します。

つまり、あるCPUが1秒間に4クロックの命令を処理できるとします。
すると、4Hzのクロック周波数を持っていることになります。
このとき、1クロックの命令は1秒間に4つ、2クロックの命令は1秒間に2つ処理できるということを指しています。

このように、より多くの命令をより早く実行するには、より早いテンポに対応できるCPUが必要になります。
つまり、大きいクロック周波数に対応できるCPUほど、処理が早いということになります。

1秒間に実行できる命令数を計算するための式

$$ 1秒間に実行できる命令数=\frac{クロック周波数}{1つの命令を実行するのに必要なクロック数} $$

「でしょうとも」といった式です。

例えば、クロック周波数が2.5GHzのCPUが1秒間に処理できるクロック数は、最大で2.5Gクロック、つまり25億クロックです。
故に、1つの目入れにかかるクロック数が平均で2クロックの場合だと、1秒間に実行できる命令数は12.5億個です。
$$
1秒間に実行できる命令数=\frac{2.5\times10^9}{2}=12.5\times10^9
$$

とどのつまり、CPUのクロック周波数が大きければ大きいほど高性能であるわけです。

MIPS (Million Instructions Per Second)

MIPS

MIPS(Million Instructions Per Second)とは、CPUが1秒間に何百万個の命令を実行できるかを表す単位である。

つまり、2MIPSは「1秒間に200万個の命令を実行できる」という意味です。

MIPSの算出式
$$
{\rm MIPS}=\frac{1秒}{平均命令実行時間}\times10^{-6}
$$

ここで、「平均命令実行時間」とは、1つの命令を実行するのにかかる時間の平均値です。
となると上の算出式は「さもありなん」といったところでしょう(※100万=\(10^6\)に注意)。

先述の通り、命令には処理をするのに長い時間がかかる命令(クロック数がたくさん必要な命令)や、直ちに処理できる命令(クロック数をあまり必要としない命令)があります。
つまり、実行時間は命令によってバラバラです。
故に平均値を用いるのです。

基本情報技術者試験試験では、MIPSを求める問題と平均命令実行時間を求める問題の双方が出題される

もはや書くまでもないかもしれませんが、例えば、2MIPSの平均命令実行時間を求める場合は
$$
2{\rm MIPS}=\frac{1秒}{平均命令実行時間}\times10^{-6}
$$
という方程式を解けばOKです。
故に、平均命令実行時間は\(500\times10^{-6}\)秒ですから、500㌨秒です。

コア

基本情報技術者試験では「コアとは何か?」という類の問題は出題されることはあまりないようですが、設問中にはよく登場します。

コアとは、CPU内にある「演算を行う装置」を指す。

従来は1つのCPUに1つのコアしか入っていなかったのですが、最近は1つのCPU内に複数のコアが搭載されているコンピュータが主流です(マルチコアプロセッサって聞いたことありません?)。

このように1つのCPU内に複数のコアを持つCPUのことを「マルチコアプロセッサ」といいます。
また、2つのコアを持つCPU(プロセッサ)を「デュアルコアプロセッサ」、4つのコアを持つCPU(プロセッサ)を「クアッドコアプロセッサ」といいます。

マルチコアプロセッサは、それぞれのコアが独立の処理を実行できるため、多くのコアが搭載されていればされているほど、CPUの性能が高いと言えます。

人間でいうと「マルチタスクお化け」といったところでしょうかね。

今回は、基本情報技術者試験におけるCPUについて、情報及びコンピュータの素人目線から説明しました。

CPUはプロセッサとも呼ばれ、コンピュータにおいて命令を下し処理をする役割を担っています。
CPUの性能は

  • クロック周波数
  • MIPS
  • コア

で測ることができるのでした。

質問、コメントなどお待ちしております!
どんな些細なことでも構いませんし、この記事に限らず、「定理〇〇の△△が分からない!」などいただければお答えします!
Twitterでもリプ、DM問わず質問、コメントを大募集しております!

過去問などを解きたい場合は、過去問道場がおすすめです!

コメントをする