浮動小数点ハードウェアを備えていないが、16ビットのALUと40ビットのMACのみを備えたアーキテクチャに取り組んでいます。
私はすでに32ビット単精度浮動小数点の加算/減算、乗算、コサイン、サイン、除算、平方根、および範囲縮小をすべてこのアーキテクチャのソフトウェアに実装しています。
余弦と正弦を実装するために、最初にKCNGの論文「巨大な引数の引数削減」で説明されている方法を使用して範囲縮小を使用しました。 次に範囲-piの余弦関数と正弦関数の多項式近似である余弦関数と正弦関数を実装しました。 /4から+pi/4。私は「コンピュータ近似」という本、ハートらを参照しました。多項式の場合。
また、CORDICアルゴリズムを検討する必要があると聞いています。しかし、私がすでに使用した方法よりも効率が高いか低いか(スループット、メモリオーバーヘッド、および必要な命令数の点で)誰かが知っているかどうか疑問に思っていましたか?私は、各コアが128ワードの命令メモリと128ワードの16ビットデータメモリのみを備えているマルチコアアーキテクチャにソフトウェア機能を実装しました。また、コサインとサインのCORDICアルゴリズムを実装する方法を検索しようとしましたが、32ビット浮動小数点の実装に適したリソースが見つかりませんでした。誰か提案がありますか?
ありがとうございました!