CPUアーキテクチャとは(全体像)
CPUは、計算や命令の処理を行う計算機の頭脳(CPU=中央処理装置)。CPUアーキテクチャは、その内部がどんな部品でできているかという構成のことだ。
工場にたとえると分かりやすい。司令塔(制御装置)が指示を出し、加工機(計算する部品)が作業し、手元の作業台(レジスタ)で一時的に置いておく。この役割分担で、命令を次々にこなしていく。
押さえたいのは、CPUは「命令を1つずつ、決まった手順で処理する」こと。その手順が後で出てくる4段のサイクルだ。
詳しく:部品・4段サイクル・2つの構造だけ覚えれば戦える
ここが記事の心臓部。まずCPUの主な部品を押さえよう。
CPUの主な部品
| 部品 | 役割 | 工場のたとえ |
|---|---|---|
| ALU(演算装置) | 計算(足し算や論理)を行う | 加工機 |
| 制御装置(CU) | 命令を読んで各部品に指示を出す | 工場長 |
| レジスタ | CPU内のとても速い小さなメモリ | 作業台の手元 |
| キャッシュ | よく使うデータを置いておく速いメモリ | よく使う材料の棚 |
レジスタの中でも、試験でよく問われるのがPC(プログラムカウンタ)。これは「次に実行する命令の場所を覚えておく」レジスタだ。`PC`はパソコン(Personal Computer)ではなく、CPU内部の専用レジスタ(Program Counter)なので注意。
次に、命令を処理する4段のサイクル。この順番が頻出だ。
命令実行の4段サイクル
| 順 | 段階 | やること |
|---|---|---|
| ① | フェッチ | メモリから命令を取り出す |
| ② | デコード | 命令を解読する |
| ③ | 実行 | ALUで計算や処理を行う |
| ④ | 書戻 | 結果をレジスタやメモリに書き戻す |
この①〜④が、1命令ごとにものすごい回数くり返される。最後に、CPUの基本的な2つの構造を押さえよう。
ノイマン型とハーバード型
| 構造 | 命令とデータの置き場所 | おもな用途 |
|---|---|---|
| ノイマン型 | 同じメモリに置く | パソコン・スマホなど(現代の主流) |
| ハーバード型 | 別々のメモリに分ける | 組込み機器・音声処理など |
つまり、現代のパソコンの多くはノイマン型(命令もデータも同じメモリ)で、ハーバード型は命令とデータを分けて同時に読み、速さをかせぐ。組込み機器でよく使われる、というわけだね。
わかりやすく言い換えると
要するに、CPUは「工場のように役割分担して命令をこなす頭脳」だ。
①部品 … 工場長(制御装置)・加工機(ALU)・手元(レジスタ)・棚(キャッシュ)
②4段サイクル … 材料を取る(フェッチ)→図面を読む(デコード)→加工する(実行)→棚に戻す(書戻)
③構造の違い … ノイマン型は命令とデータが同じ部屋、ハーバード型は別々の部屋
「PCはパソコンではなく、次の命令の場所を覚えるレジスタ」だけは取り違えやすいので押さえておこう。
試験のツボ
🔴 一番出る:命令実行の4段サイクル
①フェッチ(取り出す)→デコード(解読)
②実行(計算)→書戻(書き戻す)の順
🔴 次に出る:部品の役割
①ALUは計算、制御装置は指示出し
②レジスタはCPU内の速い小さなメモリ
🟡 押さえると安定:構造とPC
①ノイマン型は命令・データ同じメモリ、ハーバード型は分離
②PCはProgram Counter(次の命令の場所)。パソコンではない
よくある間違い
①「PCはパソコン(Personal Computer)のこと」→ ✗ PCはProgram Counter。次に実行する命令の場所を覚えるレジスタ。
②「すべてのCPUはノイマン型」→ ✗ 命令とデータを分けるハーバード型もある(組込み機器などで使う)。
③「命令は実行から始まる」→ ✗ 最初はフェッチ(取り出す)。実行は3番目。
試験での出題パターン
実際の問題でたしかめてみよう。
オリジナル問題1(部品の役割)
CPUの部品に関する次の記述のうち、正しいものはどれか。
- ALUは命令を読んで各部品に指示を出す司令塔の役割を担う部品であるとされる
- ALUは計算を行う部品、制御装置は命令を読んで各部品に指示を出す部品である
- レジスタはCPUの外にある大容量で低速な記憶装置のことを指すものとされている
- 制御装置は計算だけを行い、ほかの部品への指示はいっさい出さない部品とされる
解答は 2 である。
ALUは計算を行う部品、制御装置は命令を読んで各部品に指示を出す部品なのだ。工場でいえばALUが加工機、制御装置が工場長なるぞ。
選択肢1はALUと制御装置が逆。選択肢3の「外にある低速」、選択肢4の「指示を出さない」も誤りである。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 指示を出すのは制御装置 |
| 2 | ✓ | ALU=計算・制御装置=指示 |
| 3 | ✗ | レジスタはCPU内の速いメモリ |
| 4 | ✗ | 制御装置は指示を出す |
オリジナル問題2(実行サイクル)
命令実行の4段サイクルに関する次の記述のうち、正しいものはどれか。
- フェッチ(取り出す)→デコード(解読)→実行→書戻、の順で命令を処理していく
- 実行→フェッチ→書戻→デコードの順で命令を処理すると決められているとされる
- 命令は書戻から始まり、最後にフェッチで取り出して終わると決められているものだ
- デコードを最初に行い、フェッチはいっさい行わずに命令を処理するものとされる
解答は 1 である。
命令はフェッチ(取り出す)→デコード(解読)→実行→書戻の順で流れるのだ。まず取り出し、解読し、計算し、書き戻す——この順番が頻出なるぞ。
選択肢2・3・4はどれも順番が誤りである。最初はかならずフェッチ(取り出す)なのだ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✓ | フェッチ→デコード→実行→書戻 |
| 2 | ✗ | 順番が誤り |
| 3 | ✗ | 最初はフェッチ |
| 4 | ✗ | フェッチを最初に行う |
オリジナル問題3(ノイマン型とPC)
CPUの構造とレジスタに関する次の記述のうち、正しいものはどれか。
- ノイマン型は命令とデータを別々のメモリに分けて置く構造だと決められている
- PCはPersonal Computerの略で、CPUとはなんの関係もない言葉だとされている
- ノイマン型は命令とデータを同じメモリに置き、PCは次の命令の場所を覚える
- すべてのCPUはハーバード型で、ノイマン型は存在しないものとされているものだ
解答は 3 である。
ノイマン型は命令とデータを同じメモリに置く構造(現代の主流)、PCは次に実行する命令の場所を覚えるレジスタ(Program Counter)なのだ。
選択肢1はノイマン型とハーバード型が逆。選択肢2の「Personal Computer」、選択肢4の「すべてハーバード型」も誤りなるぞ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 分けるのはハーバード型 |
| 2 | ✗ | PCはProgram Counter |
| 3 | ✓ | ノイマン型は同一メモリ・PCは命令の場所 |
| 4 | ✗ | ノイマン型が主流 |
まとめ
押さえどころ
- 🔴 4段サイクル = フェッチ→デコード→実行→書戻。最初はフェッチ。
- 🔴 部品の役割 = ALUは計算、制御装置は指示出し、レジスタはCPU内の速いメモリ。
- 🟡 構造とPC = ノイマン型は命令・データ同一メモリ(主流)、ハーバード型は分離。PCはProgram Counter。
次に学ぶ
執筆: SikakuQuest編集部