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

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

3.7.9.4. 例外とプロセッサー・ステータス

例外を受け取り後の Nios II プロセッサー・ステータスの表には、ハードウェアで実行されるノンブレーク例外処理の結果としての Nios II プロセッサー・ステータスに対するすべての変更がリストされています。MMU を有するシステムの場合、status.EHは例外処理がすでに処理中であるかどうかを表示します。status.EH = 1 の場合、例外処理がすでに処理中で、例外レジスターのステータスは 例外処理は既に進行中であり、元の例外のステータスを保持するために例外レジスターのステータスは保持されます。
表 46.  例外を受け取り後の Nios II プロセッサー・ステータス
プロセッサー・ステータス・レジスターまたはフィールド 例外受け取り前のシステムステータス
外部割り込みの挿入18 内部割り込みの挿入または割り込み以外の例外
status.EH==1 33 status.EH==0 status.EH==1 status.EH==0
TLB ミス35 TLB ミスなしs
RRS==0 34 RRS!=0 RRS==0 RRS!=0 TLB 許可違反35 TLB 許可違反なし
pteaddr.VPN 19 変更なし VPN 20 変更なし
status.PRS 34 変更なし status.CRS 34  36 変更なし
pc RHA 一般的な例外ベクター21 高速 TLB 例外ベクター22 一般的な例外ベクター34
sstatus  23 37 変更なし status  36 24 変更なし
estatus 37 変更なし status 36 変更なし status 36
ea 変更なし アドレスを返す25 変更なし アドレスを返す
tlbmisc.D 33 変更なし 26
tlbmisc.DBL 33 変更なし 27
tlbmisc.PERM 33 変更なし 28
tlbmisc.BAD 33 変更なし 29
status.PIE 変更なし 0 30
status.EH 33 変更なし 1 31
status.IH 39 1 変更なし
status.NMI 39 RNMI 変更なし
status.IL 39 RIL 変更なし
status.RSIE 34 39 0 変更なし
status.CRS 34 RRS 変更なし
status.U 33 0 32
18 Nios II プロセッサーが EIC インターフェイスを有さない場合、外部割り込みは発生しません。
19 Nios II プロセッサーが MMU を有さない場合、このレジスターは実装されません。
20 例外をトリガーするアドレスの VPN
21 一般的な例外ハンドラーを呼び出します。
22 高速 TLB ミス例外ハンドラーを呼び出します。
23 Nios II プロセッサーがシャドー・レジスターのセットを有さない場合、このレジスターは実装されません。
24 RRS がstatus.CRSと等しくない場合は、sstatus.SRSは 1 に設定されます。
25 例外が発生した場合、次の実行される命令のアドレス
26 データアクセス例外で 1 に設定し、それ以外の場合は 0 に設定します。
27 ダブル TLB ミスで 1 に設定し、それ以外の場合は 0 に設定します。
28 TLB 許可違反で 1 に設定し、それ以外の場合は 0 に設定します。
29 バッド仮想アドレス例外で 1 に設定し、それ以外の場合は 0 に設定します。
30 禁止された例外とマスク不可能な割り込み
31 MMU が実装されている場合、プロセッサーは例外を処理していることを表示します。
32 プロセッサーをスーパーバイザー・モードにします。
33 Nios II プロセッサーが MMU を有さない場合、このフィールドは実装されません。その値は常に 0 であり、プロセッサーはそれに応じて動作します。
34 Nios II プロセッサーがシャドー・レジスター・セットを有さない場合、このフィールドは実装されません。その値は常に 0 であり、プロセッサーはそれに応じて動作します。
35 Nios II プロセッサーが MMU を有さない場合、TLB に関連のある例外は発生しません。
36 例外前の値
37 プロセッサーの例外前のステータスを保存します。
38 MMU が実装されている場合、プロセッサーが例外を処理していることを表示します。
39 Nios II プロセッサーが EIC インターフェイスを有さない場合、このフィールドは実装されません。