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

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

5.2.8. 命令のパフォーマンス

すべての命令は、実行に 1 サイクル以上を要します。一部の命令には、その実行に関連するその他のペナルティーがあります。遅延結果命令には、それらとそれらの結果に使用する命令の間に 2 サイクルあります。パイプラインをフラッシュする命令は、それらの命令がキャンセルされた後で最大 3 つの命令を発生させます。これにより、3 サイクルのペナルティーと 4 サイクルの実行時間が作成されます。Avalon-MM 転送を必要とする命令は、必要な Avalon-MM 転送 ( 最大 1 回の書き込みと 1 回の読み出し ) が完了するまでストールします。
表 73.  Nios II/f コアの 4 バイト / ライン・データキャッシュの命令実行のパフォーマンス
命令 サイクル ペナルティー
通常の ALU 命令 ( 例 : add, cmplt) 1  
組み合わせカスタム命令 1  
マルチサイクル・カスタム命令 TK_SLEEP(1); 遅延結果
分岐 ( 正確な予測、取得 ) 2  
分岐 ( 正確な予測、未取得 ) 1  
分岐 ( 誤予測 ) 4 パイプライン・フラッシュ
trapbreakeretbretflushpwrctlwrprs; 不正および割り込み 4 または 5 パイプライン・フラッシュ
calljmpirdprs 2  
jmpretcallr 3  
rdctl 1 遅延結果
load ( Avalon-MM 転送なし ) 1 遅延結果
load ( Avalon-MM 転送あり ) TK_SLEEP(1); 遅延結果
store ( Avalon-MM 転送なし ) 1  
store ( Avalon-MM 転送あり ) TK_SLEEP(1);  
flushdflushda ( Avalon-MM 転送なし ) 2  
flushdflushda ( Avalon-MM 転送あり ) TK_SLEEP(2);  
initdinitda 2  
flushiiniti 4  
乗算   遅延結果
除算   遅延結果
シフト / ローティト ( エンベデッド・マルチプライヤーで使用するハードウェア乗算 ) 1 遅延結果
シフト / ローティト ( LE ベースのマルチプライヤーで使用するハードウェア乗算 ) 2 遅延結果
シフト / ローティト ( ハードウェア乗算なし ) 1~32 遅延結果
その他すべての命令 1  

乗算および除算では、サイクル数はハードウェア乗算 / 除算のオプションによって異なります。詳細については、「算術論理ユニット」および「命令キャッシュとデータキャッシュ」を参照してください。

デフォルトの Nios II/f コンフィグレーションでは、trap、break、eret、bret、flushp、wrctl、wrprs命令は 4 クロックサイクルを必要とします。次のオプションのいずれかが存在する場合は、5 クロックサイクルが必要です。

  • MMU
  • MPU
  • 除算の例外
  • ミスアライメントされたロード / ストアーアドレス例外
  • EIC ポート
  • シャドー・レジスター・セット