【CPUの内部構成】中央処理装置の役割~内部機能の構成と役割まで解説!

【CPUの内部構成】中央処理装置の役割~内部機能の構成と役割まで解説!
ハテオ君

CPUの中ってどんな構成になっているんだろう?またそれぞれの機能と役割まで知れたら嬉しいなぁ...。

今回はこの悩みを解決します!

今回の記事テーマ

強調本日の記事テーマ詳細...CPUの内部はどのように構成されていてどんな役割があるのか理解しよう

コンピュータを利用する上で必要不可欠な存在が「CPU」です。

CPUはコンピュータ内部で様々な処理を行っているためコンピュータの脳とも呼ばれています。

IT業界では活躍するためには、CPUの基礎知識は必要不可欠なので今回の内容を参考に身につけていきましょう。

本日の記事内容

記事の最後には、今回の内容に関しての確認問題も用意していますので、インプットとアウトプットとしても是非活用してみてください。

元中卒の自分が、誰でも理解できるように解説していきます。

それでは早速見ていきましょう。

黄島 成

コンピュータの基礎知識おさらい

CPUの解説に入る前にまず、コンピュータの基礎知識をおさらいしておきましょう。

コンュータとは「指示を出せば自働で情報を処理する機械」です。

そんなコンピュータの内部は以下5つの装置で構成されています。

  • リスト
  • リ制御装置
  • 演算装置
  • 記憶装置
  • 入力装置
  • 出力装置

この5つの装置の合わせて「コンピュータの五大装置」と呼ぶ。

上記の「制御装置」「演算装置」をCPU(中央処理装置)と呼ばれいます。

それでは、この5大装置の役割をざっとおさらいしておきましょう。

まだコンピュータの5大装置が分からない方は【パソコンの基礎知識】コンピューターの五大装置〜各装置の機能と役割をご覧ください。

5大装置(各装置の役割と情報処理の流れ)

5大装置の全体像と、データと制御の送受信の流れは以下通りです。

各装置の役割

装置 役割
制御装置

記憶装置からプログラムの命令を取り出して解読し、それぞれの装置に指示を与える 

演算装置 四則演算や比較判断などデータの処理や加工を行う
記憶装置主記憶装置でデータやプログラムを記憶する
入力装置コンピュータの外部からプログラムやデータを読み込む
出力装置コンピュータの内部で処理されたデータを外部へ書き出す

現在の主流はノイマン型コンピュータ

普段から皆さんが使用するコンピュータは、ノイマン型コンピュータと呼ばれる種類のコンピュータとなります。

ノイマン型コンピュータの特徴は、プログラムをデータとして記憶装置に格納し、順番に読み込み実行する処理方法です。

具体的には以下2つの方式を採用しているコンピュータが「ノイマン型コンピュータ」に該当します

  • プログラム内蔵方式
  • 逐次制御方式

逆に、上記方式を採用していないコンピュータは「非ノイマン型コンピュータ」と呼ばれます。例えば、ニューロコンピュータ、量子コンピュータなどが挙げられる。

ちなみにノイマン型コンピュータの名前の由来は、この方式を初めて公にした「フォン・ノイマン」って方の名前を取って名付けられたそうです。

それでは、「プログラム内蔵方式」と「逐次制御式コンピュータ」について詳しく見ていきましょう。

プログラム内蔵方式とはどんな方式?

プログラ内臓方式とは、処理するデータなどをあらかじめ主記憶装置に記憶しておく方式になります。

主記憶装置に置かれたプログラムを実行する時によく使われ、別名「ストアドプログラム方式」「ノイマン型」とも呼ばれている。

主記憶装置上に読み込んだデータに関しては、CPUが順番に取り出し1つ1つ処理を行なっていきます。

逐次制御方式とはどんな方式?

逐次制御方式とは、CPUが主記憶装置から取り出したプログラムの命令やデータを順番に実行していく方式となります。

この方式では、1つの命令の処理を完了しないと次の命令を実行されないとゆう所が特徴的です。

結論、上記の2つの方式が使われているのが「ノイマン型コンピュータ」という訳です。

みなさんの使っているパソコンのほとんどがノイマン型コンピュータなので覚えておきましょう。

 CPU(中央処理装置)の役割

それでは次にCPUの解説に入っていきましょう。

CPUは、「制御装置」と「演算装置」の2つで構成されています。

それぞれの役割を詳しく見ていきましょう。

制御装置の役割

制御装置の役割は以下通り

  • 記憶装置からプログラムの命令を取り出し
  • プログラムやデータの解読
  • CPUから各装置への指示

制御装では上記3つの役割を主に担当しています。

つまり制御装置はコンピュータ内部で仲介的な役割を主に担っています。

演算装置の役割

演算装置の役割は以下通り

  • 四則演算(加算、減算、乗算、除算)や論理演算
  • 情報データの処理や情報データの加工、編集

演算装置は上記2つ役割を主に担当しています。

つまり演算装置では、コンピュータ内での計算やデータの処理などの役割を主に担っています。

CPUの内部構成

それでは次に、CPUの内部はどのような機能で構成されているのかを解説していきます。

CPU内部は以下の4つの機能で構成されています。

  • 制御ユニット
  • 演算ユニット
  • レジスタ
  • クロック周波数

CPUの全体構造としては下記の図を参考に

それでは順番に詳しく見ていきましょう。

その①:制御ユニットの役割

CPU内部の機能構成の1つ目が制御ユニットです。

上記図の黄色の枠が制御ユニット部分になります。

制御ユニットの主な役割

  • 演算ユニットとレジスタの動作
  • メモリの読み書きと入出力

上記2点を制御するために制御ユニットは存在します。

制御ユニットのデコーダ部分の機能

  • 命令レジスタの命令部の解読(レコード)
  • 演算ユニットの中の演算回路の選択

デコーダとは、命令の解読をするための機能のことを指します。

その②:演算ユニットの役割

CPU内部の機能構成の2つ目が制御ユニットです。

上記図の黄色の枠が演算ユニット部分になります。

演算ユニットの役割

  • 論理計算
  • 加算・減算

上記2点の計算をするために演算ユニットは存在しており、計算をした結果はアキュレータに格納されます。

演算処理の流れ

  • 2進数の機械語、命令語がメモリから読み込み
  • デコーダを経由し制御情報に変換
  • 制御装置に従って演算機が動作
  • 2進数で表現されたデータを演算
  • 結果を2進数で出力

以下の図も参考に

その③レジスタの役割

CPU内部の機能構成の3つ目がレジスタです。

レジスタとは一言で言うと「CPUの中にある記憶装置」または「CPUのメモリ」のようなイメージです。

具体的には、記憶できる容量が少ないが、処理速度がとても速いCPU内部にある記憶装置のこと。

役割としては、演算装置で演算した結果などを一時的に保存する役割を持っています。

例えば、人間が計算をする時の場合

計算問題で暗算するとき頭の中で計算しその結果を記憶し答えると思います。しかし逆に、計算問題が4個ほどあれば全て記憶することは難しいですよね。

CPUも同じで、処理速度は速く一時的に演算結果を記憶はできるが、結果をいっぱい覚えておくことはできません。

レジスタは、CPU内に数十個ほど存在し各結果を一時保存し、他の装置との連携をうまく行なっています。

そのためCPUには絶対に欠かせない機能の1つとなっています。

レジスタの種類

レジスタをある程度理解できたところで、レジスタには用途によっていくつか種類があるので紹介していきたいと思います。

主に以下の6つの種類が存在する。

  • プロラムカウンタ
  • 命令レジスタ
  • インデックスレジスタ
  • ベースレジスタ
  • アキュレータ

順番にそれぞれの役割を見ていきましょう。

命令レジスタ(イントラクションレジスタ)

命令レジスタとは、主記憶装置(RAM)から取り出された命令の内容を記憶する役割を担当します。

別名「instruction register(イントラクションレジスタ)」とも呼びます。

命令アドレスレジスタ(プログラムカウンタ)

命令アドレスレジスタとは、次に実行すべき命令のアドレスを一時的に記憶しておく役割を担当します。

別名、「Program Counter(プログラムカウンタ)」とも呼び、命令の実行が終わるとプログラムカウンタは、次のアドレスにある命令を取り出します。

基底レジスタ(ベースレジスタ)

アドレス指定に用いるレジスタであり、アクセスしたい命令アドレス部の基準値や先頭位置を保持しておくための役割を担当しています。

別名「base register(ベースレジスタ)」とも呼びます。

指標レジスタ(インデックスレジスタ)

指標レジスタとは、アドレス指定で用いるレジスタです。

具体的には、アクセスしたい命令アドレス部の基準となるアドレスから増減値を記憶しておく役割を担当しています。

別名「index register(インデックスレジスタ)」とも呼びます。

アキュムレータ(累算器)

アキュレータムとは、演算対象と演算結果を格納する役割を担当しています。

簡単に言えば、コンピュータ内で計算や式をしてくれるとゆうイメージです。

別名「累算器」とも呼ばれます。

汎用レジスタ(ジェネラルレジスタト)

汎用レジスタとは、特定の機能に限定せず多目的に使用されるため、状況に応じて様々な用途で活躍する役割担当します。

汎用レジスタは、なんでもできる便利屋さんってイメージです。

別名「general register(ジェネラルレジスタ)」とも呼ばれます。

レジスタに関しては後ほどアドレス指定の記事で詳しく解説していきますので「レジスタはこんなものががあるんだ」くらいでざっと覚えておきましょう。

その④:クロック(クロック周波数)の役割

コンピュータ内部では電気の「ON/OFF」で情報を表しています。

ON/OFF」の切替スピードが速ければ速いほど処理できる情報量が増え、コンピュータの性能が良いと言えます。

この「ON/OFF」の切り返えスピードのことをクロック周波数と呼ぶ。

クロック周波数の単位はHz(ヘルツ)

クロック周波数の単位としては、「Hz(ヘルツ)」という単位が使われます。

このHzでは、1秒間に何回「ON/OFF」の切り替えが出来たかを示す単位となります。

Hz(ヘルツ)の単位一覧

単位クロック数
1Hz(ヘルツ)1秒間あたり1回
1KHz(キロヘルツ)1秒間あたり1000回
1MHz(メガヘルツ)1秒間あたり100万回
1GHz(ギガヘルツ)1秒間あたり10億回
1THz(テラヘルツ)1秒間に1兆回

今回のまとめ&確認問題

CPUの構成については上記内容で以上となります。

それではまず今回の内容をまとめていきましょう。

まとめ

  • コンピュータは5大装置で構成されており現在の主流はノイマン型コンピュータ
  • 制御装置と演算装置をまとめてCPU(中央処理装置)と呼ぶ
  • CPU内部には、「レジスタ、クロック周波数、制御ユニット、演算ユニット」がある
  • レジスタは、CPUの中にある高速で小容量の記憶装置
  • パソコン内では電圧が「高/低」でリズムを取っているクロック周波数が使われている

今回の確認問題「アウトプット用」

確認問題

ハードウェア確認問題②

「次へ」で問題スタート!

①解説

【問題①】

問題①

コンピュータは「入力・記憶・演算・制御・出力」の五つの機能を実現する各装置から 構成される。命令はどの装置から取り出され、どの装置で解釈されるか。

 取り出し解釈
 ×演算制御
 記憶制御
 × 制御演算
 × 入力演算

【解説】

コンピュータは、「入力・記憶・演算・制御・出力」の五つの装置で構成されている。

各装置の役割

装置 役割
制御装置記憶装置からプログラムの命令を取り出して解読し、それぞれの装置に指示を与える 
演算装置 四則演算や比較判断などデータの処理や加工を行う
記憶装置主記憶装置でデータやプログラムを記憶する
入力装置コンピュータの外部からプログラムやデータを読み込む
出力装置コンピュータの内部で処理されたデータを外部へ書き出す

この問題では命令はどの装置から取り出されどの装置で解釈されるかを問われています。

上記内容を確認するとと分かると思いますが答えは「」となる。

②解説

【問題②】

主記憶に記憶されたプログラムを、CPUが順に読み出しながら実行する方式はどれか。

:DMA制御方式
不正解× 入出力装置がCPUを介さずにメモリとの間で直接データを転送する方式
:アドレス指定方式
不正解× 命令が処理対象とするデータの主記憶上の位置を指定する方式
:仮想記憶方式
不正解× 主記憶のサイズよりも大きなプログラムを実行可能にする方式
:プログラム格納方式
正解○

【解説】

現在主流のコンピュータは「ノイマン型コンピュータ」です。

特徴としては、プログラムをデータとして記憶装置に格納し、順番に読み込み実行する処理方法です。

ノイマン型コンピュータでは主に「プログラム格納方式」と「逐次制御方式」の処理方式が使われています。

  • プログラム格納方式=処理するデータなどをあらかじめ主記憶装置に記憶して、CPUが順番に取り出し1つ1つ処理行う
  • 逐次制御方式=CPUが主記憶装置から取り出したプログラムの命令やデータを順番に実行していく方式となります。

つまり答えは「」となる。

③解説

【問題③】

PCのクロック周波数に関する記述のうち、適切なものはどれか。

:CPUのクロック周波数と、主記憶を接続するシステムバスのクロック周波数は同一でなくてもよい。
正解◯ CPUと主記憶の拡張などで使われるシステムバスクロックの周波数は一緒である必要はない。
:CPUのクロック周波数の逆数が、1秒間に実行できる命令数を表す。
不正解× 1命令は必ず1クロックではない。
:CPUのクロック周波数を2倍にすると、システム全体としての実行性能も2倍になる。
不正解× 他の装置やネットワークの機能にもよるので、クロック周波数だけでは2倍にならない。
:使用しているCPUの種類とクロック周波数が等しければ、2種類のPCのプログラム実行性能は同等になる。
不正解× ウと同様

【解説】

コンピュータ内部では電気の「ON/OFF」で情報を表しています。これを「クロック周波数」と呼ぶ。

クロック周波数は、1秒間で何回「ON/OFF」されたか表す数値「単位:Hz(ヘルツ)」でのプロセッサの性能指標として使われる。

コンピュータのメーカーや製品が一緒であれば、クロック周波数が高いほど処理速度が速いと言えます。

つまり答えは「」となる。

最後まで読んでいただきありがとうございました!

今回の内容が、役に立ったな!と思ったらシェア&ブクマ登録よろしくお願いします。

また、質問や問い合わせに関しては、コメント欄かお問い合わせフォームを活用ください。

それではまたお会いしましょう。

黄島 成

-ハードウェア
-