0

奇妙なシステム クラッシュが発生しました。クラッシュは、 の移動命令で発生しMIPS processorます。この命令 (レジスタからレジスタへの移動) を介したメモリ アクセスはありません。epcは次の命令のアドレスを保持しているため、move 命令でクラッシュが発生すると想定しています。

jr ra;  
move v0,a0;  
lw a0,16(a0); 

何が原因でしょうか?

そしてePC命令後も3番目の命令を保持するjrのは、パイプライン処理によるものです。

4

1 に答える 1

1

EPC が JR の後の 3 番目の命令のアドレスを保持していることを考えると、クラッシュはその命令で発生しています。MOVE 命令は JR の分岐遅延スロットにあるため、JR の前に実行されます。JR は、クラッシュが発生していることを EPC が通知している LW 命令に戻ります。

ちなみに、MOVE 命令は、MIPS アーキテクチャで例外を発生させることはできません (命令フェッチでのページ フォールトを除く)。

于 2012-08-27T18:38:07.143 に答える