最終更新日:2026年10月7日
fe fe-technology computer-architecture memory
まず結論
プログラム記憶方式とは、実行するプログラムをあらかじめ主記憶に格納しておき、CPUが命令を順次読み出して実行する方式です。
基本情報技術者試験では、次の表現が出たらプログラム記憶方式を疑います。
プログラムを主記憶に格納
+
CPUが命令を順次読み出して実行
→ プログラム記憶方式
プログラム内蔵方式とも呼ばれ、ノイマン型コンピュータを理解するうえで基本となる考え方です。
特にアドレス指定方式と迷ったときは、次の1点で切り分けます。
| 問題文が聞いていること | 判断 |
|---|---|
| プログラム全体をどこに置き、CPUがどう実行するか | プログラム記憶方式 |
| 1つの命令が、処理対象のデータをどう指定するか | アドレス指定方式 |
プログラム全体の実行方法 → プログラム記憶方式
命令の中でデータの場所を探す方法 → アドレス指定方式
「記憶」「アドレス」という単語だけで判断せず、何についての方式なのかを見るのがコツです。
直感的な説明
作業手順書を机の上に置き、その手順を上から順番に読んで作業する場面をイメージすると分かりやすいです。
プログラム
↓
主記憶に置く
↓
CPUが1命令ずつ読む
↓
実行する
CPUの中にすべての処理手順を固定しておくのではなく、主記憶に置かれたプログラムを入れ替えることで、同じコンピュータに別の仕事をさせられるのがポイントです。
たとえば、同じPCでも、
表計算ソフトを読み込む
→ 表計算をする
ブラウザを読み込む
→ Webを閲覧する
というように、主記憶へ読み込むプログラムを変えることで動作を変えられます。
定義・仕組み
プログラム記憶方式では、プログラムを構成する命令を主記憶に格納します。
CPUは、基本的に次の流れを繰り返します。
1. 命令を主記憶から取り出す
2. 命令の内容を解読する
3. 命令を実行する
4. 次の命令へ進む
この繰り返しを、命令のフェッチ・デコード・実行などと表現することがあります。
ノイマン型との関係
ノイマン型コンピュータでは、プログラムとデータを記憶装置に格納し、CPUがそれらを読み出して処理します。
主記憶
├ プログラム
└ データ
↓ 読み出す
CPU
そのため、科目Aでは、
プログラムを主記憶に格納して実行
→ プログラム記憶方式
→ ノイマン型の基本的な考え方
と結び付けて覚えておくと判断しやすくなります。
科目Aでどう出る?
科目Aでは、似た名前の方式を混ぜて選ばせる問題に注意します。
| キーワード | 用語 |
|---|---|
| プログラムを主記憶に格納し、CPUが順次実行 | プログラム記憶方式 |
| 命令中で処理対象データの位置を指定 | アドレス方式 |
| 補助記憶を使って主記憶より大きな記憶空間を見せる | 仮想記憶方式 |
| 入出力装置をプログラムで直接制御してデータ転送 | 直接プログラム制御方式 |
試験中は、まず何を説明しているのかを見ます。
プログラムの置き場所・実行方法
→ プログラム記憶方式
データの場所の指定方法
→ アドレス方式
メモリ容量を大きく見せる
→ 仮想記憶方式
入出力装置との転送方法
→ 直接プログラム制御方式
名前だけでなく、説明している対象を切り分けるのがコツです。
どんな場面で使う?
現在の一般的なコンピュータでは、実行するプログラムを記憶装置から主記憶へ読み込み、CPUがその命令を実行します。
つまり、プログラム記憶方式は特別な用途だけで使うというより、現代のコンピュータの基本的な構成を理解するための考え方です。
同じハードウェアでも、読み込むプログラムを変えることでさまざまな処理を行えます。
同じCPU
+
異なるプログラム
↓
異なる処理を実行できる
よくある誤解・混同
仮想記憶方式との違いは?
名前に「記憶」が付くため混同しやすいですが、目的が違います。
プログラム記憶方式
→ プログラムを主記憶に置いて実行する考え方
仮想記憶方式
→ 主記憶が不足しても大きな記憶空間を使えるようにする仕組み
仮想記憶では、補助記憶装置の一部を利用して、実際の主記憶より大きなメモリ空間があるように扱います。
アドレス指定方式との違いは?
ここは特に混同しやすいポイントです。両方に「方式」と付き、どちらも主記憶やアドレスと関係しますが、分類の軸が違います。
プログラム記憶方式
→ コンピュータ全体として
プログラムをどこに置き、どう実行するか
アドレス指定方式
→ 1つの命令の中で
処理対象のデータをどう指定するか
たとえば、命令に書かれた値をそのままアドレスとして使うのか、レジスタなどを使って実効アドレスを求めるのか、という話はアドレス指定方式です。
一方、「プログラムを主記憶に格納し、CPUがそこから命令を取り出して実行する」という説明ならプログラム記憶方式です。
| 見分ける視点 | プログラム記憶方式 | アドレス指定方式 |
|---|---|---|
| 主役 | プログラムとCPU・主記憶 | 命令とオペランド |
| 聞かれること | プログラムをどう保持・実行するか | データの場所をどう指定するか |
| 典型語 | 主記憶にプログラムを格納、命令を読み出す | 実効アドレス、直接、間接、相対、指標 |
「プログラム全体?」それとも「1命令の中のデータ指定?」と自分に問い直すと切り分けやすくなります。
「順次実行」なら必ず一方向にしか進まない?
そうではありません。
通常は次の命令へ進みますが、分岐命令やジャンプ命令があれば、別の位置にある命令へ移ることもあります。
ここでいう「順次読み出して実行」は、CPUが主記憶から命令を取り出しながら処理する基本的な方式を表しています。
プログラムは最初から主記憶にある?
通常、プログラムはSSDなどの補助記憶装置に保存されています。
実行するときに必要な部分を主記憶へ読み込み、CPUがそこから命令を取り出して処理します。
SSDなど
↓ 読み込む
主記憶
↓ 命令を取得
CPU
「プログラム記憶方式」という名称から、プログラムが常に主記憶へ保存されていると誤解しないようにします。
まとめ(試験直前用)
- プログラム記憶方式は、プログラムを主記憶に格納してCPUが実行する方式
- 「主記憶にプログラム」+「CPUが順次読み出す」が決め手
- プログラム内蔵方式とも呼ばれる
- ノイマン型コンピュータの基本的な考え方と結び付けて覚える
- 仮想記憶方式は、補助記憶を使って大きなメモリ空間を実現する仕組み
- アドレス指定方式は、命令が処理対象のデータをどう指定するかという別の分類
- プログラム全体の実行方法 → プログラム記憶方式/1命令のデータ指定 → アドレス指定方式
主記憶にプログラム
↓
CPUが読み出して実行
→ プログラム記憶方式