U「CPUのクロック周波数が高いと速い」というのはなんとなく知っていましたが、「では実際にCPUがどうやって命令を処理するのか」を問われると答えられませんでした。フェッチ→デコード→実行→ライトバックという4段階を知ってから、パイプライン処理の意味もすんなり理解できた気がします。
この記事でわかること
- CPUの構成要素と命令実行サイクル
- 主記憶・キャッシュメモリ・補助記憶装置の違い
- 入出力装置と割り込み処理
- パイプライン・マルチコアなどの処理方式
- コンピュータの種類と用途
目次
CPUの仕組みと命令実行サイクル
CPUの構成要素
制御装置:プログラムの命令を解釈し、各装置に指示を出す司令塔演算装置(ALU):四則演算・論理演算を実行する
レジスタ:CPU内部の超高速一時記憶(プログラムカウンタ・アキュムレータ等)
命令実行の4サイクル:
① フェッチ(主記憶から命令を取り出す)
② デコード(命令の意味を解読する)
③ 実行(ALUで演算を実行する)
④ ライトバック(結果をレジスタ・メモリに書き込む)
クロック周波数:1秒間にサイクルを繰り返す回数(GHz単位)。高いほど処理速度が速い。
パイプライン処理——並行作業で速度アップ
- 複数の命令を少しずつずらして同時に処理する方式
- 例:命令1がデコード中に、命令2のフェッチを開始する
- スループット(単位時間の処理量)が向上
- ただしデータ依存性がある命令が続くと効率が落ちる(ハザード)
記憶装置の階層——速さとコストのトレードオフ
| 記憶装置 | アクセス速度 | 容量 | 揮発性 |
|---|---|---|---|
| レジスタ(CPU内) | 最速(ナノ秒以下) | 数十〜数百バイト | 揮発性 |
| キャッシュメモリ | 非常に速い(ナノ秒) | MB単位 | 揮発性 |
| 主記憶(RAM) | 速い(数十〜百ナノ秒) | GB単位 | 揮発性(電源OFF消去) |
| SSD(フラッシュ) | 速い(マイクロ秒) | TB単位 | 不揮発性 |
| HDD(磁気ディスク) | 遅い(ミリ秒) | TB単位 | 不揮発性 |
| 光ディスク・磁気テープ | 非常に遅い | TB〜PB単位 | 不揮発性 |
キャッシュメモリ——CPUと主記憶の速度差を埋める
CPUは主記憶より数十〜百倍速いが、主記憶へのアクセスは遅い。この速度差を埋めるためにキャッシュメモリ(L1・L2・L3)を使う。ヒット率:アクセスの何割がキャッシュで見つかるか。高いほど効率的。
実効アクセス時間 = キャッシュアクセス時間 × ヒット率 + 主記憶アクセス時間 ×(1−ヒット率)
入出力装置と割り込み処理
| 入出力方式 | 仕組み | 特徴 |
|---|---|---|
| プログラム制御方式 | CPUがI/Oを逐一管理(ポーリング) | シンプル。CPUが占有されてしまう |
| 割り込み方式 | I/O完了時にCPUに割り込みを通知 | CPU効率が良い。OSの基本的な方式 |
| DMA方式 | DMAコントローラがCPUを介さずI/Oとメモリ間転送 | 大量データ転送に最適。CPUの負荷軽減 |
割り込みの種類
- 内部割り込み(例外):ゼロ除算・オーバーフロー・不正命令などCPU自身が発生させる
- 外部割り込み:I/O完了・タイマー満了・ハードウェア障害など外部デバイスが発生させる
- ソフトウェア割り込み(SVC割り込み):プログラムがOSの機能を呼び出す
コンピュータの種類と用途
| 種類 | 用途 |
|---|---|
| スーパーコンピュータ | 気象予測・核シミュレーション・創薬研究など超大規模演算 |
| メインフレーム | 銀行・保険・公共機関の基幹業務。高い信頼性・24時間稼働 |
| サーバ | Webサービス・データベース・ファイル共有など |
| パーソナルコンピュータ(PC) | 個人・オフィス業務全般 |
| 組み込みシステム | 家電・自動車・機械制御。専用OSで特定機能のみ |
Uのメモ
学習メモ
- CPU構成:制御装置・ALU・レジスタ。命令はフェッチ→デコード→実行→ライトバック
- 記憶装置の速度順:レジスタ > キャッシュ > RAM > SSD > HDD
- 揮発性:RAM(電源切れると消える)/ 不揮発性:SSD・HDD(残る)
- キャッシュメモリ:CPUと主記憶の速度差を補う。ヒット率が高いほど効率的
- 割り込み:内部(例外)・外部(I/O完了等)・ソフトウェア(SVC)の3種









