Nios II Gen2 プロセッサー・リファレンス・ガイド

ID 683836
日付 10/28/2016
Public
ドキュメント目次

3.7.9.2. EIC インターフェイスによる例外フロー

EIC インターフェイスが存在する場合、割り込み処理は非割り込み例外処理と著しく異なります。EIC インターフェイスは、各割り込み要求に対して Nios II プロセッサーに次の情報を提供します。
  • RHA—要求された割り込みに割り当てられた割り込みハンドラーの要求されたハンドラーアドレス
  • RRS—要求されたレジスターは、割り込みハンドラーが実行される際に使用されるように設定される。シャドー・レジスター・セットが実装されていない場合、RRS は常に 0 の必要があります。
  • RIL—要求される割り込みレベルは、割り込みの優先順位を指定します。
  • RNMI—要求された NMI フラグは、割り込みをマスク不能として扱うかどうかを指定します。

    RHA、RRS、RIL、RNMI の詳細については、「Nios IIプロセッサ・リファレンス・ハンドブック」の「Nios II コア実装の詳細」の章の「Nios II/f コア」を参照してください。

EIC インターフェイスが Nios II プロセッサーに割り込みがある場合、プロセッサーは次のようないくつかの基準を使用して割り込みを取るかどうかを決定します。

  • マスク不能割り込み—プロセッサーは、前の NMI を処理していない限り、任意の NMI を受け取ります。
  • マスク可能割り込み—マスク可能割り込みが有効になり、要求される割り込みレベルが現在処理されている割り込み ( 存在する場合 ) のレベルより高い場合、プロセッサーはマスク可能割り込みを受け取ります。しかしながら、シャドー・レジスター・セットが実装されている場合、割り込みが現在のレジスターセットと異なるレジスターセットを要求する場合か、レジスターセットが割り込みイネーブルフラグ (status.RSIE) を設定される場合にのみ、プロセッサーは割り込みを受け取ります。
    表 45.  外部割り込みを受け取るために必要な条件
    RNMI == 1 RNMI == 0
    status.NMI == 0 status.NMI == 1 status.PIE == 0 status.PIE == 1
    RIL <= status.IL RIL > status.IL
    プロセッサーにシャドー・レジスター・セットが存在する場合 シャドー・レジスター・セットが存在しない場合
    RRS == status.CRS RRS != status.CRS
    status.RSIE == 0 status.RSIE == 1
    17

Nios II プロセッサーは、この章の「シャドー・レジスター・セット」のセクションの説明のように、シャドー・レジスター・セットによる高速ネスト割り込みをサポートしています。

status.PIEを設定すると、割り込みハンドラーがstatus.PIEを 1 に設定することなく、上位レベルの割り込みを即座に実行できます。

プロセッサーは、シャドー・レジスター・セットなしの場合と同様に、例外を取る際にマスク可能割り込みを無効にします。個々の割り込みハンドラーは、必要に応じてstatus.PIEを 1 に設定して割り込みを再び有効にできます。

17 同じレジスターセットを使用するネスト化割り込みは、システム・ソフトウェアがstatus.RSIEを明示的に許可した場合にのみ許可されます。この制限は、ハンドラーがレジスター・コンテキストを保存するようにコーディングされている場合にのみ、そのような割り込みが実行されるようにします。