4

WFE 命令はどのように機能しますか? 私が読んだことは、プロセッサが IRQ /FIQ/event/.... を待つようになるということです。

しかし、IRQ を取得するとどうなりますか? irq_fault_handler ベクトルは、WFE が実行された後の割り込みまたは命令の取得時に実行されますか?

4

2 に答える 2

8

WFE は概念的には

while (!event_has_occurred) /*do nothing*/;

ただし、タイトなループを実行する代わりに CPU をオフにします。

割り込みだけでなく、別の CPU (マルチコア プロセッサ内) からの明示的なウェイクアップ イベントなど、 WFE に割り込む可能性のあるいくつかのこと。

WFE 中に割り込みが発生すると、通常のことが起こります。プロセッサは IRQ または FIQ モードに切り替わり、IRQ または FIQ ハンドラにジャンプし、WFE 命令のアドレス (および通常のオフセット 8) が に配置されlrます。

CPU が明示的なウェイクアップ イベントによってウェイクアップされた場合、実行は WFE の後の次の命令に進みます。

WFE は、何らかの外部イベントが発生したときにのみ完了する非常に長い NOP と考えてください。

于 2013-09-16T13:13:25.610 に答える