インテルのみ表示可能 — GUID: ryy1675051691908
Ixiasoft
3.3.8. 割り込みコントローラー
Nios® V/gプロセッサー実装では、次の割り込みをサポートします。
- 16個のレベル感知割り込み要求 (IRQ) 入力を備えたプラットフォーム割り込み。
- 内部生成タイマーおよびソフトウェア割り込み。データバスに接続することにより、タイマーおよびソフトウェア割り込みモジュール・インターフェイスを使用してタイマー割り込みレジスターにアクセスできます。
割り込みが発生すると、コアでは、付加された命令のプログラムカウンターを機械例外プログラムカウンター (mepc) レジスターに書き込みます。割り込みは通常、Eステージ、または先行するFステージやDステージ・パイプラインの命令に付加されます。Mステージで汎用レジスターを開始するため、コアではMステージのメモリー命令の取り消しはできません。割り込みが保留中で処理の準備ができているときに、Mステージの命令によって例外にフラグが付けられた場合、コアでは、例外命令をフェッチして実行します。メモリーまたはマルチサイクル命令がMステージで保留中 (例えば、コアが応答待機中) の場合、コアによる割り込みのフラグ付けは、その命令に対する応答を受信するまで行われません。保留中の割り込みのフラグ付けは、Machine Interrupt-Pending (mip) レジスター内の対応するビットによって行われます。
割り込みが取得されるのは、Machine Status Register (mstatus) のビット3がアサートされ、対応するビットがマシン割り込み保留 (mip) レジスター内の保留中の割り込みにアサートされた場合のみです。
レジスター | ステータス・レジスター/ビット | 説明 |
---|---|---|
mstatus | mstatus[3]/Machine Interrupt-Enable (MIE) フィールド | マシンモード用グローバル割り込みイネーブルビット |
mie | mie[31:16]/Platform Interrupt-enableフィールド | 16個のハードウェア割り込み用のプラットフォーム割り込みイネーブルビット |
mie[7]/Machine Timer Interrupt-Enable (MTIE) フィールド | マシンモード用タイマー割り込みイネーブルビット | |
mie[3]/Machine Software Interrupt-enable (MSIE) フィールド | マシンモード用ソフトウェア割り込みイネーブルビット | |
mip | mip[31:16]/Platform interrupt-Pending フィールド | 16個のハードウェア割り込み用のプラットフォーム割り込み保留ビット |
mip[7]/Machine Timer Interrupt-Pending (MTIP) フィールド | マシンモード用タイマー割り込み保留ビット | |
mip[3]/Machine Software Interrupt-Pending (MSIP) フィールド | マシンモード用ソフトウェア割り込みイネーブルビット |