本文へ移動
合格ノート.
基本情報技術者試験
← 合格ノート ホーム
記事内の見出し

体系学習

コンピュータが動く仕組み

CPU、メモリ、ストレージ、OSがどのように協調してプログラムを実行するかを、記憶階層や処理の流れから理解する。

対象資格:ITパスポート / 基本情報技術者試験
目安時間:20分

このページで理解できること

  • CPU・主記憶・補助記憶の役割を区別できる
  • レジスタ・キャッシュ・主記憶の関係を説明できる
  • OSの主要な資源管理機能を説明できる
  • 記憶階層を速度・容量の違いから説明できる
  • FEではパイプライン・キャッシュ・仮想記憶まで説明できる

基本情報技術者試験:ITパスポート範囲に加え、CPU性能、パイプライン、記憶階層、キャッシュ、仮想記憶などを技術的に理解する。

コンピュータは、CPUだけで動いているわけではありません。命令を実行するCPU、作業中のデータを置く主記憶、長期保存する補助記憶、入出力装置、そしてそれらを制御するOSが協調して処理を進めます。このページでは、『プログラムを実行すると何が起こるか』を軸に、各部品の役割と性能の考え方をつなげます。

まずは全体の流れ

プログラムを実行するときの大まかな流れです。

  1. プログラムを読み込む

    補助記憶に保存されたプログラムやデータを、必要に応じて主記憶へ読み込みます。

  2. CPUが命令を取り出す

    CPUは主記憶などから命令を読み出し、何をする命令か解釈します。

  3. 演算・制御を行う

    演算装置や制御装置が命令に従って計算やデータ移動を行います。

  4. 高速な記憶を活用する

    頻繁に使う命令やデータはキャッシュメモリなどに保持し、待ち時間を減らします。

  5. 結果を保存・出力する

    処理結果を主記憶や補助記憶へ保存し、必要に応じて画面や通信装置などへ出力します。

  6. OSが資源を管理する

    CPU時間、メモリ、ファイル、入出力装置などをOSが管理し、複数の処理を安全かつ効率的に実行できるようにします。

1. CPUは命令を取り出し、解釈し、実行する

CPUの基本は『命令を順番に処理する装置』として理解します。

CPUは、プログラムの命令を読み出し、命令の内容を解釈し、演算やデータ移動などを実行します。一般に制御装置、演算装置、レジスタなどから構成されます。

レジスタはCPU内部にある非常に高速な記憶領域で、現在処理している値や命令に関する情報などを一時的に保持します。

クロック周波数はCPU内部の動作タイミングを示す代表的な指標ですが、CPU性能はクロック周波数だけでは決まりません。1クロック当たりに進められる処理量、コア数、キャッシュ、命令セット、メモリ性能なども影響します。

  • CPU = 命令を解釈・実行する中心装置
  • レジスタ = CPU内部の高速な一時記憶
  • クロック周波数だけでCPU性能を単純比較しない

2. 記憶装置は「速さ・容量・価格」の違いで階層化される

すべてを最速の記憶装置に置けないため、複数種類を組み合わせます。

CPUに近い記憶ほど高速ですが、一般に容量当たりのコストが高く、容量は小さくなります。そのため、レジスタ、キャッシュメモリ、主記憶、SSDやHDDなどを階層的に使います。

キャッシュメモリは、CPUが近いうちに再び使いそうな命令やデータを保持し、主記憶へのアクセス回数や待ち時間を減らします。

主記憶には実行中のプログラムや処理中のデータが置かれます。一般的なRAMは電源を切ると内容が失われる揮発性メモリです。

SSDやHDDなどの補助記憶は、主記憶より低速ですが大容量で、電源を切ってもデータを保持できます。

2. 記憶装置は「速さ・容量・価格」の違いで階層化されるの比較表
種類特徴主な役割
レジスタ非常に高速・小容量CPUが処理中の値を保持
キャッシュ高速・小容量主記憶アクセスの待ち時間を減らす
主記憶高速・中容量実行中のプログラムやデータを保持
補助記憶比較的低速・大容量プログラムやデータを長期保存

3. OSはハードウェアとアプリケーションの間を管理する

OSは資源管理と共通機能の提供を担います。

OSは、CPU、メモリ、ファイル、入出力装置などのコンピュータ資源を管理し、アプリケーションがそれらを利用できるようにします。

複数のプログラムが同時に動くとき、OSはCPU時間を割り当てたり、各プロセスへメモリを割り当てたりします。

ファイルシステムは、補助記憶上のデータをファイルやディレクトリとして管理する仕組みです。デバイスドライバは、OSが特定のハードウェアを操作するためのソフトウェアです。

3. OSはハードウェアとアプリケーションの間を管理するの比較表
仕組み役割
プロセス管理実行中のプログラムへCPUを割り当てる
メモリ管理各処理へ主記憶を割り当てる
ファイル管理ファイルやディレクトリを管理する
デバイス管理入出力装置を制御する

FE深掘り

4. FEではCPU性能を命令実行の仕組みから考える

命令を重ねて処理する考え方や、性能指標を扱います。

パイプライン処理では、命令の読出し、解読、実行など複数段階を重ね合わせて進め、単位時間当たりに処理できる命令数を高めます。ただし分岐や依存関係によって処理が停滞することがあります。

CPIは1命令を実行するのに平均何クロック必要かを表す指標です。CPU性能を考えるときは、命令数、CPI、クロック周期などの関係を区別します。

複数コアを持つCPUでは、並列化できる処理を複数コアへ分担できますが、すべての処理がコア数に比例して高速化するわけではありません。

  • パイプライン = 命令処理段階を重ねてスループットを高める
  • CPI = 1命令当たりの平均クロック数
  • マルチコア = 並列化可能部分を複数コアで実行

FE深掘り

5. FEではキャッシュのヒット率と実効アクセス時間まで考える

高速なキャッシュがあっても、必ず命中するわけではありません。

CPUが必要とするデータがキャッシュに存在することをヒット、存在しないことをミスといいます。ヒット率が高いほど、平均的なアクセス時間を短くできます。

実効アクセス時間は、キャッシュヒット時とミス時の時間、それぞれの発生確率を用いて平均として考えます。

キャッシュから主記憶へ書き込む方式には、更新のたびに主記憶にも書くライトスルーと、キャッシュ上で更新して後でまとめて主記憶へ反映するライトバックなどがあります。

FE深掘り

6. FEでは仮想記憶とページングまで理解する

主記憶容量を超えるアドレス空間を扱うための仕組みです。

仮想記憶では、プログラムから見える仮想アドレス空間と実際の主記憶上の物理アドレスを対応付けます。

ページング方式では、仮想記憶と物理記憶を一定サイズのページ・ページフレームに分けて管理します。必要なページが主記憶にない場合はページフォールトが発生し、補助記憶から読み込みます。

ページフォールトが過度に発生すると、入れ替え処理に時間を使って実際の処理が進みにくくなるスラッシングが起こることがあります。

基本情報ではここまでつなげる

  • 命令実行、クロック、CPI、パイプラインの関係を説明できる
  • キャッシュのヒット率と実効アクセス時間を考えられる
  • ライトスルーとライトバックを区別できる
  • 仮想記憶、ページング、ページフォールトを説明できる
  • 複数コアや記憶階層が性能へ与える影響を説明できる

最後に一本の流れへ戻す

  • 補助記憶からプログラムを主記憶へ読み込む
  • CPUが命令を取り出して解釈・実行する
  • レジスタやキャッシュで待ち時間を減らす
  • 主記憶で実行中データを保持する
  • 補助記憶へ長期保存する
  • OSがCPU・メモリ・ファイル・入出力装置を管理する

CPU、メモリ、ストレージ、OSを別々の暗記事項として覚えるのではなく、『命令を実行するためにどこへデータを置き、誰が資源を管理するか』という流れで整理すると理解しやすくなります。

重要用語

理解度チェック

実行中のプログラムや処理中のデータを主に保持する装置はどれか。
CPUと主記憶の速度差による待ち時間を減らすために利用されるものはどれか。
OSの役割として最も適切なものはどれか。
CPU性能について最も適切な説明はどれか。
電源を切っても一般にデータを保持する目的で使われるものはどれか。
パイプライン処理の主な狙いはどれか。
キャッシュに必要なデータが存在する割合を表すものはどれか。
必要な仮想ページが主記憶に存在しないときに発生するものはどれか。