CPUとコンピュータの構成をやさしく図解 — 五大装置・命令実行・パイプライン

公開: 2026年7月 カテゴリ: コンピュータ構成

「CPUって結局なにをしているの?」「クロック周波数が高いと速いのはなぜ?」——コンピュータは5つの装置が役割分担して動いています。この記事では、五大装置の関係から、CPU内部のしくみ、命令が実行される手順、クロック、パイプラインまでを図解します。CPUの中で計算を担う論理回路は 論理回路シミュレータ で触れられます。

コンピュータの五大装置

コンピュータは、次の5つの装置(五大装置)で構成されます。それぞれが役割を分担し、データと制御の信号をやり取りしながら動きます。

装置役割
制御装置命令を解読し、各装置に指示を出す(司令塔)CPU内
演算装置四則演算・比較・論理演算を行うCPU内(ALU)
記憶装置データや命令を記憶するメモリ・ストレージ
入力装置データを取り込むキーボード・マウス
出力装置結果を外に出すディスプレイ・プリンタ

このうち制御装置と演算装置を合わせたものが CPU(中央処理装置)です。CPUがコンピュータの「頭脳」と呼ばれるのはこのためです。

五大装置の関係(実線=データの流れ、点線=制御の流れ) CPU(中央処理装置) 制御装置 司令塔 演算装置 ALU 記憶装置(メモリ) 入力装置 出力装置 制御装置がすべてに指示を出し、演算装置が計算、記憶装置がデータを保持する
図1: 制御装置と演算装置がCPU。メモリとの間で命令・データをやり取りしながら処理する

CPUの中身 — レジスタとALU

CPUの内部には、ごく小容量 but 超高速の記憶場所レジスタがあります。計算対象の値や、次に実行する命令の位置などを一時的に置く場所です。代表的なものに、プログラムカウンタ(次の命令のアドレスを保持)命令レジスタ(実行中の命令を保持)、演算対象を置くアキュムレータなどがあります。実際の計算はALU(算術論理演算装置)が行い、その中身は 論理演算 のAND・OR・XORなどの論理回路でできています。

命令が実行される手順(命令サイクル)

CPUは、1つの命令を次の手順で処理し、これを高速に繰り返します。この1周を命令サイクルと呼びます。

命令サイクル:この流れを繰り返す ①フェッチ命令を取り出す ②デコード命令を解読 ③オペランド読出データ取得 ④実行ALUで演算 ⑤格納結果を書く ①②を命令の取り出し・解読、③〜⑤を実行と大きく分けることもある
図2: フェッチ→デコード→実行の繰り返し。プログラムカウンタが次の命令の位置を指す

クロックと処理速度

CPUはクロックという一定の拍子(チクタク)に合わせて動作します。1秒間の拍数がクロック周波数で、単位はHz(3GHzなら1秒間に約30億回)。周波数が高いほど1秒あたりの処理ステップが増えます。ただし、1命令に必要なクロック数(CPI:Cycles Per Instruction)もあるため、実際の速さは「周波数 ÷ CPI」で効いてきます。「クロックが2倍でも、1命令に必要なクロックが2倍なら差し引きゼロ」というわけです。

1クロックの時間は周波数の逆数です。例:クロック周波数が 2GHz なら、1クロック= 1 ÷ (2×10⁹) 秒 = 0.5ナノ秒。この手の計算は試験で頻出です。

パイプライン処理 — 命令を重ねて流す

命令サイクルを「1つ終わってから次」ではなく、各段階を少しずつずらして同時並行で流すのがパイプラインです。工場のベルトコンベアで、ある製品を塗装している間に次の製品を組み立てるイメージ。全体のスループット(単位時間の処理数)が大きく向上します。

パイプライン:命令1の実行中に命令2のフェッチを始める 命令1 フェッチ デコード 実行 命令2 フェッチ デコード 実行 命令3 フェッチ デコード 実行 時間 → 段階をずらして重ねるほど、単位時間に多くの命令をさばける
図3: 段階をずらして重ねることで、全体の処理速度が向上する(理想的にはn段で最大n倍)

ただし、条件分岐で「次にどの命令を流すか」が確定しないと、先読みが無駄になり流れが乱れます(分岐ハザード)。これを緩和する分岐予測などの工夫もあります。

🔌 CPUの計算を支える論理回路を触るなら:演算装置(ALU)の中身であるAND・OR・XORゲートや、足し算を行う半加算器の動きは、論理回路シミュレータで入力0/1をクリックしながら確かめられます。数の表し方は 2進数と基数変換 もどうぞ。

基本情報技術者試験ではこう出る

「五大装置の役割」「制御装置と演算装置=CPU」「命令実行の順序(フェッチ→デコード→実行)」「クロック周波数から1クロックの時間を求める」「CPIから処理時間を計算」「パイプラインの効果とハザード」が定番です。とくに1クロック=1÷周波数命令の処理時間=命令数 × CPI × クロック周期の計算は押さえましょう。記憶の階層(レジスタ→キャッシュ→メモリ)は 記憶階層とキャッシュメモリ で詳しく扱います。

よくある質問

Q. ノイマン型コンピュータとは?
A. プログラム(命令)もデータと同じようにメモリに記憶し、順に取り出して実行する方式で、現在のコンピュータの基本です(プログラム内蔵方式)。命令とデータが同じメモリにあるため、プログラムを差し替えるだけで別の処理ができます。

Q. コア数とクロック、どちらが速さに効く?
A. 両方効きますが役割が違います。クロックは1つの処理を速くする方向、コア数は複数の処理を同時に走らせる方向です。並列化できる処理はコアが多いほど速く、逐次的な処理はクロックが効きます。近年はクロックを上げにくいため、コアを増やす方向(マルチコア)が主流です。

Q. 32ビットCPU・64ビットCPUの「ビット」とは?
A. CPUが一度に扱えるデータの幅(レジスタやデータバスの幅)の目安です。64ビットなら一度に扱える数の範囲が広く、扱えるメモリ量も大きくなります。ビットの基礎は 2進数 の理解と直結します。

まとめ

コンピュータは五大装置(制御・演算・記憶・入力・出力)で構成され、制御装置+演算装置=CPU。CPUはフェッチ→デコード→実行の命令サイクルを、クロックに合わせて高速に繰り返し、パイプラインで命令を重ねて効率を上げます。計算問題(1クロックの時間・処理時間)とセットで押さえておきましょう。

関連ページ: 記憶階層とキャッシュメモリ論理回路シミュレータ2進数と基数変換記事一覧