GET - 2025.1 日本語 - UG1629

MicroBlaze V プロセッサ リファレンス ガイド (UG1629)

Document ID
UG1629
Release Date
2025-07-09
Version
2025.1 日本語
図 1. ストリーム インターフェイスから取得

説明

MicroBlaze V は、リンク x インターフェイスから読み出しを実行し、その結果をレジスタ rD に配置します。

GET 命令には 32 個のバリエーションがあります。

ブロッキング バージョン (n ビットが 0 のとき) は、インターフェイスからのデータが有効になるまでストールします。ノンブロッキング バージョンはストールせず、mstream の C ビットを、データが有効な場合は 0 に、有効でない場合は 1 にセットします。アクセスが無効な場合は、デスティネーション レジスタの内容は未定義になります。

すべてのデータ GET 命令 (c ビットが 0 のとき) では、インターフェイスからの制御ビットが 0 になるはずです。そうでない場合は、命令は mstream の FSL ビットを 1 にセットします。すべての制御 GET 命令 (c ビットが 1 のとき) では、インターフェイスからの制御ビットが 1 になるはずです。そうでない場合は、命令は mstream の FSL ビットを 1 にセットします。FSL ビットは、有効なデータが転送されたときにのみセットされます。

例外バージョン (e ビットが 1 のとき) は、制御ビットが一致しない場合に例外を生成します。デスティネーション レジスタは、例外が生成されるとアップデートされません。

テスト バージョン (t ビットが 1 のとき) は、リンクへの読み出し信号がアサートされていない場合を除き、標準ケースとして処理されます。

アトミック バージョン (a ビットが 1 のとき) は、マシン外部割り込みや外部ブレークによって割り込まれることはありません。各アトミック命令は、その後に続く命令の割り込みを防ぎます。つまり、アトミック命令のシーケンスは、プログラム フローを割り込むことなく、グループにまとめることができます。ただし、それでも例外は発生する可能性があります。

C_FSL_LINKS で設定された、利用可能なリンク数が x 以下の場合、C_ILL_INSTR_EXCEPTION = 2 のときに無効な命令例外が発生し、それ以外の場合は命令は NOP と同じ動作をします。

擬似コード

if x >= C_FSL_LINKS then
   Sx_AXIS_TVALID ← 0
   if C_ILL_INSTR_EXCEPTION = 2 then 
      PC ← mtvec
      mcause ← 2
else
   (rD) ← Sx_AXIS_TDATA
   if (n = 1) then
      mstream.C ← Sx_AXIS_TVALID
   if Sx_AXIS_TLAST ≠ c and Sx_AXIS_TVALID then
      mstream.FSL ← 1
      if (e = 1) then
         PC ← mtvec
         mcause ← 24

変更されるレジスタ

  • rD (例外が生成されない場合。例外が生成されるとこのレジスタは変更されません)
  • mstream
  • stream (C_USE_MMU > 0 の場合)
  • PC および mcause (ストリーム例外または無効命令例外が生成される場合)

レイテンシ

  • C_OPTIMIZATION = 0、2、3 で 1 サイクル
  • C_OPTIMIZATION = 1 で 2 サイクル

この命令のブロッキング バージョンは、命令を完了できるまでパイプラインをストールします。C_USE_EXTENDED_FSL_INSTR が 1 に設定されていて、命令がアトミックでない場合に、割り込みが実行されます。

備考

  • RV64 では、リンクから読み出される 32 ビット データはゼロ拡張されます。
  • C_FSL_EXCEPTION が 1 でない限り、e ビットに効力はありません。
  • これらの命令は、パラメーター C_FSL_LINKS が 0 より大きい場合のみ使用可能です。
  • 拡張命令 (例外、テスト、およびアトミック バージョン) は、パラメーター C_USE_EXTENDED_FSL_INSTR が 1 に設定されている場合にのみ使用可能です。
  • 命令のデコード時には、命令ビット 19 ~ 26 は無視されます。