体系学習
コンピュータが動く仕組み
CPU、メモリ、ストレージ、OSがどのように協調してプログラムを実行するかを、記憶階層や処理の流れから理解する。
対象資格:ITパスポート / 基本情報技術者試験
目安時間:20分
このページで理解できること
- CPU・主記憶・補助記憶の役割を区別できる
- レジスタ・キャッシュ・主記憶の関係を説明できる
- OSの主要な資源管理機能を説明できる
- 記憶階層を速度・容量の違いから説明できる
- FEではパイプライン・キャッシュ・仮想記憶まで説明できる
ITパスポート:CPU・主記憶・補助記憶・キャッシュ・OSの基本的な役割と違いを、プログラム実行の流れの中で理解する。
コンピュータは、CPUだけで動いているわけではありません。命令を実行するCPU、作業中のデータを置く主記憶、長期保存する補助記憶、入出力装置、そしてそれらを制御するOSが協調して処理を進めます。このページでは、『プログラムを実行すると何が起こるか』を軸に、各部品の役割と性能の考え方をつなげます。
まずは全体の流れ
プログラムを実行するときの大まかな流れです。
プログラムを読み込む
補助記憶に保存されたプログラムやデータを、必要に応じて主記憶へ読み込みます。
CPUが命令を取り出す
CPUは主記憶などから命令を読み出し、何をする命令か解釈します。
演算・制御を行う
演算装置や制御装置が命令に従って計算やデータ移動を行います。
高速な記憶を活用する
頻繁に使う命令やデータはキャッシュメモリなどに保持し、待ち時間を減らします。
結果を保存・出力する
処理結果を主記憶や補助記憶へ保存し、必要に応じて画面や通信装置などへ出力します。
OSが資源を管理する
CPU時間、メモリ、ファイル、入出力装置などをOSが管理し、複数の処理を安全かつ効率的に実行できるようにします。
1. CPUは命令を取り出し、解釈し、実行する
CPUの基本は『命令を順番に処理する装置』として理解します。
CPUは、プログラムの命令を読み出し、命令の内容を解釈し、演算やデータ移動などを実行します。一般に制御装置、演算装置、レジスタなどから構成されます。
レジスタはCPU内部にある非常に高速な記憶領域で、現在処理している値や命令に関する情報などを一時的に保持します。
クロック周波数はCPU内部の動作タイミングを示す代表的な指標ですが、CPU性能はクロック周波数だけでは決まりません。1クロック当たりに進められる処理量、コア数、キャッシュ、命令セット、メモリ性能なども影響します。
- CPU = 命令を解釈・実行する中心装置
- レジスタ = CPU内部の高速な一時記憶
- クロック周波数だけでCPU性能を単純比較しない
2. 記憶装置は「速さ・容量・価格」の違いで階層化される
すべてを最速の記憶装置に置けないため、複数種類を組み合わせます。
CPUに近い記憶ほど高速ですが、一般に容量当たりのコストが高く、容量は小さくなります。そのため、レジスタ、キャッシュメモリ、主記憶、SSDやHDDなどを階層的に使います。
キャッシュメモリは、CPUが近いうちに再び使いそうな命令やデータを保持し、主記憶へのアクセス回数や待ち時間を減らします。
主記憶には実行中のプログラムや処理中のデータが置かれます。一般的なRAMは電源を切ると内容が失われる揮発性メモリです。
SSDやHDDなどの補助記憶は、主記憶より低速ですが大容量で、電源を切ってもデータを保持できます。
| 種類 | 特徴 | 主な役割 |
|---|---|---|
| レジスタ | 非常に高速・小容量 | CPUが処理中の値を保持 |
| キャッシュ | 高速・小容量 | 主記憶アクセスの待ち時間を減らす |
| 主記憶 | 高速・中容量 | 実行中のプログラムやデータを保持 |
| 補助記憶 | 比較的低速・大容量 | プログラムやデータを長期保存 |
3. OSはハードウェアとアプリケーションの間を管理する
OSは資源管理と共通機能の提供を担います。
OSは、CPU、メモリ、ファイル、入出力装置などのコンピュータ資源を管理し、アプリケーションがそれらを利用できるようにします。
複数のプログラムが同時に動くとき、OSはCPU時間を割り当てたり、各プロセスへメモリを割り当てたりします。
ファイルシステムは、補助記憶上のデータをファイルやディレクトリとして管理する仕組みです。デバイスドライバは、OSが特定のハードウェアを操作するためのソフトウェアです。
| 仕組み | 役割 |
|---|---|
| プロセス管理 | 実行中のプログラムへCPUを割り当てる |
| メモリ管理 | 各処理へ主記憶を割り当てる |
| ファイル管理 | ファイルやディレクトリを管理する |
| デバイス管理 | 入出力装置を制御する |
ITパスポートではここまでを確実に
- CPU・主記憶・補助記憶の役割を区別できる
- レジスタ・キャッシュ・主記憶の速度と役割の違いを説明できる
- RAMと補助記憶の違いを説明できる
- OSがCPU・メモリ・ファイル・入出力装置を管理することを理解している
- クロック周波数だけでCPU性能が決まらないことを理解している
最後に一本の流れへ戻す
- 補助記憶からプログラムを主記憶へ読み込む
- CPUが命令を取り出して解釈・実行する
- レジスタやキャッシュで待ち時間を減らす
- 主記憶で実行中データを保持する
- 補助記憶へ長期保存する
- OSがCPU・メモリ・ファイル・入出力装置を管理する
CPU、メモリ、ストレージ、OSを別々の暗記事項として覚えるのではなく、『命令を実行するためにどこへデータを置き、誰が資源を管理するか』という流れで整理すると理解しやすくなります。