【真面目版】CPUの仕組みを図解・たとえ話でわかりやすく!基本情報技術者試験 頻出ポイントまとめ

情報セキュリティのポスター #1

情報セキュリティのポスター #2

目次

はじめに

幽灯子/基本情報技術者副専門官

コンピュータの中で最も重要な部品のひとつが CPU(Central Processing Unit:中央処理装置) です。よく「コンピュータの頭脳」と呼ばれますが、実際にはどんな仕組みで動いているのでしょうか?

この記事では、基本情報技術者試験に出る知識を、できるだけやさしい言葉で解説します。


CPUの役割をざっくり理解しよう

幽灯子/基本情報技術者副専門官

CPUは、私たちがコンピュータに「こうして!」とお願いした内容(=命令)を、ひとつひとつ読み取って実行する部品です。

たとえば「1 + 2 を計算して」という命令があったら、CPUが実際に計算して「3」という答えを出します。文章を表示するのも、動画を再生するのも、すべてCPUが命令を処理しているおかげです。

わかりやすくたとえるなら、CPUは 料理人 のような存在です。レシピ(プログラム)を読んで、材料(データ)を使い、順番通りに調理(処理)していきます。


CPUの中身 ― 2つの大事な部品

幽灯子/基本情報技術者副専門官

CPUの内部は大きく 2つのパーツ に分かれています。試験でも頻出なので、しっかり押さえましょう。

1. 制御装置(Control Unit)― 現場監督

制御装置は、プログラムに書かれた命令を読み取り、「次に何をすべきか」をコンピュータ全体に指示する部品です。

料理にたとえると、レシピを読んで「次は野菜を切って」「その次に炒めて」と指示を出す 現場監督 の役割です。自分では計算しませんが、全体の段取りを仕切っています。

2. 演算装置(ALU:Arithmetic and Logic Unit)― 実行部隊

演算装置は、実際に計算や比較を行う部品です。足し算・引き算などの 算術演算 と、「AとBは同じ?」「AはBより大きい?」といった 論理演算 の2種類を担当します。

料理にたとえると、実際に包丁を握って野菜を切ったり、フライパンで炒めたりする 調理担当 です。

試験のポイント! 「制御装置 = 命令の読み取り・指示出し」「演算装置 = 実際の計算・比較」というセットで覚えましょう。


CPUが命令を処理する流れ ― 4つのステップ

幽灯子/基本情報技術者副専門官

CPUは命令を処理するとき、次の 4ステップ を繰り返しています。これを 命令実行サイクル と呼びます。

ステップ名前やっていること
命令の取り出し(フェッチ)メモリから次の命令を読み込む
命令の解読(デコード)読み込んだ命令の内容を解釈する
命令の実行(エグゼキュート)解釈した内容に従って計算や処理を行う
結果の格納(ストア)処理結果をメモリやレジスタに書き戻す

この4ステップを、1秒間に何億回・何十億回と超高速で繰り返すことで、複雑な処理を実現しています。


レジスタ ― CPU内部の「メモ帳」

幽灯子/基本情報技術者副専門官

CPUの中には レジスタ と呼ばれる、ごく小さな記憶領域があります。メモリ(主記憶装置)に比べると容量はとても少ないですが、アクセス速度が圧倒的に速い のが特徴です。

試験で出る代表的なレジスタをまとめます。

レジスタ名役割たとえるなら…
プログラムカウンタ(PC)次に実行する命令のアドレス(場所)を記憶レシピの「今どこまで読んだか」を指す指
命令レジスタ(IR)現在実行中の命令を一時的に保持今まさに読んでいるレシピの1行
アキュムレータ(ACC)演算の途中結果や最終結果を保持計算の途中にメモする付せん
汎用レジスタデータの一時保管など多目的に使用何でも書ける自由帳
ベースレジスタメモリのアドレス計算に使う基準値を保持「○ページ目から読み始めて」のページ番号
インデックスレジスタアドレスの修飾(ずらし)に使う値を保持「そこから△行ずらして」のずらし幅

試験のポイント! 特に「プログラムカウンタ」と「アキュムレータ」は出題頻度が高いです。役割を正確に覚えておきましょう。


クロック周波数 ― CPUの「心臓の鼓動」

幽灯子/基本情報技術者副専門官

CPUは一定のリズム(クロック信号)に合わせて動いています。このリズムの速さを表すのが クロック周波数 で、単位は Hz(ヘルツ) です。

たとえば「3GHz(ギガヘルツ)」のCPUなら、1秒間に約30億回のリズムを刻んでいます。基本的にクロック周波数が高いほど、1秒間にたくさんの命令を処理できる=処理が速い、ということになります。

ただし、クロック周波数だけでCPUの性能がすべて決まるわけではありません。後述するパイプラインやキャッシュメモリなども性能に大きく関わります。


CPUを速くする工夫 ― 試験に出る高速化技術

パイプライン処理

先ほどの4ステップ(フェッチ → デコード → 実行 → 格納)を、流れ作業のように並行して進める 技術です。

普通なら1つの命令が完全に終わってから次の命令を始めますが、パイプラインでは「命令Aの実行中に、命令Bの解読を始め、命令Cの取り出しも同時に行う」ことで、全体のスピードを上げます。

工場のベルトコンベアをイメージすると分かりやすいです。1人がすべての工程を担当するよりも、各工程に専門の人を配置して流れ作業にした方が、製品がどんどん完成しますよね。

注意:パイプラインハザード 命令同士に依存関係があったり、条件分岐があったりすると、流れ作業がうまくいかず「待ち」が発生します。これを ハザード と呼びます。試験では「データハザード」「制御ハザード(分岐ハザード)」「構造ハザード」の3種類が出ることがあります。

スーパーパイプライン

パイプラインのステージ(工程)をさらに細かく分割して、クロック周波数を上げやすくする技術です。工程が細かくなる分、一回あたりの処理は軽くなり、より高速にリズムを刻めます。

スーパースカラ

パイプラインを 複数本 並べて、同時に複数の命令を実行する技術です。料理人が1人ではなく2人、3人に増えるイメージです。

VLIW(Very Long Instruction Word)

1つの命令の中に 複数の処理 をまとめて詰め込む方式です。コンパイラ(プログラムの翻訳ソフト)が事前に「同時に実行できる処理」を見つけてまとめてくれるため、CPUのハードウェアをシンプルにできるメリットがあります。


キャッシュメモリ ― CPUとメモリの「橋渡し役」

幽灯子/基本情報技術者副専門官

CPUはとても高速ですが、メインメモリ(主記憶装置)はCPUほど速くありません。この速度差を埋めるのが キャッシュメモリ です。

キャッシュメモリは、CPUとメインメモリの間に置かれる 小容量だけど超高速な記憶装置 です。よく使うデータや命令をキャッシュメモリにコピーしておくことで、CPUがメインメモリまで取りに行く回数を減らし、処理を高速化します。

キャッシュメモリは階層構造になっていることが多く、CPUに近い順に以下のように分かれています。

  • L1キャッシュ(1次キャッシュ) … 最も高速・最も小容量。CPU内部にある。
  • L2キャッシュ(2次キャッシュ) … L1より少し遅いが容量は大きい。
  • L3キャッシュ(3次キャッシュ) … さらに容量が大きいが速度はやや落ちる。

試験のポイント! キャッシュメモリに関する計算問題(実効アクセス時間の計算)はよく出ます。

実効アクセス時間 = ヒット率 × キャッシュのアクセス時間 + (1 − ヒット率) × メインメモリのアクセス時間

「ヒット率」は、欲しいデータがキャッシュに見つかる確率のことです。この公式は必ず覚えましょう。


CISCとRISC ― CPUの設計思想

幽灯子/基本情報技術者副専門官

CPUの命令セット(CPUが理解できる命令の種類)の設計には、大きく2つの考え方があります。

CISCRISC
正式名称Complex Instruction Set ComputerReduced Instruction Set Computer
命令の種類多い・複雑少ない・単純
1命令あたりの処理重い(複数クロックかかる)軽い(原則1クロックで完了)
パイプラインとの相性あまり良くないとても良い
代表例Intel の x86系ARM、MIPS

RISCは命令をシンプルにすることでパイプライン処理がしやすく、効率的に高速化できます。一方CISCは、1つの命令で複雑な処理ができるため、プログラムを短く書けるメリットがあります。


マルチコアとマルチプロセッサ

幽灯子/基本情報技術者副専門官

現代のCPUは マルチコア が主流です。1つのCPUチップの中に 複数のコア(処理の核) を搭載し、複数の処理を同時に行えます。

  • デュアルコア … コア2つ
  • クアッドコア … コア4つ
  • オクタコア … コア8つ

一方、マルチプロセッサ は、CPUチップ自体を複数搭載する方式です。サーバーなどの高性能なコンピュータで使われます。


割り込み ― 「ちょっと待った!」の仕組み

幽灯子/基本情報技術者副専門官

CPUがプログラムを順番に実行している最中に、緊急の処理が入ることがあります。これが 割り込み(Interrupt) です。

割り込みには大きく2種類あります。

種類発生原因具体例
外部割り込み(ハードウェア割り込み)CPU以外の装置から発生キーボード入力、タイマー、入出力完了
内部割り込み(ソフトウェア割り込み)CPU内部・プログラムから発生ゼロ除算エラー、オーバーフロー、システムコール

割り込みが発生すると、CPUは今の作業を一時中断し、割り込み処理(割り込みハンドラ)を実行します。処理が終わったら、元の作業に戻ります。


まとめ ― 試験対策チェックリスト

最後に、基本情報技術者試験でCPUに関して押さえておきたいポイントを整理します。

  1. CPUは 制御装置演算装置(ALU) で構成される
  2. 命令実行サイクルは フェッチ → デコード → 実行 → 格納 の4段階
  3. レジスタ の種類と役割(特にプログラムカウンタ、アキュムレータ)
  4. クロック周波数 はCPUの動作速度を示す指標
  5. パイプライン処理 は命令を流れ作業で並行処理する高速化技術
  6. キャッシュメモリ はCPUとメインメモリの速度差を埋める。実効アクセス時間の計算公式を覚える
  7. CISC は命令が複雑で多い、RISC は命令が単純で少ない
  8. 割り込み は外部割り込みと内部割り込みの2種類
幽灯子/基本情報技術者副専門官

これらをしっかり理解しておけば、試験のCPU関連の問題に自信を持って取り組めるはずです。たとえ話と一緒に覚えると、記憶に残りやすくなりますよ。頑張ってください!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ITTIのアバター ITTI 運営長

ITTI運営長
調べものと学ぶことが止められなくなり、現在は以下の4ブログを運営中:
・DXブログ(今ここ!)
・CODEブログ
・INFRAブログ
・XRブログ

保有資格:ITパスポート
目標資格:情報処理安全確保支援士(学ぶこと多すぎて道のりは遠いですが、毎日コツコツ進めています…泣)

ブログでは、実務経験と最新技術を掛け合わせて、読者の「わかりにくい」を「わかる!」に変える記事を発信中!
最終目標は、これらの知識を活かして「ドラえもんのような万能AI」を開発すること(AIを副運営長任命が待ち遠しい!)。
DX・CODE・INFRA・XRに興味ある方、気軽にX(@llEqmDGOYZ4258)でDMください。一緒に学びましょう!

IT企業のAIイラスト #1

IT企業のAIイラスト #2

コメント

コメントする

CAPTCHA


目次