忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【ハードウェア】CPUの空き時間を使って次の命令を準備!「命令先取り方式(プレフェッチ)」|情報処理問題1000本ノック

CPUの処理速度向上技術の基本概念。実行に必要な命令を主記憶やキャッシュメモリからあらかじめ読み出しておく「命令先取り方式(プレフェッチ)」の仕組みを攻略しましょう。

1. 【 問題 】:ハードウェア(CPUの構造・制御方式)

【 問題 】 CPUの高速化技術に関する記述です。命令の実行前に、あらかじめ主記憶やキャッシュメモリから次の命令を読み出して命令レジスタなどに保持(準備)しておくことで、メモリ待ち時間を減らし処理を高速化する方式は、次のうちどれか。

(ア)命令先取り方式(プレフェッチ:Prefetch)
(イ)パイプライン方式
(ウ)アウトオブオーダー実行
(エ)スーパースカラ

2. 正解:

正解:(ア)命令先取り方式(プレフェッチ:Prefetch)

3. 解説:「『次に使う命令』をあらかじめ手元に用意しておく!」

命令先取り方式(プレフェッチ)は、CPUが現在実行している命令の完了を待たずに、あらかじめ次に実行する予定の命令を主記憶やキャッシュメモリから先行して読み出し(フェッチ)、命令バッファやレジスタに蓄えておく技術です。
CPU(演算器)の動作速度に比べてメモリの読み出し速度が遅いため、この先取りによって**「メモリからの待ち時間(レイテンシ)」**を大幅に削減できます。

【混乱しやすいCPU高速化手法の比較】 ← 違いを明確に理解しよう!

手法名概要・特徴
(ア)命令先取り方式(プレフェッチ) 命令の実行前に、次の命令を「読み出して手元に準備(フェッチ)」しておく方式。
(イ)パイプライン方式 命令の実行プロセス(フェッチ・解釈・実行・書き戻し等)を細分化し、複数の命令を「ずらして並行実行」する方式。
(エ)スーパースカラ 複数のパイプラインを並列に配置し、「同時に複数の命令を実行」する方式。

1. 理解のコツ: 「料理の仕込み」で例えてみましょう。
命令先取り方式(プレフェッチ):料理人が1品目を調理・提供している間に、助手が「次に作る料理の材料(命令)を冷蔵庫(メモリ)から出してまな板に置いておく(先取り)」状態。
・これにより、1品目が終わった瞬間に待ち時間ゼロで次の調理を開始できます。

2. 試験対策の視点: 基本情報技術者試験や応用情報技術者試験で出題されます。
問題文に「あらかじめ命令を読み出す」「メモリ待ち時間の削減」「プレフェッチ」といったワードがあれば、迷わず命令先取り方式を選択しましょう!


4. まとめ

命令の実行前に、主記憶などからあらかじめ次の命令を読み出して準備しておく制御方式。これが命令先取り方式(プレフェッチ)です。複数の命令をずらして並列処理する「パイプライン方式」との違いを押さえておきましょう!


PR