命令フェッチ 【instruction fetch】
概要
命令フェッチ(instruction fetch)とは、CPU(マイクロプロセッサ)がある命令を実行する最初の段階で、命令コード(インストラクション)をメインメモリ(またはキャッシュメモリ)から読み出し、プロセッサ内部のレジスタに転送する動作のこと。CPUは命令実行サイクルと呼ばれる一連の段階を経て一つの命令を実行する。最初にメモリの特定の番地(メモリアドレス)に記録された機械語の命令コードを読み込み、命令レジスタに保存するフェッチが行われる。
読み込み先の番地はプログラムカウンタ(PC:Program Counter)と呼ばれるレジスタに格納されている。命令が読み込まれるとPCの値は命令長の分だけ加算され、次の命令の番地を指し示す。分岐やジャンプが発生すると飛び先の番地で上書きされる。
フェッチが完了すると、命令の内容を解析して何を行うべきか決定するデコードが行われ、デコードされた結果に従って制御回路や演算回路、レジスタなどを駆動して命令内容が実行される。このサイクルがすべて終わると、次の命令のフェッチから再び実行サイクルが繰り返される。
(2023.10.20更新)