命令フェッチ(Instruction Fetch)は、プロセッサのパイプライン処理の最初のステージです。このステージでは、プログラムの実行中に次に実行する命令をメモリからフェッチして取得します。
具体的な処理の流れは以下のようになります。
- プログラムカウンタ(Program Counter、PC)から次の命令のアドレスを取得します。PCは、現在実行中の命令のアドレスを保持しています。
- メモリアドレスバスにフェッチする命令のアドレスを設定し、メモリから命令を読み込みます。
- 読み込んだ命令は、命令レジスタ(Instruction Register、IR)に格納されます。IRは、フェッチした命令の内容を一時的に保持するためのレジスタです。
- プログラムカウンタ(PC)は、次の命令のアドレスを指すように更新されます。これにより、次の命令のフェッチに備えます。
命令フェッチステージでは、命令のフェッチが行われるため、メモリアクセスや実行などの実際の命令処理はまだ行われていません。フェッチされた命令は次のステージでデコードや実行などの処理が行われます。パイプライン処理においては、命令フェッチステージでは連続的に次の命令をフェッチするため、効率的な命令の実行が可能となります。