ATtiny:乗算のサポートなし?


9

ATtiny AVRが乗算に対するハードウェアのサポートを持たないのは本当ですか?コードで乗算を行うと、問題なく動作するようです。math.hも含めて、sin()とcos()の計算をいくつか行っています。これらの計算で800サイクルの大きなペナルティが発生していますか?


より許容範囲の誤差のあるより良い解像度が必要な場合は、
トリガーに

回答:


12

ATtinyにはハードウェア乗算器はありませんが、ソフトウェア乗算はあなたが示唆するほど高価ではありません。最適化された乗算および除算ルーチンについては、AVR200アプリケーションノートおよび関連コードを参照してください。

サインとコサインの計算は、ルックアップテーブルを使用して高速化でき、プロセッササイクルとメモリ空間を効果的に交換できます。ただし、@ DaveTweedが正しく指摘しているように、ソフトウェアで正弦波と余弦波をアルゴリズムで近似すると、サイクルカウントが懸念される範囲に近づきます。


5
多項式近似はsin()cos()通常、いくつか(3〜5)の乗算に加えて、多精度の加算/減算、範囲の折りたたみなどを伴うため、関数呼び出しあたり800クロックは非現実的ではありません。
Dave Tweed

@DaveTweed:ありがとう、良い点。明確にするために編集。
Scott Winder 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.