カーネルの自動再起動は、ホスト アプリケーションが一度起動した後も継続して実行できます。また、リセットして再起動するまで実行できるほか、ホストが明示的に複数回呼び出すことなく、事前に定義した回数のイテレーションを実行するようにプログラムすることもできます。カウントありの自動再起動と呼ばれるモードにすると、指定した回数の実行を再開するようにカーネルを設定することもできます。この機能は、running
変数がホスト コードによって制御されるソフトウェア コードの while(running)
ループに類似しています。カーネルの制御はハードウェアで管理されるため、ホスト コードによってカーネルが起動されると、イテレーション カウントを超えるか、ホスト コードによって明示的に停止されるまで、カーネルは自動的に再起動されます。さらに、ホスト アプリケーションはカーネルのステータスをクエリして特定のレジスタ ステートをチェックしたり、次の機会に使用する新しいパラメーターを提供したりすることができます。
カーネルの自動再起動には、いくつかの独自の機能が使用されます。
- 自動再起動ビット: カーネルを継続的に再起動するか、または指定した回数再起動します。各カーネルの実行に対してホストが明示的に呼び出されることはありません。
- メールボックス: ホストがカーネルと同期して新しい動作パラメーターを設定したり、現在の実行のステータスを確認したりできるようにするための機能です。詳細は、メールボックスの使用を参照してください。
-
software_reset
: ホスト アプリケーションが自動再起動カーネルをリセットして、停止するための機能です。