自作エミュレータで学ぶx86アーキテクチャ 3.5
メモ:3.5 無条件分岐命令
jmpはeipに値を入れるだけでなく、高速化のために先読みした命令を
捨てるという役割がある。
cpuは高速化のために「パイプライン」という仕組みを持っている。
「パイプライン」は、ある命令を実行するときにはすでに何命令も
先の命令をフェッチしたりデコードしたりしている。
jmpでeipの値が変わるので先読みしていたものを捨てなければならない。
これを「パイプラインのフラッシュ」などと呼ぶ。
メモ:3.5 無条件分岐命令
jmpはeipに値を入れるだけでなく、高速化のために先読みした命令を
捨てるという役割がある。
cpuは高速化のために「パイプライン」という仕組みを持っている。
「パイプライン」は、ある命令を実行するときにはすでに何命令も
先の命令をフェッチしたりデコードしたりしている。
jmpでeipの値が変わるので先読みしていたものを捨てなければならない。
これを「パイプラインのフラッシュ」などと呼ぶ。