This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

アセンブラ言語で速くなるでしょうか

お世話になります。

大量の四則演算をする必要が出てきて処理時間が足りるか不安になってきました。

アセンブラ言語は速いと言われますが、マイコンが演算器を持っている場合はC言語で書いても同じなのでしょうか。

使っているのはRL78です。

初歩的な質問で本当に申し訳ありません。教えていただけたら幸いです。

よろしくお願いいたします。

Parents
  • チョコです。
    演算回路を内蔵している場合でも,アセンブラの方が演算回路の制御で余分なことをしなければ,速くなると考えられます。
    但し,アセンブラでは作成者により効率が大きく変化するので,あまり大きな期待はしない方がいいかもしれません。
Reply
  • チョコです。
    演算回路を内蔵している場合でも,アセンブラの方が演算回路の制御で余分なことをしなければ,速くなると考えられます。
    但し,アセンブラでは作成者により効率が大きく変化するので,あまり大きな期待はしない方がいいかもしれません。
Children
  • チョコです。

    追加で,コメントします。

    RL78のレジスタ・バンクをうまいこと使い(データアクセス用のポインタで使用するレジスタを通常の処理用と独立させる),データの構造をよく考えれば,アセンブラでの高速化は可能性がありますが,どの程度速くなるかは分かりません。

    なお,RL78にはS1~S3コアの3種類があり,S1コア(RL78/G10)には,そのようなハードは内蔵されていないので問題外です。RL78/G13のようなS2コアのデバイスがハードウェアを制御用のレジスタを介して制御するものです。RL78/G14以降のS3コアは入出力がレジスタ渡しの命令でのサポートになっています。使用予定のデバイスで異なることがあります。

    まずは,Cで評価してから対応を考えるのがいいでしょうね。