情報処理試験を勉強していると、「CPUって結局なにをしている部品なの?クロック周波数とかMIPSとか、どこまで覚えればいいの?」と混乱しがちです。この記事では、CPUの基本的な役割から内部構成、高速化技術、性能指標までを整理し、試験で問われるポイントに絞って解説します。
対象試験と出題頻度
CPUは、ITパスポート・基本情報技術者・応用情報技術者のすべてで出題される最重要テーマです。
IPではクロックの役割や性能比較の知識問題、FE・APではクロック周波数を使ったMIPS計算やパイプライン処理のスループット計算が定番です。
詳細をクリックして確認
ITパスポート
基本情報技術者
応用情報技術者
★★★★★
ランクS(超重要)絶対に覚える必要あり
用語の定義
CPU(Central Processing Unit/中央処理装置)とは、一言で言うと
「プログラムの命令を読み出し、解読し、実行するコンピュータの頭脳」
です。
イメージとしては、「オーケストラの指揮者 兼 演奏者」です。
指揮者は楽譜(プログラム)を読み、各パート(装置)にタイミングを指示します。
さらに自分自身も計算(演奏)を行います。CPUも同じで、命令の読み出し・解読・実行指示と、四則演算や論理演算を一手に引き受けています。
📊 CPUの基本情報
| 項目 | 内容 |
|---|---|
| 正式名称 | Central Processing Unit(中央処理装置) |
| 別名 | プロセッサ、MPU(Micro Processing Unit) |
| 5大装置での位置づけ | 制御装置+演算装置(入力・出力・記憶は別装置) |
| 主な性能指標 | クロック周波数(Hz)、MIPS、CPI、FLOPS |
解説
CPUの内部構成
コンピュータの5大装置(入力・出力・記憶・制御・演算)のうち、CPUは制御装置と演算装置を1つのチップに統合したものです。さらに内部にはレジスタと呼ばれる超高速の小容量メモリを備えています。
CPU の内部構成図
制御装置
命令の読み出し・解読・実行指示を担当
演算装置(ALU)
四則演算・論理演算・比較演算を実行
▲ 制御装置が「司令塔」、演算装置が「実行部隊」として協調動作する
命令実行の4ステップ
CPUは主記憶装置に格納された機械語プログラムを、以下の4段階で繰り返し処理します。
これを「命令サイクル」と呼びます。
① 命令フェッチ
主記憶から命令を取り出す
② デコード
命令を解読する
③ 実行
演算・データ転送を行う
④ 書き戻し
結果をレジスタ/主記憶に格納
▲ この4段階を1命令ごとに繰り返す。クロック信号がタイミングを制御する
クロック周波数と性能指標
CPUは「クロック」と呼ばれる一定周期の電気信号に合わせて動作します。
クロック周波数(単位:Hz)は1秒間に発振されるクロック数を表し、値が大きいほど単位時間あたりの処理回数が多くなります。ただし、クロック周波数だけでシステム全体の性能が決まるわけではありません。
📊 主な性能指標の比較
| 指標 | 正式名 | 意味 | 出題レベル |
|---|---|---|---|
| クロック周波数 | — | 1秒間のクロック数。単位はHz | IP / FE / AP |
| CPI | Cycles Per Instruction | 1命令あたりに必要な平均クロック数 | FE / AP |
| MIPS | Million Instructions Per Second | 1秒間に実行できる命令数を百万単位で表したもの | FE / AP |
| FLOPS | Floating-point Operations Per Second | 1秒間に実行できる浮動小数点演算の回数 | AP |
計算問題で頻出となる公式を整理しておきます。
MIPS の計算公式
MIPS = クロック周波数(Hz)÷ CPI ÷ 106
例:クロック周波数 1GHz(= 109 Hz)、CPI = 5 の場合
MIPS = 109 ÷ 5 ÷ 106 = 200 MIPS
高速化技術
CPUの処理速度を向上させる代表的な手法は3つあります。
| 技術名 | 概要 | キーワード |
|---|---|---|
| パイプライン | 命令サイクルの各ステージを流れ作業のように重ね合わせて、見かけ上1クロックに1命令を完了させる方式 | ステージ、ハザード、分岐予測 |
| スーパースカラ | 複数のパイプラインを並列に持ち、同時に複数命令を実行する方式 | 並列実行、複数命令同時 |
| キャッシュメモリ | 主記憶より高速・小容量のメモリをCPUと主記憶の間に配置し、データのアクセス時間を短縮する | ヒット率、L1/L2キャッシュ |
図解:パイプライン処理の流れ
パイプライン処理を4ステージの例で図示します。命令1~4が順次投入され、各ステージが空き次第、次の命令の処理を開始します。
パイプライン処理(4ステージ)のタイムチャート
| クロック | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| 命令1 | F | D | E | W | |||
| 命令2 | F | D | E | W | |||
| 命令3 | F | D | E | W | |||
| 命令4 | F | D | E | W |
F=フェッチ D=デコード E=実行 W=書き戻し
パイプラインなしでは4命令×4クロック=16クロック必要 → パイプラインありでは7クロックで完了
RISC と CISC
CPUの命令セットアーキテクチャ(ISA)は大きく2種類に分かれます。
| 分類 | 特徴 | 代表例 |
|---|---|---|
| RISC | 命令の種類を少なく・固定長にし、パイプライン処理の効率を高める設計。1命令=1クロックが基本 | ARM、MIPS、RISC-V |
| CISC | 命令の種類が多く・可変長。1命令で複雑な処理が可能だが、パイプラインの効率はRISCに劣る場合がある | x86(Intel / AMD) |
では、これらのポイントが試験でどのように出題されるか見ていきましょう。
💡 CPUの核心を3行で
・制御装置(命令の読み出し・解読・実行指示)+演算装置(四則演算・論理演算)+レジスタで構成される
・クロック周波数は動作の基準信号で、MIPS=クロック周波数÷CPI÷106 で計算する
・パイプライン処理で命令サイクルの各ステージを重ね合わせ、スループットを向上させる
試験ではこう出る!
CPUに関する問題はIP・FE・APのすべてで毎回のように出題されます。知識問題と計算問題の両方が出るため、ここだけは確実に押さえてください。
📊 過去問での出題実績
| 試験回 | 出題内容 | 問われたポイント |
|---|---|---|
| IP R3 問90 |
CPUのクロックに関する説明として適切なものを選ぶ | クロック=命令実行のタイミングを調整する信号。プログラムカウンタとの混同がひっかけ |
| IP R4 問81 |
CPUの性能に関する記述の正誤を判定 | 64ビットCPUは32ビットCPUより一度に処理するデータ長が大きい。キャッシュ容量「少ない=高速」は誤り |
| FE H28春 問9 |
クロック周波数に関する記述で正しいものを選ぶ | CPUのクロック周波数とシステムバスのクロック周波数は同一でなくてよい |
| AP R3春 問9 |
命令実行時間からMIPSを計算する問題 | 命令ミックスから平均実行時間を求め、百万単位に換算する計算力が必要 |
| AP R5秋 問9 |
パイプラインの性能向上技法として適切なものを選ぶ | 分岐予測(ブランチプレディクション)が正解。アウトオブオーダー実行との区別 |
📝 IPA試験での出題パターン
パターン1:クロック周波数の知識問題(IP・FE)
「クロックとは何か」「クロック周波数を2倍にすればシステム性能は2倍か」を問う。正解はクロック=タイミング調整の信号であること、クロック周波数だけで全体性能は決まらないこと。
パターン2:MIPS・CPI の計算問題(FE・AP)
クロック周波数と命令ミックス(命令種別ごとの出現率とCPI)が与えられ、平均CPIからMIPSを算出する。単位の換算ミスに注意。
パターン3:パイプラインのスループット計算(FE・AP)
ステージ数と命令数が与えられ、全命令の処理完了に必要なクロック数を求める。公式は「ステージ数+(命令数−1)」。
IPレベルではパターン1の知識問題だけ押さえれば十分です。FE・APを受験する場合はパターン2・3の計算を確実に解けるようにしてください。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. CPUに関する記述として、最も適切なものはどれでしょうか?
- A. CPUのクロック周波数を2倍にすると、コンピュータ全体の処理性能は必ず2倍になる。
- B. CPUは制御装置と演算装置で構成され、クロック信号のタイミングに合わせて命令のフェッチ・デコード・実行・書き戻しを行う。
- C. CPUのプログラムカウンタは、演算結果を一時的に保持するためのレジスタである。
正解と解説を見る
正解:B
解説:
CPUはプログラムの命令を読み出し・解読・実行する装置であり、制御装置と演算装置から構成されます。動作はクロック信号に同期して行われます。
選択肢Aは誤りです。処理性能は主記憶の速度やバス帯域など複数の要因で決まるため、クロック周波数だけを2倍にしても全体性能が2倍になるとは限りません(FE H28春 問9で出題済み)。選択肢Cも誤りです。プログラムカウンタは「次に実行すべき命令のアドレス」を保持するレジスタであり、演算結果を保持するのはアキュムレータです。
よくある質問(FAQ)
Q. CPUとGPUの違いは何ですか?
CPUは汎用的な逐次処理に強く、OSの制御やアプリケーション実行を担当します。一方、GPU(Graphics Processing Unit)は大量の単純計算を同時並列処理することに特化しており、画像描画やディープラーニングの学習処理に使われます。IPA試験ではGPUが直接出題されることは少ないですが、AI関連の問題で「学習にGPUを使用する」という記述が登場することがあります。
Q. マルチコアCPUとは何ですか?試験で問われますか?
マルチコアCPUは、1つのチップ上に複数のプロセッサコア(演算・制御の処理単位)を搭載したCPUです。デュアルコア(2コア)、クアッドコア(4コア)などがあり、複数の処理を並列実行できます。ITパスポートの用語として「マルチコアプロセッサ」がシラバスに明記されており、「複数のコアによって並列処理ができる」という知識問題が出題される可能性があります。
Q. CPUのビット数(32ビット / 64ビット)は何を意味しますか?
CPUのビット数は、一度に処理できるデータの幅を表します。64ビットCPUは32ビットCPUの2倍のデータ幅を持ち、より大きなメモリ空間をアドレス指定できます。IP R4 問81で「64ビットCPUの方が一度に処理するデータ長を大きくできる」が正解として出題されています。
Q. 割り込み(インタラプト)とは何ですか?
割り込みとは、CPUが現在実行中の処理を一時中断し、優先度の高い別の処理を実行する仕組みです。外部割り込み(入出力装置からの完了通知、タイマー等)と内部割り込み(ゼロ除算、不正アドレス参照等)に分かれます。FEでは「外部割り込みに該当するものはどれか」という選択肢の分類問題が定番です。