ホーム › フォーラム › Texas Instruments › マイコン › C2000 › 演算処理速度について このトピックには1件の返信が含まれ、2人の参加者がいます。6 年、 1 ヶ月前に Yojiro さんが最後の更新を行いました。 2件の投稿を表示中 - 1 - 2件目 (全2件中) 投稿者 投稿 2018年10月1日 6:01 PM #3606 返信 tora参加者 演算処理速度について デバイス型番:F28M35H52C1 下記演算の処理速度を教えてください。 1)float + float 2)float – float 3)float * float 4)float / float 5)sin(float) 6)cos(float) 7)int + int 8)int – int 9)int * int 10)int / int 2018年10月3日 1:17 PM #3643 返信 Yojiro従業員 各演算については、高級言語では時間の定義がされておりませんので、アセンブラ命令レベルでの実行サイクルについて、説明いたします。 なお、数値につきましては、純粋な命令の実行サイクルとなっており、レジスタへのコピーなどのサイクル数は含まれません。 F28M35H52C1には、FPUが搭載されておりますので、浮動小数点の加減乗算につきましては、以下の通りとなります。 1)float + float : 1 cycle 2)float – float : 2 cycle 3)float * float : 2 cycle これらの命令の実行前には、各命令で使用するレジスタへ値が反映されるまでに4cycleの遅延が必要となります。 参考資料)TMS320C28x Extended Instruction Sets Technical Reference Manual 浮動小数点の除算および三角関数演算につきましては、ソフトウェアライブラリにて実行されます。 コンパイラにて自動的にライブラリ(Run time support library:RTSライブラリ)の呼び出しが行われますが、RTSライブラリの実行速度については、定義されておりません。 標準ライブラリのほかに、FPU搭載C2000デバイス向けに三角関数および除算を高速化したライブラリ(fastRTS Library)が用意されており、このライブラリでは、以下のように実行サイクル数が定義されております。 4)float / float : 24 cycle 5)sin(float) : 41 cycle 6)cos(float) : 42 cycle 参考資料)C28x Floating Point Unit fastRTS Library 整数の演算につきましては、浮動小数点と同様にアセンブラ命令の実行サイクルは以下のとおりです。 7)int + int : 1 cycle 8)int – int : 1 cycle 9)int * int : 1 cycle 参考資料)TMS320C28x CPU and Instruction Set Reference Guide 整数の除算につきましては、RTSライブラリが使用されるため、浮動小数点の除算と同様に具体的な数値はありませんでした。 情報として不足しているものもございますが、ご査収のほど、よろしくお願いいたします。 投稿者 投稿 2件の投稿を表示中 - 1 - 2件目 (全2件中)