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

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

3.7.7.12. ダブル TLB ミス

ダブル TLB ミス例外は、MMU を備える Nios II プロセッサーでのみ実装されます。ソフトウェアが現在例外 ( すなわち、status.EH = 1) を処理してい際に TLB ミス例外が発生すると、ダブル TLB ミス例外が生成されます。特に、プロセッサーが VPN ( オプションでプロセス識別子により拡張される ) に一致する TLB エントリーとstatus.EH = 1を探せない場合、結果はダブル TLB ミス例外になります。最も一般的なシナリオは、高速 TLB ミス例外の処理中にダブル TLB ミス例外が発生することです。プロセッサーは元の例外からのレジスター値を保存し、新しく生成された例外を処理する一般的な例外ハンドラーに制御を移します。

がブル TLB ミス例外には 2 種類あります。

  • ダブル TLB ミス ( 命令 )—命令フェッチによりこの例外が発生する可能性があります。
  • ダブル TLB ミス ( データ )—ロード、ストアーinitda、およびflushda命令によりこの例外が発生する可能性があります。

一般的な例外ハンドラーは、exception.CAUSEまたはtlbmisc.Dフィールドのいずれかを検査し、どちらの種類のダブル TLB ミス例外が発生したかを判断することができます。